SonarQube gestion règles

De EjnTricks
Révision de 23 mars 2018 à 13:23 par Etienne (discussion | contributions)

(diff) ← Version précédente | Voir la version courante (diff) | Version suivante → (diff)

Lors de l'analyse d'un projet sous SonarQube, un profile de qualité est appliqué. Ce profile contient un ensemble de règles, en fonction des plugins installés, afin d'identifier les points à corriger. Lors de la mise ne place de l'instance, une copie du profile Sonar Way with Findbugs a été réalisée afin d'avoir une base de travail sur un standard.

Cependant, le profile peut être modifié afin répondre aux besoins des projet. Cet article présente l'ajout et la configuration des règles sur la Javadoc, sur la version 5.1.2 de SonarQube.

A noter que lors des montées de versions, les nouvelles règles sont ajoutées aux différents profiles.


Hand-icon.png Votre avis

Nobody voted on this yet

 You need to enable JavaScript to vote


Icon Personnalisation.png Edition profile

Les profiles sont disponibles depuis la page Quality Profiles.


Afin de modifier le profile, il faut cliquer sur son nom afin de l'afficher.


Sur cette fenêtre, un résumé du nombre de règles est affichés par criticité. En cliquant sur les liens, il est possible d'afficher les règles activées.


Cette page peut être accédée directement par le lien Rules dans le bandeau supérieur. Les filtres depuis les facettes, bandeau de gauche, permet de filtrer également sur le profile.


Icon-Configuration-Settings.png Ajout de règle

Viewer icon.png Sélection

L'objectif est d'ajouter les règles relatives à la Javadoc sur profile résultat de la copie de Sonar Way with Findbugs. Le text Javadoc est saisie dans la zone de recherche.


Les facettes sont utilisées pour n'afficher que celles qui sont prètes à être utilisées, ainsi les DEPRECATED ne sont pas affichées.


Les détails de chaque règle peuvent être affichés en cliquant dessus. Une nouvelle fenêtre s'affiche avec une description de celle-ci ainsi que les profiles auquels elle est affectée.


Add-icon.png Activation

Afin d'ajouter la règle à un profile, il faut cliquer sur le bouton Activate. Une fenêtre est présentée afin de paramétrer l'activation :

  • Profile Cible
  • Criticité
  • Paramétrages spécifiques


Dans le cadre de cet article, les paramétrages mis en place sont une copie de ceux pour le profile Sun check.

  • Criticité: Major
  • scope & excludeScope: vide
  • checkFirstSentence: True
  • checkEMptyJavadoc: True
  • checkHtml: True
  • tokens: INTERFACE_DEF,CLASS_DEF,METHOD_DEF,CTOR_DEF,VARIABLE_DEF


Le paramétrage est sauvegardé en cliquant sur le bouton Activate, qui redirige sur la page de détail. Il est possible de retourner sur la liste des règles en cliquant sur le lien Return to list.


De la même manière, il est interressant de contrôler que la Javadoc est correctement rédigée.

  • Validation sur les types, règles Javadoc Type


  • Validation sur les méthodes, règles Javadoc Method


Le détail de ces règles indiquent qu'elles sont DEPRECATED et qu'elles doivent être remplacées par UndocumentedApi.


De la même façon, elle est activé pour le profile en cliqant sur le bouton Activate, et en laissant les paramètres par défaut permettant de s'appliquer à toutes les règles.


Share-icon.png Synchronisation

Lors de la mise à jour du plugin SonarJava, de nouvelles règles peuvent être mises à disposition. Or dans le cadre de profile qualité personnalisé, elles ne sont pas automatiquement ajoutées. SonarQube permet de synchroniser facilement les règles avec le profile Sonar way.

Pour cela, il faut éditer le profile souhaité depuis l'interface d'administration accessible depuis le lien Quality Profiles dans le bandeau supérieur.


Sur cet exemple, il est indiqué que 117 ne sont pas activée dans le profile personnalisé. Il suffit de cliquer sur ce nombre pour afficher l'interface d'administration des règles, avec les filtres suivants.

  • Inactive sur profile personnalisé;
  • Active sur profile Sonar way.


Le bandeau lattéral de gauche permet d'affiner la liste des règles. Afin demettre à un profile, il peut être nécessaire de ne synchroniser que celles qui sont "Ready" et de ne pas prendre en compte les obsolètes, "Deprecated". Il faut alors cocher l'option Status et sélectionner l'option Ready.


Afin d'activer les règles dans le profile personnalisé, il suffit alors de cliquer sur le bouton Bulk Change et de sélectionner l'option Activate In PROFILE_NAME, ou PROFILE_NAME est le nom de la cible.


Une fenêtre de confirmation est alors présentée.


Il suffit de confirmer avec le bouton Apply. En cas de succès, un message de succès est affiché.


Il faudra relancer les analyses pour prendre en compte les nouvelles règles.


Copy-icon.png Remplacement DEPRECATED

Les profiles mis à disposition contiennent de nombeuses règles DEPRECATED. L'interface de gestion des règles propose celles de remplacement et il est facile, mais long, de mettre en place les remplacements. Ce paragraphe présente les étapes pour effectuer ce remplacement.

La liste des règles disponibles, page Rules, peut être filtrée sur le profile à modifier et uniquement les règles DEPRECATED.


Dans la description, des liens sont disponibles afin d'accéder aux règles de remplacement. Il est alors possible d'éditer le détail.

Il est plus simple de l'ouvrir dans un nouvel onglet du navigateur, afin d'effectuer l'activation et la désactivation.


Sur cette règle, il suffit de cliquer sur le bouton Activate, en face du titre Quality Profile. Une fenêtre est alors affichée où il faut sélectionner le profile cible, et potentiellement des paramètres de configuration de la règle.


Une fois configurée, il faut cliquer sur le bouton Activate de la popup. La fenêtre est alors rafaichie et le profile doit être visible dans la liste des activations de la règle de remplacement.


Il ne reste plus qu'à désactiver la règle DEPRECATED en cliquant sur le bouton Desactivate en face du profile cible. Une fenêtre de confirmation est alors affichée.


En validant ce choix, la règle est supprimée du profile.


Mylogs-icon.png Audit

Les modifications sur les profiles sont auditées au niveau de l'interface, ce qui permet de contrôler les changements sur les mesures. En effet, l'ajout ou la suppression de règles peut faire évoluer le nombres de corrections nécessaires. Il est donc important de comprendre de potentielles modifications importantes.

Sur un projet, la liste des évènements présente la modification de paramétrage du profile affecté.


De même, il est possible de consulter l'historique du profile et de constater les modifications réalisées.