IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Contrôler la qualité de ses projets avec Sonar

Date de publication : 13/09/2008 , Date de mise à jour : 13/08/2009


VII. Fonctionnalités avancées
VII-A. Méthode de calcul
VII-B. Administration
VII-B-1. Gestion des profils de qualité
VII-B-2. Modification de la page d'accueil
VII-B-3. Les revues manuelles
VII-B-3-a. Concept
VII-B-3-b. Gestion des revues
VII-B-4. Gestion des projets
VII-B-5. Settings


VII. Fonctionnalités avancées


VII-A. Méthode de calcul

Pour chaque projet, il est possible de connaître le respect des règles de codage.

On voit sur la capture précédente les valeurs suivantes :

  • Efficiency : 99,5%
  • Maintenability : 96,1%
  • Portability : 99,8%
  • Reliability : 97,5%
  • Usability : 95,6%
  • Respect général : 88,5%
Sonar va calculer le taux de respect pour chaque catégorie de la façon suivante :

taux_categorie = 100 - (nbV_categorie * 3) / LdC

  • nbV_categorie correspond au nombre de violations des règles d'une catégorie précise (efficiency, reliability, etc.).
  • LdC correspond au nombre de lignes de code du projet.
On voit ici que les règles sont plutôt bien respectées, l'utilisabilité n'atteignant "que" 95,6%. Pourtant, le respect général va être évalué à 88,5% ! Il ne s'agit pas d'une erreur, mais plutôt de la façon dont cette "moyenne" est calculée. Elle correspond en effet à la somme des manquements pour chaque catégorie. Autrement dit :

Respect général = 100 - (100 - Efficiency) - (100 - Maintenability) - (100 - Portability) - (100 - Reliability) - (100 - Usability)

Soit ici : 100 - 0,5 - 3,9 - 0,1 - 2,5 - 4,4 = 88,5 (en réalité 88,6, mais étant donné qu'il s'agit de résultats arrondis au centième près, il peut en effet exister une petite différence).

Cette règle de calcul reste toutefois sujette à discussion (voir ici). Il semble qu'il sera possible dans une version future de Sonar, de permettre de modifier certains paramètres de ce calcul, mais rien n'est encore sûr...


VII-B. Administration

Sonar propose une fonction d'administration permettant essentiellement :

  • De créer ses propres profils de règles.
  • De modifier la page d'accueil, et en particulier les informations affichées dans la table des projets.
  • De gérer les revues.
  • De modifier les données basiques d'un projet.
  • De supprimer un projet de Sonar.
  • De configurer les plugins.
  • De sauvegarder ou de restaurer la configuration de Sonar.
Pour se connecter en administrateur, il faut cliquer sur le bouton "Login" en haut à droite. Par défaut, le login et le mot de passe de l'administrateur sont "admin" et... "admin" ! Il est donc préférable de modifier ces informations dès que possible.


VII-B-1. Gestion des profils de qualité

Le rôle d'administrateur permet de gérer les différents profils de règles de codage. Chaque règle existante peut être choisie par défaut, supprimée ou dupliquée. Il est également possible de créer un nouveau profil. Il suffit d'en saisir le nom, le langage pour lequel il s'applique (Java étant pour l'instant la seule option), et de donner les fichiers XML de configuration de PMD, Checkstyle et FindBugs.

En cliquant sur le lien "0 projects", on peut associer (ou retirer) d'un profil qualité un ou plusieurs projets gérés par Sonar. Il est donc possible d'avoir, au sein du même serveur Sonar, des projets respectant différentes configurations de règles de qualité.

C'est également dans un profil qualité que l'on définira les alertes. Cela permet d'être alerté (via une icone affichée dans le dashboard ou par un flux RSS) que telle ou telle métrique dépasse (ou n'atteint pas) un certain seuil. Par exemple, si l'on souhaite définir une alerte sur le pourcentage de réussite des tests unitaires, on configurera l'alerte ainsi :

  • Ainsi, si le pourcentage de réussite est inférieur à 90%, il s'agira d'une alerte,
  • si le pourcentage de réussite est supérieur à 90% et strictement inférieur à 100%, un warning est levé,
  • aucune alerte ne sera affichée si le pourcentage de réussite est de 100% !
On verra ainsi toutes les alertes directement dans le dashboard du projet, où l'on trouvera également l'historique de ces alertes.

A noter également que les alertes peuvent être directement visibles sur l'écran d'accueil de Sonar :

Enfin, en bas de page, un lien est affiché pour suivre ces alertes via RSS.


VII-B-2. Modification de la page d'accueil

Il est possible de configurer la page d'accueil, en cliquant sur le bouton Configure:

Un bloc apparaît permettant d'ajouter de nouvelles colonnes, de changer le critère de tri des projets par défaut, ou d'activer / désactiver le tree map.

Chaque colonne est déplaçable (avec les boutons et ) ou supprimable (avec ):


VII-B-3. Les revues manuelles


VII-B-3-a. Concept
Une revue est une statistique "manuelle" sur le projet. Elle peut prendre une valeur entière, décimale, un pourcentage, un booléen ("oui" ou "non"), un texte ou un niveau. L'intérêt d'une revue est donc d'attribuer des valeurs aux metrics personnalisées pour à chaque build d'un projet, et d'en obtenir son historique. Ces revues peuvent également servir à saisir dans Sonar le résultat de revues effectuées manuellement comme des revues de configuration, de gestion de projet, d'architecture, etc.


VII-B-3-b. Gestion des revues
Pour accéder à la liste des revues, il faut cliquer sur "Configuration" en haut à droite, puis sur le lien "Manual metrics". Chaque revue peut être supprimée ou éditée. Il est aussi possible de créer de nouvelles revues :

Il est seulement utile de définir son nom, sa description, ainsi que son type (nombre avec ou sans décimales, pourcentage, booléen, texte ou niveau). Une fois créée, la revue sera disponible pour chaque projet.


VII-B-4. Gestion des projets

Lorsque l'on se trouve sur la page d'un projet, une nouvelle option apparaît dans le menu à droite, appelée "Settings".

Sur la page qui s'affiche alors, il est possible de définir les liens vers :

  • La page principale du projet.
  • Le lien vers le serveur de gestion des sources (SCM tel que CVS ou Subversion par exemple).
  • Le lien vers le serveur d'Intégration Continue.
  • Le lien vers le gestionnaire de bugs.
  • Ainsi que d'autres liens personnalisés...
Il est également possible, à partir de cet écran, de ne pas réaliser l'analyse de certaines classes ou de certains packages du projet. C'est très pratique lorsque vous disposez de classes Java générées automatiquement par une librairie tierce (par exemple JAXB) et pour lesquelles vous ne pouvez contrôler la qualité des sources.

La dernière option de cette page d'administration est la suppression des données au sein de Sonar.
Attention ! Supprimer le projet supprimera en base tout l'historique des données du projet en question. Ce dernier n'apparaîtra alors plus dans la liste des projets suivis.


VII-B-5. Settings

On trouvera enfin dans le menu de gauche de la configuration de Sonar une option appelée "Settings". C'est ici que l'on paramètrera les différents plugins (pré-)installés sur Sonar, en particulier:

  • CPD
  • Checkstyle
  • Clover
  • Cobertura
  • Findbugs
  • General (configuration générale de Sonar)
  • Google analytics
  • PMD
  • Squid
  • Surefire
  • Tout autre plugin installé
 

Valid XHTML 1.0 TransitionalValid CSS!

Ce document est issu de http://www.developpez.com et reste la propriété exclusive de son auteur. La copie, modification et/ou distribution par quelque moyen que ce soit est soumise à l'obtention préalable de l'autorisation de l'auteur.