v1.0 Novembre 2025
10.5

CI/CD Pipeline

Intégration et Déploiement Continus

24 novembre 2025
Version 1.0
DevOps
1

INTRODUCTION

1.1 Objectif du Document

Ce document définit l'architecture et les procédures du pipeline CI/CD (Continuous Integration / Continuous Deployment) de la plateforme REWAPP. Il constitue la référence pour l'équipe de développement concernant l'automatisation des builds, tests, et déploiements.

1.2 Portée

Le pipeline CI/CD couvre l'ensemble des composantes de l'écosystème REWAPP :

  • Application Mobile - Angular + Ionic
  • Site Vitrine - Next.js
  • Dashboard Admin - React + Vite
  • Dashboard Partenaire - React PWA + Vite
  • Backend API - NestJS microservices
  • Infrastructure Cloud - CapRover via Docker

1.3 Documents de Référence

  • 4.1 Architecture Technique Globale
  • 4.5 Stack Technique Détaillé
  • 10.1 Plan de Déploiement
  • 10.2 Documentation Technique Ops
  • 8.1 Plan de Tests Global
2

ARCHITECTURE CI/CD

2.1 Vue d'Ensemble

L'architecture CI/CD de REWAPP repose sur une approche GitOps où le code source, la configuration et l'infrastructure sont gérés via Git. Chaque modification déclenche automatiquement les pipelines appropriés.

2.2 Principes Directeurs

PRINCIPES FONDAMENTAUX
  • Automatisation Complète : Tout déploiement passe par le pipeline, aucun déploiement manuel en production
  • Reproductibilité : Chaque build est reproductible à partir d'un commit donné
  • Immutabilité : Les artefacts déployés ne sont jamais modifiés, uniquement remplacés
  • Traçabilité : Chaque déploiement est tracé et auditable
  • Fail Fast : Détection rapide des erreurs au plus tôt dans le pipeline
  • Security First : Scans de sécurité intégrés à chaque étape

2.3 Outils et Technologies

Stack CI/CD

Composant Outil Rôle
Source Control GitHub Hébergement du code, gestion des branches
CI/CD Engine GitHub Actions Exécution des pipelines automatisés
Container Registry Docker Registry Stockage des images Docker
Infrastructure as Code Terraform Provisioning infrastructure CapRover
Build Mobile Ionic CLI + Capacitor Build iOS et Android
Secrets Management CapRover Env Variables Gestion sécurisée des credentials

Technologies Détaillées

Catégorie Outil Version Utilisation
CI/CD GitHub Actions - Orchestration des pipelines
Containerisation Docker 24.x Build et packaging des applications
Registry Docker Registry - Stockage images Docker
IaC Terraform 1.6+ Provisioning infrastructure CapRover
Tests Unitaires Jest 29.x Tests JavaScript/TypeScript
Tests E2E Cypress 13.x Tests end-to-end web
Tests API Supertest 6.x Tests d'intégration API
Linting ESLint 8.x Analyse statique du code
Formatting Prettier 3.x Formatage automatique
Security Scan Snyk - Détection vulnérabilités dépendances
Code Quality SonarQube - Analyse qualité et couverture
Mobile Build Ionic CLI - Build cloud iOS/Android
3

PIPELINE D'INTÉGRATION CONTINUE (CI)

3.1 Déclencheurs du Pipeline

Événements Déclencheurs

Événement Pipeline Déclenché Actions
Push sur feature/* CI Complet Lint, Tests, Build, Security Scan
Push sur develop CI Complet + Deploy Dev CI + Déploiement automatique développement
Pull Request vers main CI Complet + Review CI + Rapport de couverture + Code review requis
Merge sur main CI + Deploy Staging CI + Déploiement automatique staging
Tag release/v* CI + Deploy Production CI + Déploiement production (après approbation)

3.2 Étapes du Pipeline CI

Le pipeline CI s'exécute en plusieurs étapes séquentielles et parallèles pour optimiser le temps d'exécution :

Étape 1 : Préparation

Checkout du code source, configuration Node.js (v20 LTS), restauration du cache des dépendances, installation (npm ci)

2
Étape 2 : Analyse Statique (Parallèle)

Linting avec ESLint, vérification du formatage avec Prettier, type checking TypeScript

3
Étape 3 : Tests (Parallèle par service)

Tests unitaires (Jest), tests d'intégration (Jest + Supertest), génération du rapport de couverture

4
Étape 4 : Build

Compilation TypeScript, build des applications frontend (Vite/Next.js), build des images Docker

5
Étape 5 : Scan de Sécurité

npm audit pour dépendances, Snyk pour vulnérabilités connues, scan des images Docker

3.3 Tests Automatisés

3.3.1 Tests Unitaires

Couverture de Tests

Application Framework Couverture Min. Pattern
Backend API Jest 80% *.spec.ts, *.test.ts
Dashboard Admin Jest + RTL 70% *.test.tsx
Dashboard Partenaire Jest + RTL 70% *.test.tsx
Site Vitrine Jest + RTL 60% *.test.tsx
App Mobile Jest + RNTL 60% *.test.tsx

3.3.2 Tests d'Intégration

  • Tests API avec Supertest : Validation des endpoints REST
  • Tests base de données : Migrations, seeds, queries critiques
  • Tests services externes : Mocks des intégrations tierces

3.3.3 Tests End-to-End (E2E)

Tests E2E par Application

Application Outil Environnement Déclencheur
Dashboard Admin Cypress Staging Merge sur main
Dashboard Partenaire Cypress Staging Merge sur main
Site Vitrine Cypress Staging Merge sur main
App Mobile Detox Simulateurs iOS/Android Release builds
SCÉNARIOS E2E CRITIQUES
  • Inscription et connexion utilisateur
  • Liaison de carte bancaire (mock)
  • Génération et scan de QR code
  • Demande de virement bancaire
  • Gestion partenaire (inscription, configuration)
  • Validation admin d'un partenaire

3.4 Analyse de Qualité du Code

3.4.1 ESLint Configuration

Règles principales appliquées :

  • @typescript-eslint/recommended : Règles TypeScript strictes
  • eslint-plugin-react : Bonnes pratiques React
  • eslint-plugin-react-hooks : Règles des hooks
  • eslint-plugin-import : Organisation des imports
  • eslint-plugin-security : Règles de sécurité

3.4.2 SonarQube Quality Gates

Seuils Quality Gates

Métrique Seuil Description
Coverage ≥ 80% Couverture de code par les tests
Duplications ≤ 3% Taux de code dupliqué
Maintainability Rating A Note de maintenabilité
Reliability Rating A Note de fiabilité
Security Rating A Note de sécurité
Security Hotspots Reviewed 100% Points de sécurité revus

3.5 Scan de Sécurité

3.5.1 Analyse des Dépendances

  • npm audit : Audit des packages npm (bloquant sur vulnérabilités critiques)
  • Snyk : Scan approfondi avec base de données vulnérabilités étendue
  • License check : Vérification des licences compatibles

Gestion des Vulnérabilités

Sévérité Action Délai Correction
Critical Build bloqué Immédiat
High Build bloqué 24 heures maximum
Medium Warning (non bloquant) Sprint suivant
Low Information Backlog

3.5.2 Analyse des Images Docker

  • Trivy : Scan des images Docker pour vulnérabilités OS et packages
  • Docker Scout : Analyse des couches et recommandations
4

PIPELINE DE DÉPLOIEMENT CONTINU (CD)

4.1 Stratégie de Déploiement

REWAPP utilise une stratégie de déploiement Blue-Green pour garantir des déploiements sans interruption de service et permettre des rollbacks instantanés.

Stratégies par Environnement

Stratégie Environnement Description
Rolling Update Développement Mise à jour progressive des conteneurs
Blue-Green Staging Deux environnements parallèles, bascule instantanée
Blue-Green Production Zero-downtime deployment avec rollback immédiat

4.2 Workflow de Déploiement

4.2.1 Déploiement Développement (Automatique)

Déclencheur : Push sur branche develop
  1. 1

    Build des images Docker

  2. 2

    Push vers Docker Registry (tag: develop-{commit_sha})

  3. 3

    Mise à jour des containers Docker CapRover

  4. 4

    Health check automatique

  5. 5

    Notification Slack du résultat

4.2.2 Déploiement Staging (Automatique)

Déclencheur : Merge sur branche main
  1. 1

    Build des images Docker

  2. 2

    Push vers Docker Registry (tag: staging-{commit_sha})

  3. 3

    Déploiement Blue-Green sur staging

  4. 4

    Tests E2E Cypress automatiques

  5. 5

    Tests de smoke API

  6. 6

    Notification du résultat et rapport de tests

4.2.3 Déploiement Production (Manuel avec Approbation)

Déclencheur : Tag release/vX.X.X
  1. 1

    Approbation requise (2 reviewers minimum)

  2. 2

    Build des images Docker

  3. 3

    Push vers Docker Registry (tag: vX.X.X)

  4. 4

    Déploiement Blue-Green sur production

  5. 5

    Tests de smoke automatiques

  6. 6

    Monitoring renforcé (15 minutes)

  7. 7

    Validation manuelle ou rollback automatique

4.3 Déploiement Blue-Green

4.3.1 Architecture Blue-Green

  • Blue : Environnement de production actif
  • Green : Nouvel environnement avec la nouvelle version
  • ALB (Application Load Balancer) : Bascule du trafic entre Blue et Green

4.3.2 Processus de Bascule

Phase 1 - Préparation Green

Déploiement de la nouvelle version sur Green, warm-up des instances (pré-chargement cache), tests de smoke sur environnement Green (accès interne)

2
Phase 2 - Bascule du Trafic

Modification des règles de routage ALB, redirection progressive du trafic (10% → 50% → 100%), monitoring des métriques en temps réel

3
Phase 3 - Validation

Surveillance pendant 15 minutes post-bascule, vérification des métriques de performance et d'erreur, confirmation du déploiement ou rollback

Fenêtre d'observation : 15 min

4.3.3 Critères de Rollback Automatique

Seuils de Rollback

Métrique Seuil Rollback Fenêtre d'Observation
Error Rate > 1% 5 minutes
Latency P95 > 500ms 5 minutes
5xx Responses > 10 requêtes 1 minute
Health Check Échec Immédiat

4.4 Gestion des Rollbacks

4.4.1 Rollback Automatique

Le rollback automatique est déclenché lorsque les seuils définis sont dépassés pendant la fenêtre d'observation post-déploiement.

ACTIONS AUTOMATIQUES
  • Bascule du trafic vers l'environnement Blue (ancienne version)
  • Notification immédiate de l'équipe (Slack + PagerDuty)
  • Création automatique d'un incident dans le système de ticketing
  • Conservation des logs pour analyse

4.4.2 Rollback Manuel

Commande de rollback manuel :

  • Via GitHub Actions : Workflow "Rollback Production"
  • Sélection de la version cible (tag précédent)
  • Confirmation par un membre de l'équipe ops
  • Temps d'exécution : < 5 minutes
5

GESTION DES ENVIRONNEMENTS

5.1 Configuration des Environnements

Environnements REWAPP

Environnement URL API URL Web Branche Auto-Deploy
Développement dev.api.rewapp.fr dev.rewapp.fr develop Oui
Staging staging.api.rewapp.fr staging.rewapp.fr main Oui
Production api.rewapp.fr www.rewapp.fr main + tag Non (approbation)

5.2 Promotion entre Environnements

5.2.1 Flux de Promotion

FLUX DE PROMOTION

Développement → Staging → Production

  • Dev vers Staging : Automatique via merge de develop vers main
  • Staging vers Production : Création d'un tag release/vX.X.X + approbation

5.2.2 Critères de Promotion

Pré-requis de Promotion

Promotion Pré-requis Validation
Dev → Staging Tous les tests CI passent, Code review approuvé Automatique
Staging → Prod Tests E2E passent, QA validation, Release notes 2 approbateurs

5.3 Gestion des Secrets

5.3.1 Gestion des Secrets CapRover

Tous les secrets sont stockés dans les variables d'environnement CapRover avec les conventions suivantes :

  • Nommage : rewapp/{environnement}/{service}/{secret}
  • Exemple : rewapp/production/api/database-url

5.3.2 Secrets par Environnement

Configuration des Secrets

Secret Dev Staging Production
DATABASE_URL PostgreSQL local PostgreSQL container staging PostgreSQL container production
REDIS_URL Redis local Redis container staging Redis cluster production
JWT_SECRET Clé développement Clé staging Clé production (RSA 4096)
BANKING_API_KEY Sandbox Sandbox Production
SENDGRID_API_KEY Test Test Production

5.3.3 Rotation des Secrets

  • Secrets critiques (JWT, API keys) : Rotation automatique tous les 90 jours
  • Credentials base de données : Rotation tous les 30 jours
  • Notification : 7 jours avant expiration
6

WORKFLOWS GITHUB ACTIONS

6.1 Structure des Workflows

Organisation des fichiers :

Structure
.github/
├── workflows/
│   ├── ci.yml                    # Pipeline CI principal
│   ├── cd-dev.yml                # Déploiement développement
│   ├── cd-staging.yml            # Déploiement staging
│   ├── cd-production.yml         # Déploiement production
│   ├── rollback.yml              # Rollback manuel
│   ├── mobile-build.yml          # Build app mobile (EAS)
│   ├── terraform-plan.yml        # Plan infrastructure
│   ├── terraform-apply.yml       # Apply infrastructure
│   └── security-scan.yml         # Scan de sécurité hebdomadaire
└── actions/
    ├── setup-node/               # Action réutilisable Node.js
    ├── docker-build/             # Action build Docker
    └── deploy-caprover/          # Action déploiement CapRover

6.2 Workflow CI Principal

ci.yml

Déclencheur : Push sur toutes les branches, Pull Requests

Jobs du workflow :

  • lint : Analyse statique ESLint et Prettier
  • typecheck : Vérification TypeScript
  • test-backend : Tests unitaires et intégration backend
  • test-frontend : Tests unitaires frontend
  • build : Build des applications
  • security : Scan de sécurité Snyk
  • sonar : Analyse SonarQube

6.3 Workflow de Déploiement

cd-production.yml

Déclencheur : Tag release/v*

Jobs du workflow :

  • validate : Vérification du tag et des pré-requis
  • approval : Attente approbation manuelle (2 reviewers)
  • build : Build des images Docker
  • push : Push vers Docker Registry
  • deploy : Déploiement Rolling CapRover
  • smoke-tests : Tests de smoke post-déploiement
  • notify : Notification du résultat

6.4 Workflows Spécifiques par Application

6.4.1 Application Mobile (Ionic + Capacitor)

mobile-build.yml

Déclencheurs : Push sur main, Tag app/v*

Builds générés :

  • iOS : Build via EAS pour TestFlight (staging) et App Store (production)
  • Android : Build via EAS pour Google Play Internal (staging) et Production

6.4.2 Site Vitrine (Vercel)

deploy-vitrine.yml

Le site vitrine est déployé sur Vercel avec :

  • Preview deployments automatiques sur chaque PR
  • Production deployment sur merge main
7

INFRASTRUCTURE AS CODE (TERRAFORM)

7.1 Organisation du Code Terraform

Structure des répertoires :

Structure Terraform
infrastructure/
├── modules/
│   ├── network/             # Configuration Réseau
│   ├── docker/              # Containers Docker
│   ├── postgres/            # Base de données PostgreSQL
│   ├── redis/               # Redis Container
│   ├── traefik/             # Reverse Proxy Traefik
│   ├── minio/               # Stockage S3-compatible
│   ├── nginx/               # Serveur Web/CDN
│   └── monitoring/          # Prometheus, Grafana, alertes
├── environments/
│   ├── dev/
│   │   ├── docker-compose.yml
│   │   └── .env
│   ├── staging/
│   └── production/
└── global/
    ├── caprover/            # Configuration CapRover
    ├── registry/            # Docker Registry
    └── dns/                 # Configuration DNS

7.2 Modules Réutilisables

Modules Terraform

Module Description Variables Principales
vpc VPC avec subnets publics/privés cidr_block, azs, enable_nat
ecs Docker Containers CapRover cluster_name, services, auto_scaling
postgres Container PostgreSQL version, resources, storage
redis Cluster Redis node_type, num_nodes, cluster_mode
alb Application Load Balancer listeners, target_groups, ssl_cert
s3 Bucket S3 bucket_name, versioning, lifecycle
cloudfront Distribution CDN origins, behaviors, ssl_cert

7.3 Pipeline Terraform

7.3.1 Workflow Terraform Plan

Déclencheur : PR modifiant infrastructure/*

Actions :

  • terraform fmt -check : Vérification du formatage
  • terraform validate : Validation de la syntaxe
  • terraform plan : Génération du plan
  • Commentaire automatique sur la PR avec le plan

7.3.2 Workflow Terraform Apply

Déclencheur : Merge sur main (avec modifications infrastructure/*)

Approbation : Requise pour staging et production

Actions :

  • terraform apply -auto-approve (dev uniquement)
  • terraform apply (staging/prod après approbation)
8

BUILD ET REGISTRY DES IMAGES DOCKER

8.1 Stratégie de Build Docker

8.1.1 Multi-stage Builds

Toutes les images utilisent des builds multi-stage pour optimiser la taille :

Stage 1 - Builder

Installation des dépendances, compilation TypeScript, build de l'application, exécution des tests

2
Stage 2 - Production

Image de base Alpine (légère), copie uniquement des artefacts nécessaires, utilisateur non-root, health check intégré

8.1.2 Images de Base

Images par Application

Application Image de Base Taille Cible
Backend API node:20-alpine < 200 MB
Dashboard Admin nginx:alpine < 50 MB
Dashboard Partenaire nginx:alpine < 50 MB
Site Vitrine node:20-alpine (SSR) < 150 MB

8.2 Docker Registry

8.2.1 Repositories Docker

Repositories Docker

Repository Description Lifecycle Policy
rewapp/api Backend API NestJS 30 dernières images
rewapp/admin Dashboard Admin 30 dernières images
rewapp/partner Dashboard Partenaire 30 dernières images
rewapp/vitrine Site Vitrine 30 dernières images

8.2.2 Scan de Vulnérabilités Docker

  • Scan automatique à chaque push d'image
  • Blocage du déploiement si vulnérabilités critiques détectées
  • Rapport de scan disponible dans les logs CI/CD

8.3 Tagging des Images

Convention de Tagging

Environnement Format Tag Exemple
Développement develop-{sha} develop-abc1234
Staging staging-{sha} staging-abc1234
Production v{version} v1.2.3
Latest (par env) {env}-latest production-latest
9

SÉCURITÉ DU PIPELINE

9.1 Contrôle d'Accès

9.1.1 Permissions GitHub

Rôles et Permissions

Rôle Permissions Actions Autorisées
Developer Read, Write Push feature/*, créer PR
Maintainer + Merge Merge vers develop et main
Admin + Settings Configuration workflows, secrets
Release Manager + Deploy Approbation déploiements production

9.1.2 Service Accounts CapRover

  • CI/CD assume un rôle IAM dédié avec permissions minimales
  • Principe du moindre privilège appliqué
  • Pas de credentials long-terme, utilisation OIDC avec GitHub

9.2 Audit et Traçabilité

9.2.1 Logs d'Audit

  • GitHub Audit Log : Toutes les actions sur les repositories
  • CapRover Logs : Toutes les actions (déploiements, modifications)
  • Rétention : 90 jours minimum, archivage S3 Glacier au-delà

9.2.2 Traçabilité des Déploiements

INFORMATIONS ENREGISTRÉES
  • Commit SHA déployé
  • Auteur du commit
  • Approbateur(s) du déploiement
  • Timestamp de début et fin
  • Résultat (succès/échec)
  • Logs complets

9.3 Protection des Branches

9.3.1 Règles de Protection

Protection des Branches

Branche Protection Règles
main Stricte PR obligatoire, 2 approbations, CI passant, no force push
develop Modérée PR obligatoire, 1 approbation, CI passant
feature/* Légère CI passant recommandé

9.3.2 Code Owners

Fichier CODEOWNERS définissant les reviewers obligatoires :

CODEOWNERS
/infrastructure/*  → équipe DevOps
/apps/api/*        → équipe Backend
/apps/mobile/*     → équipe Mobile
/.github/*         → équipe DevOps
10

MONITORING ET REPORTING

10.1 Métriques CI/CD

KPIs CI/CD

Métrique Description Objectif
Build Success Rate Taux de builds réussis > 95%
Mean Time to Recovery Temps moyen de correction après échec < 1 heure
Deployment Frequency Fréquence des déploiements production > 1 par semaine
Lead Time for Changes Temps entre commit et production < 1 jour
Change Failure Rate Taux d'échec des déploiements < 5%

10.2 Notifications et Alertes

10.2.1 Canaux de Notification

Configuration des Notifications

Événement Canal Destinataires
Build échoué Slack #ci-alerts Auteur du commit + équipe
Deploy staging réussi Slack #deployments Équipe développement
Deploy production Slack #deployments + Email Toute l'équipe technique
Rollback Slack #incidents + PagerDuty Équipe ops + astreinte
Security alert Slack #security + Email Équipe sécurité

10.2.2 Format des Notifications

CONTENU DES NOTIFICATIONS
  • Statut (succès/échec)
  • Application et environnement concernés
  • Version/commit déployé
  • Durée du build/déploiement
  • Lien vers les logs détaillés
  • Actions suggérées (en cas d'échec)

10.3 Rapports de Build

10.3.1 Rapports Automatiques

  • Rapport de couverture de tests (Codecov)
  • Rapport SonarQube (qualité et sécurité)
  • Rapport de vulnérabilités (Snyk)
  • Rapport de performance des builds

10.3.2 Dashboard CI/CD

Dashboard Grafana avec métriques :

  • Temps de build moyen par application
  • Taux de succès par branche
  • Fréquence des déploiements
  • Historique des incidents
11

PROCÉDURES OPÉRATIONNELLES

11.1 Procédure de Release

11.1.1 Préparation de Release

  1. 1
    Vérification

    S'assurer que tous les tests passent sur staging

  2. 2
    QA

    Compléter les tests de QA manuels

  3. 3
    Documentation

    Rédiger les release notes

  4. 4
    PR

    Créer la PR de release (develop vers main si nécessaire)

  5. 5
    Approbations

    Obtenir les approbations requises

11.1.2 Exécution de Release

Commandes
# Créer le tag
git tag -a release/vX.X.X -m "Release vX.X.X"

# Pousser le tag
git push origin release/vX.X.X
  1. 3

    Le workflow de déploiement se déclenche automatiquement

  2. 4

    Attendre l'approbation des 2 reviewers dans GitHub

  3. 5

    Approuver le déploiement

  4. 6

    Surveiller le déploiement et les métriques

  5. 7

    Valider le déploiement après la période d'observation (15 min)

11.1.3 Post-Release

  • Mettre à jour le changelog
  • Communiquer en interne (Slack #releases)
  • Archiver les release notes
  • Planifier la rétrospective si problèmes rencontrés

11.2 Hotfix en Production

11.2.1 Procédure Hotfix

  1. 1

    Créer une branche hotfix/description depuis main

  2. 2

    Implémenter le correctif

  3. 3

    Tests automatisés (CI)

  4. 4

    Code review accéléré (1 approbation minimum)

  5. 5

    Merge vers main

  6. 6

    Création immédiate du tag hotfix/vX.X.X

  7. 7

    Déploiement avec processus accéléré (1 approbateur)

  8. 8

    Merge retour vers develop

11.2.2 Critères de Hotfix

UN HOTFIX EST JUSTIFIÉ UNIQUEMENT POUR
  • Bug critique affectant les utilisateurs
  • Faille de sécurité
  • Perte de données potentielle
  • Indisponibilité du service

11.3 Maintenance du Pipeline

11.3.1 Maintenance Préventive

  • Hebdomadaire : Revue des builds échoués et patterns d'échec
  • Mensuelle : Mise à jour des actions GitHub Actions
  • Trimestrielle : Audit des permissions et accès
  • Semestrielle : Revue et optimisation des workflows

11.3.2 Mise à Jour des Dépendances CI

  • Node.js : Mise à jour vers nouvelle LTS annuellement
  • Actions tierces : Mise à jour mensuelle (versions mineures)
  • Terraform : Mise à jour trimestrielle
  • Docker : Mise à jour des images de base mensuellement
12

CONCLUSION

12.1 Récapitulatif

Le pipeline CI/CD de REWAPP garantit :

  • Qualité du code via tests automatisés et analyse statique
  • Sécurité via scans continus des dépendances et images
  • Fiabilité via déploiements Blue-Green et rollbacks automatiques
  • Traçabilité via audit complet de tous les déploiements
  • Rapidité via automatisation maximale du processus

12.2 Points Clés

Résumé des Solutions

Aspect Solution
CI Engine GitHub Actions avec cache optimisé
Tests Jest (unit), Supertest (API), Cypress (E2E)
Sécurité Snyk, npm audit, Docker scan
Déploiement Rolling deployment CapRover
Infrastructure Terraform avec modules réutilisables
Monitoring Grafana dashboard, Slack notifications

12.3 Évolutions Prévues

Court terme (6 mois)

  • Intégration de tests de performance K6 dans le pipeline
  • Mise en place de feature flags pour déploiements progressifs
  • Amélioration des tests E2E mobile avec Detox

Moyen terme (12 mois)

  • Migration vers GitLab CI ou GitHub Actions Enterprise
  • Pipeline de déploiement multi-région
  • Intégration de chaos engineering (tests de résilience)