Sonar (logiciel)

Un article de Wikipédia, l'encyclopédie libre.
Aller à : Navigation, rechercher
Sonar (logiciel)
Image illustrative de l'article Sonar (logiciel)
Logo

Tableau de bord Sonar
Tableau de bord Sonar

Dernière version 3.2 (6 août 2012)
Environnement Multi-plateforme
Langue anglais
Type Qualité logicielle,
Analyse statique de programmes
Licence GNU LGPL
Site web sonar.codehaus.org
www.sonarsource.com.

Sonar est un logiciel libre permettant de mesurer la qualité du code source sur les projets de développement java. Sonar est distribué selon les termes de la licence LGPL v3.

Le code source est analysé suivant sept axes :

L'ensemble de ces métriques qualité permettent d'évaluer rapidement la dette technique de chaque projet. Une interface Web permet à la fois d'administrer l'outil (exclusion de code source, activation des profils qualité, définition des seuils d'alertes, …) et de consulter les résultats en croisant les indicateurs et en offrant plusieurs modes de restitution (clouds, treemap, hotspots, timemachine, …).

Sommaire

Principe de fonctionnement [modifier]

Sonar s'appuie sur 3 composants :

  • un plugin Maven où une tâche Ant a en charge l'analyse du code source,
  • une base de données dans laquelle sont stockés l'ensemble des résultats des analyses
  • un site web pour la partie reporting et pilotage.

Cette architecture permet d'utiliser Sonar pour des audits de code ponctuels, mais également dans le cadre d'une démarche d'amélioration continue. L'utilisation d'un plugin maven pour la partie collecte de données permet, en effet, d'utiliser tous les moteurs d'intégration continue pour automatiser le lancement des analyses.

Open Source [modifier]

De nombreuses briques open source existent, elles permettent d'analyser le code source Java mais chacune d'entre elles requièrent un effort de configuration. Sonar intègre la plupart de ces briques tout en réduisant le coût de mise en œuvre en permettant de croiser les résultats. Sonar s'appuie notamment sur :

Concernant le niveau de documentation et les métriques standards comme la complexité et le nombre de lignes de code, Sonar utilise son propre moteur d'analyse.

Extensibilité [modifier]

Sonar a été développé en s'appuyant sur un cœur extensible. Cela signifie qu'il est possible pour qui le souhaite d'étendre ce cœur afin d'augmenter les fonctionnalités (ajout d'un nouveau langage, calcul d'une nouvelle métrique, ajout de règles de programmation…). Le portail des plugins Sonar[1] permet d'accéder à la liste des extensions existantes. Aujourd'hui, plusieurs extensions Open Source commerciales permettent de couvrir les langages PHP[2], Flex, PL/SQL, Cobol, Natural, ABAP et Visual Basic 6.

Un plugin intègre la méthode SQALE pour calculer les indices de qualité.

Notes et références [modifier]

Annexes [modifier]

Articles connexes [modifier]

Liens externes [modifier]

Autres outils open source [modifier]