Qu’est-ce que SonarCube ?

SonarQube est un logiciel libre de Qualimétrie en continu de code. Il aide à la détection, la classification et la résolution de défaut dans le code source, permet d’identifier les duplications de code, de mesurer le niveau de documentation et connaître la couverture de test déployée.

Il a été créer en 2007 , il propose une interface web et il embarque trente-cinq languages de base avec des règles définies.

Ca sert à quoi ?

  • Respect des règles et normes du code
  • Documentation du code
  • Analyse des tests unitaires (couverture du code, etc.)
  • Duplication du code
  • Vulnérabilités potentielles (par degré d’importance : mineure, majeure, bloquante)
  • Génération de rapports
  • Compatibilité avec GitLab et GitLab CI

Interface web

Vue des projets :

Security nombre d’issue liée a la sécurité dans le projet

Reliability nombre d’issue liée a la faibilité / bugs, mais également des problèmes de syntaxes dans le projet

Coverage La couverture de code, aussi appelée couverture de test, mesure le pourcentage de votre base de code qui est exécuté par vos tests automatisés.

Duplication % de code qui est dupliquer dans le projet ( ex : deux fonctions qui font la même chose)


**Les issues :

Les issues peuvent être trier par sévérité afin de pouvoir régler les issues les plus urgentes en priorité.


**Détail d’une issue :

L’issue ce présente comme ça , on peut y retrouver le temps d’éffort, la/les lignes affectées mais aussi différentes informations comme comment la fixer et qu’elle est le problème


**Exemple - How can fix it :

C’est un exemple d’un fix d’une issue proposé par Sonar , elle met en avant la complexité du code et comment il pourrait être redécoupé


**Rapport de sécurité :

Sonar propose aussi un volet sécurité, il permet de voir les vulnérabilités connu et qui pourraient affecté le code. Sonar s’appuie sur ça propre base de données en matière de faille mais aussi sur des bases comme OWASP (https://owasp.org/)


**Configuration des règles :

On peut aussi générer des règles afin de mieux encadrer les éventuels règles qui serait trop permissif ou inexistant dans Sonar


Pipeline CI/CD

Sonar est souvent utiliser pour tourner dans les pipelines CI/CD de git , il fait l’analyse du code mais aussi c’est lui qui run les tests afin de vérifier le coverage du code , il peut donc sortir une analyse directement sur la PR ( pull request ) de l’auteur.

Source :

https://fr.wikipedia.org/wiki/SonarQube https://www.axopen.com/blog/2024/04/utiliser-sonarqube-pour-suivre-dette-technique/ https://www.sonarsource.com/fr/products/sonarqube/