L'outil SonarQube@Inria : Prix d'appui à la recherche

Date:
Mis à jour le 08/04/2021
Christophe Demarey, Hervé Mathieu, Florent Pruvost et Didier Vojtisek sont ingénieurs au sein des services d'expérimentation et de développement (SED) des centres de Lille, Bordeaux et Rennes, Guillaume Cassonnet est ingénieur au sein du service informatique à Bordeaux. Ensemble, ils ont élaboré une plate-forme d'analyse et de contrôle continu de la qualité des logiciels à destination de toutes les équipes de recherches d'Inria.
SonarQube
© Inria / Photo G. Scagnelli

Au sein d'Inria plusieurs centaines de logiciels de recherche sont développés et maintenus par les différentes équipes.
« Collaboratifs et très fluctuants par nature, ces logiciels représentent un défi non négligeable en termes de pilotage de la qualité car ils doivent aussi présenter des codes robustes et le plus proche du fonctionnel possible », souligne Hervé Mathieu, responsable du service d'expérimentation et de développement (SED) du centre de recherche Bordeaux-Sud-Ouest.

Après avoir franchi il y a longtemps les caps du versioning et de l'intégration continue, Inria s'est doté en avril dernier d'une plate-forme open source "SonarQube", qui permet de tester et de mesurer la qualité du code source d'un projet informatique.
Au menu : des analyseurs de code, des outils de génération de rapports, des modules de recherche de défauts, une TimeMachine et un mécanisme de plugin permettant la mise en place d'autres fonctionnalités.
« Le gros "plus" de SonarQube c'est qu'il offre la possibilité de "tracer" la qualité tout au long de la vie d'un projet et de mettre ainsi en place une stratégie de contrôle continu, ce qui permet d'identifier rapidement les axes d'amélioration », ajoute Christophe Demarey, ingénieur au SED du centre de Lille. 

Réduire la dette technique des projets

Le choix de SonarQube ne doit rien au hasard. « C'est un logiciel assez unique sur le marché et "La" référence en matière de contrôle continu de la qualité. Personnellement je l'utilisais depuis longtemps, dans le cadre des travaux de l'équipe Diverse (génie logiciel) à laquelle je suis intégré, indique ainsi Didier Vojtisek, ingénieur au SED du centre de Rennes. Nos collègues lillois s'en servaient aussi ponctuellement. Mais ni eux ni nous ne l'avions mis en place pour un usage systématique. »

C'est finalement une intervention extérieure lors d'une réunion des ingénieurs SED des différents centres de recherche Inria qui a servi de déclencheur. « Ce jour-là nous avons assisté à une présentation centrée sur le concept de dette technique liée à tout développement informatique et sur les outils qui permettent de réduire cette dette  », explique Hervé Mathieu. C'est au sortir de cette réunion que le SED bordelais a commencé à s'intéresser de près aux possibilités offertes par SonarQube et à engager une série d'expérimentations. Un travail mené notamment par Florent Pruvost et Guillaume Cassonnet.

1+1 = 2, 2+1 = 3

Dans le même temps les centres de Lille et de Rennes décidaient de partager leurs réflexions pour envisager l'intégration d'une plate-forme SonarQube qui pourrait être utilisée pour de multiples projets… « Au bout de quelques temps nous avons souhaité aller plus loin et nous avons donc contacté la Direction des Systèmes d'Information d'Inria pour disposer de ressources spécifiques, ajoute Christophe Demarey. Et c'est là que nous avons appris que le centre de Bordeaux avait fait la même demande peu de temps auparavant. »

Puis tout est allé très vite : les trois centres ont décidé d'unir leurs efforts malgré des points de vue qui divergeaient sur quelques points - en particulier sur les questions de sécurité et de confidentialité - pour finalement choisir de confier au centre de recherche bordelais le développement de l'outil.

Vers un essaimage à grande échelle

Neuf mois après son déploiement, la plate-forme SonarQube d'Inria recense 85 comptes utilisateurs et 62 projets inscrits.  « C'est un bon début,  affirme Didier Vojtisek. Même s'il reste très logiquement des choses à améliorer – notamment sur la prise en compte de certains langages exotiques ou sur l'inscription de projets "privés", nous sommes convaincus que cet outil popularisera l'approche de la dette technologique. »

Les SED des différents centres ont été missionnés pour accompagner les équipes de recherche dans la prise en mains de l'outil. Pour l'heure, c'est encore Bordeaux qui pilote la plate-forme, mais dès l'an prochain sa gestion devrait être transférée à la DSI d’Inria tandis que chaque centre se dotera d'un référent SonarQube.
« Les retours que nous font certains utilisateurs et certaines utilisatrices² sont très encourageants, mais nous souhaiterions que de plus en plus d'équipes adhèrent à cette démarche car nous sommes persuadés que SonarQube peut être un atout non négligeable pour les logiciels "maison", en particulier dans la perspective d'un éventuel transfert industriel », poursuit Hervé Mathieu.

Créativité et sens du collectif

Alors que cette aventure partagée touche à sa fin, les trois ingénieurs sont fiers du travail accompli ensemble : « C'est très enrichissant de croiser les expériences et les réflexions sur des projets qui débouchent sur un service utile à tout l'institut », indique Christophe Demarey en conclusion.

Quant au prix Inria, tous sont d'accord pour y voir la reconnaissance de la créativité et de l'esprit d'initiative dont savent faire preuve, au quotidien, les collaborateurs des SED. « Le chercheur ou la chercheuse repousse les limites de la connaissance et publie. L'ingénieur résout des problèmes concrets et réalise. Ce sont finalement deux métiers très complémentaires qui n'existeraient pas l'un sans l'autre ! » , ajoute Hervé Mathieu en conclusion.