EPIC — CI/CD industrialisé et gouverné (PD-188)¶
Intention¶
Mettre en place une chaîne CI/CD sécurisée, reproductible et gouvernée, permettant de construire, tester, analyser, déployer et auditer l'ensemble des composants de ProbatioVault (backend, frontend, infrastructure), tout en garantissant un haut niveau de qualité logicielle et de maîtrise opérationnelle.
Cette EPIC vise à transformer chaque modification de code en un artefact traçable, vérifiable et déployable de manière contrôlée.
Problème de fond¶
ProbatioVault repose sur une architecture critique (crypto, probatoire, conformité légale), où toute régression, dépendance vulnérable ou déploiement non maîtrisé peut avoir des conséquences graves (sécurité, preuve juridique, disponibilité).
Les problématiques identifiées sont :
- absence de standardisation des pipelines backend / frontend ;
- risque d'introduction de vulnérabilités via les dépendances ;
- manque de contrôle qualité automatique (tests, couverture, code smells) ;
- déploiements manuels ou non atomiques à risque ;
- gestion imparfaite des secrets dans les pipelines CI ;
- besoin croissant de gouvernance des workflows automatisés (IA, infra, déploiements).
Sans une CI/CD robuste et gouvernée, la scalabilité technique et la crédibilité industrielle de ProbatioVault seraient compromises.
Solution de principe¶
L'EPIC CICD définit une chaîne CI/CD GitLab-native, sécurisée et extensible, reposant sur les principes suivants :
- Pipelines GitLab CI dédiés par périmètre (backend, frontend, infra) ;
- Construction systématique d'images Docker versionnées ;
- Analyse de code continue (SonarQube) avec seuils bloquants ;
- Analyse de sécurité des dépendances (OWASP Dependency Check) ;
- Gestion centralisée et sécurisée des secrets CI ;
- Déploiements automatisés et progressifs (blue-green) ;
- Déploiement de l'infrastructure via Terraform piloté par CI ;
- Introduction d'un orchestrateur de workflows IA gouverné (humain dans la boucle, validations explicites).
La CI/CD devient ainsi un outil de gouvernance, pas seulement d'automatisation.
Invariants¶
- Aucun déploiement en environnement partagé sans passage par la CI.
- Les pipelines doivent être reproductibles et idempotents.
- Les secrets ne transitent jamais en clair dans les scripts CI.
- Un pipeline peut être bloquant en cas d'échec sécurité ou qualité.
- Les déploiements doivent être réversibles (rollback possible).
- Les workflows automatisés critiques doivent être auditables.
User Stories associées¶
- PD-138 — Créer pipeline GitLab CI backend
- PD-139 — Créer pipeline GitLab CI frontend
- PD-140 — Configurer SonarQube pour analyse code
- PD-141 — Setup OWASP Dependency Check
- PD-142 — Créer scripts déploiement Terraform
- PD-143 — Implémenter déploiement blue-green
- PD-144 — Configurer secrets management GitLab CI
- PD-145 — Créer pipeline Docker build et push
- PD-215 — AI Orchestrator (Workflow IA gouverné)
Impacts transverses¶
-
Architecture Définition des standards de build, déploiement et livraison des composants.
-
Sécurité Détection automatique des vulnérabilités, contrôle des secrets, réduction du risque supply chain.
-
UX Indirect : stabilité des releases, réduction des incidents en production.
-
Mobile / Clients Dépendance à la fiabilité des pipelines pour la livraison continue.
-
Juridique Traçabilité des changements, auditabilité des déploiements, support en cas d'expertise ou d'incident.
-
Exploitation Automatisation des mises en production, rollback, supervision et réduction de la charge opérationnelle.
Références¶
- Architecture Executive ProbatioVault — v4.x
- Cahier d'Architecture Technique (Tech Lead)
- Politique CI/CD et sécurité supply chain
- Normes OWASP (Top 10, Dependency Check)
- Décisions d'architecture (ADR) liées aux pipelines et déploiements