Sonar est une plate-forme libre (LGPL v3) permettant de gérer la qualité du code source Java (exécution de tests unitaires, analyse de la couverture du code par ces tests, vérification du respect des règles de codage, etc.). Des plugins (greffons) permettent d'étendre l'utilisation de Sonar aux langages PHP et PL/SQL.
L'extensibilité est une qualité essentielle pour un logiciel open source qui a l'ambition d'être adopté massivement. En effet, cela permet à la communauté de contribuer en ajoutant de nouvelles fonctionnalités ou bien en améliorant l'existant et par conséquent de bénéficier d'un effet levier : c'est la magie de l'open source !
Sonar s'appuie sur un cœur qui est un mécanisme d'extension. Autour de ce cœur viennent se greffer des plugins qui contiennent les fonctionnalités de l'outil. Mais le fait d'avoir un tel mécanisme en place n'est pas suffisant pour se déclarer extensible. Il faut également répondre aux 4 points suivants :
- Une API simple d'utilisation ;
- Une forge ;
- Une communauté active ;
- Une documentation et des exemples permettant de mettre le pied à l'étrier.
Ces 4 conditions étant maintenant remplies par Sonar, tout un chacun peut se lancer dans l'écriture de plugins pour étendre l'outil.
NdM : la version 1.8 de Sonar est sortie il a 3 jours. Parmi les nouvelles fonctionnalités, on trouvera un récapitulatif des points chauds sur un projet, l'import/export des profils Findbugs et un changement concernant la publication des mesures sur les catégories ISO ; plus une ribambelle d'améliorations et de corrections par ailleurs.