Sonar
Nous verrons une utilisation vulgarisée et classique de SonarQube et Sonar Scanner, entièrement en local (localhost), afin de comprendre d'abord son fonctionnement natif.
SonarQube
SonarQube est un ensemble de solutions pour l'analyse de code, développé en Java. Par conséquent, il est nécessaire d'installer Java (version 11 minimum). Vous pouvez tester SonarQube en local (localhost) après installation.
Lien de téléchargement : https://www.sonarsource.com/products/sonarqube/downloads/
Décompressez-le à l'emplacement souhaité et lancez l'exécutable correspondant à votre plateforme.
Configurer Java
Les variables
Attention les dernières versions de sonar ne supporte pas des versions trop anciennes de java
Lien: https://download.oracle.com/java/22/archive/jdk-22.0.2_windows-x64_bin.zip
JAVA_HOME = La racine d'un dossier jdk
Exemple sur intellij il telecharge vos jdk ici : C:\Users\aschartier\.jdks

Path
Ouvrir le path :

Deux choses :
- Supprimer les versions de java inutilisées (ex: 8,9, 11) si étaient la par défaut
- Ajouter votre chemin java sdk (mais le bin du dossier )

Dans le path c'est le bin du dossier, ex: D:\Programs\jdk-22.0.2\bin
Start
Par exemple, sous Windows, il faut lancer le script StartSonar.bat situé dans le dossier bin/windows-x86-64.
StartSonar.bat
Cela peut prendre quelques minutes. Une fois prêt, vous pouvez accéder à l'interface d'administration via le port par défaut 9000 (http://localhost:9000).
Les identifiants de connexion par défaut sont :
- Nom d'utilisateur : admin
- Mot de passe : admin
Remarque importante : SonarQube ne scanne pas directement le code. Pour cela, vous devrez utiliser un autre outil appelé Sonar Scanner.
Token SonarQube
Il faut créer un projet dans SonarQube pour générer ensuite un token, qui nous sera utile par la suite.
Sonar Scanner
Vous devez télécharger Sonar Scanner, puis il est recommandé de l'ajouter à la variable d'environnement Path de votre système pour pouvoir l'utiliser globalement en ligne de commande.
https://docs.sonarsource.com/sonarqube-server/9.8/analyzing-source-code/scanners/sonarscanner

En général, l'outil Sonar Scanner se trouve dans le dossier /bin.
Donc ajouter le path du bin de notre Sonar Scanner dans les variables d'environnements système

Pour verifier que c'est reconnu :
sonar-scanner --version
En spécifiant ce dossier dans la variable Path, vous pourrez utiliser la commande sonar-scanner directement depuis n'importe quel répertoire.
sonar-scanner
Cela vous permettra d'analyser facilement votre code source avec SonarQube.
Analyser un projet
Il faut exécuter la commande sonar-scanner depuis la racine de votre projet contenant le code.
Vous avez deux choix :
- Exécuter la commande avec tous les paramètres en ligne de commande (cmd)
- Exécuter la commande avec un fichier sonar-project.properties situé dans la racine du projet
Avec sonar-project.properties
Exemple avec un fichier sonar-project.properties :
sonar.projectKey=mon-projet
sonar.sources=src
sonar.host.url=http://localhost:9000
sonar.token=monjeton
sonar.java.binaries=build/classes
- sonar.sources : Le dossier qui contient le code à analyser de manière récursive
- sonar.login : Le token généré via votre interface d'administration SonarQube
Exemple projet local Sonar
Dans le dashboard



Projet Java Gradle
Dans un projet java gradle il faut:
- Ajouter le sonar dans les plugins gradle :
plugins {
id 'java'
id 'org.springframework.boot' version '3.5.9'
....
id "org.sonarqube" version "4.3.1.3277"
}
- Ajouter les properties sonar dans le gradle (exemple tout à la fin du fichier build.gradle) :
sonar {
properties {
property "sonar.projectKey", "ma-clé"
property "sonar.host.url", "http://localhost:9000"
property "sonar.token", "montoken"
}
}
Conclusion
Enfin lancer le scan :
sonar-scanner