filyb.info

Tag - Programmation

Fil des billets - Fil des commentaires

samedi 19 janvier 2008

Sudoku

Pour ceux que ça intéresse, voici un petit programme de résolution de Sudoku, réalisé pour des TP de la fac.


Hors-sujet : le serveur sera arrêté cette nuit. Ce site sera de retour demain.

samedi 8 décembre 2007

Que la bonne fortune soit avec vous !

Peut-être devez-vous occasionnellement (voir souvent) travailler sur un système de type Un*x, sur lequel – quelle horreur ! – la célèbre commande fortune est absente.

Si vous n'avez pas moyen d'installer cette commande sur le système (pas d'accès root, pas envie de récupérer toutes les dépendances pour compiler dans un coin votre cookie), mais que vous avez python et internet, alors il existe une solution : webfortune.py.

Ce script (que vous trouverez en annexe) récupère une fortune sur le site des fortunes francophones et l'affiche à l'écran, de la même façon que la commande originelle (et utilise cette dernière si elle est présente sur le système). De plus, le script implémente une classe python qui peut être utilisée par un autre programme pour obtenir des fortunes, que ce soit depuis internet ou depuis les fortunes locales.

Servez-vous, c'est libre.

dimanche 11 novembre 2007

Parangon : logiciel modulaire de sauvegarde basé sur rsync

Pour les besoins de The Fool, j'ai codé un petit logiciel de sauvegarde, nommé Parangon.

Codé en python, il se base sur rsync pour réaliser les sauvegarde localement ou via Ssh.

Son principe de fonctionnement se base sur les liens durs des systèmes de fichiers Un*x. Sur le disque de sauvegarde se trouve un dossier par date de sauvegarde. Chacun de ces dossier contient l'intégralité des fichiers à sauvegarder. Cependant, si un fichier n'a pas changé depuis la sauvegarde précédente, son contenu n'est pas copié : seul un lien dur est créé. Ainsi, il est possible d'aller rechercher un fichier à n'importe quelle date, ou de recopier l'intégralité de la sauvegarde à un point de sauvegarde donné, sans pour autant avoir des copies redondante.

La modularité tient dans les objets sauvegardés. Nommés Atom, chacun est défini dans un module particulier. On peut ainsi sauvegarder le contenu d'un dossier, d'une base de donné MySQL ou la liste des paquets installés sur le système. De plus, la configuration est très souple : le fichier de configuration est un module pyhton. Les commentaires du fichier d'exemple sont suffisamment parlant pour réaliser une configuration valide sans faire du code, néanmoins il est possible d'obtenir quelque chose d'assez poussé.

Je n'ai pas trop cherché ce qui existait déjà en la matière avant de coder Parangon, il est fort possible qu'il existe déjà des logiciels du genre. Cependant, cette solution me convient bien pour mon serveur (et aussi pour ordinateur personnel, qui en profite).

Je publie donc le code source de la version actuelle. Aucun test poussé autre que pour l'usage que j'en fait n'a été effectué. Les modules existants ne sont que ceux dont j'avais l'usage. J'ai quelques autres idées pour la suite, mais elles ne seront réalisées que quand j'en aurai le temps. Cependant, si le logiciel intéresse quelqu'un, je suis prêt à accepter toute contribution.

Pour l'occasion, j'ai testé le système de gestion de version Bazaar couplé à la plate-forme de développement Launchpad (dont le code devrait, contrairement à Sourceforge et autres Google code, être libéré).

  • Parangon
  • Récupérer le code de Parangon : bzr branch http://bazaar.launchpad.net/~parangon-dev/parangon/trunk

Mise à jour du 28 janvier 2008 : le code est désormais sur The Fool.

  • Parangon
  • Récupérer le code de Parangon : bzr branch http://code.filyb.info/parangon

jeudi 2 août 2007

Casetta 0.3.0

La nouvelle version des logiciels du projet Casetta vient d'être publiée. Pour rappel, ces logiciels proposent une solution libre et multi-plateforme de gestion des données issues des calculatrices graphiques Casio, avec conversion entre de multiples formats de fichiers, et des transferts avec les calculatrices.

Vous pouvez suivre sur le site les instructions pour la télécharger et l'installer. Des paquets pour Ubuntu sont disponibles (merci à Asher256), ainsi qu'un installeur Windows et un installeur générique depuis les sources.

Les nouveautés sont nombreuses, en voici les principales :

  • Un nouvel outil de transfert interne, qui évite d'avoir à utiliser à Cafix, en proposant plus de fonctionnalités et moins de bugs.
  • Le support du très répandu format fxi de Fx-Interface en écriture
  • Le support de deux nouveaux formats, le format cas et le format de l'émulateur Casemul
  • La gestion des images (Pictures) et des captures d'écran, avec la possibilité d'ouvrir et de sauvegarder ces images dans les formats d'image standards (png, jpeg, etc)
  • Une nouvelle interface graphique, nommée désormais Gasetta, avec des fonctions comme une coloration syntaxique fonctionnelle, un éditeur d'images, ou un outil pour extraire des programmes d'une sauvegarde.

Pour en savoir plus, vous pouvez consulter la page des fonctionnalités (avec le tableau des formats supportés), ou la liste des changements effectués.

Vous pouvez aussi consulter un début de documentation utilisateur, pour laquelle toute contribution sera agréablement accueillie.

Toute remarque est bienvenue, vous pouvez nous contacter via notre mailing-list, mais vous pouvez aussi laisser un commentaire sur ce billet.

J'espère que cette nouvelle version permettra d'utiliser votre calculatrice graphique plus librement encore... et que vous allez venir nombreux pour nous aider !

Note : je serai absent (en vacances :-) ) du 4 au 19 août... donc je ne pourrai répondre à aucune question concernant Casetta pendant ce temps. Adressez-vous à la mailing-list ou attendez mon retour.

jeudi 15 mars 2007

We need you !

Vous êtes étudiant et vous ne savez pas quoi faire cet été ?

Vous pensez que bronzer sur la plage c'est ringard, et qu'il n'y a pas que la vie dans la vie ?

Vous trouvez qu'on parle trop politique sur Second Life, et que Diablo II, WoW et CS sont trop générateurs de lien social ?

Venez passer l'été à coder sur le projet Casetta ! Il y a plein de choses à faire, et Google vous paie pour ça.

Casetta a été accepté par Google, maintenant, on n'attend plus que vous.

- page 3 de 8 -