mercredi 18 juillet 2012

Programmeur CP

Programmer CP

Bizarrement, sur mon poste actuel de chef de projet, j'arrive à dégager du temps pour faire du développement qui me plait ; je code pour faciliter mon quotidien et faciliter le build.

Voici ce que j'ai fait sur mon projet actuel :

  • Un outil de packaging en Python
  • Du Javascript pour faire mes propositions commerciales
  • Un outil en Ruby pour extraire mes indicateurs de performance.

Allez, une petite description pour éviter que vous ne vous emballiez...

Outil de packaging en Python

Il s'agit juste d'un script pour analyser les sources à livrer et générer les infos à mettre dans le doc de livraison. Il met aussi les fichiers au bon endroit, fusionne des sources, etc. Il y a encore des choses à faire mais il fonctionne plutôt bien. Ca m'a permis de faire un peu d'exercice de TDD.

Javascript pour les propales

Ça, j'en ai parlé ici.

Extraction des KPI

Dans ma boite, on utilise la forge CollabNet pour nos projet. Sur mon projet plus précisément, nous utilisons des Trackers pour des demandes de soutiens, les rapports de bugs, etc... Évidemment nous devons extraire des KPI à présenter en réunion à partir de ces informations.

Première approche : faire des exports csv, les importer dans Excel et écrire des formules illisibles pour calculer les indicateurs. C'est chiant.

Seconde approche : écrire un petit programme qui récupère les infos via le webservice de la forge, calcule les indicateurs et permet ensuite de les publier au format voulu. For the lulz je me suis lancé dans le développement de l'outil en Ruby. J'ai utilisé le gem Savon pour récupérer les données. Pour l'heure, j'écris les données calculées dans des fichiers plats que j'importe ensuite dans Excel, qui peut se resynchroniser si besoin. J'aurais pu le faire en Java, car une API existe mais je n'ai pas réussi à la faire fonctionner (problème de version je pense). Mon stagiaire avait fait un PoC prometteur en C# mais je ne me sentais pas de reprendre son code : j'avais la flemme d'apprendre le C# et surtout de télécharcher Visual Studio. Ça fonctionne correctement, une fois les petites galères du début passées. J'aurais besoin de passer encore un peu de temps dessus pour le compléter.

En tout cas cela m'a permis de m'acclimater avec la syntaxe Ruby, et d'utiliser RSpec, qui est vraiment un outil de test génial !

Conclusion

Ceci montre que vous pouvez être petit chef et avoir toujours l'occasion de coder. Vous pouvez réaliser des outils dans la techno que vous voulez pour gagner du temps, cette ressource que tout le monde semble vouloir vous voler...