Sonar est un outil gratuit, de contrôle de la qualité au sein d'une entreprise, et distribué selon les termes de la licence L-GPL. Ses principaux objectifs sont de faire le lien avec votre outil d'intégration continue et de placer l'ensemble de vos projets de développements sous contrôle Qualité.  Pour l'instant seul le Java est adressé. 

Si vous développez des applications Java et accordez une grande attention à la qualité du code produit, en utilisant des outils comme Cobertura, Checkstyle, PMD, JavaNCSS, ... n'avez-vous jamais eu l'impression que quelque chose manquait ? Quelque chose capable de centraliser et partager les informations sur la qualité des productions,d'historiser des métriques, d'identifier les axes de progrès des projets ? 

Arrêtez votre rechercher et essayez Sonar.


Dashboard copie d'écrans

Projects treemap

Vue globale des projets

  • vue consolidée de tous les projets 
  • identification des projets à faire progresser
  • Vue arborescente
  • Personnalisation des métriques affichées
Project dashboard

Vue projet 

  • plus de 20 métriques
  • historique des mesures
  • fréquence configurable
  • prises de mesure au niveau  module et classes
  • vue arborescente des modules
  • gestion des liens du projet (homepage, sources, issue tracker…)


Time machine

Time Machine

  • étiquettage des mesures (ex. “version 1.1″)
  • affichage des mesures passées par date/étiquette
  • comparaison des mesures par  date/étiquette

Indicateurs

  • Nombre de packages/classes/méthodes, lignes non-commentées, lignes dupliquées
  • Complexité Cyclomatique  : total, moyennes par classe/méthode, graphique de distribution par  classe
  • Tests unitaires : couverture de code, nombre de tests, temps d'exécution, ratio de succès ,  nombre d'échecs
  • Respect des règles de codage rules (voir dessous)

Règles de codage copie d'écrans

Coding Rules

Définissez vos conventions de codage d'entreprise 

  • plus de 300 règles de Checkstyle et PMD
  • catégories ISO  : maintenabilité, portabilité, efficience, robustesse, lisibilité
  • ajoutez vos propres extensions checkstyle and PMD
  • niveaux d'activation obligatoire ou optionnel 
  • import de fichiers XML checkstyle/PMD 
  • chargez et sauvez des configurations
  • chargez des configurations pré-définies (”Sun checks” or “Sonar way”)
Rules compliance

Mesures de conformité

  • ratio de violations
  • fréquence
  • mesure pour chaque catégorie ISO et pour chaque règle
  • identifier les règles le plus souvent transgressées
  • identifier les priorités de corrections
  • surlignage des violations dans le code source


Roadmap

  • Consolidation des mesures par groupe de projets, par départements ou services
  • Plugins permettant d'injecter vos propres indicateurs 
  • Support des languages comme  PL/SQL ou .NET
  • et plein d'autres choses

Pré-requis

  • Java 5
  • Maven 2, mais les projets peuvent être construits avec d'autres outils comme Ant
  • MySql 5, Oracle 10g ou SQLServer pour un usage en production 
  • un serveur d'intégration continue ou un ordonnanceur pour fournir des mesures périodiques