veza/docs/archive/V0_404_RELEASE_SCOPE.md
senke 5cb85773ab docs: archive V0_404_RELEASE_SCOPE.md (completed)
FIN-04: Moved scope document to docs/archive/ with completion header.
2026-02-22 17:56:59 +01:00

7.8 KiB

ARCHIVED — Completed 2026-02-22

Ce document a été archivé à l'issue de la v0.404. Référence active : V0_501_RELEASE_SCOPE.md


V0_404_RELEASE_SCOPE.md — Stabilisation post-audit

Phase : 4bis — Stabilisation Version précédente : v0.403 (Phase 4 Commerce — Payout, reviews, factures, remboursements) Version suivante : v0.501 (Phase 5 — Streaming & Cloud) Durée estimée : 7 semaines (5 sprints) Objectif : Résoudre les blocages critiques identifiés par l'audit technique du 2026-02-22 et rendre le produit déployable en production avec confiance.


1. Contexte

L'audit technique (AUDIT_TECHNIQUE_2026-02-22.md) a identifié :

  • 5 blocages critiques empêchant tout déploiement production
  • 19 vulnérabilités (3 critiques, 5 élevées, 7 moyennes, 4 faibles)
  • Un écart de 78% entre features déclarées et features E2E fonctionnelles
  • Un score d'opérabilité de 3/10 et de maturité produit de 3/10

Verdict audit : NO-GO production en l'état. Conditionnel à 4-6 semaines de stabilisation.

La v0.404 est une version de stabilisation pure. Aucune nouvelle feature. L'objectif est de passer de "NO-GO" à "GO conditionnel".


2. Périmètre IN SCOPE

2.1 Sécurité critique (Sprint 1 — jours 1-5)

ID Action Réf. audit
SEC-01 Fixer pipeline CD (secrets.*vars.*, needs: ci) Risque #1
SEC-02 Auth Redis production (--requirepass) Risque #3
SEC-03 Endpoint POST /auth/stream-token pour auth HLS/WebSocket Risque #2
SEC-04 Supprimer ou sécuriser docker-compose.hybrid.yml VEZA-SEC-012
SEC-05 JWT_SECRET pour stream-server en prod compose Risque associé
SEC-06 Fix IDOR GetUploadStatus (ownership check) VEZA-SEC-007
SEC-07 Validation SSRF webhooks (whitelist schéma + block IPs privées) VEZA-SEC-009
SEC-08 Vérification signature HMAC webhook Hyperswitch VEZA-SEC-010
SEC-09 Unifier Go 1.24 (go.mod, CI, Dockerfile.production) Incohérence stack
SEC-10 Migrer secrets CI vers GitHub Secrets VEZA-SEC-013

2.2 Infra & CI/CD (Sprint 2 — jours 6-12)

ID Action Réf. audit
INF-01 Rate limiter Redis (remplacer in-memory) Risque #4
INF-02 Aligner PostgreSQL 16 dans tous les composes Incohérence stack
INF-03 Frontend CI : lint + typecheck + build Opérabilité
INF-04 Backend CI : go vet + gofmt Opérabilité
INF-05 Rust CI : clippy -D warnings Opérabilité
INF-06 SAST (CodeQL ou Semgrep) Sécurité préventive
INF-07 Compose staging complet (chat, stream, reverse proxy) Opérabilité
INF-08 Alerting Prometheus (service down, error rate, latence) Monitoring
INF-09 Health checks Docker dans composes prod/staging Opérabilité
INF-10 Hash des password reset tokens Sécurité

2.3 Nettoyage & Qualité (Sprint 3 — jours 13-20)

ID Action Réf. audit
CLN-01 Supprimer code mort (~13K LOC) Dette critique
CLN-02 Supprimer/corriger mocks commerceService Intégrité données
CLN-03 Remplacer fmt.Printf par zap (15+ occurrences) Logging
CLN-04 Réduire any TypeScript (90+ → <10) Type safety
CLN-05 Aligner FEATURE_STATUS.md avec la réalité du code Documentation
CLN-06 Unifier versions TypeScript Cohérence stack
CLN-07 Centraliser protobuf (dédupliquer chat/stream) Architecture
CLN-08 Rédiger ADR-001 (décision Go + Rust) Documentation

2.4 Intégration & Tests (Sprint 4 — jours 21-30)

ID Action Réf. audit
INT-01 ADR-002 : décision chat server Rust (intégrer vs remplacer) Risque #5
INT-02 Intégrer stream server Rust (gRPC, HLS activé, flux E2E) Risque #5
INT-03 Tests d'intégration cross-service (5+ scénarios) Testabilité
INT-04 Corriger ou supprimer tests désactivés backend Dette tests
INT-05 Tests unitaires Rust (20+ par service) Couverture
INT-06 Remplacer gorilla/websocket (archivé déc. 2024) Dépendance obsolète

2.5 Finalisation (Sprint 5 — jours 31-35)

ID Action
FIN-01 Smoke test staging (14 features E2E)
FIN-02 Mise à jour PROJECT_STATE.md
FIN-03 Mise à jour SCOPE_CONTROL.md → réf. v0.501
FIN-04 Archiver V0_404_RELEASE_SCOPE.md
FIN-05 Tag v0.404 + CHANGELOG
FIN-06 Rétrospective : scores pré/post, reste à traiter

3. Périmètre HORS SCOPE

Élément Raison Version cible
Nouvelles features Stabilisation uniquement v0.501+
Nouvelles routes API Sauf POST /auth/stream-token (sécurité) v0.501+
Nouvelles pages frontend v0.501+
Nouvelles dépendances Sauf remplacement sécurité (gorilla/websocket) v0.501+
Migration React 19 Évaluation uniquement, pas de migration v0.602
Consolidation migrations (squash) Trop risqué pendant stabilisation v0.501
Découpage fichiers > 1000 LOC Refactoring structurel, pas critique v0.501
Hyperswitch mode live Nécessite payout fonctionnel v0.501
IaC (Terraform/Pulumi) Infrastructure à long terme v0.801

4. Critères de succès v0.404

Critère Seuil Méthode de vérification
Vulnérabilités critiques 0 restante Checklist SEC-01 à SEC-10
Vulnérabilités élevées 0 restante Checklist audit
Pipeline CD Fonctionnel Merge sur main → déploiement exécuté
Features E2E fonctionnelles ≥ 14 (maintien, pas régression) Smoke test staging
Score opérabilité (estimé) ≥ 6/10 (vs 3/10) CI complète, monitoring, alertes, staging
Score sécurité (estimé) ≥ 7/10 (vs 5/10) Vulnérabilités critiques et élevées à 0
Tests intégration ≥ 5 scénarios cross-service CI verte
Code mort supprimé ≥ 13K LOC Diff avant/après
Documentation alignée FEATURE_STATUS = réalité code Revue manuelle

5. Risques v0.404

Risque Probabilité Impact Mitigation
Intégration stream server plus complexe que prévu Élevée Sprint 4 déborde Limiter à "gRPC connecté + 1 flux E2E" ; reporter le polish à v0.501
Remplacement gorilla/websocket casse le chat Go Moyenne Régression chat Écrire les tests avant la migration. Feature flag pour rollback.
Décision chat Rust = réécriture → déborde v0.404 Élevée Scope creep ADR-002 documente la décision. Si réécriture : planifier en v0.501, pas en v0.404.
Squash de code mort supprime du code utilisé Faible Régression Vérifier chaque suppression avec grep -r. Faire des PRs atomiques.

6. Plan de communication

Quand Quoi
Début v0.404 Annonce : "phase stabilisation, 0 features, focus sécurité" CHANGELOG, commit message
Fin Sprint 1 v0.404-alpha1 — sécurité critique résolue Tag Git
Fin Sprint 2 v0.404-alpha2 — infra fiable Tag Git
Fin Sprint 3 v0.404-beta — code nettoyé Tag Git
Fin Sprint 4 v0.404-rc1 — intégration + tests Tag Git
Fin Sprint 5 v0.404 — stabilisation terminée Tag Git, CHANGELOG, PROJECT_STATE

7. Référence

Document Rôle
AUDIT_TECHNIQUE_2026-02-22.md Source des trouvailles
PLAN_ACTION_AUDIT.md Tickets détaillés
SCOPE_CONTROL.md Processus anti-scope-creep
FEATURE_STATUS.md Statut features (à mettre à jour en CLN-05)
PROJECT_STATE.md État du projet (à mettre à jour en FIN-02)