SonarQube & Atlassian : la qualité du code dès le début

Analyse statique du code, parfaitement intégrée à votre pipeline CI/CD et à Jira

Qu'est-ce que SonarQube ?

Smarter Together - SonarQube + Atlassian

L'intégration de SonarQube à la plateforme Atlassian comble le fossé entre l'analyse de code et la gestion de projet :

  • Contrôle qualité dans le pipeline : à chaque commit, SonarQube vérifie automatiquement le code dans Bitbucket Pipelines, GitLab CI ou Jenkins. Les résultats sont directement renvoyés vers Jira, ce qui permet aux équipes d’identifier rapidement les points nécessitant une intervention.
  • Résultats sous forme de tickets Jira : les bugs et vulnérabilités critiques sont automatiquement convertis en tickets Jira. Ils peuvent ainsi être hiérarchisés, attribués aux bonnes personnes et suivis de manière claire.
  • Annotation des pull requests : SonarQube affiche les résultats d’analyse directement dans les pull requests de Bitbucket. Les développeurs voient ainsi les tickets pertinents exactement là où ils apparaissent lors de la revue de code.
  • Analyse des branches : les branches de fonctionnalités et les pull requests sont vérifiées séparément. Les problèmes sont ainsi détectés tôt, avant qu’ils ne se retrouvent dans la branche principale.
  • Retour d’information aux développeurs avec SonarLint : SonarLint fournit aux développeurs des retours d’information utiles en temps réel directement dans l’IDE – par exemple dans IntelliJ, VS Code ou Eclipse –, en conformité avec l’ensemble central de règles de SonarQube.
  • Rapports Confluence : les indicateurs de qualité du code et les tendances peuvent être facilement intégrés dans des pages Confluence. Les parties prenantes techniques et la direction restent ainsi sur la même longueur d’onde lors des revues.

Le « Clean Code » : bien plus qu'un simple mot à la mode

Avec son approche « Clean as You Code », SonarSource a introduit un changement de paradigme : au lieu de nettoyer l’intégralité du code existant en une seule fois, le Quality Gate se concentre exclusivement sur le code nouveau et modifié.

Aperçu : le principe « Clean as You Code »

Aspect
Point fort
Approche traditionnelle
Base de code complète
Clean as You Code
Uniquement le code nouveau/modifié

 
Aspect
Contrôle qualité
Approche traditionnelle
Les métriques globales doivent être correctes
Clean as You Code
Seul le nouveau code doit passer le test

 
Aspect
Effort
Approche traditionnelle
Effort initial considérable
Clean as You Code
Approche incrémentale, applicable immédiatement

 
Aspect
Acceptation au sein de l’équipe
Approche traditionnelle
Souvent source de frustration (héritage du passé)
Clean as You Code
Motivant (le code que l'on écrit s'améliore)

 
Aspect
Résultat au fil du temps
Approche traditionnelle
Lente, souvent abandonnée
Clean as You Code
La base de code s'assainit en continu

 

Scénarios d'utilisation typiques

Grâce aux workflows Jira et aux rapports Confluence, l'ensemble du processus reste traçable

Scénario 1 : des « quality gates » obligatoires avant chaque fusion

Une équipe s'accorde sur des règles de qualité claires – par exemple, 0 nouveau bug, 0 nouvelle vulnérabilité et plus de 80 % de couverture pour le nouveau code. Dès qu'une pull request ne respecte pas ces critères, elle n'est tout simplement pas fusionnée. SonarQube vérifie cela automatiquement en arrière-plan, ce qui évite à l'équipe de devoir effectuer de nombreuses vérifications manuelles.

Scénario 2 : réduire systématiquement la dette technique

La dette technique peut rapidement devenir abstraite. SonarQube la rend concrète en l’exprimant sous forme de « temps de correction » en jours. Les équipes peuvent ainsi planifier de manière ciblée des sprints dédiés à la dette technique dans Jira, puis suivre dans SonarQube et Confluence les améliorations déjà apportées.

Scénario 3 : Analyse de sécurité au cours du processus de développement

Les contrôles de sécurité ne sont pas effectués juste avant la mise en production, mais directement là où le code est développé. SonarQube détecte les vulnérabilités dans le code interne en se basant sur l'OWASP Top 10 et le CWE, ce qui constitue un complément utile à Snyk pour les dépendances et à Blue Flag pour la conformité. Les résultats pertinents sont intégrés au sprint sous forme de tickets Jira et peuvent y être hiérarchisés.

Scénario 4 : consolider les projets multilingues

De nombreuses entreprises utilisent aujourd’hui des piles technologiques mixtes, par exemple Java pour le backend, React pour le frontend et Python pour les services d’apprentissage automatique. Une instance centrale de SonarQube permet d’analyser tous ces projets en un seul et même endroit, de les évaluer à l’aide de critères de qualité uniformes et de générer des rapports centralisés.

SonarQube : comparaison – Quelle est la valeur ajoutée ?

Critère
Révision du code
Sans SonarQube
Entièrement manuel, subjectif
Avec SonarQube + Atlassian
Automatisé + manuel, métriques objectives

 
Critère
Vulnérabilités
Sans SonarQube
Découvertes uniquement lors du test d’intrusion
Avec SonarQube + Atlassian
Vérification automatique à chaque commit

 
Critère
Dette technique
Sans SonarQube
Inexact, impression subjective : « beaucoup »
Avec SonarQube + Atlassian
Quantifiée en jours, traçable dans Jira

 
Critère
Normes de qualité
Sans SonarQube
Informel, selon l'équipe
Avec SonarQube + Atlassian
Contrôlé par des « quality gates »

 
Critère
Intégration de nouveaux développeurs
Sans SonarQube
« Jette un œil au code »
Avec SonarQube + Atlassian
SonarLint affiche les normes en temps réel

 
Critère
Visibilité pour la direction
Sans SonarQube
Aucune donnée sur la qualité du code
Avec SonarQube + Atlassian
Tableaux de bord dans Confluence

Pourquoi Communardo ?

Communardo est partenaire Platinum « Solution » d'Atlassian et partenaire spécialisé dans le développement logiciel

Nous allions une connaissance approfondie d'Atlassian à une solide expertise de SonarQube, ce qui nous permet de concilier parfaitement ces deux univers : de la configuration des profils d'analyse à l'intégration dans des pipelines CI/CD existants avec Bitbucket, GitLab ou Jenkins. Les résultats ne restent pas isolés dans l’outil, mais sont reliés à Jira de manière à ce que les équipes puissent les hiérarchiser, les suivre et les intégrer directement dans leurs processus de travail. 

Ensemble, nous développons des « quality gates » qui définissent des normes claires sans ralentir inutilement le flux de développement, et nous adaptons les règles de manière ciblée à vos technologies, frameworks et exigences de conformité. Nous vous accompagnons également tout au long du processus de licence et d’exploitation, depuis la première consultation jusqu’à la mise en place et à la mise en service, en passant par le service géré si vous souhaitez exploiter SonarQube à long terme auprès d’un seul prestataire.

À qui s'adresse SonarQube + Atlassian ?

Licences et approvisionnement

SonarQube est disponible en quatre éditions, en fonction de la taille de l'équipe, des besoins linguistiques et des exigences en matière d'hébergement :

Édition
Communauté
Public cible
Open Source / Développeurs indépendants
Langues
Plus de 15 langues
Hébergement
Autogéré
Points forts
Gratuit, fonctionnalités de base

 
Édition
Développeur
Public cible
Équipes de petite à moyenne taille 
Langues
Plus de 30 langues
Hébergement
Autogéré / Cloud
Points forts
Analyse sectorielle, stratégie de relations publiques

 
Édition
Entreprise
Public cible
Grandes organisations
Langues
Plus de 30 langues
Hébergement
Autogéré / Cloud
Points forts
Gouvernance multiprojets, vue d'ensemble du portefeuille, rapports réglementaires

 
Édition
Centre de données
Public cible
Configurations à haute disponibilité
Langues
Plus de 30 langues
Hébergement
Autogéré (HA)
Points forts
Mise en cluster, évolutivité horizontale

 

Autre option : SonarCloud – la version SaaS de SonarSource, hébergée et gérée. Idéale pour les équipes qui ne souhaitent pas gérer leur propre serveur.

En tant que client Communardo, vous bénéficiez :

  • De conseils pour choisir l'édition adaptée en fonction de la taille de votre équipe et de votre pile technologique
  • Un achat groupé avec les licences Atlassian
  • Une assistance pour la mise en place, l’intégration et la configuration du contrôle qualité
  • Gestion des renouvellements et optimisation proactive des licences

FAQ

Oui, ces outils se complètent. Snyk se concentre sur les vulnérabilités présentes dans les dépendances, les conteneurs et l'IaC. SonarQube analyse votre propre code à la recherche de bogues, de « code smells » et de problèmes de maintenabilité. Ensemble, ils couvrent l'ensemble des aspects liés à la qualité et à la sécurité du code.

Tout à fait. SonarQube s'intègre nativement à GitLab CI, GitHub Actions, Bitbucket Pipelines, Jenkins et Azure DevOps. L'intégration à Jira fonctionne quel que soit l'outil SCM/CI utilisé.

SonarQube est une solution auto-gérée (ou « Data Center »), tandis que SonarCloud est la version SaaS. Sur le plan fonctionnel, elles sont pratiquement identiques. SonarCloud est particulièrement adapté aux équipes qui ne souhaitent pas gérer leur propre serveur.

En règle générale, l'intégration de base s'effectue en quelques heures. Un scanner SonarQube est ajouté comme étape à votre pipeline CI/CD. La configuration des « quality gates » et des profils de projet nécessite un peu plus de travail de précision – nous sommes là pour vous aider.

Oui. SonarQube Enterprise propose des fonctionnalités telles que des rapports de conformité (par exemple pour l'OWASP Top 10, le CWE/SANS Top 25), des pistes d'audit et un contrôle d'accès basé sur les rôles. La plateforme est ainsi également adaptée aux secteurs réglementés tels que les services financiers, la santé ou l'automobile, notamment en association avec Blue Flag Security pour la démonstration de la conformité.

Vous avez des questions ou souhaitez bénéficier de nos conseils ?

Prenez rendez-vous pour un entretien personnalisé et sans engagement avec nos experts commerciaux Atlassian.

Votre interlocuteur

Rainer Molocea
Nous vous aidons volontiers

  • Chemin du Closel 5, 1020 Lausanne (Renens), Schweiz
  • Tél. : +41 21 533 00 70
  • sales@communardo.ch
Prendre rendez-vous dès maintenant