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)"]