Sonar (logiciel)
|
|
Des informations de cet article ou section devraient être mieux reliées aux sources mentionnées dans la bibliographie ou en liens externes.
Améliorez sa vérifiabilité en les associant par des références.
|
| Sonar (logiciel) | |
Logo |
|
|
|
|
![]() 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. |
| modifier |
|
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 :
- identification des duplications de code ;
- mesure du niveau de documentation ;
- respect des règles de programmation ;
- détection des bugs potentiels ;
- évaluation de la couverture de code par les tests unitaires ;
- analyse de la répartition de la complexité ;
- analyse du Design et de l'Architecture d'une application et en faire ressortir des métriques orientées objet.
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 :
- Duplication de code : CPD - PMD ;
- Test unitaires et couverture de code : Cobertura, Clover (en), Emma (en), JUnit, Surefire, jaCoCo ;
- Règles de programmation : Checkstyle, PMD ;
- Bugs potentiels : FindBugs.
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]
- (en) Site officiel
- (en) Site de démonstration de Sonar
- (en) SonarSource : The Sonar Company
- (fr) Introduction à Sonar
- (fr) Fiche Sonar sur la plateforme PLUME (logiciels utiles dans l'enseignement supérieur et la recherche)
