Les explications de Gregory Cochon, responsable technique chez TECH’advantage.

L’expertise TECH’advantage

TECH’advantage est une société de service spécialisée dans la réalisation de logiciels scientifiques. En règle générale, ces logiciels doivent supporter les environnements Windows et Linux. Nous ne travaillons qu’avec des langages orientés objets tels que C#, C++ mais plus particulièrement Java pour son approche multiplateforme. Nous sommes des spécialistes en développement en Java, que l’on utilise depuis 1996.

Une partie de mon rôle de responsable technique est d’identifier les nouveaux produits qui vont faciliter notre travail et nous rendre plus performants. Notre force est notre réactivité, notre capacité à adopter de nouveaux outils et langages. Cela tient à notre histoire : nous étions une petite entreprise qui a grandi mais qui garde un esprit familial. Tout le monde se connaît, nous pouvons donc échanger facilement, nous aider et nous conseiller. Nous progressons d’autant plus vite.

Eclipse : le principal composant de l’environnement TECH’advantage

L’environnement de développement englobe les différents outils nous permettant de remplir notre mission qui est de développer des logiciels destinés au domaine de l’énergie. TECH’advantage utilise Java pour 90% de ses projets de développement, et 70% de ce développement s’appuie sur la technologie de l’environnement de développement intégré Eclipse : Eclipse RCP.

La technologie Eclipse RCP est à la base des logiciels « Flow » qui composent la suite OpenFlow Suite, l’un de nos principaux projets de développement. Cette technologie nous apporte une grande souplesse. Voir aussi « La chaîne intégrée flow » ou l’ambitieuse plateforme développée par TECH’advantage ».

Pour la partie développée en Java, l’éditeur Eclipse est particulièrement adapté. C’est notre noyau dur. Tous les outils de développement que nous utilisons s’intègrent dans cet éditeur. Grâce à lui, le développeur peut avoir accès au gestionnaire de source (SVN, GIT), à des outils qui contrôlent en continu la qualité de son code (FindBugs, PMD) ou encore aux tâches à réaliser (Mylyn).
Cela lui permet d’être le plus efficace possible.

Les atouts de l’environnement technique de TECH’advantage

Chez TECH’advantage, nous bénéficions d’une intégration continue, c’est notre grande force. Cela signifie que tous les matins, une version intégrée de la suite de logiciels OpenFlow Suite a été générée. Cette intégration nous permet de vérifier, à chaque avancée du développement, que les flow sont compatibles. En d’autres termes, cela signifie que chaque jour, nous pouvons vérifier le bon fonctionnement et la qualité d’un logiciel en cours de développement.

La génération des produits est basée sur le logiciel Maven. Il permet de compiler nos sources et de les assembler afin d’obtenir un produit fini. Pour les produits s’appuyant sur la technologie Eclipse RCP, Tycho est utilisé afin de générer les plugins liés à nos développements et de générer l’exécutable RCP.

Lors de l’intégration continue, un contrôle de qualité et d’analyse du code est effectué. Ce fonctionnement a été rendu possible grâce à l’intégration du logiciel Sonar s’appuyant lui-même sur une série d’outils comme FindBugs, PMD ou CPD. Cela permet de développer en prévenant les erreurs et en corrigeant au fur et à mesure les défauts.

Le recours à GIT

Git est un gestionnaire de source que nous déployons depuis 2012. Grâce à cet outil, les développeurs peuvent travailler sur plusieurs développements en parallèle sans mélanger les sources. Ils peuvent travailler plus rapidement qu’avec le gestionnaire de source SubVersion et ils peuvent partager plus facilement leur travail avec les autres développeurs travaillant sur la même tâche. Enfin, cet outil nous permet d’effectuer un meilleur suivi d’un cycle d’intégration en évitant des conflits d’édition de code ou de suivi des développements. Git nous permet en somme d’améliorer le développement de nos projets.