SonarQube - Installation & Utilisation

Rédigé par niconux Aucun commentaire
Classé dans : Debian, Développement, Howto Mots clés : SonarQube, Reporting

SonarQube (anciennement Sonar) est un logiciel libre distribué sous licence LGPL v3 permettant de mesurer la qualité d'un code source, en continu.

Son analyse s'oriente sur 7 axes distincts :

SonarQube supporte plus de 25 langages comme : Java, C/C++, C#, PHP, Flex, Groovy, JavaScript, Python, PL/SQL, COBOL, etc

Il permet de créer des compte rendus sur :

Nous allons voir dans cet article comment installer un tel outil sur une Debian Wheezy et dans un deuxième temps comment utiliser SonarQube pour analyser ses propres projets.

Installation


Pour l'installation de SonarQube un seul prérequis est nécessaire, à savoir l'installation d'un JRE 6 (minimum) sur votre système. Cet article se base sur la version 3.7.3 de SonarQube.

  • Prérequis

Sous Debian Wheezy, l'installation du JRE apportera les dépendances suivantes :

  • icedtea-7-jre-jamvm
  • openjdk-7-jre-headless
  • openjdk-7-jre-lib
 
$ sudo apt-get update
$ sudo apt-get install openjdj-7-jre

 

Une fois le JRE installé il vous faudra télécharger SonarQube. Pour se faire il vous faudra récupérer deux archives :

- SonarQube 3.7.3 : http://dist.sonar.codehaus.org/sonar-3.7.3.zip

- SonarQube runner 2.3 : http://repo1.maven.org/maven2/org/codehaus/sonar/runner/sonar-runner-dist/2.3/sonar-runner-dist-2.3.zip

Pour mirroring, ces archives sont présentes sur ce site :

- SonarQube 3.7.3

- SonarQube runner 2.3

J'ai aussi rajouté l'archive d'exemple proposé par Sonar.

 

  • Décompression des archives

une fois les archives téléchargées, nous allons les installer dans un dossier spécifique : /opt (libre à vous de le changer)

$ sudo mkdir /opt (optionnel) 
$ sudo cp sonar-3.7.3.zip sonar-runner-dist-2.3.zip /opt
$ cd /opt
$ sudo unzip sonar-3.7.3.zip
$ sudo unzip sonar-runner-dist-2.3.zip

Le dossier /opt contient à présent deux dossiers sonar-3.7.3 et sonar-runner-dist-2.3

Vous pouvez à présent effacer les archives zip présentent dans /opt.

$ sudo rm sonarqube-3.7.3.zip sonar-runner-dist-2.3.zip

 

Utilisation - Première analyse


Une fois SonarQube installé nous allons pouvoir lancer notre première analyse sur un projet, dans notre exemple nous avons prit un projet Java, tout simple, sans l'utilisation de Maven, par exemple, qui impose une autre approche. Pour se faire nous avons besoin d'avoir les sources, généralement ces fichiers sont dans le dossier src de votre projet.

Remarque : Si pour les besoins du test, vous n'avez pas de source disponible, vous pouvez toujours prendre les projets d'exemple présents dans l'archive d'exemple.

Avant de lancer l'analyse, nous allons créer dans le dossier de votre projet, un fichier sonar-project.properties permettant de paramètrer SonarQube, ce fichier pourra être modifié selon vos besoins, mais il devra au moins contenir une configuration basique, comme la configuration suivante.

Vous pouvez retrouver plus d'information sur la configuration de ce fichier ici.

Prenons un fichier de configuration tout simple :

# Required metadata
sonar.projectKey=java-sonar-simple
sonar.projectName=Simple Java project analyzed with the SonarQube Runner
sonar.projectVersion=1.0

# Comma-separated paths to directories with sources (required)
sonar.sources=src

# Language
sonar.language=java

# Encoding of the source files
sonar.sourceEncoding=UTF-8

Cette configuration minimale indique :

- Les propriétés de notre projet que l'on retrouvera sur le tableau de bord Sonar

- Où se trouve les sources de notre projet (par rapport au dossier courant, à savoir le dossier de notre projet)

- Quel type de langage utilise notre projet, dans notre cas c'est un projet Java

- Le support UTF-8.

 

  • Démarrage de SonarQube
$ cd /opt/sonar-3.7.3/bin/linux-x86-32 (choisir le dossier en fonction de votre architecture)
$ sudo ./sonar.sh start

Si tout se passe bien vous devriez avoir la trace suivante :

$ Starting sonar...
$ Sonar started.

Une fois sonar démarré, nous allons procéder à l'analyse de notre projet d'exemple.

$ cd <dossier_projet> (faire un cd dans le dossier contenant votre projet, dossier parent au dossier src, dossier contenant le .properties)
$ /opt/sonar-runner-2.3/bin/sonar-runner 

L'analyse peut prendre quelques minutes selon la taille de votre projet.

Une fois l'analyse complète, le script vous indique l'URL à laquelle vous pouvez consulter le résultat d'analyse.

Dans notre exemple : http://localhost:9000/dashboard/index/java-sonar-simple

Une fois la page chargée vous pouvez voir les résultats d'analyse comme le montre le tableau de bord suivant :

Dashboard Sonar 3.7.3

 

Le tableau de bord présente via des widgets (personnalisable) un ensemble d'information :

  • nombre de ligne de code de votre projet,
  • le nombre de problème soulevé selon leur criticité
  • la complexité de certaines méthodes, classes, ...
  • le code dupliqué
  • etc

Toutes ces informations sont étroitement liées au type de profil utilisé, par défaut, sonar-way. Le résultat d'analyse pourra être grandement changé, si vous ajoutez des contraintes supplémentaires, comme par exemple des règles de codage spécifique etc.

Vous pouvez personnaliser Sonar via ses pages d'administration, via le compte administrator (par défaut, login : admin, mot de passe : admin).

En espérant que cette petite et brève présentation de SonarQube vous aidera et que surtout vous permettra de mieux gérer vos différents projets.

L'utilisation de ce type d'outil devient une obligation dès lors que les projets informatiques se complexifie.

En savoir plus ...

 

 

Écrire un commentaire

Quelle est le dernier caractère du mot sh2dufer ?

Fil RSS des commentaires de cet article