mardi 25 janvier 2011

Projet personnel

Ca fait un moment que je n'avais pas écrit. Je suis très occupé. Si, je le jure.

En ce moment, je développe une petite applicaiton CRUD pour le magazine Grandir Autrement. Il s'agit d'une application pour gérer la liste des abonnés du magazine, effectuer un export vers un service de routage, créer, supprimer et modifier des abonnés. Ca avance petit à petit, j'en suis assez content. Voici les choix que j'ai fait :

*Application de bureau, à l'ancienne, car il n'y avait pas besoin de le rendre accessible simultanément à plusieurs personnes.
*Python
*Sqlite pour la base de données
*wxWidget pour l'interface graphique.

Pour l'instant, je ne regrette aucun de ces choix. Au boulot, j'ai l'impression que faire du logiciel est un gros truc complexe, même si on travaille de temps en temps de façon Agile. Là, tout se fait simplement. Python y est pour beaucoup, c'est très relaxant pour un habitué de Java...

Essayez de faire une liste en Java. Vous devez choisir le bon type concret, spécifier le type des éléments, instancer... En Python, créez une liste vide et ajoutez des élements. Cela prend au-moins 2 fois moins de lignes.

Sqlite : une base de données qui ne prend pas là tête. On se connecte, on crée le modèle et c'est parti. La base de données est stockée dans un fichier local. Sqlite 3 est intégré à Python, génial, non ?

Enfin, wxWidget est une libraririe multi-plateforme d'interfaces graphiques écrite en C++. wxPython est le binding Python. Je suis un novice en UI. Mon a priori est que c'est plutôt lourd à réaliser. En vérité... c'est effectivement le cas. Toutefois, wxWidget est assez simple d'utilisation et après un minimum de galère on arrive à placer des widget à peu près correctement. J'ai encore pas mal de boulot mais je devrais sortir quelque chose pour la deadline à la fin du mois.

A peu près tout le dev est dirigé par les tests... c'est un peu fatiguant mais ça permet de moins vaire de validation à la main :).