Consolidation d’un gestionnaire de qualité de code et application à la mesure d’efficacité énergétique

Consolidation d’un gestionnaire de qualité de code et application à la mesure d’efficacité énergétique

Profil Etudiant en stage, fin de bac ou master
Prérequis Connaissance en programmation Java, en XML
Durée Durée : 5-6 mois

Contexte

Le CETIC développe depuis de nombreuses années d’une expertise et un outillage permettant de réaliser des analyses de code avec un accent sur la rigueur de son approche basée sur des modèles de qualités rigoureux. Afin de permettre de consolider sous un modèle unique des résultats de sources diverses tant internes (QualiXML) qu’externes (Open Souce SonarQube, commerciale : CAST), un outil de dashboard a été developpé récemment sous le nom de QWUID (Qwality Web Unified Interface Dashboard). L’outil dispose de mécanismes d’import de différentes sources et une interface web écrite dans le framework Yi.

Travail à réaliser

L’outil QWUID est encore en phase de développement et le travail du stage vise à le consolider dans différentes dimensions.

  • valider le système actuel en y intégrant un nouveau modèle de qualité spécifique à l’efficacité énergétique ; ceci demandera de réaliser des requêtes avancées sur des structures de données représentant du code (code engineering)
  • développer un générateur de rapport qui permettra de générer des documents éditables (LaTeX, ODT et/ou DOC) ou figés (style PDF).
  • réaliser une intégration avec SonarQube

Pour chaque tâche, une analyse, architecture, implémentation et test sera réalisée. Si possible, les tests impliquerons des projets industriels réels sur lequel le CETIC contribue où est amené à ce prononcer. Le stagiaire pourra éventuellement aussi être amené à interagir avec des partenaires du projet européen ASCETIC (en anglais).

Déroulement du stage

Le stage se fera en intégration avec l’équipe des chercheurs experts en analyse de code. Il comportera des phases d’apprentissage, analyse, développement, tests, validation et sera mené avec un niveau proche du métier réel d’informaticien et suivant une méthodologie Agile.

Les étapes seront les suivantes :

  • prise en main de l’architecture de QWUID et des outils tels que QualiXML et SonarQube
  • implémentation de règles spécifiques à l’analyse d’efficacité énergétique (requpetes complexes dans des arbres syntaxique de code)
  • apprentissage des techniques de génération de rapport (UNO, FOP, LaTeX/docbook)
  • réalisation d’un générateur de rapport (permettant de maitriser les structures de données internes)
  • apprentissage du framework Yi
  • mise en place d’un dashboard spécifique à l’efficacité énergétique
  • apprentissage de l’interface d’intégration de SonarQube et ajout d’un widget spécifique QWUID

Bénéfices du stage

Pour le stagiaire, l’acquisition d’expertise sera à la fois

  • méthodologique : apprentissage des principes de qualité, développement
  • et technique : code engineering, consolidation de connaissances Java, XML, apprentissage du framework Yi, génération de rapport,...

Références