Sommaire
- 1 Prérequis pour suivre ce cours d’initiation à SonarQube
- 2 Qu’est ce que SonarQube ?
- 3 En pratique, quelles sont les avantages apportés par SonarQube ?
- 4 Architecture et intégration
- 5 Comment installe-t-on SonarQube ?
- 6 Analyse de code source
- 7 Conclusion
Prérequis pour suivre ce cours d’initiation à SonarQube
Pour suivre ce cours d’initiation à Sonarqube, vous devriez :
- Avoir quelques notions sur la qualité logicielle et la gestion de projet de développement logiciel
- Savoir installer des applications sur des plateformes Windows, linux ou Mac OS.
Qu’est ce que SonarQube ?
Autrefois appelé Sonar, SonarQube est un logiciel libre, sous licence GNU LGPL, qui sert à analyser et mesurer continuellement la qualité du code source. Il peut analyser plus de vingt-cinq langages tels que JAVA, Objective-C, C#, PHP et tant d’autres. Pendant l’analyse, SonarQube permet de:
- Identifier les duplications des codes
- Mesurer le niveau de documentation
- Montrer le respect des règles de programmation
- Détecter les bugs potentiels
- Evaluer la couverture de code par des tests unitaires
- Analyser la répartition de la complexité
- Analyser les designs et l’architecture
L’analyse avec SonarQube peut être entièrement automatisée en l’intégrant dans Maven, Ant, Gradle ou d’autres serveurs d’intégration continue tels que Hudson ou Jenkins. Pour les développeurs qui sont habiles avec Eclipse, sachez qu’on peut l’intégrer aussi dans ce dernier. Une autre caractéristique de SonarQube est sa capacité d’être intégré avec des outils internes comme JIRA, Mantis ou LDAP.
SonarQube est extensible. En effet, on peut augmenter ses fonctionnalités (ajout de règles de programmation, ajout d’un nouveau langage, …) en installant des plugins. On peut trouver la liste de ces plugins sur http://docs.sonarqube.org/display/PLUG/Plugin+Library.
En pratique, quelles sont les avantages apportés par SonarQube ?
Lorsqu’on développe une application, on cherche toujours qu’elle soit la plus efficiente que possible, c’est-à dire efficace à moindre coût. Comme nous le savons tous, le coût d’un développement logiciel est proportionnel au temps consacré à son développent, allant de la conception jusqu’au Sign-off ou la réception par le client. Pourtant, plus on a une code de mauvaises qualités, plus on perdra du temps à corriger des bugs, dont la nécessité d’utiliser SonarQube, qui avec ses nombreux métriques, permet la détection précoce des éventuels problèmes. La figure ci-après illustre les 7 métriques utilisées par SonarQube pour analyser les codes d’une application.
Figure : Les 7 métriques de SonarQube
- Design et Architecture: cette métrique montre tout-ce qui est en relation avec l’architecture de l’application telle que les dépendances entre les classes.
- Duplication des codes: elle traque toutes les duplications de code au sein des fichiers.
- Tests unitaires: cette métrique montre le nombre de tests unitaires réussis ou échoués ainsi que les différentes parties du code couvertes par les tests.
- Les complexités du code: C’est la complexité cyclomatique moyenne par méthode, fichier et classe
- Les bugs potentiels: Cette métrique montre les différentes failles de sécurité ou les bugs qui pourraient être apparaître dans les codes
- La règle de programmation: elle indique les règles de codage comme le nom des classes et des attributs
- Les documentations ou commentaires: Ce critère indique tout-ce qui sont commentaires, entre autres les commentaires vides, les commentaires de documentation et les lignes de codes commentées.
Architecture et intégration
Architecture
Afin qu’on puisse utiliser et exploiter une solution technologique telle que SonarQube à fond, il est primordiale de connaître son architecture. Dans ce chapitre, nous allons étudier cette architecture de SonarQube qui est composée de 4 éléments :
- La partie Serveur qui démarre 2 principaux processus :
- Le serveur Web pour les développeurs, qui leur permet de parcourir les snapshots des résultats et configurer l’instance du SonarQube
- Le serveur de recherche basé sur « ElasticSearch » qui permet de sauvegarder les recherches à partir de l’interface utilisateur
Pour faciliter notre compréhension, on peut dire que le serveur web permet de configurer, naviguer et de rechercher les résultats des analyses.
- La base de données SonarQube qui permet de stocker :
- La configuration de l’instance SonarQube tels que la sécurité, les paramètres des plugins, …
- Les résultats des analyses, les vues, …
- Les plugins installés sur le serveur qui contiennent entre autres les types de langages, l’intégration ou encore l’authentification
- Et enfin, les scanners SonarQube qui se chargent de l’analyse des codes proprement dit
Figure : Architecture de SonarQube
Intégration
Le mécanisme ci-après montre comment SonarQube est intégré avec d’autres outils ALM (Application Lifecycle Management) et dans lesquels les différentes composantes de SonarQube sont utilisées.
- Dans leurs IDEs, les développeurs écrivent des codes et utilisent SonarLint pour exécuter une analyse locale
- Les développeurs poussent leur code dans leur SCM (Software Configuration Management) préféré: git, SVN, TFVC, …
- Le serveur d’intégration continue déclenche une build automatique ainsi que l’exécution du scanner SonarQube requis pour exécuter l’analyse
- Le rapport d’analyse est envoyé au serveur SonarQube pour le traitement.
- Le serveur SonarQube traite et stocke les résultats de rapport d’analyse dans la base et les affiche sur l’interface utilisateur.
- Sur l’interface utilisateur de SonarQube, les développeurs examinent, commentent, se remettent en question puis recherche la façon pour réduire les erreurs techniques
- Les manageurs reçoivent les rapports des analyses
- L’OPS utilise des APIs pour automatiser la configuration et extraire les données dans SonarQube
- L’OPS utilise des JMX pour surveiller le serveur SonarQube
Figure : Intégration de SonarQube
Integration de SonarQube sur Eclipse
Eclipse est une plateforme visant à développer un environnement de production de logiciels libre extensible, universel et polyvalent s’appuyant principalement sur Java. L’avantage d’intégrer SonarQube dans Eclipse est la possibilité de voir directement la qualité de son code sans besoin d’ouvrir un navigateur Web à chaque fois.
Installation de plugin SonarQube dans Eclipse
Pour installer le plugin de SonarQube dans Eclipse, nous allons suivre les étapes ci-après :
- Ouvrir votre Eclipse IDE puis Help > Install New Software
- Sur le pop-up, coller le url suivant : http://downloads.sonarsource.com/eclipse/eclipse/ et puis taper Entrée, la liste des plugins SonarQube sont affichés
- Sélectionner le plugin « SonarQube Eclipse Integration » puis cliquer sur Next
- Pour terminer l’installation, cliquer sur Finish
- Une fois l’installation terminée, Eclipse IDE demande d’être redémarrer
- Maintenant, nous pouvons ouvrir SonarQube dans Eclipse
Intégration de SonarQube avec Jenkins
Jenkins est un outil Open Source d’intégration continue, il est écrit en Java. Dans ce chapitre, nous allons voir comment intégrer SonarQube avec Jenkins.
Installation de Jenkins
Avant de faire l’intégration, nous avons besoin d’installer Jenkins. Nous allons l’installer en tant que service Windows ; Pour ce faire, nous devons suivre les instructions suivantes :
- Télécharger jenkins.war sur le site https://jenkins.io/index.html
- Copions-le dans un répertoire C:\jenkins
Maintenant lancer la commande
java -jar jenkins.war
- Maintenant connectons nous sur http://localhost:8080
- Maintenant cliquer sur le lien Manage Jenkins > « Install as Windows Service »
- Spécifier maintenant le répertoire d’installation
- L’installation terminée, on a le message suivant
- En vérifiant sur la liste des processus on a le résultat suivant
Installation de plugin SonarQube
Après avoir installé Jenkins, ajoutons maintenant le plugin SonarQube.
- Maintenant cliquer sur le lien Manage Jenkins > « Manage Plugins »
- Puis cliquer sur l’onglet « Available » et sélectionner SonarQube Plugin
- Cliquer maintenant sur le bouton Install without restart
- On a alors réussi à intégrer SonarQube dans Jenkins
Installation du serveur SonarQube
Maintenant, ajoutons un serveur SonarQube dans Jenkins. Pour ce faire :
- Cliquer sur le lien Manage Jenkins > Configure System
- Puis cliquer sur le bouton «Add SonarQube»
- Saisir les paramètres de configuration
Installation du scanner SonarQube
Le processus d’intégration du scanner SonarQube est le même que celui du serveur. La seule différence c’est qu’au lieu de cliquer sur « Add SonarQube », on clique sur « Add SonarQube Runner »
Comment installe-t-on SonarQube ?
Prérequis
La seule condition préalable à l’exécution du SonarQube est d’avoir Java (la version Oracle JRE 1.7 ou OpenJDK 1. 7 au minimum) installé sur votre machine. Pour voir la version de java qui est installé sur votre PC, il faut taper la commande suivante :
- Sous Windows :
Executer>cmd>java –version
- Sous linux ouvrir une console de commande puis taper aussi java –version
Pourtant pour avoir une fonctionnalité optimale de SonarQube, il faut respecter les spécifications suivantes :
- Matérielles
- Le serveur SonarQube nécessite au moins 2 Go de RAM et 1 Go de RAM libre pour l’OS pour fonctionner efficacement.
- La quantité d’espace disque dont vous avez besoin dépendra de la quantité de code que vous voulez analyser avec SonarQube.
- SonarQube doit être installé sur les disques durs qui ont d’excellentes performances de lecture et d’écriture. En effet, comme le dossier « data » abrite les indices ElasticSearch sur lesquels une énorme quantité d’E / S se fera lorsque le serveur est en cours d’exécution, les performances de lecture et écriture du disque dur auront donc un grand impact sur la performance globale du serveur SonarQube.
- Base de données
Le charset de la base de données doit être réglé sur « UTF-8 » et la langue « English ». Les bases de données suivantes sont supportées par SonarQube :
- Microsoft SQL Server : 2008 MSSQL Server 10.0 et plus
- Mysql : la version 5.6 et plus
- Oracle 11G et plus, la version 10g n’est plus supporté depuis la version 5.0 de SonarQube
- PostegreSQL 8.x et 9.x
Installation par défaut de SonarQube
Une fois notre machine hôte satisfait tous les prérequis nécessaires, nous allons procéder à l’installation de SonarQube en utilisant sa base de données h2 et son serveur web intégré, et comme système d’exploitation nous allons utiliser Windows. Pour ce faire, nous allons suivre les étapes suivantes :
- Téléchargeons la dernière version de SonarQube sur http://www.sonarsource.org/downloads/, pour ce tutoriel, notre version est le SonarQube 5.4
- Une fois le téléchargement terminé, il faut le décompresser dans C:\
- Puis il faut démarrer le serveur SonarQube en tapant la commande suivante :
C:\sonarqube\bin\windows-x86-xx\StartSonar.bat
- Maintenant, nous avons besoin de télécharger le Scanner SonarQube sur https://sonarsource.bintray.com/Distribution/sonar-scanner-cli/sonar-scanner-2.5.1.zip . Une fois le téléchargement terminé, décompressons le dans le disque C:\, on a donc C:\sonar-runner
Installation du serveur
Précédemment, nous avons utilisé la base de données et le serveur web local de SonarQube, mais pour des grands projets de développent, il faut installer un serveur SonarQube avec une base de données et un serveur web indépendants.
Installation d’une base de données
Nous avons vu que plusieurs moteurs de base de données sont pris en charge par SonarQube. Assurez-vous de respecter les exigences énumérées pour votre base de données, ils sont de véritables exigences non pas de simples recommandations.
Créer un schéma vide et un utilisateur sonarqube. Accorder à cet utilisateur les droits de créer, mettre à jour et supprimer des objets pour ce schéma. Le charset de la base de données doit être réglé sur « UTF-8 » et la langue (base de données et utilisateur) l’Anglais.
Microsoft SQL Server
Si vous souhaitez utiliser la sécurité intégrée, vous devez télécharger le pilote Microsoft SQL JDBC 4.1 package sur http://www.microsoft.com/en-us/download/details.aspx?displaylang=en&id=11774 et copier sqljdbc_auth.dll dans un dossier de votre chemin. Vous devez copier la version 32 bits ou 64 bits de la dll en fonction de l’architecture de votre machine serveur.
Si vous utilisez sonarQube comme un service Windows et que vous voulez utiliser la sécurité intégrée, assurez-vous que l’utilisateur Windows qui lance le service a la permission de se connecter sur votre serveur SQL. Le compte doit avoir un rôle db_owner. Sinon, si vous utilisez le serveur sonarQube à partir d’une invite de commande et que vous voulez utiliser la sécurité intégrée, l’utilisateur qui lance l’invite de commande doit être db_owner.
Assurez-vous également que les propriétés de sonar.jdbc.username ou sonar.jdbc.password sont commentées pour éviter que sonarqube aille utiliser l’authentification SQL.
sonar.jdbc.url=jdbc:sqlserver://localhost;databaseName=sonar;integratedSecurity=true
Si vous souhaitez utiliser l’authentification SQL, utilisez la chaîne de connexion suivante. Assurez-vous également que sonar.jdbc.username et sonar.jdbc.password sont configurés de manière appropriée.
sonar.jdbc.url=jdbc:sqlserver://localhost;databaseName=sonar
sonar.jdbc.username=sonarqube
sonar.jdbc.password=mypassword
Mysql
Mysql utilise deux moteurs: MyISAM et InnoDB. MyISAM est le plus ancien des deux moteurs et est progressivement remplacé par InnoDB. InnoDB est nettement plus rapide et mieux avec SonarQube lorsque le nombre de projets dans le cadre de contrôle qualité augmente. Si vous étiez un des premiers à adopter SonarQube, et que vous avez utilisé MyISAM. Pour améliorer les performances, vous devez modifier le moteur pour toutes les tables à InnoDB.
Oracle
Pour le système qui dispose deux schémas SonarQube sur la même instance Oracle, surtout si elles sont de deux versions différentes, sonarQube devient confus et prend le premier qu’il trouve. Pour résoudre ce problème:
- Il faut diminuer les privilèges de l’utilisateur Oracle SonarQube
- Il faut mettre en place un trigger qui modifie automatiquement la session lors d’une nouvelle connexion :
ALTER SESSION SET current_schema="MY_SONARQUBE_SCHEMA"
PostgreSQL
Si vous souhaitez utiliser un schéma personnalisé et non la valeur par défaut « public », la propriété du PostgreSQL doit être paramétrée:
ALTER USER mySonarUser SET search_path to mySonarQubeSchema
Installation du serveur Web
Une fois la base de données installée, nous allons maintenant installer le serveur web. Après avoir téléchargé et décompressé la distribution SonarQube, il faut faire les configurations suivantes :
Réglage de l’accès à la base de données
Editer le <répertoire_installation>/conf/sonar.properties pour configurer les paramètres de base de données. Des modèles sont disponibles pour chaque type de base de données pris en charge. Juste décommenter et configurer le modèle que vous avez besoin et commenter les lignes dédiées à H2 qui est la base de donnée interne de SonarQube:
Exemple pour PostegreSQL
sonar.jdbc.username=sonarqube
sonar.jdbc.password=mypassword
sonar.jdbc.url=jdbc:postgresql://localhost/sonarqube
Ajout du pilote JDBC
Les pilotes pour les bases de données prises en charge (sauf Oracle) sont déjà prévus. Il ne faut pas remplacer les pilotes fournis car ils sont les seuls prisent en charge.
Pour Oracle, copiez le pilote JDBC dans <répertoire d’installation>/extensions/jdbc-pilote/oracle.
Démarrer le serveur Web
Le port par défaut est « 9000 » et le chemin de contexte est « / ». Ces valeurs peuvent être modifiées dans <répertoire_installation> /conf/sonar.properties:
#sonar.properties
sonar.web.host=127.0.0.1
sonar.web.port=80
sonar.web.context=/sonar
Pour démarrer le serveur, il faut lancer :
- Sous Linux/Mac OS: bin/<Votre OS>/sonar.sh start
- Sous Windows : bin/windows-x86-XX/StartSonar.bat
Maintenant, vous pouvez accéder à l’interface utilisateur sur http://localhost:9000 avec le login admin et le mot de passe admin.
Installation des plugins
Dans ce topique, nous allons utiliser l’installation locale que nous avons utilisée comme lab.
Il y a deux options pour installer un plugin dans SonarQube:
- L’installation automatique via l’interface utilisateur en utilisant le centre de mise à jour
- L’installation manuelle
Installation automatique
- Si vous avez accès à Internet et que vous êtes connecté en tant que super-utilisateur ou administrateur SonarQube, vous pouvez aller dans Administration >System> Update Center >
- Localisez l’onglet » Available Plugins «
- Trouver le plugin que vous souhaitez installer, pour notre cas, nous allons installer Cobol
- Cliquez sur Install et attendez que le téléchargement soit terminé
Une fois que cela soit faite, vous devrez redémarrer votre serveur SonarQube.
Après redémarrage, nous voyons que Cobol est installé
Installation manuelle
- Dans la page http://docs.sonarqube.org/display/PLUG/Plugin+Library sélectionner le plugin que vous souhaitez installer. Pour notre cas, on va installer Python
- Cliquez sur le lien « Télécharger » de la version compatible avec votre version SonarQube. Pour notre cas c’est sonar-python-plugin-1.5.jar.
- Maintenant copions sonar-python-plugin-1.5.jar dans le répertoire $SONARQUBE_HOME/extensions/plugins, pour notre cas c’est C:\sonarqube-5.4\extensions\plugins
- Redémarrons maintenant notre serveur, puis allons dans Administration >System> Update Center >. Nous voyons que python a été installé
Analyse de code source
Pour terminer notre tutoriel, nous allons voir les différentes possibilités à analyser un code source. Avant d’analyser un code source, il faut s’assurer d’abord que le plugin pour le langage de ce code soit installé dans SonarQube. Pour notre exemple nous allons analyser des codes Java et Javascript. Ces langages sont déjà installés par défaut après l’installation de SonarQube.
Analyse de code via Sonar Runner
Pour ce faire, nous allons suivre les étapes suivantes :
- Téléchargeons des projets types dans https://github.com/SonarSource/sonar-examples/archive/master.zip et les analyser avec notre SonarQube. Nous allons aussi le décompresser dans C:\
- Pour analyser le code Java, nous allons taper la commande suivante :
cd C:\sonar-examples-master\projects\languages\java\sonar-runner\java-sonar-runner-simple
C:\sonar-scanner-2.5.1\bin\sonar-runner.bat
- Ci-après la capture des dernières lignes de cette analyse
- Pour analyser le code Javascript, lançon la commande suivante:
cd C:\sonar-examples-master\projects\languages\javascript\javascript-sonar-runner
C:\sonar-scanner-2.5.1\bin\sonar-runner.bat
- Ci-après la capture de cette analyse
- Nous allons maintenant voir les résultats de notre analyse sur l’interface utilisateur http://localhost:9000 (admin /admin)
- Une fois entrée, nous trouvons la liste des résultats des deux analyses que nous avons faites
- Maintenant cliquons sur la première pour voir les résultats en détails
- Maintenant cliquons par exemple sur les « issues » pour avoir encore plus de détails
- On voit bien ici que les problèmes sont classifiés par type de criticité (Major / Minor) et que sur l’interface on peut tout de suite ouvrir un ticket pour leurs traitements.
Analyse de code avec SonarQube pour Maven
Nous allons vous montrer maintenant, comment analyser les codes de projet Java géré avec MAVEN.
Compatibilité
Le tableau suivant montre la compatibilité des versions entre SonarQube et Maven
Version du SonarQube | 4.5.x LTS | 5.x |
Maven 2.2.1 | OUI | NON |
Maven 3.x | OUI | OUI |
Installation et configurations de Maven
Pour pouvoir réaliser notre code, nous allons installer MAVEN pour ce faire :
- Télécharger Maven pour Windows sur http://maven.apache.org/ (apache-maven-3.3.9-bin.zip)
- Une fois téléchargé, décompresser le dans C:\
- Ajouter C:\apache-maven-3.3.9\bin dans notre variable d’environnement
- Ouvrir une console de commande Windows et taper :
mvn –v
pour vérifier
- Configurer maintenant Maven en éditant le fichier xml dans le répertoire $MAVEN_HOME\conf (pour nous c’est C:\apache-maven-3.3.9\conf) puis ajouter les codes suivants :
Création d’un projet Maven
Maintenant créons un projet Java Maven pour pouvoir l’analyser après. Pour cela nous allons créer un projet « Hello World ».
- Créer un répertoire vide nommé C:\Hello puis ouvrir une invite de commande et déplaçons-nous dans ce répertoire
- Nous allons créer un projet de base en générant un archetype. Taper la commande suivante :
mvn archetype:generate
- Maven se connecte sur le dépôt central http://repo.maven.apache.org/ puis télécharge des fichiers POM (Project Object Model) et des fichiers JAR (Java Archiver)
- Voici la capture des dernières lignes après le lancement de la commande
- Nous allons choisir le nombre par défaut 758 pour que Maven utilise l’archetype « quickstart »
- Puis il nous demande la version de l’archetype, le groupeId et l’artifactId. Pour l’artifactId nous mettons « HelloWorld »
- Puis enfin, le console d’installation nous demande le snapshot et le package. Pour ces deux paramètres, nous laissons les valeurs par défaut. Et pour terminer, nous avons confirmé avec « Y »
- Maintenant nous avons notre projet « Helloworld » dont l’arborescence est le suivant
- Nous avons donc 12 dossiers et 3 fichiers dont les détails sont les suivants :
Le fichier Java: C:\Hello\Helloworld\src\main\java\org\ccm\maven\App.java
Le fichier de test unitaire : C:\Hello\Helloworld\src\test\java\org\ccm\maven\AppTest.java
Puis le cœur du projet Maven : C:\Hello\Helloworld\pom.xml
Analyse du projet Maven HelloWorld avec SonarQube
Pour l’analyse de notre projet nous allons dans le répertoire qui contient pom.xml dans notre cas c’est C:\Hello\Helloworld\ puis lancer la commande suivante sur un invite de commande :
mvn clean verify sonar:sonar
Nous avons le résultat de notre analyse
Maintenant, on peut voir le résultat sur notre interface : http://localhost:9000
Analyse du code avec scanner SonarQube pour Ant
Le scanner SonarQube pour Ant fournit une tâche pour permettre l’intégration de l’analyse SonarQube pour un script Ant Apache.
Qu’est ce que Ant Apache
Ant est un logiciel qui a pour but d’automatiser les répétitives du développement de logiciel. Il a été crée par la fondation Apache, on peut faire de la compilation, la génération de documents (Javadoc) ou l’archivage au format JAR.
Prérequis pour l’analyse
Pour effectuer l’analyse, on a besoin de :
- SonarQube déjà installé
- Java installé
- Les extensions correspondantes de tous les langages qu’on veut analyser
- Ant 1.7.1 au minimum
Installation de Ant
Avant d’essayer d’analyser un projet Ant Apache, nous avons besoin d’installer ce dernier. Pour ce faire, nous allons suivre les étapes suivantes :
- Télécharger Ant sur http://ant.apache.org/manual/install.html#getBinary, (pour notre tutoriel on va utiliser c’est la dernière version apache-ant-1.9.6-bin.zip)
- Une fois téléchargé, décompresser le dans C:\
- Maintenant, il faut ajouter %ANT_HOME%/bin (C:\apache-ant-1.9.6\bin pour notre cas)dans notre variable d’environnement
- Ouvrir une console de commande, naviguons dans le répertoire C:\apache-ant-1.9.6\ puis lançons
ant -f fetch.xml -Ddest=system
pour télécharger les dépendances utilisés par Ant
Configuration et lancement de l’analyse
Pour pouvoir faire de l’analyse, il faut configurer Ant. Ci-après les étapes à suivre pour cette configuration :
- Télecharger sonar-ant-task-2.2.jar à partir du site http://mvnrepository.com/artifact/org.codehaus.sonar-plugins/sonar-ant-task/2.2 Décompresser le et copier dans $ANT_HOME/lib pour nous c’est le répertoire C:\apache-ant-1.9.6\lib
- Pour ce tutoriel nous allons télécharger un projet exemple sur le site https://github.com/SonarSource/sonar-examples/zipball/master
- Décompressons le dans le disque C:\, nous avons alors SonarSource-sonar-examples-8cb4734
- Editons le fichier C:\SonarSource-sonar-examples-8cb4734\projects\languages\java\ant\java-ant-simple\build.xml
Nous avons ajouté le code encadré en rouge. C’est le répertoire qui contient sonar-ant-task-1.2.jar
Une fois la configuration terminée, nous allons lancer l’analyse.
- Ouvrir une invite de commande puis déplaçons-nous vers le répertoire de base de notre projet qui contient le xml
- Maintenant lancer la commande :
ant sonar
- Maintenant nous pouvons voir le résultat de l’analyse dans http://localhost:9000
Conclusion
Nous avons vu dans ce tutoriel les différentes possibilités que peuvent apporter SonarQube sur l’analyse de la qualité de code. Il est livré avec un ensemble prédéfini de normes qui permettent d’avoir un aperçu de la qualité de l’application. Il est facile à paramétrer et à intégrer à d’autres outils tels que Subversion, Maven, Ant, JUnit et PHPUnit.
SonarQube permet aussi de gérer le travail d’équipe et de collaboration par son système de ticket. En apportant la transparence à la gestion de la qualité du code, la plate-forme SonarQube aide les développeurs à comprendre la qualité de leur logiciel et à assurer qu’il est facile à entretenir. En somme, SonarQube est l’outil idéal pour avoir une meilleure qualité de développement logiciel.