Article original : How to Use SonarQube to Improve Your Code Quality
SonarQube est un outil open-source puissant qui vous aide à maintenir la qualité et la sécurité du code en analysant votre base de code pour détecter les bugs et les vulnérabilités. Et il peut jouer un rôle majeur lorsqu'il est intégré à votre pipeline CI/CD.
Dans ce tutoriel, nous allons couvrir :
Qu'est-ce que SonarQube ?
Comment SonarQube améliore la qualité du code
Installation et configuration étape par étape
Comment exécuter votre première analyse de code
Qu'est-ce que SonarQube ?
SonarQube est un outil open-source qui vérifie en continu la qualité du code. Il analyse le code pour trouver des problèmes comme les duplications, les mauvaises pratiques, les lacunes de couverture de test, les bugs et les vulnérabilités, en fournissant des rapports détaillés. Il fonctionne avec de nombreux langages de programmation comme Java, C#, JavaScript, Python, TypeScript et Kotlin.
Vous pouvez ajouter SonarQube à vos pipelines CI/CD, IDE et systèmes de contrôle de version comme GitHub, GitLab ou Bitbucket. Il fournit des tableaux de bord détaillés qui montrent les métriques, les tendances et les problèmes dans votre code.
Vous pouvez utiliser des règles personnalisées pour faire respecter les normes de codage et réduire la dette technique. SonarQube prend également en charge l'analyse de la couverture de code pour aider les équipes à améliorer leurs tests. Avec la fonctionnalité Quality Gate, les équipes peuvent s'assurer que seul un code propre et maintenable est mis en production.
SonarQube propose des versions gratuites et payantes pour s'adapter à toute taille d'équipe. Dans l'ensemble, il aide à améliorer la qualité des logiciels et encourage les bonnes pratiques de codage.
Comment SonarQube améliore-t-il la qualité du code ?
Voici comment SonarQube aide à améliorer la qualité du code :
Détection précoce des bugs : Identifie les bugs avant qu'ils n'atteignent la production
Amélioration de la maintenabilité : Met en évidence les problèmes de code et de conception
Analyse de sécurité : Identifie les vulnérabilités et les risques de sécurité
Couverture de code : Intégration avec des outils de test pour surveiller la couverture des tests unitaires
Règles personnalisables : Permet aux équipes de définir des normes et des politiques de codage
Collaboration d'équipe : Assure une qualité de code cohérente au sein des équipes de développement
Installation et configuration étape par étape
Prérequis :
Voici les prérequis dont vous aurez besoin avant d'installer SonarQube
Java Runtime Environment (JRE) : Java 11 ou supérieur installé sur votre système.
Configuration système : 2 Go de RAM minimum (Recommandé : 4 Go+).
MacOS : Vous pouvez utiliser HomeBrew, qui est le gestionnaire de paquets pour MacOS qui simplifie l'installation des logiciels.
Voici les étapes pour installer SonarQube sur votre machine locale :
Télécharger SonarQube
Téléchargez le logiciel depuis sonarsource downloads et choisissez l'Édition Communautaire pour les projets open-source.
Extraire et configurer
Pour installer SonarQube, vous devez exécuter la commande suivante pour décompresser le fichier :
unzip sonarqube-<version>.zip
cd sonarqube-<version>/bin/<votre-dossier-OS>
Démarrer SonarQube
Sur Linux/Mac, vous devez exécuter la commande suivante :
./sonar.sh start
Sur Windows, vous devez exécuter celle-ci :
StartSonar.bat
Accéder à SonarQube
Pour accéder à SonarQube, vous devez ouvrir un navigateur et aller à : http://localhost:9000
Entrez les identifiants par défaut :
Nom d'utilisateur :
adminMot de passe :
admin(vous serez invité à le changer)
La page ressemblera à ceci :

Configurer SonarQube dans votre projet
Pour configurer SonarQube dans votre projet, commencez par ouvrir le projet Java sur votre machine. À la racine du projet, créez un fichier sonar-project.properties.
Ajoutez les paires clé-valeur suivantes dans le fichier :
sonar.projectKey=spring-myproject
sonar.projectName=Mon Projet
sonar.projectVersion=1.0
sonar.sources=.
sonar.host.url=http://localhost:9000
Comment exécuter votre première analyse de code
Configurer et exécuter SonarScanner
SonarScanner est l'outil qui envoie réellement votre code à SonarQube pour analyse. Voici les étapes détaillées à suivre pour l'utiliser :
Installer SonarScanner :
Sur Windows/Linux, téléchargez le logiciel depuis SonarSource et décompressez-le :
unzip sonar-scanner-cli-<version>.zip
Sur MacOS, exécutez la commande suivante :
>brew install sonar-scanner
Pour Windows/Linux et MacOS, vérifiez l'installation en exécutant la commande suivante :
>sonar-scanner -v
Configurer SonarScanner
Après avoir installé SonarScanner, vous devrez le configurer en définissant l'URL du serveur SonarQube et le jeton d'authentification. Ensuite, allez dans votre profil SonarQube (coin supérieur droit > Mon Compte > Sécurité) et générez un jeton.

Donnez un nom au jeton et cliquez sur "Générer" :

Dans le fichier sonar-project.properties de votre projet, ajoutez la propriété "sonar.login" et enregistrez.
sonar.projectKey=test-project
sonar.projectName=Test Project
sonar.host.url=http://localhost:9000
sonar.login=<VOTRE_JETON_ICI>
Exécuter l'analyse
Une fois SonarScanner configuré, vous pouvez commencer à analyser votre projet.
Dans un terminal ou une invite de commande, allez à la racine de votre projet (où se trouve sonar-project.properties).
Exécutez la commande suivante :
>sonar-scanner
SonarScanner analysera votre code et enverra les résultats à votre serveur SonarQube local. Visitez http://localhost:9000, et vous verrez votre projet listé sur le tableau de bord.
Pour voir le rapport d'analyse, allez à http://localhost:9000/dashboard?id=java-sonar-demo :

Si vous allez à l'onglet "Problèmes" en haut à gauche, vous pouvez voir différentes catégories de qualité logicielle, la gravité des problèmes et divers autres attributs dans votre code.

Conclusion
Vous avez maintenant installé et configuré SonarQube et appris comment analyser votre code en utilisant SonarScanner. Vous pouvez facilement le configurer dans vos projets pour une analyse continue de la qualité du code.
C'est un outil fantastique pour garder votre base de code propre et maintenable. Comme prochaines étapes, vous pouvez envisager d'ajouter des rapports de couverture de test, de faire respecter les quality gates dans votre pipeline et d'explorer SonarCloud pour une analyse basée sur le cloud.
