veza/docs/V0_803_RELEASE_SCOPE.md
senke da20e83e09 docs: complete roadmap documentation v0.703 to v0.903 (v1.0 target)
Add Release Scope, Implementation Plan, and Smoke Test for 7 versions:
- v0.703: Go Live & Streaming Complet (Phase 7 Finale)
- v0.801: UX/UI Polish, Accessibilite & PWA (Phase 8)
- v0.802: Cloud Complet, Fichiers & Gear Avance (Phase 8)
- v0.803: Securite, Compliance & Outillage Dev (Phase 8)
- v0.901: Marketplace Complet & Analytics Avances (Phase 9)
- v0.902: Social Complet, Chat & Notifications (Phase 9)
- v0.903: Stabilisation v1.0 & Launch Readiness (Phase 9)

21 documents total (3 per version), covering all remaining features
needed to reach v1.0 from v0.702.
2026-02-24 01:32:04 +01:00

9 KiB

V0.803 Release Scope — Sécurité, Compliance & Outillage Dev

Statut : Planifié Phase : 8 (Polish & Scale — Lot 3) Prérequis : v0.802 (taguée) Date cible : TBD Estimation : ~3 sprints (15 jours ouvrés) Précédente : v0.802


1. Objectif

Dernière version de la Phase 8. Renforce la sécurité (headers complets, audit logs, compliance GDPR/CCPA), ajoute l'outillage développeur (OpenAPI/Swagger, API playground, API keys, developer dashboard), et améliore l'administration (queue modération, maintenance mode, annonces globales, feature flags UI).


2. État actuel (post-v0.802)

Composant État Détail
Rate limiting Livré v0.404 Redis-backed, per-user
CORS Livré Configuré dans middleware
JWT validation Livré Auth middleware
CSP header Absent Pas de Content-Security-Policy
HSTS header Absent Pas de Strict-Transport-Security
Clickjacking protection Absent Pas de X-Frame-Options
Security headers complets Absent Manque X-Content-Type-Options, Referrer-Policy, Permissions-Policy
Audit logs Absent Pas de journalisation des actions admin/utilisateur
GDPR data export Livré v0.802 POST /users/me/export
Account deletion Absent Pas de suppression de compte
OpenAPI/Swagger Absent API documentée manuellement dans API_REFERENCE.md
API keys ⚠️ Partiel Webhook secret, mais pas de API keys publiques pour développeurs
Developer dashboard ⚠️ Partiel Page /developer existe, API keys basiques
Admin moderation Absent Pas de queue de modération
Maintenance mode Absent Pas de mode maintenance
Global announcements Absent Pas d'annonces globales
Feature flags UI Absent Flags dans .env uniquement, pas de UI admin

3. Lots

Lot SEC1 — Security Headers

# Tâche Fichiers impactés Effort
SEC1-01 Middleware SecurityHeaders — CSP, HSTS, X-Frame-Options, X-Content-Type-Options, Referrer-Policy, Permissions-Policy internal/middleware/security_headers.go (nouveau) M
SEC1-02 CSP configuré — default-src 'self', script-src 'self', style-src 'self' 'unsafe-inline', img-src 'self' data: https:, connect-src 'self' wss: Middleware M
SEC1-03 HSTS — max-age=31536000, includeSubDomains, preload (production uniquement) Middleware S
SEC1-04 DDoS rate limiting amélioré — global rate limit (1000 req/s), per-IP (100 req/s), per-endpoint custom internal/middleware/rate_limiter.go M
SEC1-05 Tests — headers présents dans responses, rate limiting triggers Tests M

Lot SEC2 — Audit & Compliance

# Tâche Fichiers impactés Effort
SEC2-01 Migration 123_audit_logs.sql — table audit_logs (user_id, action, resource_type, resource_id, ip, user_agent, metadata JSONB, created_at) Migrations S
SEC2-02 Service AuditService — Log(userID, action, resource, metadata), query audit logs avec filtres internal/audit/service.go (nouveau) M
SEC2-03 Middleware audit — log automatique sur POST/PUT/DELETE de toutes les routes internal/middleware/audit.go (nouveau) M
SEC2-04 GET /admin/audit-logs — liste paginée avec filtres (user_id, action, date range) internal/handlers/admin_handler.go M
SEC2-05 Account deletion — DELETE /users/me : soft delete, anonymise données, supprime fichiers S3, révoque sessions internal/handlers/user_handler.go L
SEC2-06 CCPA compliance — honorer "Do Not Sell" header, endpoint opt-out internal/middleware/ S
SEC2-07 Frontend — page "Delete Account" dans Settings avec confirmation, page audit logs admin Frontend M
SEC2-08 Tests — audit log creation, account deletion cascade, GDPR compliance Tests M

Lot DEV1 — API & Dev Tools

# Tâche Fichiers impactés Effort
DEV1-01 OpenAPI/Swagger — annotations swaggo sur les handlers principaux (auth, marketplace, live, admin) Handlers Go L
DEV1-02 GET /swagger/* — serveur Swagger UI intégré (swaggo/gin-swagger) internal/api/routes_core.go M
DEV1-03 API key management — POST /developer/api-keys (create), GET /developer/api-keys (list), DELETE /developer/api-keys/:id (revoke) internal/handlers/developer_handler.go M
DEV1-04 Migration 124_api_keys.sql — table api_keys (user_id, key_hash, name, permissions, last_used_at, expires_at) Migrations S
DEV1-05 API key middleware — authentification via X-API-Key header en alternative au Bearer token internal/middleware/auth.go M
DEV1-06 Developer dashboard enrichi — gestion API keys, documentation intégrée (lien Swagger), usage stats apps/web/src/features/developer/ M
DEV1-07 Webhooks documentation — page /developer/webhooks avec liste des events, payloads, examples Frontend M
DEV1-08 Tests — API key auth, swagger endpoint, key CRUD Tests M

Lot ADM1 — Admin Improvements

# Tâche Fichiers impactés Effort
ADM1-01 Moderation queue — GET /admin/reports (signalements), POST /admin/reports/:id/resolve (action: dismiss, warn, ban) internal/handlers/admin_handler.go M
ADM1-02 Migration 125_reports.sql — table reports (reporter_id, reported_user_id, content_type, content_id, reason, status, resolved_by, resolved_at) Migrations S
ADM1-03 Maintenance mode — env MAINTENANCE_MODE=true, middleware retourne 503 sur toutes les routes sauf /health et /admin internal/middleware/maintenance.go (nouveau) S
ADM1-04 Global announcements — POST /admin/announcements, GET /announcements/active, frontend banner internal/handlers/admin_handler.go, frontend M
ADM1-05 Feature flags UI — GET /admin/feature-flags, PUT /admin/feature-flags/:name, frontend toggle dans admin Backend + frontend M
ADM1-06 Frontend admin — ModerationQueueView, AnnouncementsView, FeatureFlagsView apps/web/src/features/admin/ L
ADM1-07 Tests — moderation CRUD, maintenance mode 503, announcements, feature flags toggle Tests M

Lot QA1 — Tests & Release

# Tâche Fichiers impactés Effort
QA1-01 Smoke test v0.803 docs/SMOKE_TEST_V0803.md S
QA1-02 Mise à jour docs docs/ S
QA1-03 Rétrospective, archivage, placeholder v0.901, tag docs/, Git S

4. Hors scope v0.803

Élément Version cible
Wishlist marketplace v0.901
Flash sales / promotions v0.901
Creator analytics avancées v0.901
Chat enrichi (images, GIFs) v0.902
Transactional emails v0.902
SOC 2 compliance v2.0
GraphQL API v2.0
SDK JavaScript/Python v2.0
OAuth2 server v2.0
IP whitelisting v2.0
Copyright strike system v2.0

5. Critères d'acceptation

  • CSP, HSTS, X-Frame-Options, X-Content-Type-Options présents dans toutes les réponses HTTP
  • Rate limiting global (1000/s) et per-IP (100/s) fonctionnel
  • Audit logs : chaque POST/PUT/DELETE crée un log avec user, action, resource, IP
  • GET /admin/audit-logs : liste paginée avec filtres, admin only
  • DELETE /users/me : soft delete, anonymisation, suppression S3, révocation sessions
  • OpenAPI/Swagger accessible sur /swagger/ avec tous les endpoints annotés
  • API keys : create, list, revoke, auth via X-API-Key header
  • Moderation queue : signalements listés, actions resolve (dismiss, warn, ban)
  • Maintenance mode : 503 sur toutes les routes sauf /health et /admin
  • Global announcements : créer annonce, afficher banner frontend
  • Feature flags : toggle UI dans admin, persiste en DB
  • Tag v0.803 créé

6. Risques

Risque Mitigation
CSP trop strict casse le frontend Mode report-only d'abord, puis enforce après validation
Audit logs volume élevé Retention 90 jours, partition par mois, archivage S3
Account deletion cascade complex Transaction GORM, rollback si erreur, test exhaustif
Swagger annotations laborieuses Annoter les handlers critiques d'abord (auth, marketplace)
Feature flags en DB vs .env Migration progressive, .env prioritaire en dev

7. Références