Aller au contenu

Analyser la qualité

L'analyse de qualité du code est un service transversal de la chaîne logicielle. Il fournit aux équipes de développement un retour automatise et centralise sur la qualité, la sécurité et la maintenabilité du code source, à chaque commit et à chaque pull request.


Pourquoi un service centralise

Un service d'analyse centralise résout quatre problèmes qu'un outillage local ne peut pas adresser :

Problème Solution apportee
Standards inconsistants Un quality gate unique impose les mêmes regles a tous les projets
Pas de suivi dans le temps Tableaux de bord et tendances par projet, équipe, portfolio
Conformite non demontrable Rapports exportables pour audits (ISO 27001, SOC 2, interne)
Retour tardif Integration CI/CD : feedback sur la pull request, pas en production

Service vs usage

Cette rubrique couvre le déploiement et l'opération du service d'analyse de qualité (SonarQube, Semgrep). Pour l'utilisation côté développeur (linters, formatters, interpretation des résultats), voir la section Développement > Pratiques > Qualité de code.

Classification

Propriété Valeur
Zone de confiance Chaîne logicielle
Niveau Confidentiel
Justification Les résultats de scan révèlent des vulnerabilites, des failles de sécurité et des defauts architecturaux avant leur correction
Référence Classification et zones de confiance

Confidentiel

Les rapports d'analyse contiennent la liste des vulnerabilites non corrigees, les hotspots de sécurité et les metriques de dette technique. Ces informations sont classifiees Confidentiel car leur divulgation faciliterait l'exploitation des failles.

Solutions evaluees

Solution Licence Modèle Recommandation
SonarQube LGPL (Community) / Prop. Self-hosted Recommandee
Semgrep LGPL (CLI) / Prop. (App) CLI + SaaS Complement recommande
CodeClimate Proprietaire SaaS Alternative
Codacy Proprietaire SaaS Alternative

La combinaison recommandee est SonarQube Community pour le quality gate centralise et Semgrep CLI en complement pour l'analyse SAST rapide dans le pipeline CI.

Chapitres

Chapitre Sujet
Fondamentaux Types d'analyse, quality gates, quality profiles, dette technique, ratings
Comparaison des solutions Grille multi-critères SonarQube vs Semgrep vs CodeClimate vs Codacy — ADR
Architecture de référence Architecture SonarQube + Semgrep, composants, dimensionnement
Installation et configuration Déploiement SonarQube avec Podman Compose, configuration Semgrep CI
Integration CI/CD, PR decoration, SonarLint, SSO Keycloak, webhooks, auto-provisioning
Confidentialite Classification Confidentiel, RBAC par projet, isolation réseau, audit
Bonnes pratiques et cas avances Tuning des profils, gestion des faux positifs, performance, migration

Dependances

graph LR
    IAM["IAM (Keycloak)"] --> Qualite["Qualite<br/>(SonarQube + Semgrep)"]
    Qualite --> CICD["CI/CD (Gitea Actions)"]
    Qualite --> SCM["SCM (Gitea)<br/>analyse du code source"]
    Qualite --> Obs["Observabilite<br/>(Grafana / Prometheus)"]
    Qualite --> PG["PostgreSQL<br/>(backend de persistance)"]