Site icon marclabs.com

SonarQube, un outil d’analyse de code source surpuissant

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:

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 Gitlab CI.

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

SonarQube

Avantages de SonarQube

SonarQube est une application web Java qui repose sur une base de données (par défaut H2, dans notre cas, nous utiliserons une base PostGreSQL). Les resultats de l’analyse sont stockés dans la base de données, ce qui permet de suivre dans le temps l’évolution de la qualité du projet. La plateforme SonarQube est constituée de plusieurs composants :

Il est possible d’automatiser l’analyse avec un serveur d’intégration continue comme nous allons le faire avec Gitlab CI.

SonarQube permet l’inspection de code en continu(intégration dans les IDE, vérification de la qualité depuis la dernière version de la dernière analyse, notifications par email, ce qui permet de détecter les problèmes dès leur introduction dans le code avant que le coût de rémédiation soit elevé.

Architecture

Pour utiliser et exploiter une solution technoloqigue telle que SonarQube, il est préférale de connaître son architecture. L’architecture de SonarQube est composée de 4 éléments majeurs :

Pour ne faire trop long, nous parlerons dans un prochain billet des scanners.

Sources : https://www.sonarqube.org/

Quitter la version mobile