Témoignage client : Comment un constructeur automobile de luxe mondial a maîtrisé les risques de code imprévus avec SonarQube SCA et SAST

Le défi : Risques de sécurité imprévus, faible visibilité et perturbations des livraisons

Récemment, un changement technologique majeur a accru la complexité pour les responsables de l’ingénierie : une croissance rapide de la complexité de la chaîne logistique logicielle (software supply chain), une augmentation constante des nouvelles vulnérabilités (CVE) signalées et des attentes croissantes en matière de transparence et de gouvernance.

Le risque lié aux dépendances n’était plus un simple problème technique – il est devenu une menace stratégique pour la confiance des clients et la rapidité de livraison. 

Constructeur automobile de luxe mondial sonarqube sast sca

À l’instar de nombreuses organisations de développement modernes, l’équipe était confrontée à des risques de dépendances cachés dans des processus de build complexes, à des pipelines de livraison imprévisibles et à des lacunes persistantes dans la visibilité des vulnérabilités au niveau du portefeuille. 

Leur outil d’analyse de la composition des logiciels (SCA) développé en interne prenait en charge la génération de SBOM (Software Bill of Materials) et identifiait les vulnérabilités open source connues. Cependant, à mesure que leurs arbres de dépendances se complexifiaient et que des menaces post-build apparaissaient, les limites sont devenues évidentes : 

  • Il était presque impossible de suivre les dépendances transitives (indirectes). 
  • Les vulnérabilités nouvellement découvertes entraénaient des échecs de build soudains et imprévisibles. 
  • La direction peinait à obtenir des informations en temps réel sur l’ensemble du portefeuille, ce qui nécessitait des audits manuels fastidieux. 
  • Les équipes de sécurité et de plateforme ont identifié ces « zones d’ombre » comme le « principal point de blocage » de leur modèle de gouvernance. 

L’accumulation de vulnérabilités impose une modernisation urgente de la gouvernance :
Pendant des années, l’organisation a maintenu le statu quo jusqu’à ce que l’accumulation des risques ne crée un point de rupture. Les vulnérabilités découvertes après le build exposaient des pipelines critiques pour l’entreprise. Les interruptions non planifiées entraénaient des retards sur les dates cibles, et les développeurs consacraient un temps considérable au tri manuel, ralentissant ainsi la progression de l’équipe.
« Ils avaient besoin de savoir instantanément et à grande échelle où ils étaient exposés – et, plus important encore, ce qui était prioritaire », a expliqué un directeur de l’ingénierie. 

C’est ainsi qu’a débuté la recherche d’une solution conçue pour répondre aux enjeux de rapidité, d’échelle et de collaboration inter-équipes autour de la gouvernance et de la sécurité. 

SonarQube Advanced Security offre une couverture immédiate du portefeuille 

L’équipe technologique de ce constructeur de luxe mondial a choisi SonarQube Advanced Security pour moderniser ses flux de travail SCA. La transition, qui a porté sur des centaines de projets, a été décrite par les ingénieurs comme « d’une simplicité enfantine ». Aucune configuration personnalisée n’a été nécessaire, et la rapidité des analyses a surpassé celle de leurs outils précédents, permettant de gagner du temps et de réduire les tâches manuelles. Les ingénieurs ont qualifié SonarQube d’« économiseur de temps considérable », libérant des ressources de développement et de sécurité pour des tâches à plus fort impact. L’intégration s’est avérée simple et claire, se déployant facilement sur l’ensemble des projets.

Trois fonctionnalités de SonarQube Advanced Security pour une livraison de logiciels sécurisée et prévisible :

  1. Priorisation des risques basée sur l’exploitabilité :
    Plutôt que de s’appuyer uniquement sur les scores CVSS, les signaux de risque SCA de SonarQube intègrent des sources telles que la liste des vulnérabilités exploitées connues de la CISA et les scores EPSS. Cela permet aux équipes de prioriser la correction des vulnérabilités présentant des exploits connus, accélérant ainsi la réponse à celles qui représentent une menace réelle. 
  2. Processus de tri exploitable :
    Le tableau de bord intuitif de SonarQube offre un contexte riche sur les vulnérabilités, même pour les dépendances profondément imbriquées. Les ingénieurs ont souligné : « Le tableau de bord a tout clarifié. Nous pouvions comprendre le problème jusqu’à la bibliothèque spécifique concernée et agir en toute confiance. » Des rapports unifiés en temps réel ont remplacé la cartographie manuelle de l’exposition à l’échelle du portefeuille. Les données uniques de SonarQube incluent également des analyses approfondies des CVE pour fournir des conseils exploitables, directement issus du partenariat contractuel de Sonar avec les mainteneurs open source. Cette intelligence validée par des experts réduit considérablement le « bruit » souvent associé à l’analyse des dépendances. 

    Une démonstration complète du tableau de bord est disponible (contactez-nous – détails ci-dessous).


  3. Pipelines stables et prévisibles :
    Fait important, les résultats du SCA ont désormais été séparés des portes de qualité (quality gates).
    Auparavant, les vulnérabilités nouvellement découvertes pouvaient bloquer automatiquement les builds ; SonarQube permet désormais aux équipes de corriger les failles à leur propre rythme, évitant les échecs surprises et améliorant la régularité des livraisons.

Le Résultat : Une gouvernance et une conformité étendues à toutes les applications grâce à un SBOM unifié et un SCA intelligent. 

Grâce à SonarQube Advanced Security, l’organisation a standardisé les SBOM et l’intelligence SCA pour l’ensemble des applications et des services partagés, unifiant ainsi la qualité du code et la sécurité au sein d’un flux de travail unique. Les responsables peuvent désormais gérer la conformité des licences, surveiller l’exposition aux vulnérabilités et appliquer des normes de qualité de code via les quality gates et les tableaux de bord SCA. Les équipes Plateforme et AppSec constatent une réduction de la charge de travail des développeurs, une rapidité accrue et un cadre reproductible pour la réponse aux incidents. Leur transformation met en lumière des informations exploitables, l’autonomie des développeurs et un impact commercial mesurable à grande échelle. 

Et ensuite : Préparer la gouvernance de nouvelle génération et éliminer les zones d’ombre de sécurité restantes

La prochaine étape consiste à combler les lacunes de gouvernance restantes. Grâce à la recherche de composants au niveau du portefeuille et de l’application bientôt disponible dans SonarQube, la direction obtiendra la visibilité unifiée et multi-projets dont elle a besoin, transformant ainsi les « zones d’ombre » en meilleures pratiques. 

En déployant SonarQube Advanced Security, ce constructeur automobile de luxe mondial a mis en place une gouvernance évolutive, une approche centrée sur les développeurs et un alignement avec les exigences de rapidité et de gestion des risques du développement logiciel moderne. Ce parcours offre un modèle pratique pour tout responsable Plateforme ou AppSec souhaitant moderniser la sécurité du code tout en conservant sa vitesse et son contrôle. 

Résumé : 

« Le tableau de bord (de SonarQube) a tout clarifié. Nous pouvions comprendre le problème jusqu’à la bibliothèque spécifique concernée et agir en toute confiance.» (Ingénieur de l’équipe de développement) 

Nous représentons officiellement les solutions Sonar et proposons des licences, du conseil, du support et des formations.
Pour plus de détails, contactez-nous : sonar@almtoolbox.com ou par téléphone au +33 1 84 17 53 28 ou 866-503-1471 (Canada)

Comment la couverture de code dans SonarQube aide les développeurs, les responsables QA, les équipes DevOps, les directeurs R&D et les RSSI ?

Ces dernières années, SonarQube est devenu le standard de facto pour le contrôle de la qualité et de la sécurité du code au sein des entreprises de la tech et des grands comptes (Enterprise), y compris en France.

L’un des indicateurs les plus importants affichés par SonarQube est la Couverture de code (Code Coverage),
c’est-à-dire dans quelle mesure vos tests automatisés s’exécutent réellement sur le code déployé.

Dans cet article, nous allons expliquer aux développeurs, développeuses, tech leads et directeurs R&D :

  1. Qu’est-ce que la couverture de code (Code Coverage) et comment SonarQube l’utilise ?
  2. Comment SonarQube fonctionne concrètement avec la couverture de code (JaCoCo, Cobertura, Coverage.py, Jest, etc.) ?
  3. Quels sont les avantages pour chaque rôle : développeurs, tech leads, directeurs R&D et équipes DevOps ?
  4. Quelles fonctionnalités de couverture de code sont disponibles dans chaque édition de SonarQube (Community / Developer / Enterprise) ?
  5. Des conseils pratiques pour configurer les Quality Gates et les seuils de couverture, y compris l’intégration avec GitLab / GitHub / Azure DevOps.

Qu’est-ce que la couverture de code (Code Coverage) et pourquoi s’y intéresser ?

La couverture de code mesure quelle partie de votre code est réellement exécutée par vos tests unitaires, d’intégration et de bout en bout (End-to-End).

Elle ne garantit pas que vos tests sont “bons”, mais elle indique si le code sensible est au moins testé avant d’être poussé en production.

SonarQube utilise la couverture de code comme un indicateur clé dans la Quality Gate (barrière de qualité) –
le mécanisme qui détermine si une version ou une Pull/Merge Request est assez saine pour être fusionnée et déployée.

Ainsi, vous pouvez par exemple décider de bloquer une fusion si la couverture du nouveau code (Coverage on New Code) est inférieure à 80 %.

Important à comprendre : SonarQube ne lance pas de tests – il analyse des rapports

Point critique : SonarQube n’exécute pas vos tests et ne calcule pas la couverture lui-même. Il s’appuie sur des rapports de couverture déjà générés par vos outils habituels :

  • Pour Java : généralement JaCoCo.
  • Pour JavaScript / TypeScript : généralement Jest / nyc / Istanbul au format lcov.
  • Pour Python : Coverage.py (avec pytest-cov, etc.).
  • Pour .NET : Visual Studio Coverage, dotCover, OpenCover, etc.

Votre outil d’intégration continue (GitLab CI, GitHub Actions, Jenkins, Azure DevOps, etc.) exécute les tests et génère les rapports de couverture. Le SonarScanner lit ensuite ces rapports, les importe dans SonarQube et les présente de manière unifiée,
avec un impact direct sur la Quality Gate et la décoration des Pull/Merge Requests (PR/MR decoration).

Quels indicateurs de couverture SonarQube affiche-t-il ?

Contrairement aux outils qui n’affichent que la couverture de lignes (Line Coverage), SonarQube calcule un score global de couverture (Coverage) combinant la couverture des lignes et celle des branches (conditions).

En arrière-plan, il utilise une formule prenant en compte les lignes exécutables, les lignes couvertes, ainsi que les conditions évaluées à vrai (true) et faux (false).

Voici les principaux indicateurs que vous verrez sur le tableau de bord :

  • Coverage : le pourcentage combiné de couverture (lignes + branches) au niveau du projet, du module ou du fichier.
  • Lines to cover / Uncovered lines : le nombre de lignes de code qui devraient être couvertes et le nombre de lignes qui ne sont pas encore testées.
  • Conditions to cover / Uncovered conditions : la couverture des branches (conditions) et des expressions booléennes.
  • Coverage on New Code : la couverture du code nouveau ou modifié par rapport à la version de référence (baseline) définie dans votre gestionnaire de versions (SCM) (selon la méthodologie Clean as You Code).

La couverture du nouveau code est l’indicateur le plus important pour SonarQube – c’est sur lui que se base la Quality Gate par défaut « Sonar way ».

Aperçu visuel : Tableaux de bord, fichiers et Pull Requests

SonarQube affiche la couverture de code à différents niveaux de granularité :

  • Au niveau du projet – couverture globale, couverture du nouveau code, tendances temporelles et période de fuite (Leak Period – date à partir de laquelle le code est considéré comme « nouveau »).
    Couverture du nouveau code SonarQube
  • Au niveau du fichier – mise en évidence des lignes colorées (couvertes en vert, non couvertes en rouge), décompte des lignes et branches non testées, et navigation rapide vers les zones problématiques.
    Diagrammes Sonar
  • Au niveau de la Pull/Merge Request – pourcentage de couverture du nouveau code, nombre de lignes et de branches non couvertes, et résultat de la Quality Gate (Passed / Failed) affiché directement dans l’interface de votre PR sur GitLab / GitHub / Azure DevOps / Bitbucket.

Si la couverture s’affiche sur le tableau de bord mais pas dans la décoration de la PR, c’est généralement le signe d’un problème de configuration (liaison du projet, paramètres sonar.pullrequest.* ou format du rapport), et non d’une limitation de SonarQube.

💡 Vous pouvez télécharger un guide complet sur les graphiques de mesures dans SonarQube ici.

La couverture de code par rôle : développeurs, tech leads, directeurs R&D

Pour les développeurs et développeuses

  • Identifiez facilement où manquent les tests : lignes rouges, branches non couvertes, couches logicielles ou modules signalés en rouge.
  • La Quality Gate sur le nouveau code fait office de garde-fou : si vos tests sont insuffisants, la PR est automatiquement rejetée.
  • Avec SonarLint / SonarQube for IDE, visualisez les problèmes de couverture et de qualité directement dans votre IDE avant même de pousser (push) votre code (disponible principalement dans les éditions commerciales).

Pour les Tech Leads et responsables d’équipe

  • Transparence totale : visualisez la couverture par modules, bibliothèques et équipes pour identifier facilement les failles dans l’automatisation.
  • Définition d’une Quality Gate commune à toute l’équipe : par exemple, 80-90 % de couverture sur le nouveau code et 0 faille de sécurité critique.
  • La décoration des PR intègre naturellement la couverture dans le processus de code review, sans avoir à ouvrir un outil supplémentaire.

Pour les directeurs R&D, VP Engineering et CTO

  • Dans l’édition Enterprise, obtenez une vue globale de la couverture et de la qualité sur des dizaines ou des centaines de projets grâce aux Portefeuilles (Portfolios) et à des filtres par équipe, système ou technologie.
  • La couverture de code devient un véritable KPI : mesurez les tendances trimestrielles, soutenez les équipes en difficulté et prouvez l’amélioration continue de la qualité globale.
  • Pour les entreprises opérant dans des secteurs hautement réglementés (FinTech, médical, défense), un taux élevé de couverture sur le nouveau code est une exigence fondamentale pour la conformité (Compliance).

Éditions SonarQube et couverture de code : quelles fonctionnalités par édition ?

La logique de calcul de couverture reste identique d’une édition à l’autre : SonarQube importe toujours les rapports externes et calcule la couverture globale ainsi que la couverture du nouveau code. La différence réside dans les fonctionnalités périphériques :

  • Community Edition – couverture sur la branche principale (main) uniquement, sans analyse de branches (Branch Analysis) ni décoration de PR. Idéal pour les petites équipes ou les Proof of Concept (PoC).
  • Developer Edition – analyse complète des branches (Branch Analysis) et décoration des PR pour GitLab, GitHub, Bitbucket et Azure DevOps. C’est ici que la couverture de code s’intègre pleinement dans le flux de travail (Merge Flow) quotidien.
  • Enterprise Edition – inclut toutes les fonctionnalités de la version Developer, avec en plus les Portefeuilles (Portfolios), les rapports de gouvernance et des capacités avancées (Advanced Security, SBOM, etc.) permettant de piloter la qualité globale à l’échelle de l’entreprise.

Pour un comparatif détaillé des éditions, n’hésitez pas à nous contacter (coordonnées ci-dessous).

Flux de travail typique : GitLab / GitHub + SonarQube + Couverture de code

Voici le pipeline d’intégration couramment mis en œuvre dans les entreprises :

  1. Un développeur crée une branche ou une Merge/Pull Request sur GitLab ou GitHub.
  2. Le pipeline exécute les tests avec couverture (ex : mvn test + JaCoCo, pytest-cov pour Python, Jest pour React/Node) et génère des rapports XML ou lcov.
  3. Le job SonarScanner s’exécute après les tests, en pointant vers ces rapports
    (par exemple : sonar.javascript.lcov.reportPaths=coverage/lcov.info, sonar.python.coverage.reportPaths=coverage.xml, etc.).
  4. SonarQube importe les rapports, calcule le score global et le score sur le nouveau code, puis met à jour l’état de la Quality Gate.
  5. Le résultat de la Quality Gate et la couverture du nouveau code sont renvoyés à la PR sous forme de statut ou de commentaire. Si le blocage est activé, la fusion (Merge) est automatiquement bloquée si la couverture est insuffisante.

Ce modèle fonctionne également de manière optimale dans des environnements hébergés (Self-Hosted) ou isolés (Air-Gapped), un point crucial pour les grandes entreprises et les organisations ayant des exigences de sécurité strictes.

Best Practices: comment définir des seuils intelligents pour la couverture de code ?

Sur la base de notre expérience d’accompagnement et des recommandations de la communauté Sonar, nous conseillons d’adopter une approche pragmatique :

  • Couverture du nouveau code (Coverage on New Code) – configurez un seuil de 80 à 90 % (et non 100 %) dans votre Quality Gate, afin de ne pas bloquer inutilement vos développeurs sur des cas marginaux non critiques.
  • Code hérité (Legacy Code) – n’exigez pas immédiatement une couverture élevée sur l’ensemble du code historique. Concentrez-vous sur l’approche « Clean as You Code » : tout nouveau code ou toute modification doit être correctement couvert dès maintenant.
  • Seuils adaptés par type de service – il est judicieux d’être plus strict sur les services critiques (facturation, authentification) tout en faisant preuve de plus de souplesse sur les outils internes.
  • Une Quality Gate globale pour l’entreprise – tout en autorisant des dérogations (overrides) pour certains projets spécifiques afin d’allier standardisation et agilité.

Quoi de neuf récemment autour de la couverture de code et de l’IA ?

Dans les dernières versions de SonarQube (2025-2026), SonarSource continue d’ajouter de nouveaux langages, d’améliorer les performances et de renforcer les fonctions d’Advanced Security/SCA. Cependant, le moteur de couverture de code reste éprouvé et stable : importation de rapports externes, calcul de la couverture et application de la méthodologie Clean as You Code avec les Quality Gates.

En parallèle, de nouvelles fonctionnalités natives basées sur l’IA (comme AI CodeFix, des intégrations d’IDE avancées et l’Agentic SDLC) aident à corriger les anomalies détectées. Toutefois, elles ne remplacent en aucun cas les tests automatisés et ne réduisent pas l’importance d’une bonne couverture de code.

Comment ALM Toolbox vous aide à maximiser la valeur de votre couverture de code dans SonarQube ?

ALM Toolbox est un partenaire et intégrateur expert de SonarQube et SonarCloud. Nous accompagnons les entreprises et les start-ups dans la mise en place, la mise à niveau et l’adoption de la plateforme Sonar – y compris l’intégration complète de la couverture de code avec GitLab, GitHub, Azure DevOps, Jenkins, TeamCity et plus encore.

Nous proposons :

  • Conseils pour choisir l’édition la plus adaptée (Community / Developer / Enterprise / Data Center).
  • Conception de l’architecture et déploiement (On-Premise, Cloud ou environnements isolés/Air-Gapped).
  • Conception de pipelines CI/CD avec couverture de code pour Java, .NET, Python, JavaScript/TypeScript, Go, C++/C, etc.
  • Formations pour vos équipes de développement, DevOps et AppSec – incluant les bonnes pratiques pour la couverture et les Quality Gates.
  • Services managés (Managed SonarQube) pour les organisations souhaitant externaliser la gestion des infrastructures.
  • Accompagnement dans le choix et l’acquisition des licences officielles SonarQube / SonarCloud.

Nous serions ravis de vous aider à concevoir un processus de revue de code et de couverture adapté à vos équipes, vos langages et vos contraintes réglementaires.
Contactez-nous : par e-mail à sonarqube@almtoolbox.com. ou par téléphone au +33 1 84 17 53 28 (États-Unis / Canada) ou au +31 85 064 4633

Liens utiles :

Cet article a été initialement publié en mars 2023 et mis à jour régulièrement depuis.