SonarQube
outil d'analyse statique de code pour une inspection continue du code source
SonarQube (précédemment Sonar[1]) 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.
SonarQube
Page d'accueil de SonarQube
Développé par | SonarSource |
---|---|
Première version | |
Dépôt | github.com/SonarSource/sonarqube |
Assurance qualité | Intégration continue |
Écrit en | Java, Kotlin, Visual Basic, C, C++, JavaScript, TypeScript, PHP, Python, Terraform, Cobol, feuille de style en cascade, HTML, Go, Objective-C, Swift, Générateur automatique de programmes, PL/SQL, Ruby, Scala, Transact-SQL, Extensible Markup Language et Visual Basic 6 (en) |
Système d'exploitation | GNU/Linux, Microsoft Windows et macOS |
Environnement | Machine virtuelle Java |
Langues | Multilingue |
Type | Logiciel d'analyse statique de programmes (d) |
Licence | Licence publique générale limitée GNU |
Site web | www.sonarqube.org et www.sonarsource.com |
SonarQube permet une surveillance continue de la qualité du code grâce à son interface web permettant de voir les défauts de l'ensemble du code et ceux ajoutés par la nouvelle version. Le logiciel peut être interfacé avec un système d'automatisation comme Jenkins pour inclure l'analyse comme une extension du développement.
Fonctionnalités
modifier- Version payante SaaS nommée SonarCloud[2], ou gratuite à télécharger.
- Support de plus de vingt-cinq langages (Java, C, C++, Objective-C, C#, PHP, Flex, Groovy, JavaScript, Python, PL/SQL, COBOL…), dont certains sont sous licence commerciale.
- Reporting sur :
- identification des duplications de code
- mesure du niveau de documentation
- respect des règles de programmation
- détection des bugs potentiels
- évaluation de la couverture de code par les tests unitaires
- analyse de la répartition de la complexité
- analyse du design et de l'architecture d'une application
- Évolution dans le temps et vues différentielles.
- Analyses entièrement automatisées : intégration avec Maven, Ant, Gradle et serveurs d'intégration continue (Atlassian Bamboo, Jenkins, Hudson…).
- Intégration avec l'environnement de développement Eclipse, ou PhpStorm via le plugin SonarLint.
- Intégration avec des outils externes : Jira, Mantis, LDAP, Fortify Software (en)…
- Extensible par des plugins. Cela signifie qu'il est possible d'étendre ce cœur afin d'augmenter les fonctionnalités (ajout d'un nouveau langage, calcul d'une nouvelle métrique, ajout de règles de programmation…). Le marketplace SonarQube[3] permet d'accéder à la liste des extensions existantes.
- Implémentation de SQALE pour évaluer la dette technique.
Notes et références
modifier- Freddy Mallet, « SONAR is becoming SONARQUBE », mailing list du projet Sonar, (consulté le )
- (en) « SonarCloud Online Code Review as a Service Tool », sur sonarsource.com (consulté le ).
- « Marketplace SonarQube » (consulté le )
Annexes
modifierArticles connexes
modifierLiens externes
modifier- (en) Site officiel
- (en) Site de démonstration de SonarQube
- (en) SonarSource
- (en) SonarQube App pour Android