Bonjour à tous et bonne année tardive... Je n’ai pas écris sur le blog depuis un petit moment déjà. Vous m’en voyez désolé. Mon actualité personnelle et professionnelle ne me permettant pas de dégager suffisamment de temps. Je suis depuis le 17 janvier à mon compte, et viens de créer ma société (Technov), j’officie désormais en tant qu’informaticien indépendant.
En tant que Teamleader/scrumaster dans ma nouvelle mission (ce type de poste à double compétence semble être de plus en plus fréquent), et travaillant dans un contexte ou plusieurs équipes de dév travaillent sur la même branche de code. Je me dois de veiller à ce que les membres de mon équipe ne s'égarent à quelques commit audacieux (non testés), et en viennent à “péter le build”.
Dans un contexte agile, ou un build cassé empêche le déploiement de la dernière version sur les serveurs d’intégration, et donc le bon déroulement de la recette continue, sa correction devient tout de suite la priorité numéro 1 de l'équipe responsable.
Nous utilisons hudson, et celui ci offre de multiples façons de nous avertir d’un changement d'état du build, notifications par messagerie instantanée, email, extensions dans le navigateur.
Cependant, si le serveur d’intégration continue est en charge de plusieurs dizaines de build, des notifications non souhaitées peuvent venir brouiller l’information. L’information peut alors être perdue parmi tant d’autres, et donc non lue.
Là ou je travaillais auparavant, une équipe avait mis en place un nabaztag arborant la couleur courante du build, vert quand tout allait bien, rouge, dans l’autre case.
Cela a cependant l’inconvénient de ne pouvoir surveiller qu’un build à la fois.
Sur mon poste de développement, un navigateur web est ouvert 24h/24 , en l’occurrence chrome. Celui ci propose depuis quelques temps des notifications desktop , celles-ci apparaissent en dehors de la fenêtre du navigateur pour notifier l’utilisateur. Ayant ouï dire des facilités de développements d’extensions pour ce navigateur, j’ai voulu tenter le coup.
Tout ceci a fait que j’ai pu développer cette petite exntesion, en environ 6 heures.
L’extension étant principalement codée en javascript, je me suis servi de jquery pour réaliser les appels ajax au serveur d’intégration, sérialiser/désérialiser les échanges json.
L’utilisation de jquery a vraiment été un accèlérateur. Je ne pourrais qu’encourager son usage (pour tous développements javascript d’ailleur).