SonarQube
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 | |
Dernière version | 9.9 () |
DĂ©pĂ´t | github.com/SonarSource/sonarqube |
Assurance qualité | Intégration continue |
Écrit en | Java, Kotlin, C#, Visual Basic, C, C++, JavaScript, TypeScript, PHP, Python, Terraform, Cobol, CSS, HTML, Go, Objective-C, Swift, Générateur automatique de programmes, PL/SQL, Ruby, Scala, Transact-SQL, Extensible Markup Language et Visual Basic 6 (d) |
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
- 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
- Freddy Mallet, « SONAR is becoming SONARQUBE », mailing list du projet Sonar, (consulté le )
- https://www.sonarsource.com/products/sonarcloud/
- « Marketplace SonarQube » (consulté le )
Annexes
Articles connexes
Liens externes
- (en) Site officiel
- (en) Site de démonstration de SonarQube
- (en) SonarSource
- (en) SonarQube App pour Android
Cet article est issu de wikipedia. Text licence: CC BY-SA 4.0, Des conditions supplémentaires peuvent s’appliquer aux fichiers multimédias.