Mylyn
La réalisation d’une application informatique nécessite une certaine méthodologie. Que cette application soit complexe ou non, qu’elle soit développée en équipe ou non, une méthodologie permet de gérer au mieux le « cycle de vie » de l'application. Nous en retenons usuellement les phases suivantes : spécification, analyse, conception, codage, tests, documentation, mise en production et maintenance.
Tout au long de ce cycle de vie, de nombreux outils sont à la disposition des acteurs de cette réalisation, en particulier les systèmes de gestion de projet, tels que Redmine ou IceScrum, ainsi que les systèmes de gestion de bogues et d’améliorations. Ils permettent respectivement la création ou la maintenance des logiciels en décrivant l'activité de développement associée sous forme de tâches. Nous les appellerons par la suite "référentiels des tâches". D'un autre côté, les développements se font avec un Environnement de Développement Intégré tel qu'Eclipse et un système de gestion de version tel qu'SVN.
Mylyn est une extension d'Eclipse appelée aussi connecteur permettant de contextualiser les tâches de développement avec le code et les fichiers sources concernés. Le code est ainsi mis directement en correspondance avec le référentiel des tâches. Par suite, le contexte est défini par l'ensemble des révisions du code. Lors des "commits", les différentes versions du code sont enregistrées dans le référentiel de versions avec les références de la tâche concernée par la révision lors des "commits".
Ainsi, il est aisé de suivre l'évolution de l'activité de développement au cours du temps en ayant un lien direct entre les tâches et la bonne version du code correspondant, ce qui évite de faire des allers retours entre l'environnement de développement Eclipse et le gestionnaire de tâches.
Nous retiendrons qu'une des originalités de Mylyn réside donc dans la notion de tâche. Pour Mylyn, une tâche ne correspond pas uniquement à la documentation du bogue ou de l'amélioration : il est possible de lui associer un contexte. Ce contexte permet de savoir rapidement quel est l'ensemble des fichiers sources concernés par cette tâche. Cette fonctionnalité peut s'avérer très utile dans une application complexe impliquant de nombreux collaborateurs et/ou comportant de très nombreux fichiers : le workbench d'Eclipse est alors totalement orienté vers la tâche que vous avez activée.
Mylyn permet également de dialoguer avec des systèmes de revue de code comme Sonar, et d'intégration continue, comme Jenkins, dans Eclipse.
J'utilise Mylyn personnellement pour les développements dans mon laboratoire : c'est un outil d'usage vraiment très agréable et très pratique pour maintenir et améliorer une application. Je le conseille sans aucune réserve à tous ceux qui utilisent Eclipse et qui souhaitent avoir un outil de traçabilité des travaux faits et à faire. Je n'ai par contre jamais utilisé d'outil de revue de code ou d'intégration continue.