veza/veza-docs/ORIGIN/ORIGIN_FEATURES_REGISTRY.md

1510 lines
53 KiB
Markdown
Raw Normal View History

P0: stabilisation backend/chat/stream + nouvelle base migrations v1 Backend Go: - Remplacement complet des anciennes migrations par la base V1 alignée sur ORIGIN. - Durcissement global du parsing JSON (BindAndValidateJSON + RespondWithAppError). - Sécurisation de config.go, CORS, statuts de santé et monitoring. - Implémentation des transactions P0 (RBAC, duplication de playlists, social toggles). - Ajout d’un job worker structuré (emails, analytics, thumbnails) + tests associés. - Nouvelle doc backend : AUDIT_CONFIG, BACKEND_CONFIG, AUTH_PASSWORD_RESET, JOB_WORKER_*. Chat server (Rust): - Refonte du pipeline JWT + sécurité, audit et rate limiting avancé. - Implémentation complète du cycle de message (read receipts, delivered, edit/delete, typing). - Nettoyage des panics, gestion d’erreurs robuste, logs structurés. - Migrations chat alignées sur le schéma UUID et nouvelles features. Stream server (Rust): - Refonte du moteur de streaming (encoding pipeline + HLS) et des modules core. - Transactions P0 pour les jobs et segments, garanties d’atomicité. - Documentation détaillée de la pipeline (AUDIT_STREAM_*, DESIGN_STREAM_PIPELINE, TRANSACTIONS_P0_IMPLEMENTATION). Documentation & audits: - TRIAGE.md et AUDIT_STABILITY.md à jour avec l’état réel des 3 services. - Cartographie complète des migrations et des transactions (DB_MIGRATIONS_*, DB_TRANSACTION_PLAN, AUDIT_DB_TRANSACTIONS, TRANSACTION_TESTS_PHASE3). - Scripts de reset et de cleanup pour la lab DB et la V1. Ce commit fige l’ensemble du travail de stabilisation P0 (UUID, backend, chat et stream) avant les phases suivantes (Coherence Guardian, WS hardening, etc.).
2025-12-06 10:14:38 +00:00
# ORIGIN_FEATURES_REGISTRY.md
## 📋 RÉSUMÉ EXÉCUTIF
2026-03-05 18:22:31 +00:00
Ce document constitue le registre officiel des fonctionnalités de la plateforme Veza. Suite à la révision éthique de mars 2026, le registre est passé de 600 à **~560 fonctionnalités**, avec la suppression des modules AI/ML (F456-F470), Blockchain/Web3 (F491-F500), et Gamification addictive (F536-F550). Chaque feature possède un identifiant unique, une description détaillée, des dépendances explicites, une complexité évaluée, une priorité assignée, un temps d'implémentation estimé, des tests requis, et des critères d'acceptation précis.
**Dernière révision** : 2026-03-04 (révision éthique — suppression de 40 features, 3 modules)
P0: stabilisation backend/chat/stream + nouvelle base migrations v1 Backend Go: - Remplacement complet des anciennes migrations par la base V1 alignée sur ORIGIN. - Durcissement global du parsing JSON (BindAndValidateJSON + RespondWithAppError). - Sécurisation de config.go, CORS, statuts de santé et monitoring. - Implémentation des transactions P0 (RBAC, duplication de playlists, social toggles). - Ajout d’un job worker structuré (emails, analytics, thumbnails) + tests associés. - Nouvelle doc backend : AUDIT_CONFIG, BACKEND_CONFIG, AUTH_PASSWORD_RESET, JOB_WORKER_*. Chat server (Rust): - Refonte du pipeline JWT + sécurité, audit et rate limiting avancé. - Implémentation complète du cycle de message (read receipts, delivered, edit/delete, typing). - Nettoyage des panics, gestion d’erreurs robuste, logs structurés. - Migrations chat alignées sur le schéma UUID et nouvelles features. Stream server (Rust): - Refonte du moteur de streaming (encoding pipeline + HLS) et des modules core. - Transactions P0 pour les jobs et segments, garanties d’atomicité. - Documentation détaillée de la pipeline (AUDIT_STREAM_*, DESIGN_STREAM_PIPELINE, TRANSACTIONS_P0_IMPLEMENTATION). Documentation & audits: - TRIAGE.md et AUDIT_STABILITY.md à jour avec l’état réel des 3 services. - Cartographie complète des migrations et des transactions (DB_MIGRATIONS_*, DB_TRANSACTION_PLAN, AUDIT_DB_TRANSACTIONS, TRANSACTION_TESTS_PHASE3). - Scripts de reset et de cleanup pour la lab DB et la V1. Ce commit fige l’ensemble du travail de stabilisation P0 (UUID, backend, chat et stream) avant les phases suivantes (Coherence Guardian, WS hardening, etc.).
2025-12-06 10:14:38 +00:00
## 🎯 OBJECTIFS
### Objectif Principal
2026-03-05 18:22:31 +00:00
Fournir une spécification complète, non-ambiguë et traçable de chaque fonctionnalité de Veza, alignée avec les principes éthiques fondateurs, pour permettre une implémentation autonome.
P0: stabilisation backend/chat/stream + nouvelle base migrations v1 Backend Go: - Remplacement complet des anciennes migrations par la base V1 alignée sur ORIGIN. - Durcissement global du parsing JSON (BindAndValidateJSON + RespondWithAppError). - Sécurisation de config.go, CORS, statuts de santé et monitoring. - Implémentation des transactions P0 (RBAC, duplication de playlists, social toggles). - Ajout d’un job worker structuré (emails, analytics, thumbnails) + tests associés. - Nouvelle doc backend : AUDIT_CONFIG, BACKEND_CONFIG, AUTH_PASSWORD_RESET, JOB_WORKER_*. Chat server (Rust): - Refonte du pipeline JWT + sécurité, audit et rate limiting avancé. - Implémentation complète du cycle de message (read receipts, delivered, edit/delete, typing). - Nettoyage des panics, gestion d’erreurs robuste, logs structurés. - Migrations chat alignées sur le schéma UUID et nouvelles features. Stream server (Rust): - Refonte du moteur de streaming (encoding pipeline + HLS) et des modules core. - Transactions P0 pour les jobs et segments, garanties d’atomicité. - Documentation détaillée de la pipeline (AUDIT_STREAM_*, DESIGN_STREAM_PIPELINE, TRANSACTIONS_P0_IMPLEMENTATION). Documentation & audits: - TRIAGE.md et AUDIT_STABILITY.md à jour avec l’état réel des 3 services. - Cartographie complète des migrations et des transactions (DB_MIGRATIONS_*, DB_TRANSACTION_PLAN, AUDIT_DB_TRANSACTIONS, TRANSACTION_TESTS_PHASE3). - Scripts de reset et de cleanup pour la lab DB et la V1. Ce commit fige l’ensemble du travail de stabilisation P0 (UUID, backend, chat et stream) avant les phases suivantes (Coherence Guardian, WS hardening, etc.).
2025-12-06 10:14:38 +00:00
### Objectifs Secondaires
- Établir un système de dépendances clair entre features
- Permettre une estimation précise du workload
- Faciliter la priorisation et le planning
- Garantir la couverture de tests exhaustive
- Assurer la cohérence des critères d'acceptation
## 📖 TABLE DES MATIÈRES
1. [Système de Codification](#1-système-de-codification)
2. [Module 1: Authentification & Sécurité](#2-module-1-authentification--sécurité) (F001-F030)
3. [Module 2: Profils & Utilisateurs](#3-module-2-profils--utilisateurs) (F031-F065)
4. [Module 3: Gestion de Fichiers](#4-module-3-gestion-de-fichiers) (F066-F105)
5. [Module 4: Streaming Audio](#5-module-4-streaming-audio) (F106-F150)
6. [Module 5: Chat & Messagerie](#6-module-5-chat--messagerie) (F151-F185)
7. [Module 6: Social & Communauté](#7-module-6-social--communauté) (F186-F225)
8. [Module 7: Marketplace](#8-module-7-marketplace) (F226-F275)
9. [Module 8: Formation & Éducation](#9-module-8-formation--éducation) (F276-F305)
10. [Module 9: Gestion de Matériel](#10-module-9-gestion-de-matériel) (F306-F330)
11. [Module 10: Cloud & Stockage](#11-module-10-cloud--stockage) (F331-F350)
12. [Module 11: Recherche & Découverte](#12-module-11-recherche--découverte) (F351-F380)
13. [Module 12: Analytics & Statistiques](#13-module-12-analytics--statistiques) (F381-F410)
14. [Module 13: Administration](#14-module-13-administration) (F411-F435)
15. [Module 14: UI/UX](#15-module-14-uiux) (F436-F455)
2026-03-05 18:22:31 +00:00
16. ~~Module 15: IA & Fonctionnalités Avancées~~**SUPPRIMÉ** (F456-F470, voir [§29 Exclusions](#29-features-exclues-et-raisons-éthiques))
P0: stabilisation backend/chat/stream + nouvelle base migrations v1 Backend Go: - Remplacement complet des anciennes migrations par la base V1 alignée sur ORIGIN. - Durcissement global du parsing JSON (BindAndValidateJSON + RespondWithAppError). - Sécurisation de config.go, CORS, statuts de santé et monitoring. - Implémentation des transactions P0 (RBAC, duplication de playlists, social toggles). - Ajout d’un job worker structuré (emails, analytics, thumbnails) + tests associés. - Nouvelle doc backend : AUDIT_CONFIG, BACKEND_CONFIG, AUTH_PASSWORD_RESET, JOB_WORKER_*. Chat server (Rust): - Refonte du pipeline JWT + sécurité, audit et rate limiting avancé. - Implémentation complète du cycle de message (read receipts, delivered, edit/delete, typing). - Nettoyage des panics, gestion d’erreurs robuste, logs structurés. - Migrations chat alignées sur le schéma UUID et nouvelles features. Stream server (Rust): - Refonte du moteur de streaming (encoding pipeline + HLS) et des modules core. - Transactions P0 pour les jobs et segments, garanties d’atomicité. - Documentation détaillée de la pipeline (AUDIT_STREAM_*, DESIGN_STREAM_PIPELINE, TRANSACTIONS_P0_IMPLEMENTATION). Documentation & audits: - TRIAGE.md et AUDIT_STABILITY.md à jour avec l’état réel des 3 services. - Cartographie complète des migrations et des transactions (DB_MIGRATIONS_*, DB_TRANSACTION_PLAN, AUDIT_DB_TRANSACTIONS, TRANSACTION_TESTS_PHASE3). - Scripts de reset et de cleanup pour la lab DB et la V1. Ce commit fige l’ensemble du travail de stabilisation P0 (UUID, backend, chat et stream) avant les phases suivantes (Coherence Guardian, WS hardening, etc.).
2025-12-06 10:14:38 +00:00
17. [Module 16: Livestreaming](#17-module-16-livestreaming) (F471-F480)
18. [Module 17: Collaboration Temps Réel](#18-module-17-collaboration-temps-réel) (F481-F490)
2026-03-05 18:22:31 +00:00
19. ~~Module 18: Blockchain & Web3~~**SUPPRIMÉ** (F491-F500, voir [§29 Exclusions](#29-features-exclues-et-raisons-éthiques))
P0: stabilisation backend/chat/stream + nouvelle base migrations v1 Backend Go: - Remplacement complet des anciennes migrations par la base V1 alignée sur ORIGIN. - Durcissement global du parsing JSON (BindAndValidateJSON + RespondWithAppError). - Sécurisation de config.go, CORS, statuts de santé et monitoring. - Implémentation des transactions P0 (RBAC, duplication de playlists, social toggles). - Ajout d’un job worker structuré (emails, analytics, thumbnails) + tests associés. - Nouvelle doc backend : AUDIT_CONFIG, BACKEND_CONFIG, AUTH_PASSWORD_RESET, JOB_WORKER_*. Chat server (Rust): - Refonte du pipeline JWT + sécurité, audit et rate limiting avancé. - Implémentation complète du cycle de message (read receipts, delivered, edit/delete, typing). - Nettoyage des panics, gestion d’erreurs robuste, logs structurés. - Migrations chat alignées sur le schéma UUID et nouvelles features. Stream server (Rust): - Refonte du moteur de streaming (encoding pipeline + HLS) et des modules core. - Transactions P0 pour les jobs et segments, garanties d’atomicité. - Documentation détaillée de la pipeline (AUDIT_STREAM_*, DESIGN_STREAM_PIPELINE, TRANSACTIONS_P0_IMPLEMENTATION). Documentation & audits: - TRIAGE.md et AUDIT_STABILITY.md à jour avec l’état réel des 3 services. - Cartographie complète des migrations et des transactions (DB_MIGRATIONS_*, DB_TRANSACTION_PLAN, AUDIT_DB_TRANSACTIONS, TRANSACTION_TESTS_PHASE3). - Scripts de reset et de cleanup pour la lab DB et la V1. Ce commit fige l’ensemble du travail de stabilisation P0 (UUID, backend, chat et stream) avant les phases suivantes (Coherence Guardian, WS hardening, etc.).
2025-12-06 10:14:38 +00:00
20. [Module 19: Intégrations Externes](#20-module-19-intégrations-externes) (F501-F520)
21. [Module 20: Applications Natives](#21-module-20-applications-natives) (F521-F535)
2026-03-05 18:22:31 +00:00
22. ~~Module 21: Gamification~~**SUPPRIMÉ** (F536-F550, voir [§29 Exclusions](#29-features-exclues-et-raisons-éthiques))
P0: stabilisation backend/chat/stream + nouvelle base migrations v1 Backend Go: - Remplacement complet des anciennes migrations par la base V1 alignée sur ORIGIN. - Durcissement global du parsing JSON (BindAndValidateJSON + RespondWithAppError). - Sécurisation de config.go, CORS, statuts de santé et monitoring. - Implémentation des transactions P0 (RBAC, duplication de playlists, social toggles). - Ajout d’un job worker structuré (emails, analytics, thumbnails) + tests associés. - Nouvelle doc backend : AUDIT_CONFIG, BACKEND_CONFIG, AUTH_PASSWORD_RESET, JOB_WORKER_*. Chat server (Rust): - Refonte du pipeline JWT + sécurité, audit et rate limiting avancé. - Implémentation complète du cycle de message (read receipts, delivered, edit/delete, typing). - Nettoyage des panics, gestion d’erreurs robuste, logs structurés. - Migrations chat alignées sur le schéma UUID et nouvelles features. Stream server (Rust): - Refonte du moteur de streaming (encoding pipeline + HLS) et des modules core. - Transactions P0 pour les jobs et segments, garanties d’atomicité. - Documentation détaillée de la pipeline (AUDIT_STREAM_*, DESIGN_STREAM_PIPELINE, TRANSACTIONS_P0_IMPLEMENTATION). Documentation & audits: - TRIAGE.md et AUDIT_STABILITY.md à jour avec l’état réel des 3 services. - Cartographie complète des migrations et des transactions (DB_MIGRATIONS_*, DB_TRANSACTION_PLAN, AUDIT_DB_TRANSACTIONS, TRANSACTION_TESTS_PHASE3). - Scripts de reset et de cleanup pour la lab DB et la V1. Ce commit fige l’ensemble du travail de stabilisation P0 (UUID, backend, chat et stream) avant les phases suivantes (Coherence Guardian, WS hardening, etc.).
2025-12-06 10:14:38 +00:00
23. [Module 22: Notifications](#23-module-22-notifications) (F551-F570)
24. [Module 23: Sécurité Avancée](#24-module-23-sécurité-avancée) (F571-F585)
25. [Module 24: Développeurs & API](#25-module-24-développeurs--api) (F586-F600)
26. [Matrice de Dépendances](#26-matrice-de-dépendances)
27. [Index par Complexité](#27-index-par-complexité)
28. [Index par Priorité](#28-index-par-priorité)
2026-03-05 18:22:31 +00:00
29. [Features Exclues et Raisons Éthiques](#29-features-exclues-et-raisons-éthiques)
30. [Algorithme de Découverte Éthique](#30-algorithme-de-découverte-éthique)
P0: stabilisation backend/chat/stream + nouvelle base migrations v1 Backend Go: - Remplacement complet des anciennes migrations par la base V1 alignée sur ORIGIN. - Durcissement global du parsing JSON (BindAndValidateJSON + RespondWithAppError). - Sécurisation de config.go, CORS, statuts de santé et monitoring. - Implémentation des transactions P0 (RBAC, duplication de playlists, social toggles). - Ajout d’un job worker structuré (emails, analytics, thumbnails) + tests associés. - Nouvelle doc backend : AUDIT_CONFIG, BACKEND_CONFIG, AUTH_PASSWORD_RESET, JOB_WORKER_*. Chat server (Rust): - Refonte du pipeline JWT + sécurité, audit et rate limiting avancé. - Implémentation complète du cycle de message (read receipts, delivered, edit/delete, typing). - Nettoyage des panics, gestion d’erreurs robuste, logs structurés. - Migrations chat alignées sur le schéma UUID et nouvelles features. Stream server (Rust): - Refonte du moteur de streaming (encoding pipeline + HLS) et des modules core. - Transactions P0 pour les jobs et segments, garanties d’atomicité. - Documentation détaillée de la pipeline (AUDIT_STREAM_*, DESIGN_STREAM_PIPELINE, TRANSACTIONS_P0_IMPLEMENTATION). Documentation & audits: - TRIAGE.md et AUDIT_STABILITY.md à jour avec l’état réel des 3 services. - Cartographie complète des migrations et des transactions (DB_MIGRATIONS_*, DB_TRANSACTION_PLAN, AUDIT_DB_TRANSACTIONS, TRANSACTION_TESTS_PHASE3). - Scripts de reset et de cleanup pour la lab DB et la V1. Ce commit fige l’ensemble du travail de stabilisation P0 (UUID, backend, chat et stream) avant les phases suivantes (Coherence Guardian, WS hardening, etc.).
2025-12-06 10:14:38 +00:00
## 🔒 RÈGLES IMMUABLES
2026-03-05 18:22:31 +00:00
1. **Chaque feature DOIT avoir un ID unique** — les IDs supprimés (F456-F470, F491-F500, F536-F550) ne sont pas réattribués
P0: stabilisation backend/chat/stream + nouvelle base migrations v1 Backend Go: - Remplacement complet des anciennes migrations par la base V1 alignée sur ORIGIN. - Durcissement global du parsing JSON (BindAndValidateJSON + RespondWithAppError). - Sécurisation de config.go, CORS, statuts de santé et monitoring. - Implémentation des transactions P0 (RBAC, duplication de playlists, social toggles). - Ajout d’un job worker structuré (emails, analytics, thumbnails) + tests associés. - Nouvelle doc backend : AUDIT_CONFIG, BACKEND_CONFIG, AUTH_PASSWORD_RESET, JOB_WORKER_*. Chat server (Rust): - Refonte du pipeline JWT + sécurité, audit et rate limiting avancé. - Implémentation complète du cycle de message (read receipts, delivered, edit/delete, typing). - Nettoyage des panics, gestion d’erreurs robuste, logs structurés. - Migrations chat alignées sur le schéma UUID et nouvelles features. Stream server (Rust): - Refonte du moteur de streaming (encoding pipeline + HLS) et des modules core. - Transactions P0 pour les jobs et segments, garanties d’atomicité. - Documentation détaillée de la pipeline (AUDIT_STREAM_*, DESIGN_STREAM_PIPELINE, TRANSACTIONS_P0_IMPLEMENTATION). Documentation & audits: - TRIAGE.md et AUDIT_STABILITY.md à jour avec l’état réel des 3 services. - Cartographie complète des migrations et des transactions (DB_MIGRATIONS_*, DB_TRANSACTION_PLAN, AUDIT_DB_TRANSACTIONS, TRANSACTION_TESTS_PHASE3). - Scripts de reset et de cleanup pour la lab DB et la V1. Ce commit fige l’ensemble du travail de stabilisation P0 (UUID, backend, chat et stream) avant les phases suivantes (Coherence Guardian, WS hardening, etc.).
2025-12-06 10:14:38 +00:00
2. **Les dépendances sont STRICTES** - une feature ne peut être implémentée si ses dépendances ne sont pas complétées
3. **Les critères d'acceptation sont CONTRACTUELS** - tous doivent être validés pour considérer la feature complète
4. **La complexité est FIXE** - pas de négociation, basée sur expérience collective
5. **Les estimations de temps sont ENGAGEANTES** - buffer inclus, pas d'ajustement sauf cas exceptionnel
6. **Les tests sont OBLIGATOIRES** - pas de feature sans tests unit + integration minimum
7. **Pas de feature creep** - nouvelles features = nouveau doc, nouvelle version
8. **Priorité P0 = BLOQUANT** - toute autre feature en dépend
9. **Priorité P4 = OPTIONNEL** - peut être déprioritisée si nécessaire
10. **Phase assignment est IMMUTABLE** - pas de déplacement de features entre phases
2026-03-05 18:22:31 +00:00
11. **Alignement éthique OBLIGATOIRE** — chaque feature doit servir les principes fondateurs du projet
P0: stabilisation backend/chat/stream + nouvelle base migrations v1 Backend Go: - Remplacement complet des anciennes migrations par la base V1 alignée sur ORIGIN. - Durcissement global du parsing JSON (BindAndValidateJSON + RespondWithAppError). - Sécurisation de config.go, CORS, statuts de santé et monitoring. - Implémentation des transactions P0 (RBAC, duplication de playlists, social toggles). - Ajout d’un job worker structuré (emails, analytics, thumbnails) + tests associés. - Nouvelle doc backend : AUDIT_CONFIG, BACKEND_CONFIG, AUTH_PASSWORD_RESET, JOB_WORKER_*. Chat server (Rust): - Refonte du pipeline JWT + sécurité, audit et rate limiting avancé. - Implémentation complète du cycle de message (read receipts, delivered, edit/delete, typing). - Nettoyage des panics, gestion d’erreurs robuste, logs structurés. - Migrations chat alignées sur le schéma UUID et nouvelles features. Stream server (Rust): - Refonte du moteur de streaming (encoding pipeline + HLS) et des modules core. - Transactions P0 pour les jobs et segments, garanties d’atomicité. - Documentation détaillée de la pipeline (AUDIT_STREAM_*, DESIGN_STREAM_PIPELINE, TRANSACTIONS_P0_IMPLEMENTATION). Documentation & audits: - TRIAGE.md et AUDIT_STABILITY.md à jour avec l’état réel des 3 services. - Cartographie complète des migrations et des transactions (DB_MIGRATIONS_*, DB_TRANSACTION_PLAN, AUDIT_DB_TRANSACTIONS, TRANSACTION_TESTS_PHASE3). - Scripts de reset et de cleanup pour la lab DB et la V1. Ce commit fige l’ensemble du travail de stabilisation P0 (UUID, backend, chat et stream) avant les phases suivantes (Coherence Guardian, WS hardening, etc.).
2025-12-06 10:14:38 +00:00
## 1. SYSTÈME DE CODIFICATION
### 1.1 Format d'Identifiant Feature
```
F{NNN}
```
- **F**: Prefix Feature
- **{NNN}**: Numéro séquentiel (001-600)
**Exemples**: F001, F042, F600
### 1.2 Échelle de Complexité
| Niveau | Description | Temps moyen | Exemple |
|--------|-------------|-------------|---------|
| **1** | Trivial | 2-4h | Ajouter champ simple DB |
| **2** | Simple | 4-8h | CRUD endpoint basique |
| **3** | Moyen | 1-2 jours | Feature avec logic business |
| **4** | Complexe | 3-5 jours | Integration externe, algo complexe |
2026-03-05 18:22:31 +00:00
| **5** | Très complexe | 5-10 jours | Système complet, temps réel, intégration multi-service |
P0: stabilisation backend/chat/stream + nouvelle base migrations v1 Backend Go: - Remplacement complet des anciennes migrations par la base V1 alignée sur ORIGIN. - Durcissement global du parsing JSON (BindAndValidateJSON + RespondWithAppError). - Sécurisation de config.go, CORS, statuts de santé et monitoring. - Implémentation des transactions P0 (RBAC, duplication de playlists, social toggles). - Ajout d’un job worker structuré (emails, analytics, thumbnails) + tests associés. - Nouvelle doc backend : AUDIT_CONFIG, BACKEND_CONFIG, AUTH_PASSWORD_RESET, JOB_WORKER_*. Chat server (Rust): - Refonte du pipeline JWT + sécurité, audit et rate limiting avancé. - Implémentation complète du cycle de message (read receipts, delivered, edit/delete, typing). - Nettoyage des panics, gestion d’erreurs robuste, logs structurés. - Migrations chat alignées sur le schéma UUID et nouvelles features. Stream server (Rust): - Refonte du moteur de streaming (encoding pipeline + HLS) et des modules core. - Transactions P0 pour les jobs et segments, garanties d’atomicité. - Documentation détaillée de la pipeline (AUDIT_STREAM_*, DESIGN_STREAM_PIPELINE, TRANSACTIONS_P0_IMPLEMENTATION). Documentation & audits: - TRIAGE.md et AUDIT_STABILITY.md à jour avec l’état réel des 3 services. - Cartographie complète des migrations et des transactions (DB_MIGRATIONS_*, DB_TRANSACTION_PLAN, AUDIT_DB_TRANSACTIONS, TRANSACTION_TESTS_PHASE3). - Scripts de reset et de cleanup pour la lab DB et la V1. Ce commit fige l’ensemble du travail de stabilisation P0 (UUID, backend, chat et stream) avant les phases suivantes (Coherence Guardian, WS hardening, etc.).
2025-12-06 10:14:38 +00:00
### 1.3 Échelle de Priorité
| Code | Nom | Description |
|------|-----|-------------|
| **P0** | Critical | Bloquant - doit être fait en premier |
| **P1** | High | Haute priorité - features core |
| **P2** | Medium | Priorité moyenne - features importantes |
| **P3** | Low | Basse priorité - nice to have |
| **P4** | Optional | Optionnel - peut être skippé |
### 1.4 Template Feature
```markdown
## F{NNN}: {Nom de la Feature}
**Module**: {Module X}
**Phase**: {Phase N}
**Priorité**: {P0-P4}
**Complexité**: {1-5}/5
**Temps estimé**: {X}h
**Dépendances**: {F000, F000}
### Description
{Description détaillée de la feature, son objectif, et son contexte}
### User Stories
- **En tant que** {rôle}
- **Je veux** {action}
- **Afin de** {bénéfice}
### Spécifications Techniques
- **Backend**: {Détails implémentation backend}
- **Frontend**: {Détails implémentation frontend}
- **Database**: {Tables/colonnes affectées}
- **APIs**: {Endpoints créés/modifiés}
### Tests Requis
- [ ] Unit tests: {description}
- [ ] Integration tests: {description}
- [ ] E2E tests (optionnel): {description}
### Critères d'Acceptation
- [ ] {Critère 1}
- [ ] {Critère 2}
- [ ] {Critère N}
### Notes d'Implémentation
{Warnings, gotchas, best practices}
```
## 2. MODULE 1: AUTHENTIFICATION & SÉCURITÉ
**Total Features**: 30 (F001-F030)
**Phase**: Phase 1 (MVP)
**Priorité Moyenne**: P0-P1
---
### F001: Inscription Email/Mot de Passe
**Module**: Auth & Security
**Phase**: Phase 1
**Priorité**: P0
**Complexité**: 3/5
**Temps estimé**: 16h
**Dépendances**: Aucune
#### Description
Permettre aux utilisateurs de créer un compte avec email et mot de passe. Inclut validation email (format), validation mot de passe (force minimale), hachage sécurisé (bcrypt), et génération JWT.
#### User Stories
- **En tant que** visiteur
- **Je veux** créer un compte avec mon email
- **Afin de** accéder à la plateforme
#### Spécifications Techniques
- **Backend**:
- Endpoint POST `/api/v1/auth/register`
- Validation: email format RFC 5322, password min 12 chars
- Hachage: bcrypt cost 12
- Génération JWT (15min) + refresh token (30 jours)
- **Frontend**:
- Form avec email, password, password confirmation
- Validation côté client (Zod schema)
- Affichage force mot de passe
- **Database**:
- Table `users` (id, email, password_hash, created_at, updated_at)
- Index unique sur `email`
#### Tests Requis
- [ ] Unit test: Validation email valide/invalide
- [ ] Unit test: Validation password force
- [ ] Unit test: Hachage bcrypt
- [ ] Integration test: POST /auth/register success
- [ ] Integration test: POST /auth/register email duplicate
- [ ] E2E test: User registration flow complet
#### Critères d'Acceptation
- [ ] Email valide requis (RFC 5322)
- [ ] Password >= 12 caractères
- [ ] Password contient majuscule, minuscule, chiffre, caractère spécial
- [ ] Email unique dans la base
- [ ] Password haché avec bcrypt cost 12
- [ ] JWT généré avec expiration 15min
- [ ] Refresh token généré avec expiration 30 jours
- [ ] Response contient user_id, email, tokens
- [ ] Error 400 si validation échoue
- [ ] Error 409 si email existe déjà
#### Notes d'Implémentation
⚠️ **JAMAIS** stocker le mot de passe en clair
⚠️ Rate limiting: 5 tentatives par IP par heure
💡 Considérer email verification (F002) pour production
---
### F002: Validation Email après Inscription
**Module**: Auth & Security
**Phase**: Phase 1
**Priorité**: P1
**Complexité**: 3/5
**Temps estimé**: 12h
**Dépendances**: F001
#### Description
Envoyer un email de confirmation avec lien unique après inscription. Vérifier le lien pour activer le compte. Compte non-vérifié a accès limité.
#### User Stories
- **En tant que** nouvel utilisateur
- **Je veux** recevoir un email de confirmation
- **Afin de** prouver que l'email est valide
#### Spécifications Techniques
- **Backend**:
- Génération token vérification (UUID v4, expiration 24h)
- Table `email_verification_tokens` (token, user_id, expires_at)
- Endpoint GET `/api/v1/auth/verify-email/{token}`
- Envoi email via SendGrid
- **Frontend**:
- Page verification avec message succès/erreur
- Redirect après vérification réussie
- **Database**:
- Colonne `users.is_verified` (boolean, default false)
- Table `email_verification_tokens`
#### Tests Requis
- [ ] Unit test: Génération token unique
- [ ] Unit test: Token expiration
- [ ] Integration test: Envoi email successful
- [ ] Integration test: Verification token valid
- [ ] Integration test: Verification token expired
- [ ] Integration test: Verification token invalid
#### Critères d'Acceptation
- [ ] Token généré immédiatement après inscription
- [ ] Email envoyé dans les 30 secondes
- [ ] Token valide pendant 24 heures
- [ ] Token expire après utilisation
- [ ] User.is_verified = true après vérification
- [ ] Redirection vers dashboard après vérification
- [ ] Message d'erreur si token expiré/invalide
- [ ] Lien "Renvoyer email" disponible
#### Notes d'Implémentation
💡 Template email professionnel avec branding
💡 Queue background pour envoi emails (RabbitMQ)
⚠️ Rate limiting: 3 renvois maximum par utilisateur
---
### F003: Connexion Email/Mot de Passe
**Module**: Auth & Security
**Phase**: Phase 1
**Priorité**: P0
**Complexité**: 2/5
**Temps estimé**: 8h
**Dépendances**: F001
#### Description
Permettre aux utilisateurs de se connecter avec email et mot de passe. Vérifier les credentials, générer JWT et refresh token, retourner user profile.
#### User Stories
- **En tant que** utilisateur enregistré
- **Je veux** me connecter avec mes identifiants
- **Afin d** accéder à mon compte
#### Spécifications Techniques
- **Backend**:
- Endpoint POST `/api/v1/auth/login`
- Body: `{email, password}`
- Vérification bcrypt
- Génération JWT (15min) + refresh token (30 jours)
- Update `users.last_login_at`
- **Frontend**:
- Form login (email, password)
- Checkbox "Remember me" (extend refresh token à 90 jours)
- Lien "Forgot password"
- **Database**:
- Lecture `users` table
- Colonne `last_login_at` timestamp
#### Tests Requis
- [ ] Unit test: Validation credentials valides
- [ ] Unit test: Validation credentials invalides
- [ ] Integration test: POST /auth/login success
- [ ] Integration test: POST /auth/login invalid email
- [ ] Integration test: POST /auth/login invalid password
- [ ] E2E test: Login flow complet
#### Critères d'Acceptation
- [ ] Email et password requis
- [ ] Vérification case-insensitive pour email
- [ ] Password vérifié avec bcrypt.compare()
- [ ] JWT généré avec user_id, email, roles
- [ ] Refresh token stocké en DB (table `refresh_tokens`)
- [ ] Remember me extend refresh token à 90 jours
- [ ] last_login_at updated
- [ ] Response contient user profile + tokens
- [ ] Error 401 si credentials invalides
- [ ] Rate limiting: 5 tentatives par email par 15min
#### Notes d'Implémentation
⚠️ Account lockout après 10 tentatives échouées (1h)
💡 Log toutes les tentatives connexion (audit trail)
💡 Notification email si connexion depuis nouvel appareil
---
### F004: Connexion OAuth Google
**Module**: Auth & Security
**Phase**: Phase 1
**Priorité**: P1
**Complexité**: 4/5
**Temps estimé**: 16h
**Dépendances**: F001, F003
#### Description
Permettre connexion via Google OAuth2. Créer compte automatiquement si premier login. Associer compte Google à compte existant si email match.
#### User Stories
- **En tant que** visiteur
- **Je veux** me connecter avec mon compte Google
- **Afin de** éviter de créer un nouveau mot de passe
#### Spécifications Techniques
- **Backend**:
- Endpoint GET `/api/v1/auth/google` (initie OAuth flow)
- Endpoint GET `/api/v1/auth/google/callback` (callback OAuth)
- Library: `golang.org/x/oauth2`
- Scopes: `email`, `profile`
- Table `federated_identities` (provider, provider_user_id, user_id)
- **Frontend**:
- Bouton "Sign in with Google" (branding guidelines)
- Popup OAuth ou redirect
- **Database**:
- Table `federated_identities` nouvelle
- Colonne `users.google_id` (optionnel)
#### Tests Requis
- [ ] Unit test: OAuth token exchange
- [ ] Integration test: OAuth flow success (mock)
- [ ] Integration test: OAuth flow premier login (auto-création compte)
- [ ] Integration test: OAuth flow login existant
- [ ] E2E test: Google OAuth complet (sandbox)
#### Critères d'Acceptation
- [ ] Bouton Google visible sur page login
- [ ] Redirect vers Google OAuth consent screen
- [ ] After consent, callback reçoit authorization code
- [ ] Exchange code pour access token
- [ ] Fetch user info de Google API
- [ ] Si email existe, associer compte
- [ ] Si email n'existe pas, créer compte auto
- [ ] Générer JWT + refresh token
- [ ] Redirect vers dashboard
- [ ] Error handling si OAuth échoue
#### Notes d'Implémentation
📚 Google OAuth2 documentation: https://developers.google.com/identity
⚠️ Google Client ID et Secret en variables d'environnement
💡 Refresh token Google stocké pour futures API calls
💡 Scope `openid` pour ID token
---
### F005: Connexion OAuth GitHub
**Module**: Auth & Security
**Phase**: Phase 1
**Priorité**: P1
**Complexité**: 4/5
**Temps estimé**: 14h
**Dépendances**: F001, F003, F004
#### Description
Permettre connexion via GitHub OAuth. Similaire à Google OAuth mais avec spécificités GitHub (username au lieu de display name, possibilité email privé).
#### User Stories
- **En tant que** développeur
- **Je veux** me connecter avec mon compte GitHub
- **Afin d'** utiliser mes identifiants existants
#### Spécifications Techniques
- **Backend**:
- Endpoint GET `/api/v1/auth/github`
- Endpoint GET `/api/v1/auth/github/callback`
- Scopes: `user:email`
- GitHub API: `GET /user`, `GET /user/emails`
- **Frontend**:
- Bouton "Sign in with GitHub" (branding)
- **Database**:
- `federated_identities` table (provider=github)
#### Tests Requis
- [ ] Unit test: GitHub OAuth token exchange
- [ ] Integration test: GitHub OAuth success
- [ ] Integration test: GitHub email privé (fallback)
- [ ] E2E test: GitHub OAuth complet
#### Critères d'Acceptation
- [ ] Bouton GitHub visible
- [ ] OAuth flow similaire à Google
- [ ] Gestion email privé GitHub (use primary verified email)
- [ ] Gestion multiple emails GitHub (use primary)
- [ ] Avatar GitHub imported
- [ ] Username GitHub saved
- [ ] Profile URL GitHub saved
- [ ] Auto-création compte si nouvel email
#### Notes d'Implémentation
📚 GitHub OAuth: https://docs.github.com/en/developers/apps/
⚠️ GitHub rate limits: 5000 requests/hour (authenticated)
💡 Fetch additional profile data (bio, location, company)
---
### F006: Connexion OAuth Discord
**Module**: Auth & Security
**Phase**: Phase 2
**Priorité**: P2
**Complexité**: 4/5
**Temps estimé**: 14h
**Dépendances**: F001, F003, F004
#### Description
Permettre connexion via Discord OAuth. Importer avatar Discord, discriminator, et éventuellement serveurs Discord de l'utilisateur.
#### User Stories
- **En tant que** utilisateur Discord
- **Je veux** me connecter avec mon compte Discord
- **Afin de** partager ma communauté Discord
#### Spécifications Techniques
- **Backend**:
- Endpoint GET `/api/v1/auth/discord`
- Endpoint GET `/api/v1/auth/discord/callback`
- Scopes: `identify`, `email`, `guilds` (optionnel)
- Discord API: `GET /users/@me`
- **Frontend**:
- Bouton "Sign in with Discord" (branding)
- **Database**:
- `federated_identities` (provider=discord)
- Colonne `users.discord_discriminator`
#### Tests Requis
- [ ] Integration test: Discord OAuth success
- [ ] Integration test: Discord avatar import
- [ ] E2E test: Discord OAuth complet
#### Critères d'Acceptation
- [ ] OAuth flow Discord fonctionnel
- [ ] Avatar Discord imported (high res)
- [ ] Username + discriminator saved
- [ ] Email Discord used
- [ ] Guilds optionnellement importées
#### Notes d'Implémentation
📚 Discord OAuth: https://discord.com/developers/docs/topics/oauth2
💡 Discord avatar URL: `https://cdn.discordapp.com/avatars/{user_id}/{avatar_hash}.png`
---
### F007: Connexion OAuth Spotify
**Module**: Auth & Security
**Phase**: Phase 2
**Priorité**: P2
**Complexité**: 4/5
**Temps estimé**: 16h
**Dépendances**: F001, F003, F004
#### Description
Permettre connexion via Spotify OAuth. Importer playlists Spotify, top artistes, et historique d'écoute pour recommandations.
#### User Stories
- **En tant que** mélomane
- **Je veux** connecter mon compte Spotify
- **Afin d'** importer mes goûts musicaux
#### Spécifications Techniques
- **Backend**:
- Endpoint GET `/api/v1/auth/spotify`
- Endpoint GET `/api/v1/auth/spotify/callback`
- Scopes: `user-read-email`, `user-top-read`, `playlist-read-private`
- Spotify API: `GET /v1/me`
- **Frontend**:
- Bouton "Connect with Spotify" (branding)
- **Database**:
- Table `spotify_imports` (user_id, top_artists, top_tracks, imported_at)
#### Tests Requis
- [ ] Integration test: Spotify OAuth success
- [ ] Integration test: Import playlists Spotify
- [ ] E2E test: Spotify sync complet
#### Critères d'Acceptation
- [ ] OAuth Spotify fonctionnel
- [ ] Top artistes importés (top 50)
- [ ] Top tracks importés (top 50)
- [ ] Playlists importées (metadata only)
- [ ] Refresh token Spotify stocké pour sync future
#### Notes d'Implémentation
📚 Spotify Web API: https://developer.spotify.com/documentation/web-api/
💡 Sync périodique automatique (hebdomadaire)
⚠️ Rate limit Spotify: respecter les quotas
---
### F008: Remember Me (Session Persistante)
**Module**: Auth & Security
**Phase**: Phase 1
**Priorité**: P1
**Complexité**: 2/5
**Temps estimé**: 6h
**Dépendances**: F003
#### Description
Checkbox "Remember me" sur login qui étend la durée du refresh token de 30 à 90 jours. Session persiste même après fermeture du navigateur.
#### User Stories
- **En tant que** utilisateur fréquent
- **Je veux** rester connecté longtemps
- **Afin de** ne pas me reconnecter chaque jour
#### Spécifications Techniques
- **Backend**:
- Modifier endpoint POST `/api/v1/auth/login`
- Si `remember_me: true`, refresh token TTL = 90 jours
- Sinon, refresh token TTL = 30 jours
- **Frontend**:
- Checkbox "Remember me" sur form login
- Storage refresh token dans httpOnly cookie (secure, sameSite)
- **Database**:
- Colonne `refresh_tokens.expires_at` ajustée
#### Tests Requis
- [ ] Integration test: Login avec remember_me=true (90 jours)
- [ ] Integration test: Login avec remember_me=false (30 jours)
- [ ] E2E test: Session persiste après fermeture navigateur
#### Critères d'Acceptation
- [ ] Checkbox visible sur login
- [ ] Si coché, refresh token expire dans 90 jours
- [ ] Si décoché, refresh token expire dans 30 jours
- [ ] Cookie httpOnly, secure, sameSite=strict
- [ ] Session persiste après fermeture navigateur
#### Notes d'Implémentation
🔒 httpOnly cookie = pas accessible via JavaScript (XSS protection)
🔒 secure flag = HTTPS only
🔒 sameSite=strict = CSRF protection
---
### F009: Logout (Déconnexion)
**Module**: Auth & Security
**Phase**: Phase 1
**Priorité**: P0
**Complexité**: 1/5
**Temps estimé**: 4h
**Dépendances**: F003
#### Description
Permettre à l'utilisateur de se déconnecter. Invalider le refresh token côté serveur, supprimer les cookies côté client.
#### User Stories
- **En tant que** utilisateur connecté
- **Je veux** me déconnecter
- **Afin de** sécuriser mon compte
#### Spécifications Techniques
- **Backend**:
- Endpoint POST `/api/v1/auth/logout`
- Supprimer refresh token de table `refresh_tokens`
- Ajouter JWT à blacklist Redis (TTL = remaining token lifetime)
- **Frontend**:
- Bouton "Logout" dans menu utilisateur
- Clear cookies/localStorage
- Redirect vers home page
- **Database**:
- DELETE from `refresh_tokens` WHERE token = ...
#### Tests Requis
- [ ] Integration test: Logout success
- [ ] Integration test: Token invalidé après logout
- [ ] E2E test: Logout flow + impossibilité accès protected routes
#### Critères d'Acceptation
- [ ] Bouton logout accessible
- [ ] Refresh token supprimé de DB
- [ ] JWT ajouté à blacklist Redis
- [ ] Cookies cleared côté client
- [ ] Redirect vers home
- [ ] Tentative utilisation ancien token = 401
#### Notes d'Implémentation
💡 JWT blacklist dans Redis avec TTL = expiration JWT
⚠️ Si pas de blacklist, JWT reste valide jusqu'à expiration (15min max)
---
### F010: Logout All Devices
**Module**: Auth & Security
**Phase**: Phase 1
**Priorité**: P2
**Complexité**: 2/5
**Temps estimé**: 6h
**Dépendances**: F009
#### Description
Permettre de se déconnecter de tous les appareils simultanément. Invalider tous les refresh tokens de l'utilisateur.
#### User Stories
- **En tant que** utilisateur soucieux de sécurité
- **Je veux** me déconnecter de tous mes appareils
- **Afin de** révoquer tous les accès
#### Spécifications Techniques
- **Backend**:
- Endpoint POST `/api/v1/auth/logout-all`
- DELETE all refresh_tokens WHERE user_id = ...
- Incrémenter `users.token_version` (invalide tous les JWT émis avant)
- **Frontend**:
- Bouton "Logout all devices" dans settings
- Confirmation modal
- **Database**:
- Colonne `users.token_version` (integer, default 0)
- DELETE FROM `refresh_tokens` WHERE user_id = ...
#### Tests Requis
- [ ] Integration test: Logout all devices
- [ ] Integration test: Tous tokens invalidés
- [ ] E2E test: Session terminée sur multiple devices (simulation)
#### Critères d'Acceptation
- [ ] Tous refresh tokens user supprimés
- [ ] Token version incrémentée
- [ ] JWTs anciens rejetés (vérif token_version)
- [ ] Confirmation required
- [ ] Utilisateur reste connecté sur device actuel
#### Notes d'Implémentation
💡 JWT contient `token_version` claim
💡 Middleware vérifie JWT.token_version == User.token_version
⚠️ User reste connecté sur device actuel (nouveau JWT émis)
---
### F011: Réinitialisation Mot de Passe (Request)
**Module**: Auth & Security
**Phase**: Phase 1
**Priorité**: P1
**Complexité**: 3/5
**Temps estimé**: 10h
**Dépendances**: F001, F003
#### Description
Formulaire "Forgot password" où l'utilisateur entre son email. Un email avec lien de réinitialisation est envoyé. Token expire après 1 heure.
#### User Stories
- **En tant que** utilisateur ayant oublié son mot de passe
- **Je veux** recevoir un email de réinitialisation
- **Afin de** retrouver l'accès à mon compte
#### Spécifications Techniques
- **Backend**:
- Endpoint POST `/api/v1/auth/password/reset-request`
- Body: `{email}`
- Génération token reset (UUID v4, expiration 1h)
- Table `password_reset_tokens`
- Envoi email via SendGrid
- **Frontend**:
- Page "Forgot password" avec form email
- Message "Check your email" après submit
- **Database**:
- Table `password_reset_tokens` (token, user_id, expires_at, used)
#### Tests Requis
- [ ] Unit test: Token generation unique
- [ ] Integration test: Reset request email existant
- [ ] Integration test: Reset request email inexistant (no error leak)
- [ ] Integration test: Email envoyé
- [ ] E2E test: Reset flow complet
#### Critères d'Acceptation
- [ ] Form accepte email
- [ ] Si email existe, token généré et email envoyé
- [ ] Si email n'existe pas, message identique (security)
- [ ] Email contient lien avec token
- [ ] Token valide 1 heure
- [ ] Token single-use
- [ ] Rate limiting: 3 requests par email par heure
#### Notes d'Implémentation
🔒 Ne pas révéler si email existe (security)
💡 Email template professionnel
⚠️ Invalider anciens tokens reset au nouveau request
---
### F012: Réinitialisation Mot de Passe (Confirm)
**Module**: Auth & Security
**Phase**: Phase 1
**Priorité**: P1
**Complexité**: 3/5
**Temps estimé**: 8h
**Dépendances**: F011
#### Description
Page de réinitialisation avec token dans URL. L'utilisateur entre un nouveau mot de passe. Le token est vérifié et le password mis à jour.
#### User Stories
- **En tant que** utilisateur avec lien reset
- **Je veux** définir un nouveau mot de passe
- **Afin de** accéder à nouveau à mon compte
#### Spécifications Techniques
- **Backend**:
- Endpoint POST `/api/v1/auth/password/reset`
- Body: `{token, new_password}`
- Vérifier token validité (expiration, utilisé)
- Update `users.password_hash`
- Marquer token comme utilisé
- Invalider tous refresh tokens (logout all)
- **Frontend**:
- Page reset password avec form
- Validation password strength
- Confirmation password
- **Database**:
- UPDATE `users` SET password_hash = ...
- UPDATE `password_reset_tokens` SET used = true
#### Tests Requis
- [ ] Integration test: Reset password success
- [ ] Integration test: Token invalide
- [ ] Integration test: Token expiré
- [ ] Integration test: Token déjà utilisé
- [ ] E2E test: Reset password complet
#### Critères d'Acceptation
- [ ] Form valide nouveau password (>=12 chars, complexité)
- [ ] Token vérifié (non expiré, non utilisé)
- [ ] Password mis à jour avec bcrypt
- [ ] Token marqué utilisé
- [ ] Tous refresh tokens invalidés
- [ ] Email notification "Password changed"
- [ ] Redirect vers login après succès
- [ ] Erreurs claires si token invalide
#### Notes d'Implémentation
🔒 Logout all devices après reset (sécurité)
💡 Email confirmation password changed
⚠️ Password strength identical à F001
---
### F013: Changement Mot de Passe (Authentifié)
**Module**: Auth & Security
**Phase**: Phase 1
**Priorité**: P1
**Complexité**: 2/5
**Temps estimé**: 6h
**Dépendances**: F003
#### Description
Formulaire dans settings pour changer le mot de passe. Requiert l'ancien mot de passe pour valider l'identité.
#### User Stories
- **En tant que** utilisateur connecté
- **Je veux** changer mon mot de passe
- **Afin de** améliorer ma sécurité
#### Spécifications Techniques
- **Backend**:
- Endpoint PUT `/api/v1/auth/password/change`
- Body: `{old_password, new_password}`
- Auth required (JWT)
- Vérifier old_password avec bcrypt
- Update password_hash
- **Frontend**:
- Form dans settings: old password, new password, confirm
- Validation password strength
- **Database**:
- UPDATE `users` SET password_hash = ...
#### Tests Requis
- [ ] Integration test: Change password success
- [ ] Integration test: Old password incorrect
- [ ] Integration test: New password faible (rejected)
- [ ] E2E test: Change password flow
#### Critères d'Acceptation
- [ ] Form requiert old password
- [ ] Old password vérifié avec bcrypt
- [ ] New password >= 12 chars, complexité
- [ ] New password != old password
- [ ] Password updated avec bcrypt cost 12
- [ ] Email notification
- [ ] Error 401 si old password incorrect
- [ ] Success message visible
#### Notes d'Implémentation
🔒 Requiert old password (pas juste JWT)
💡 Optionnellement logout other devices
💡 Email confirmation change
---
### F014: Historique Mots de Passe
**Module**: Auth & Security
**Phase**: Phase 1
**Priorité**: P2
**Complexité**: 3/5
**Temps estimé**: 8h
**Dépendances**: F013
#### Description
Stocker historique des 5 derniers mots de passe hashés. Empêcher réutilisation d'un ancien mot de passe.
#### User Stories
- **En tant que** administrateur sécurité
- **Je veux** empêcher la réutilisation de mots de passe
- **Afin de** améliorer la sécurité
#### Spécifications Techniques
- **Backend**:
- Table `password_history` (user_id, password_hash, created_at)
- Lors du changement password, vérifier contre 5 derniers
- Si match, reject avec error explicite
- Après update, ajouter ancien password à historique
- Limiter à 5 entrées par user (delete oldest)
- **Frontend**:
- Message erreur si password déjà utilisé
- **Database**:
- Table `password_history` nouvelle
#### Tests Requis
- [ ] Integration test: Password réutilisé rejeté
- [ ] Integration test: Password nouveau accepté
- [ ] Integration test: Historique limité à 5
#### Critères d'Acceptation
- [ ] Historique stocke 5 derniers passwords
- [ ] Nouveau password comparé contre historique
- [ ] Si match, error "Password already used"
- [ ] Ancien password ajouté à historique après change
- [ ] Automatiquement prune entrées > 5
#### Notes d'Implémentation
💡 Configurable: nombre passwords historique (env var)
⚠️ Ne compare que hash, pas plaintext
🔒 Password history hashed avec bcrypt également
---
### F015: Validation Force Mot de Passe
**Module**: Auth & Security
**Phase**: Phase 1
**Priorité**: P1
**Complexité**: 2/5
**Temps estimé**: 6h
**Dépendances**: F001
#### Description
Afficher indicateur visuel de force du mot de passe en temps réel. Critères: longueur, majuscules, minuscules, chiffres, caractères spéciaux, mots courants.
#### User Stories
- **En tant que** utilisateur créant un compte
- **Je veux** voir si mon mot de passe est sécurisé
- **Afin de** créer un compte protégé
#### Spécifications Techniques
- **Backend**:
- Fonction validation password
- Critères: min 12 chars, 1 maj, 1 min, 1 chiffre, 1 spécial
- Blacklist mots courants (top 10k passwords)
- **Frontend**:
- Barre de progression (Weak, Medium, Strong, Very Strong)
- Couleurs: rouge, orange, jaune, vert
- Liste critères avec checkmarks
- **Database**:
- Aucune (validation côté client + serveur)
#### Tests Requis
- [ ] Unit test: Password weak rejeté
- [ ] Unit test: Password medium accepté
- [ ] Unit test: Password strong accepté
- [ ] Unit test: Blacklist common passwords
- [ ] E2E test: Indicateur visuel fonctionne
#### Critères d'Acceptation
- [ ] Indicateur visible en temps réel
- [ ] Weak: < 12 chars ou pas de complexité
- [ ] Medium: 12 chars + 2 critères
- [ ] Strong: 12 chars + 3 critères
- [ ] Very Strong: 15+ chars + 4 critères
- [ ] Blacklist top 10k passwords (e.g. "password123")
- [ ] Validation côté client et serveur (security)
#### Notes d'Implémentation
💡 Library: zxcvbn (password strength estimation)
📚 Common passwords list: https://github.com/danielmiessler/SecLists
⚠️ Validation serveur toujours authoritative
---
*[Les features F016-F030 suivraient le même format détaillé]*
---
## RÉSUMÉ MODULE 1 (Features F001-F030)
| ID | Feature | Phase | Priorité | Complexité | Temps |
|----|---------|-------|----------|------------|-------|
| F001 | Inscription email/password | P1 | P0 | 3/5 | 16h |
| F002 | Validation email | P1 | P1 | 3/5 | 12h |
| F003 | Connexion email/password | P1 | P0 | 2/5 | 8h |
| F004 | OAuth Google | P1 | P1 | 4/5 | 16h |
| F005 | OAuth GitHub | P1 | P1 | 4/5 | 14h |
| F006 | OAuth Discord | P2 | P2 | 4/5 | 14h |
| F007 | OAuth Spotify | P2 | P2 | 4/5 | 16h |
| F008 | Remember Me | P1 | P1 | 2/5 | 6h |
| F009 | Logout | P1 | P0 | 1/5 | 4h |
| F010 | Logout all devices | P1 | P2 | 2/5 | 6h |
| F011 | Reset password request | P1 | P1 | 3/5 | 10h |
| F012 | Reset password confirm | P1 | P1 | 3/5 | 8h |
| F013 | Change password | P1 | P1 | 2/5 | 6h |
| F014 | Password history | P1 | P2 | 3/5 | 8h |
| F015 | Password strength indicator | P1 | P1 | 2/5 | 6h |
| F016 | 2FA TOTP setup | P2 | P1 | 4/5 | 16h |
| F017 | 2FA TOTP verification | P2 | P1 | 3/5 | 10h |
| F018 | 2FA backup codes | P2 | P1 | 3/5 | 8h |
| F019 | 2FA SMS (optionnel) | P3 | P3 | 4/5 | 20h |
| F020 | Passkeys/WebAuthn | P3 | P2 | 5/5 | 24h |
| F021 | Session management | P2 | P2 | 3/5 | 12h |
| F022 | Login notification | P2 | P2 | 2/5 | 8h |
| F023 | Geolocation connexions | P3 | P3 | 3/5 | 12h |
| F024 | Login history | P2 | P2 | 2/5 | 6h |
| F025 | IP whitelisting | P4 | P4 | 3/5 | 12h |
| F026 | Rate limiting connexion | P1 | P1 | 2/5 | 8h |
| F027 | CAPTCHA anti-bot | P2 | P2 | 3/5 | 10h |
| F028 | Bruteforce detection | P2 | P1 | 4/5 | 16h |
| F029 | Account lockout | P2 | P1 | 3/5 | 10h |
| F030 | Security questions | P4 | P4 | 2/5 | 8h |
**Total Module 1**: 30 features, ~320 heures (~8 semaines pour 1 dev)
---
## 3. MODULE 2: PROFILS & UTILISATEURS
**Total Features**: 35 (F031-F065)
**Phase**: Phase 1-2
**Priorité Moyenne**: P1-P2
---
### F031: Créer/Éditer Profil Utilisateur
**Module**: Profiles & Users
**Phase**: Phase 1
**Priorité**: P0
**Complexité**: 2/5
**Temps estimé**: 10h
**Dépendances**: F001, F003
#### Description
Permettre à l'utilisateur de créer et éditer son profil: nom complet, username, bio, localisation, date de naissance, genre.
#### User Stories
- **En tant que** utilisateur connecté
- **Je veux** compléter mon profil
- **Afin de** personnaliser mon expérience
#### Spécifications Techniques
- **Backend**:
- Endpoint GET/PUT `/api/v1/users/{id}/profile`
- Auth required (JWT)
- Validation: username unique, longueur bio max 500 chars
- **Frontend**:
- Form profile avec champs: first_name, last_name, username, bio, location, birthdate, gender
- Validation côté client (Zod)
- **Database**:
- Colonnes `users`: first_name, last_name, username, bio, location, birthdate, gender
- Index unique sur `username`
#### Tests Requis
- [ ] Integration test: Update profile success
- [ ] Integration test: Username duplicate rejected
- [ ] E2E test: Profile form complet
#### Critères d'Acceptation
- [ ] Form editable
- [ ] Username unique (3-30 chars, alphanumeric + underscore)
- [ ] Bio max 500 chars
- [ ] Birthdate format YYYY-MM-DD
- [ ] Gender dropdown (Male, Female, Other, Prefer not to say)
- [ ] Save button avec feedback
- [ ] Success message après save
#### Notes d'Implémentation
💡 Username modifiable 1 fois par mois (colonne `username_changed_at`)
⚠️ Slug généré automatiquement depuis username (URL friendly)
---
### F032: Upload Avatar
**Module**: Profiles & Users
**Phase**: Phase 1
**Priorité**: P1
**Complexité**: 3/5
**Temps estimé**: 12h
**Dépendances**: F031
#### Description
Permettre upload d'une photo de profil (avatar). Validation format (JPEG, PNG), taille max 5MB. Resize automatique 200x200px. Stockage S3.
#### User Stories
- **En tant que** utilisateur
- **Je veux** ajouter ma photo de profil
- **Afin de** personnaliser mon compte
#### Spécifications Techniques
- **Backend**:
- Endpoint POST `/api/v1/users/{id}/avatar`
- Multipart form-data
- Validation: MIME type (image/jpeg, image/png), max 5MB
- Resize avec library (imagemagick/sharp)
- Upload S3 avec filename `avatars/{user_id}/{timestamp}.jpg`
- Update `users.avatar_url`
- **Frontend**:
- Input file avec preview
- Crop tool (optional)
- Progress bar upload
- **Database**:
- Colonne `users.avatar_url` (text)
#### Tests Requis
- [ ] Integration test: Upload avatar success
- [ ] Integration test: File trop large rejeté
- [ ] Integration test: Format invalide rejeté
- [ ] Integration test: Resize image
- [ ] E2E test: Avatar upload + preview
#### Critères d'Acceptation
- [ ] Formats acceptés: JPEG, PNG, WebP
- [ ] Taille max 5MB
- [ ] Image resized automatiquement 200x200px (square)
- [ ] Upload S3 avec URL publique
- [ ] Avatar_url updated dans DB
- [ ] Avatar visible immédiatement
- [ ] Ancien avatar supprimé de S3
#### Notes d'Implémentation
💡 CDN CloudFront pour distribution avatars
💡 Compression automatique avec quality 85%
⚠️ Scan antivirus avant upload (ClamAV)
---
### F033: Upload Bannière Profil
**Module**: Profiles & Users
**Phase**: Phase 2
**Priorité**: P2
**Complexité**: 3/5
**Temps estimé**: 10h
**Dépendances**: F032
#### Description
Permettre upload d'une bannière de profil (header image). Validation format, taille max 10MB. Resize 1500x500px. Stockage S3.
#### User Stories
- **En tant que** créateur
- **Je veux** ajouter une bannière à mon profil
- **Afin de** le rendre plus attractif
#### Spécifications Techniques
- **Backend**:
- Endpoint POST `/api/v1/users/{id}/banner`
- Similaire à F032 mais resize 1500x500px
- Upload S3 `banners/{user_id}/{timestamp}.jpg`
- **Frontend**:
- Input file avec preview large
- Crop tool (aspect ratio 3:1)
- **Database**:
- Colonne `users.banner_url` (text)
#### Tests Requis
- [ ] Integration test: Upload banner success
- [ ] Integration test: Resize banner
- [ ] E2E test: Banner upload + preview
#### Critères d'Acceptation
- [ ] Formats: JPEG, PNG, WebP
- [ ] Taille max 10MB
- [ ] Resize 1500x500px
- [ ] Upload S3 avec URL
- [ ] Banner visible sur profil
---
*[Les features F034-F065 suivraient le même format. Voici le résumé complet:]*
---
## RÉSUMÉ MODULE 2 (Features F031-F065)
| ID | Feature | Phase | Priorité | Complexité | Temps |
|----|---------|-------|----------|------------|-------|
| F031 | Créer/éditer profil | P1 | P0 | 2/5 | 10h |
| F032 | Upload avatar | P1 | P1 | 3/5 | 12h |
| F033 | Upload bannière | P2 | P2 | 3/5 | 10h |
| F034 | Username personnalisé | P1 | P1 | 2/5 | 6h |
| F035 | Bio/description | P1 | P1 | 1/5 | 4h |
| F036 | Localisation | P2 | P2 | 2/5 | 6h |
| F037 | Date de naissance | P2 | P2 | 1/5 | 4h |
| F038 | Genre | P2 | P2 | 1/5 | 4h |
| F039 | Langue préférée | P2 | P2 | 2/5 | 6h |
| F040 | Fuseau horaire | P2 | P2 | 2/5 | 6h |
| F041 | URL profil personnalisée | P2 | P2 | 3/5 | 10h |
| F042 | Profil public/privé | P2 | P2 | 2/5 | 8h |
| F043 | Email contact public | P2 | P3 | 1/5 | 4h |
| F044 | Liens réseaux sociaux | P2 | P2 | 2/5 | 8h |
| F045 | Badges/achievements display | P3 | P3 | 2/5 | 8h |
| F046 | Rôle User | P1 | P0 | 1/5 | 4h |
| F047 | Rôle Artist | P1 | P1 | 2/5 | 8h |
| F048 | Rôle Producer | P2 | P2 | 2/5 | 8h |
| F049 | Rôle Label | P3 | P2 | 2/5 | 8h |
| F050 | Rôle Formateur | P3 | P2 | 2/5 | 8h |
| F051 | Rôle Modérateur | P2 | P1 | 3/5 | 10h |
| F052 | Rôle Admin | P1 | P0 | 3/5 | 10h |
| F053 | Permissions granulaires | P2 | P1 | 4/5 | 16h |
| F054 | Badge vérifié | P3 | P2 | 3/5 | 12h |
| F055 | KYC vendeurs | P3 | P1 | 5/5 | 24h |
| F056 | Changer email | P2 | P2 | 3/5 | 10h |
| F057 | Changer username | P2 | P2 | 2/5 | 8h |
| F058 | Changer langue interface | P2 | P2 | 2/5 | 8h |
| F059 | Thème clair/sombre/auto | P2 | P2 | 3/5 | 12h |
| F060 | Notifications email ON/OFF | P2 | P2 | 2/5 | 6h |
| F061 | Notifications push ON/OFF | P3 | P2 | 2/5 | 6h |
| F062 | Notifications browser ON/OFF | P3 | P2 | 2/5 | 6h |
| F063 | Préférences confidentialité | P2 | P1 | 3/5 | 12h |
| F064 | Visibilité profil | P2 | P2 | 2/5 | 8h |
| F065 | Supprimer compte (GDPR) | P2 | P1 | 4/5 | 16h |
**Total Module 2**: 35 features, ~284 heures
---
## [NOTE: Structure Complète]
*Pour des raisons de longueur, je fournis ci-dessous la structure complète des 600 features avec leurs métriques principales. Les détails complets de chaque feature suivraient le format établi ci-dessus.*
---
## REGISTRE COMPLET DES 600 FEATURES
### Modules 3-24 (Summary Table)
2026-03-05 18:22:31 +00:00
| Module | ID Range | Features | Total Heures | Phase Principale | Statut |
|--------|----------|----------|--------------|------------------|--------|
| **M03: File Management** | F066-F105 | 40 | 420h | P1-P2 | ✅ Actif |
| **M04: Audio Streaming** | F106-F150 | 45 | 520h | P1-P3 | ✅ Actif |
| **M05: Chat & Messaging** | F151-F185 | 35 | 380h | P2-P3 | ✅ Actif |
| **M06: Social & Community** | F186-F225 | 40 | 450h | P2-P4 | ✅ Actif |
| **M07: Marketplace** | F226-F275 | 50 | 680h | P3-P4 | ✅ Actif |
| **M08: Education** | F276-F305 | 30 | 340h | P3-P5 | ✅ Actif |
| **M09: Hardware Mgmt** | F306-F330 | 25 | 220h | P4 | ✅ Actif |
| **M10: Cloud Storage** | F331-F350 | 20 | 260h | P4-P5 | ✅ Actif |
| **M11: Search & Discovery** | F351-F380 | 30 | 380h | P2-P5 | ✅ Actif |
| **M12: Analytics** | F381-F410 | 30 | 400h | P5-P6 | ✅ Actif |
| **M13: Administration** | F411-F435 | 25 | 320h | P4-P7 | ✅ Actif |
| **M14: UI/UX** | F436-F455 | 20 | 240h | P2-P7 | ✅ Actif |
| ~~**M15: AI & Advanced**~~ | ~~F456-F470~~ | ~~15~~ | ~~480h~~ | — | ❌ **SUPPRIMÉ** |
| **M16: Livestreaming** | F471-F480 | 10 | 320h | P4 | ✅ Actif |
| **M17: Collaboration RT** | F481-F490 | 10 | 360h | P4 | ✅ Actif |
| ~~**M18: Blockchain Web3**~~ | ~~F491-F500~~ | ~~10~~ | ~~400h~~ | — | ❌ **SUPPRIMÉ** |
| **M19: External Integrations** | F501-F520 | 20 | 360h | P5-P7 | ✅ Actif |
| **M20: Native Apps** | F521-F535 | 15 | 420h | P3-P7 | ✅ Actif |
| ~~**M21: Gamification**~~ | ~~F536-F550~~ | ~~15~~ | ~~280h~~ | — | ❌ **SUPPRIMÉ** |
| **M22: Notifications** | F551-F570 | 20 | 260h | P2-P6 | ✅ Actif |
| **M23: Security Advanced** | F571-F585 | 15 | 340h | P3-P7 | ✅ Actif |
| **M24: Developer API** | F586-F600 | 15 | 320h | P6-P7 | ✅ Actif |
**TOTAL ACTIF** : 560 features, ~7,430 heures
**SUPPRIMÉ** : 40 features (AI: 15, Web3: 10, Gamification: 15), ~1,160 heures
**TOTAL ORIGINAL** : 600 features, ~8,590 heures
P0: stabilisation backend/chat/stream + nouvelle base migrations v1 Backend Go: - Remplacement complet des anciennes migrations par la base V1 alignée sur ORIGIN. - Durcissement global du parsing JSON (BindAndValidateJSON + RespondWithAppError). - Sécurisation de config.go, CORS, statuts de santé et monitoring. - Implémentation des transactions P0 (RBAC, duplication de playlists, social toggles). - Ajout d’un job worker structuré (emails, analytics, thumbnails) + tests associés. - Nouvelle doc backend : AUDIT_CONFIG, BACKEND_CONFIG, AUTH_PASSWORD_RESET, JOB_WORKER_*. Chat server (Rust): - Refonte du pipeline JWT + sécurité, audit et rate limiting avancé. - Implémentation complète du cycle de message (read receipts, delivered, edit/delete, typing). - Nettoyage des panics, gestion d’erreurs robuste, logs structurés. - Migrations chat alignées sur le schéma UUID et nouvelles features. Stream server (Rust): - Refonte du moteur de streaming (encoding pipeline + HLS) et des modules core. - Transactions P0 pour les jobs et segments, garanties d’atomicité. - Documentation détaillée de la pipeline (AUDIT_STREAM_*, DESIGN_STREAM_PIPELINE, TRANSACTIONS_P0_IMPLEMENTATION). Documentation & audits: - TRIAGE.md et AUDIT_STABILITY.md à jour avec l’état réel des 3 services. - Cartographie complète des migrations et des transactions (DB_MIGRATIONS_*, DB_TRANSACTION_PLAN, AUDIT_DB_TRANSACTIONS, TRANSACTION_TESTS_PHASE3). - Scripts de reset et de cleanup pour la lab DB et la V1. Ce commit fige l’ensemble du travail de stabilisation P0 (UUID, backend, chat et stream) avant les phases suivantes (Coherence Guardian, WS hardening, etc.).
2025-12-06 10:14:38 +00:00
---
## 26. MATRICE DE DÉPENDANCES
### Dépendances Critiques (Path Critique)
```
F001 (Inscription)
F003 (Login)
F031 (Profil)
F106 (Upload Audio)
F107 (Lecteur Audio)
F136 (Playlists)
F151 (Chat DM)
F186 (Follow Users)
F226 (Marketplace Produits)
F251 (Paiements Stripe)
```
### Clusters de Dépendances
#### Cluster Auth (Critical Path)
- F001 → F002, F003
- F003 → F008, F009, F011, F013
- F011 → F012
#### Cluster Profiles
- F031 → F032, F033, F034-F045
- F046-F052 → F053 (Permissions)
#### Cluster Streaming
- F106 → F107-F125
- F136 → F137-F150
#### Cluster Social
- F186 → F187-F200
- F201 → F202-F215
#### Cluster Marketplace
- F226 → F227-F240
- F251 → F252-F265
---
## 27. INDEX PAR COMPLEXITÉ
2026-03-05 18:22:31 +00:00
### Complexité 5/5 (Très Complexe) - 35 features (après révision éthique)
P0: stabilisation backend/chat/stream + nouvelle base migrations v1 Backend Go: - Remplacement complet des anciennes migrations par la base V1 alignée sur ORIGIN. - Durcissement global du parsing JSON (BindAndValidateJSON + RespondWithAppError). - Sécurisation de config.go, CORS, statuts de santé et monitoring. - Implémentation des transactions P0 (RBAC, duplication de playlists, social toggles). - Ajout d’un job worker structuré (emails, analytics, thumbnails) + tests associés. - Nouvelle doc backend : AUDIT_CONFIG, BACKEND_CONFIG, AUTH_PASSWORD_RESET, JOB_WORKER_*. Chat server (Rust): - Refonte du pipeline JWT + sécurité, audit et rate limiting avancé. - Implémentation complète du cycle de message (read receipts, delivered, edit/delete, typing). - Nettoyage des panics, gestion d’erreurs robuste, logs structurés. - Migrations chat alignées sur le schéma UUID et nouvelles features. Stream server (Rust): - Refonte du moteur de streaming (encoding pipeline + HLS) et des modules core. - Transactions P0 pour les jobs et segments, garanties d’atomicité. - Documentation détaillée de la pipeline (AUDIT_STREAM_*, DESIGN_STREAM_PIPELINE, TRANSACTIONS_P0_IMPLEMENTATION). Documentation & audits: - TRIAGE.md et AUDIT_STABILITY.md à jour avec l’état réel des 3 services. - Cartographie complète des migrations et des transactions (DB_MIGRATIONS_*, DB_TRANSACTION_PLAN, AUDIT_DB_TRANSACTIONS, TRANSACTION_TESTS_PHASE3). - Scripts de reset et de cleanup pour la lab DB et la V1. Ce commit fige l’ensemble du travail de stabilisation P0 (UUID, backend, chat et stream) avant les phases suivantes (Coherence Guardian, WS hardening, etc.).
2025-12-06 10:14:38 +00:00
| ID | Feature | Module | Temps | Phase |
|----|---------|--------|-------|-------|
| F020 | Passkeys/WebAuthn | M01 | 24h | P3 |
| F055 | KYC vendeurs | M02 | 24h | P3 |
| F110 | Transcoding multi-format | M03 | 32h | P2 |
| F125 | AirPlay/Chromecast | M04 | 28h | P3 |
| F180 | End-to-end encryption | M05 | 40h | P4 |
2026-03-05 18:22:31 +00:00
| F210 | Algorithme feed (éthique, basé sur curation) | M06 | 36h | P4 |
P0: stabilisation backend/chat/stream + nouvelle base migrations v1 Backend Go: - Remplacement complet des anciennes migrations par la base V1 alignée sur ORIGIN. - Durcissement global du parsing JSON (BindAndValidateJSON + RespondWithAppError). - Sécurisation de config.go, CORS, statuts de santé et monitoring. - Implémentation des transactions P0 (RBAC, duplication de playlists, social toggles). - Ajout d’un job worker structuré (emails, analytics, thumbnails) + tests associés. - Nouvelle doc backend : AUDIT_CONFIG, BACKEND_CONFIG, AUTH_PASSWORD_RESET, JOB_WORKER_*. Chat server (Rust): - Refonte du pipeline JWT + sécurité, audit et rate limiting avancé. - Implémentation complète du cycle de message (read receipts, delivered, edit/delete, typing). - Nettoyage des panics, gestion d’erreurs robuste, logs structurés. - Migrations chat alignées sur le schéma UUID et nouvelles features. Stream server (Rust): - Refonte du moteur de streaming (encoding pipeline + HLS) et des modules core. - Transactions P0 pour les jobs et segments, garanties d’atomicité. - Documentation détaillée de la pipeline (AUDIT_STREAM_*, DESIGN_STREAM_PIPELINE, TRANSACTIONS_P0_IMPLEMENTATION). Documentation & audits: - TRIAGE.md et AUDIT_STABILITY.md à jour avec l’état réel des 3 services. - Cartographie complète des migrations et des transactions (DB_MIGRATIONS_*, DB_TRANSACTION_PLAN, AUDIT_DB_TRANSACTIONS, TRANSACTION_TESTS_PHASE3). - Scripts de reset et de cleanup pour la lab DB et la V1. Ce commit fige l’ensemble du travail de stabilisation P0 (UUID, backend, chat et stream) avant les phases suivantes (Coherence Guardian, WS hardening, etc.).
2025-12-06 10:14:38 +00:00
| F290 | Video streaming HLS | M08 | 40h | P5 |
| F350 | Nextcloud sync | M10 | 32h | P5 |
| F375 | Elasticsearch cluster | M11 | 36h | P5 |
2026-03-05 18:22:31 +00:00
| F405 | Real-time analytics (pour créateurs) | M12 | 42h | P6 |
| F475 | HLS multi-bitrate livestream | M16 | 48h | P4 |
P0: stabilisation backend/chat/stream + nouvelle base migrations v1 Backend Go: - Remplacement complet des anciennes migrations par la base V1 alignée sur ORIGIN. - Durcissement global du parsing JSON (BindAndValidateJSON + RespondWithAppError). - Sécurisation de config.go, CORS, statuts de santé et monitoring. - Implémentation des transactions P0 (RBAC, duplication de playlists, social toggles). - Ajout d’un job worker structuré (emails, analytics, thumbnails) + tests associés. - Nouvelle doc backend : AUDIT_CONFIG, BACKEND_CONFIG, AUTH_PASSWORD_RESET, JOB_WORKER_*. Chat server (Rust): - Refonte du pipeline JWT + sécurité, audit et rate limiting avancé. - Implémentation complète du cycle de message (read receipts, delivered, edit/delete, typing). - Nettoyage des panics, gestion d’erreurs robuste, logs structurés. - Migrations chat alignées sur le schéma UUID et nouvelles features. Stream server (Rust): - Refonte du moteur de streaming (encoding pipeline + HLS) et des modules core. - Transactions P0 pour les jobs et segments, garanties d’atomicité. - Documentation détaillée de la pipeline (AUDIT_STREAM_*, DESIGN_STREAM_PIPELINE, TRANSACTIONS_P0_IMPLEMENTATION). Documentation & audits: - TRIAGE.md et AUDIT_STABILITY.md à jour avec l’état réel des 3 services. - Cartographie complète des migrations et des transactions (DB_MIGRATIONS_*, DB_TRANSACTION_PLAN, AUDIT_DB_TRANSACTIONS, TRANSACTION_TESTS_PHASE3). - Scripts de reset et de cleanup pour la lab DB et la V1. Ce commit fige l’ensemble du travail de stabilisation P0 (UUID, backend, chat et stream) avant les phases suivantes (Coherence Guardian, WS hardening, etc.).
2025-12-06 10:14:38 +00:00
| F485 | DAW collaboration | M17 | 60h | P4 |
2026-03-05 18:22:31 +00:00
| ... | (23 autres) | ... | ... | ... |
> **Supprimés** : F270 (Recommendation ML), F435 (Auto-moderation AI), F456-F470 (AI), F495/F500 (NFT/DAO)
P0: stabilisation backend/chat/stream + nouvelle base migrations v1 Backend Go: - Remplacement complet des anciennes migrations par la base V1 alignée sur ORIGIN. - Durcissement global du parsing JSON (BindAndValidateJSON + RespondWithAppError). - Sécurisation de config.go, CORS, statuts de santé et monitoring. - Implémentation des transactions P0 (RBAC, duplication de playlists, social toggles). - Ajout d’un job worker structuré (emails, analytics, thumbnails) + tests associés. - Nouvelle doc backend : AUDIT_CONFIG, BACKEND_CONFIG, AUTH_PASSWORD_RESET, JOB_WORKER_*. Chat server (Rust): - Refonte du pipeline JWT + sécurité, audit et rate limiting avancé. - Implémentation complète du cycle de message (read receipts, delivered, edit/delete, typing). - Nettoyage des panics, gestion d’erreurs robuste, logs structurés. - Migrations chat alignées sur le schéma UUID et nouvelles features. Stream server (Rust): - Refonte du moteur de streaming (encoding pipeline + HLS) et des modules core. - Transactions P0 pour les jobs et segments, garanties d’atomicité. - Documentation détaillée de la pipeline (AUDIT_STREAM_*, DESIGN_STREAM_PIPELINE, TRANSACTIONS_P0_IMPLEMENTATION). Documentation & audits: - TRIAGE.md et AUDIT_STABILITY.md à jour avec l’état réel des 3 services. - Cartographie complète des migrations et des transactions (DB_MIGRATIONS_*, DB_TRANSACTION_PLAN, AUDIT_DB_TRANSACTIONS, TRANSACTION_TESTS_PHASE3). - Scripts de reset et de cleanup pour la lab DB et la V1. Ce commit fige l’ensemble du travail de stabilisation P0 (UUID, backend, chat et stream) avant les phases suivantes (Coherence Guardian, WS hardening, etc.).
2025-12-06 10:14:38 +00:00
2026-03-05 18:22:31 +00:00
**Total Complexité 5** : ~1,500 heures (après suppression modules AI/Web3)
P0: stabilisation backend/chat/stream + nouvelle base migrations v1 Backend Go: - Remplacement complet des anciennes migrations par la base V1 alignée sur ORIGIN. - Durcissement global du parsing JSON (BindAndValidateJSON + RespondWithAppError). - Sécurisation de config.go, CORS, statuts de santé et monitoring. - Implémentation des transactions P0 (RBAC, duplication de playlists, social toggles). - Ajout d’un job worker structuré (emails, analytics, thumbnails) + tests associés. - Nouvelle doc backend : AUDIT_CONFIG, BACKEND_CONFIG, AUTH_PASSWORD_RESET, JOB_WORKER_*. Chat server (Rust): - Refonte du pipeline JWT + sécurité, audit et rate limiting avancé. - Implémentation complète du cycle de message (read receipts, delivered, edit/delete, typing). - Nettoyage des panics, gestion d’erreurs robuste, logs structurés. - Migrations chat alignées sur le schéma UUID et nouvelles features. Stream server (Rust): - Refonte du moteur de streaming (encoding pipeline + HLS) et des modules core. - Transactions P0 pour les jobs et segments, garanties d’atomicité. - Documentation détaillée de la pipeline (AUDIT_STREAM_*, DESIGN_STREAM_PIPELINE, TRANSACTIONS_P0_IMPLEMENTATION). Documentation & audits: - TRIAGE.md et AUDIT_STABILITY.md à jour avec l’état réel des 3 services. - Cartographie complète des migrations et des transactions (DB_MIGRATIONS_*, DB_TRANSACTION_PLAN, AUDIT_DB_TRANSACTIONS, TRANSACTION_TESTS_PHASE3). - Scripts de reset et de cleanup pour la lab DB et la V1. Ce commit fige l’ensemble du travail de stabilisation P0 (UUID, backend, chat et stream) avant les phases suivantes (Coherence Guardian, WS hardening, etc.).
2025-12-06 10:14:38 +00:00
### Complexité 1/5 (Trivial) - 80 features
| ID | Feature | Module | Temps | Phase |
|----|---------|--------|-------|-------|
| F009 | Logout | M01 | 4h | P1 |
| F035 | Bio description | M02 | 4h | P1 |
| F037 | Date naissance | M02 | 4h | P2 |
| F043 | Email contact public | M02 | 4h | P2 |
| ... | (76 autres) | ... | ... | ... |
**Total Complexité 1**: ~320 heures
---
## 28. INDEX PAR PRIORITÉ
### Priorité P0 (Critical) - 25 features
| ID | Feature | Module | Phase |
|----|---------|--------|-------|
| F001 | Inscription email/password | M01 | P1 |
| F003 | Connexion email/password | M01 | P1 |
| F009 | Logout | M01 | P1 |
| F031 | Profil utilisateur | M02 | P1 |
| F046 | Rôle User | M02 | P1 |
| F052 | Rôle Admin | M02 | P1 |
| F066 | Upload fichier unique | M03 | P1 |
| F106 | Lecteur audio play/pause | M04 | P1 |
| F107 | Volume control | M04 | P1 |
| F108 | Seek bar | M04 | P1 |
| F136 | Créer playlist | M04 | P1 |
| F151 | Messages directs 1-to-1 | M05 | P2 |
| F186 | Follow utilisateur | M06 | P2 |
| F226 | Créer produit | M07 | P3 |
| F251 | Checkout Stripe | M07 | P3 |
| ... | (10 autres) | ... | ... |
### Priorité P4 (Optional) - 40 features
Features P4 peuvent être déprioritisées si nécessaire (contraintes temps/budget).
---
## ✅ CHECKLIST DE VALIDATION
### Par Feature
- [ ] ID unique assigné (F001-F600)
- [ ] Description claire et complète
- [ ] User stories rédigées
- [ ] Spécifications techniques détaillées
- [ ] Tests requis listés (unit, integration, E2E)
- [ ] Critères d'acceptation exhaustifs (minimum 5)
- [ ] Dépendances identifiées
- [ ] Complexité évaluée (1-5)
- [ ] Temps estimé (heures)
- [ ] Phase assignée (P0-P8)
- [ ] Priorité assignée (P0-P4)
- [ ] Notes d'implémentation ajoutées si applicable
### Global
2026-03-05 18:22:31 +00:00
- [ ] 560 features actives documentées (40 supprimées pour raisons éthiques)
P0: stabilisation backend/chat/stream + nouvelle base migrations v1 Backend Go: - Remplacement complet des anciennes migrations par la base V1 alignée sur ORIGIN. - Durcissement global du parsing JSON (BindAndValidateJSON + RespondWithAppError). - Sécurisation de config.go, CORS, statuts de santé et monitoring. - Implémentation des transactions P0 (RBAC, duplication de playlists, social toggles). - Ajout d’un job worker structuré (emails, analytics, thumbnails) + tests associés. - Nouvelle doc backend : AUDIT_CONFIG, BACKEND_CONFIG, AUTH_PASSWORD_RESET, JOB_WORKER_*. Chat server (Rust): - Refonte du pipeline JWT + sécurité, audit et rate limiting avancé. - Implémentation complète du cycle de message (read receipts, delivered, edit/delete, typing). - Nettoyage des panics, gestion d’erreurs robuste, logs structurés. - Migrations chat alignées sur le schéma UUID et nouvelles features. Stream server (Rust): - Refonte du moteur de streaming (encoding pipeline + HLS) et des modules core. - Transactions P0 pour les jobs et segments, garanties d’atomicité. - Documentation détaillée de la pipeline (AUDIT_STREAM_*, DESIGN_STREAM_PIPELINE, TRANSACTIONS_P0_IMPLEMENTATION). Documentation & audits: - TRIAGE.md et AUDIT_STABILITY.md à jour avec l’état réel des 3 services. - Cartographie complète des migrations et des transactions (DB_MIGRATIONS_*, DB_TRANSACTION_PLAN, AUDIT_DB_TRANSACTIONS, TRANSACTION_TESTS_PHASE3). - Scripts de reset et de cleanup pour la lab DB et la V1. Ce commit fige l’ensemble du travail de stabilisation P0 (UUID, backend, chat et stream) avant les phases suivantes (Coherence Guardian, WS hardening, etc.).
2025-12-06 10:14:38 +00:00
- [ ] Aucun ID dupliqué
2026-03-05 18:22:31 +00:00
- [ ] Dépendances valides (pas de cycles, pas de dépendances vers features supprimées)
- [ ] Total temps estimé cohérent (~7,400h)
P0: stabilisation backend/chat/stream + nouvelle base migrations v1 Backend Go: - Remplacement complet des anciennes migrations par la base V1 alignée sur ORIGIN. - Durcissement global du parsing JSON (BindAndValidateJSON + RespondWithAppError). - Sécurisation de config.go, CORS, statuts de santé et monitoring. - Implémentation des transactions P0 (RBAC, duplication de playlists, social toggles). - Ajout d’un job worker structuré (emails, analytics, thumbnails) + tests associés. - Nouvelle doc backend : AUDIT_CONFIG, BACKEND_CONFIG, AUTH_PASSWORD_RESET, JOB_WORKER_*. Chat server (Rust): - Refonte du pipeline JWT + sécurité, audit et rate limiting avancé. - Implémentation complète du cycle de message (read receipts, delivered, edit/delete, typing). - Nettoyage des panics, gestion d’erreurs robuste, logs structurés. - Migrations chat alignées sur le schéma UUID et nouvelles features. Stream server (Rust): - Refonte du moteur de streaming (encoding pipeline + HLS) et des modules core. - Transactions P0 pour les jobs et segments, garanties d’atomicité. - Documentation détaillée de la pipeline (AUDIT_STREAM_*, DESIGN_STREAM_PIPELINE, TRANSACTIONS_P0_IMPLEMENTATION). Documentation & audits: - TRIAGE.md et AUDIT_STABILITY.md à jour avec l’état réel des 3 services. - Cartographie complète des migrations et des transactions (DB_MIGRATIONS_*, DB_TRANSACTION_PLAN, AUDIT_DB_TRANSACTIONS, TRANSACTION_TESTS_PHASE3). - Scripts de reset et de cleanup pour la lab DB et la V1. Ce commit fige l’ensemble du travail de stabilisation P0 (UUID, backend, chat et stream) avant les phases suivantes (Coherence Guardian, WS hardening, etc.).
2025-12-06 10:14:38 +00:00
- [ ] Distribution phases équilibrée
- [ ] Features P0 dans phases précoces
- [ ] Features complexes avec buffer temps
- [ ] Cross-references valides entre documents
2026-03-05 18:22:31 +00:00
- [ ] Chaque feature restante est alignée avec les principes éthiques fondateurs
P0: stabilisation backend/chat/stream + nouvelle base migrations v1 Backend Go: - Remplacement complet des anciennes migrations par la base V1 alignée sur ORIGIN. - Durcissement global du parsing JSON (BindAndValidateJSON + RespondWithAppError). - Sécurisation de config.go, CORS, statuts de santé et monitoring. - Implémentation des transactions P0 (RBAC, duplication de playlists, social toggles). - Ajout d’un job worker structuré (emails, analytics, thumbnails) + tests associés. - Nouvelle doc backend : AUDIT_CONFIG, BACKEND_CONFIG, AUTH_PASSWORD_RESET, JOB_WORKER_*. Chat server (Rust): - Refonte du pipeline JWT + sécurité, audit et rate limiting avancé. - Implémentation complète du cycle de message (read receipts, delivered, edit/delete, typing). - Nettoyage des panics, gestion d’erreurs robuste, logs structurés. - Migrations chat alignées sur le schéma UUID et nouvelles features. Stream server (Rust): - Refonte du moteur de streaming (encoding pipeline + HLS) et des modules core. - Transactions P0 pour les jobs et segments, garanties d’atomicité. - Documentation détaillée de la pipeline (AUDIT_STREAM_*, DESIGN_STREAM_PIPELINE, TRANSACTIONS_P0_IMPLEMENTATION). Documentation & audits: - TRIAGE.md et AUDIT_STABILITY.md à jour avec l’état réel des 3 services. - Cartographie complète des migrations et des transactions (DB_MIGRATIONS_*, DB_TRANSACTION_PLAN, AUDIT_DB_TRANSACTIONS, TRANSACTION_TESTS_PHASE3). - Scripts de reset et de cleanup pour la lab DB et la V1. Ce commit fige l’ensemble du travail de stabilisation P0 (UUID, backend, chat et stream) avant les phases suivantes (Coherence Guardian, WS hardening, etc.).
2025-12-06 10:14:38 +00:00
## 📊 MÉTRIQUES DE SUCCÈS
2026-03-05 18:22:31 +00:00
### Coverage (après révision éthique)
- **Features actives documentées** : 560/560 (100%)
- **Features supprimées** : 40 (documentées dans §29)
- **Features avec tests** : 560/560 (100%)
- **Features avec critères acceptation** : 560/560 (100%)
- **Features avec dépendances** : ~470/560 (84%)
### Distribution (features actives)
- **P0 (Critical)** : 25 features (4.5%)
- **P1 (High)** : 170 features (30.4%)
- **P2 (Medium)** : 220 features (39.3%)
- **P3 (Low)** : 108 features (19.3%)
- **P4 (Optional)** : 37 features (6.6%)
### Complexité (features actives)
- **Niveau 1** : 78 features (13.9%)
- **Niveau 2** : 185 features (33.0%)
- **Niveau 3** : 195 features (34.8%)
- **Niveau 4** : 67 features (12.0%)
- **Niveau 5** : 35 features (6.3%)
P0: stabilisation backend/chat/stream + nouvelle base migrations v1 Backend Go: - Remplacement complet des anciennes migrations par la base V1 alignée sur ORIGIN. - Durcissement global du parsing JSON (BindAndValidateJSON + RespondWithAppError). - Sécurisation de config.go, CORS, statuts de santé et monitoring. - Implémentation des transactions P0 (RBAC, duplication de playlists, social toggles). - Ajout d’un job worker structuré (emails, analytics, thumbnails) + tests associés. - Nouvelle doc backend : AUDIT_CONFIG, BACKEND_CONFIG, AUTH_PASSWORD_RESET, JOB_WORKER_*. Chat server (Rust): - Refonte du pipeline JWT + sécurité, audit et rate limiting avancé. - Implémentation complète du cycle de message (read receipts, delivered, edit/delete, typing). - Nettoyage des panics, gestion d’erreurs robuste, logs structurés. - Migrations chat alignées sur le schéma UUID et nouvelles features. Stream server (Rust): - Refonte du moteur de streaming (encoding pipeline + HLS) et des modules core. - Transactions P0 pour les jobs et segments, garanties d’atomicité. - Documentation détaillée de la pipeline (AUDIT_STREAM_*, DESIGN_STREAM_PIPELINE, TRANSACTIONS_P0_IMPLEMENTATION). Documentation & audits: - TRIAGE.md et AUDIT_STABILITY.md à jour avec l’état réel des 3 services. - Cartographie complète des migrations et des transactions (DB_MIGRATIONS_*, DB_TRANSACTION_PLAN, AUDIT_DB_TRANSACTIONS, TRANSACTION_TESTS_PHASE3). - Scripts de reset et de cleanup pour la lab DB et la V1. Ce commit fige l’ensemble du travail de stabilisation P0 (UUID, backend, chat et stream) avant les phases suivantes (Coherence Guardian, WS hardening, etc.).
2025-12-06 10:14:38 +00:00
### Estimation Temps
2026-03-05 18:22:31 +00:00
- **Total heures (actif)** : ~7,430h
- **Heures supprimées** : ~1,160h (AI: 480h, Web3: 400h, Gamification: 280h)
- **Par feature moyenne** : ~13.3h
P0: stabilisation backend/chat/stream + nouvelle base migrations v1 Backend Go: - Remplacement complet des anciennes migrations par la base V1 alignée sur ORIGIN. - Durcissement global du parsing JSON (BindAndValidateJSON + RespondWithAppError). - Sécurisation de config.go, CORS, statuts de santé et monitoring. - Implémentation des transactions P0 (RBAC, duplication de playlists, social toggles). - Ajout d’un job worker structuré (emails, analytics, thumbnails) + tests associés. - Nouvelle doc backend : AUDIT_CONFIG, BACKEND_CONFIG, AUTH_PASSWORD_RESET, JOB_WORKER_*. Chat server (Rust): - Refonte du pipeline JWT + sécurité, audit et rate limiting avancé. - Implémentation complète du cycle de message (read receipts, delivered, edit/delete, typing). - Nettoyage des panics, gestion d’erreurs robuste, logs structurés. - Migrations chat alignées sur le schéma UUID et nouvelles features. Stream server (Rust): - Refonte du moteur de streaming (encoding pipeline + HLS) et des modules core. - Transactions P0 pour les jobs et segments, garanties d’atomicité. - Documentation détaillée de la pipeline (AUDIT_STREAM_*, DESIGN_STREAM_PIPELINE, TRANSACTIONS_P0_IMPLEMENTATION). Documentation & audits: - TRIAGE.md et AUDIT_STABILITY.md à jour avec l’état réel des 3 services. - Cartographie complète des migrations et des transactions (DB_MIGRATIONS_*, DB_TRANSACTION_PLAN, AUDIT_DB_TRANSACTIONS, TRANSACTION_TESTS_PHASE3). - Scripts de reset et de cleanup pour la lab DB et la V1. Ce commit fige l’ensemble du travail de stabilisation P0 (UUID, backend, chat et stream) avant les phases suivantes (Coherence Guardian, WS hardening, etc.).
2025-12-06 10:14:38 +00:00
## 🔄 HISTORIQUE DES VERSIONS
| Version | Date | Changements |
|---------|------|-------------|
| 1.0.0 | 2025-11-02 | Version initiale - 600 features complètes |
2026-03-05 18:22:31 +00:00
| 2.0.0 | 2026-03-04 | Révision éthique : suppression M15 (AI), M18 (Web3), M21 (Gamification) = -40 features. Ajout sections exclusions et découverte éthique. Total actif : 560 features |
---
## 29. FEATURES EXCLUES ET RAISONS ÉTHIQUES
Les features suivantes sont **définitivement supprimées** du registre. Leurs IDs ne sont pas réattribués.
### Module 15 : IA & Fonctionnalités Avancées (F456-F470) — 15 features, ~480h
| ID | Feature | Raison éthique |
|----|---------|----------------|
| F456 | AI mastering | Déshumanise le processus créatif, déplace la valeur du créateur vers l'outil |
| F457 | Stem separation | Questions éthiques non résolues sur la propriété artistique |
| F458 | Auto BPM detection (ML) | Remplacé par déclaration manuelle du créateur |
| F459 | Auto key detection (ML) | Remplacé par déclaration manuelle du créateur |
| F460 | Genre detection ML | Crée des biais de classification à grande échelle |
| F461 | Vocal removal AI | Questions éthiques sur la tromperie des audiences |
| F462 | Audio denoising AI | Remplacé par outils tiers au choix du créateur |
| F463 | Audio upscaling AI | Remplacé par outils tiers au choix du créateur |
| F464 | Auto-tags ML | Remplacé par tags déclaratifs du créateur |
| F465 | Content ID (ML) | Remplacé par audio fingerprinting déterministe (ACRCloud) |
| F466 | Similarity detection ML | Optimise pour la rétention, pas la découverte authentique |
| F467 | Recommendations ML | Remplacé par découverte éthique (§30) |
| F468 | Voice synthesis | Tromperie des audiences, propriété artistique non résolue |
| F469 | Lyrics transcription auto | Remplacé par saisie manuelle du créateur |
| F470 | AI mixing assistant | Déshumanise le processus créatif |
### Module 18 : Blockchain & Web3 (F491-F500) — 10 features, ~400h
| ID | Feature | Raison éthique |
|----|---------|----------------|
| F491 | NFT minting | Fraudes documentées, spéculation, détournement d'œuvres sans consentement |
| F492 | Smart contracts | Complexité disproportionnée, pas de valeur pour les créateurs indépendants |
| F493 | Token economy | Spéculation, pas de valeur artistique |
| F494 | Staking rewards | Mécanisme spéculatif |
| F495 | NFT marketplace | Impact négatif documenté sur les artistes indépendants |
| F496 | Wallet integration | Complexité UX, barrière à l'entrée |
| F497 | IPFS storage | Consommation énergétique disproportionnée |
| F498 | DAO governance | Complexité, gouvernance biaisée par le capital |
| F499 | Crypto payments | Impact environnemental, volatilité |
| F500 | Royalty smart contracts | Remplacé par système de paiement transparent via Hyperswitch |
### Module 21 : Gamification (F536-F550) — 15 features, ~280h
| ID | Feature | Raison éthique |
|----|---------|----------------|
| F536 | XP system | Transforme l'expression artistique en compétition |
| F537 | Level progression | Normalise les métriques de performance comme mesure de la valeur artistique |
| F538 | Achievement system (XP) | Social validation loop addictive |
| F539 | Streaks | Crée de l'habitude compulsive |
| F540 | Leaderboards popularité | Favorise les artistes établis, décourage les émergents |
| F541 | Points system | Gamification addictive |
| F542 | Challenges quotidiens | Crée de l'obligation de connexion (FOMO) |
| F543 | Reward shop | Mécanique de rétention artificielle |
| F544 | Social badges (followers count) | Social validation loop |
| F545 | Performance badges | Normalise les métriques de performance |
| F546 | Streak notifications | FOMO, pression sociale |
| F547 | Progress bars | Mécanisme de compulsion |
| F548 | Daily login rewards | Crée de l'habitude compulsive |
| F549 | Referral gamification | Marketing viral, pas au service de la création |
| F550 | Season pass | Mécanique de rétention artificielle |
> **Note** : Les badges de compétence déclaratifs (instrument, genre, expérience) restent possibles dans le module Profils (M02). Seule la gamification basée sur des métriques d'engagement est supprimée.
## 30. ALGORITHME DE DÉCOUVERTE ÉTHIQUE
En remplacement des features ML de recommandation (F466, F467), la découverte musicale sur Veza est basée sur :
### Principes
- L'algorithme est orienté vers la singularité et l'originalité, pas vers la viralité
- Le classement ne repose jamais sur des métriques de popularité brutes
- Les artistes émergents ont la même visibilité que les artistes établis dans les flux de découverte
- L'algorithme est documenté, explicable, et auditable
### Mécanismes
1. **Genres et tags déclarés** : les artistes déclarent eux-mêmes leurs genres, tags, et influences
2. **Connexions humaines** : similarité basée sur les collaborations et connexions entre artistes
3. **Curation éditoriale** : playlists créées par des humains, pas par des algorithmes
4. **Proximité géographique** : découverte par zone géographique (optionnel, déclaratif)
5. **Réseau social** : ce qu'écoutent les contacts de l'utilisateur (opt-in)
6. **Nouveautés chronologiques** : dans les genres suivis par l'utilisateur
7. **Recherche fulltext** : Elasticsearch pour la recherche par mots-clés et phonétique
### Interdictions
- Pas d'optimisation pour l'engagement ou la rétention
- Pas de collaborative filtering basé sur le comportement
- Pas de content-based filtering par ML
- Pas de « trending » basé sur les plays/likes
- Pas de « featured » basé sur des métriques d'engagement
P0: stabilisation backend/chat/stream + nouvelle base migrations v1 Backend Go: - Remplacement complet des anciennes migrations par la base V1 alignée sur ORIGIN. - Durcissement global du parsing JSON (BindAndValidateJSON + RespondWithAppError). - Sécurisation de config.go, CORS, statuts de santé et monitoring. - Implémentation des transactions P0 (RBAC, duplication de playlists, social toggles). - Ajout d’un job worker structuré (emails, analytics, thumbnails) + tests associés. - Nouvelle doc backend : AUDIT_CONFIG, BACKEND_CONFIG, AUTH_PASSWORD_RESET, JOB_WORKER_*. Chat server (Rust): - Refonte du pipeline JWT + sécurité, audit et rate limiting avancé. - Implémentation complète du cycle de message (read receipts, delivered, edit/delete, typing). - Nettoyage des panics, gestion d’erreurs robuste, logs structurés. - Migrations chat alignées sur le schéma UUID et nouvelles features. Stream server (Rust): - Refonte du moteur de streaming (encoding pipeline + HLS) et des modules core. - Transactions P0 pour les jobs et segments, garanties d’atomicité. - Documentation détaillée de la pipeline (AUDIT_STREAM_*, DESIGN_STREAM_PIPELINE, TRANSACTIONS_P0_IMPLEMENTATION). Documentation & audits: - TRIAGE.md et AUDIT_STABILITY.md à jour avec l’état réel des 3 services. - Cartographie complète des migrations et des transactions (DB_MIGRATIONS_*, DB_TRANSACTION_PLAN, AUDIT_DB_TRANSACTIONS, TRANSACTION_TESTS_PHASE3). - Scripts de reset et de cleanup pour la lab DB et la V1. Ce commit fige l’ensemble du travail de stabilisation P0 (UUID, backend, chat et stream) avant les phases suivantes (Coherence Guardian, WS hardening, etc.).
2025-12-06 10:14:38 +00:00
---
## ⚠️ AVERTISSEMENT
2026-03-05 18:22:31 +00:00
**CE REGISTRE EST ALIGNÉ AVEC L'ÉTHIQUE DU PROJET**
P0: stabilisation backend/chat/stream + nouvelle base migrations v1 Backend Go: - Remplacement complet des anciennes migrations par la base V1 alignée sur ORIGIN. - Durcissement global du parsing JSON (BindAndValidateJSON + RespondWithAppError). - Sécurisation de config.go, CORS, statuts de santé et monitoring. - Implémentation des transactions P0 (RBAC, duplication de playlists, social toggles). - Ajout d’un job worker structuré (emails, analytics, thumbnails) + tests associés. - Nouvelle doc backend : AUDIT_CONFIG, BACKEND_CONFIG, AUTH_PASSWORD_RESET, JOB_WORKER_*. Chat server (Rust): - Refonte du pipeline JWT + sécurité, audit et rate limiting avancé. - Implémentation complète du cycle de message (read receipts, delivered, edit/delete, typing). - Nettoyage des panics, gestion d’erreurs robuste, logs structurés. - Migrations chat alignées sur le schéma UUID et nouvelles features. Stream server (Rust): - Refonte du moteur de streaming (encoding pipeline + HLS) et des modules core. - Transactions P0 pour les jobs et segments, garanties d’atomicité. - Documentation détaillée de la pipeline (AUDIT_STREAM_*, DESIGN_STREAM_PIPELINE, TRANSACTIONS_P0_IMPLEMENTATION). Documentation & audits: - TRIAGE.md et AUDIT_STABILITY.md à jour avec l’état réel des 3 services. - Cartographie complète des migrations et des transactions (DB_MIGRATIONS_*, DB_TRANSACTION_PLAN, AUDIT_DB_TRANSACTIONS, TRANSACTION_TESTS_PHASE3). - Scripts de reset et de cleanup pour la lab DB et la V1. Ce commit fige l’ensemble du travail de stabilisation P0 (UUID, backend, chat et stream) avant les phases suivantes (Coherence Guardian, WS hardening, etc.).
2025-12-06 10:14:38 +00:00
2026-03-05 18:22:31 +00:00
Les 560 features actives sont la base de développement. Les 40 features supprimées le sont définitivement pour des raisons éthiques documentées dans §29. Toute modification nécessite :
P0: stabilisation backend/chat/stream + nouvelle base migrations v1 Backend Go: - Remplacement complet des anciennes migrations par la base V1 alignée sur ORIGIN. - Durcissement global du parsing JSON (BindAndValidateJSON + RespondWithAppError). - Sécurisation de config.go, CORS, statuts de santé et monitoring. - Implémentation des transactions P0 (RBAC, duplication de playlists, social toggles). - Ajout d’un job worker structuré (emails, analytics, thumbnails) + tests associés. - Nouvelle doc backend : AUDIT_CONFIG, BACKEND_CONFIG, AUTH_PASSWORD_RESET, JOB_WORKER_*. Chat server (Rust): - Refonte du pipeline JWT + sécurité, audit et rate limiting avancé. - Implémentation complète du cycle de message (read receipts, delivered, edit/delete, typing). - Nettoyage des panics, gestion d’erreurs robuste, logs structurés. - Migrations chat alignées sur le schéma UUID et nouvelles features. Stream server (Rust): - Refonte du moteur de streaming (encoding pipeline + HLS) et des modules core. - Transactions P0 pour les jobs et segments, garanties d’atomicité. - Documentation détaillée de la pipeline (AUDIT_STREAM_*, DESIGN_STREAM_PIPELINE, TRANSACTIONS_P0_IMPLEMENTATION). Documentation & audits: - TRIAGE.md et AUDIT_STABILITY.md à jour avec l’état réel des 3 services. - Cartographie complète des migrations et des transactions (DB_MIGRATIONS_*, DB_TRANSACTION_PLAN, AUDIT_DB_TRANSACTIONS, TRANSACTION_TESTS_PHASE3). - Scripts de reset et de cleanup pour la lab DB et la V1. Ce commit fige l’ensemble du travail de stabilisation P0 (UUID, backend, chat et stream) avant les phases suivantes (Coherence Guardian, WS hardening, etc.).
2025-12-06 10:14:38 +00:00
2026-03-05 18:22:31 +00:00
1. **RFC** formelle avec justification business ET vérification d'alignement éthique
P0: stabilisation backend/chat/stream + nouvelle base migrations v1 Backend Go: - Remplacement complet des anciennes migrations par la base V1 alignée sur ORIGIN. - Durcissement global du parsing JSON (BindAndValidateJSON + RespondWithAppError). - Sécurisation de config.go, CORS, statuts de santé et monitoring. - Implémentation des transactions P0 (RBAC, duplication de playlists, social toggles). - Ajout d’un job worker structuré (emails, analytics, thumbnails) + tests associés. - Nouvelle doc backend : AUDIT_CONFIG, BACKEND_CONFIG, AUTH_PASSWORD_RESET, JOB_WORKER_*. Chat server (Rust): - Refonte du pipeline JWT + sécurité, audit et rate limiting avancé. - Implémentation complète du cycle de message (read receipts, delivered, edit/delete, typing). - Nettoyage des panics, gestion d’erreurs robuste, logs structurés. - Migrations chat alignées sur le schéma UUID et nouvelles features. Stream server (Rust): - Refonte du moteur de streaming (encoding pipeline + HLS) et des modules core. - Transactions P0 pour les jobs et segments, garanties d’atomicité. - Documentation détaillée de la pipeline (AUDIT_STREAM_*, DESIGN_STREAM_PIPELINE, TRANSACTIONS_P0_IMPLEMENTATION). Documentation & audits: - TRIAGE.md et AUDIT_STABILITY.md à jour avec l’état réel des 3 services. - Cartographie complète des migrations et des transactions (DB_MIGRATIONS_*, DB_TRANSACTION_PLAN, AUDIT_DB_TRANSACTIONS, TRANSACTION_TESTS_PHASE3). - Scripts de reset et de cleanup pour la lab DB et la V1. Ce commit fige l’ensemble du travail de stabilisation P0 (UUID, backend, chat et stream) avant les phases suivantes (Coherence Guardian, WS hardening, etc.).
2025-12-06 10:14:38 +00:00
2. **Impact analysis** sur dépendances et timeline
3. **Approbation** Product Owner + CTO
4. **Update** de tous les documents ORIGIN impactés
5. **Communication** à toute l'équipe engineering
2026-03-05 18:22:31 +00:00
**Aucune feature ne peut être ajoutée si elle contredit les principes éthiques fondateurs.**
P0: stabilisation backend/chat/stream + nouvelle base migrations v1 Backend Go: - Remplacement complet des anciennes migrations par la base V1 alignée sur ORIGIN. - Durcissement global du parsing JSON (BindAndValidateJSON + RespondWithAppError). - Sécurisation de config.go, CORS, statuts de santé et monitoring. - Implémentation des transactions P0 (RBAC, duplication de playlists, social toggles). - Ajout d’un job worker structuré (emails, analytics, thumbnails) + tests associés. - Nouvelle doc backend : AUDIT_CONFIG, BACKEND_CONFIG, AUTH_PASSWORD_RESET, JOB_WORKER_*. Chat server (Rust): - Refonte du pipeline JWT + sécurité, audit et rate limiting avancé. - Implémentation complète du cycle de message (read receipts, delivered, edit/delete, typing). - Nettoyage des panics, gestion d’erreurs robuste, logs structurés. - Migrations chat alignées sur le schéma UUID et nouvelles features. Stream server (Rust): - Refonte du moteur de streaming (encoding pipeline + HLS) et des modules core. - Transactions P0 pour les jobs et segments, garanties d’atomicité. - Documentation détaillée de la pipeline (AUDIT_STREAM_*, DESIGN_STREAM_PIPELINE, TRANSACTIONS_P0_IMPLEMENTATION). Documentation & audits: - TRIAGE.md et AUDIT_STABILITY.md à jour avec l’état réel des 3 services. - Cartographie complète des migrations et des transactions (DB_MIGRATIONS_*, DB_TRANSACTION_PLAN, AUDIT_DB_TRANSACTIONS, TRANSACTION_TESTS_PHASE3). - Scripts de reset et de cleanup pour la lab DB et la V1. Ce commit fige l’ensemble du travail de stabilisation P0 (UUID, backend, chat et stream) avant les phases suivantes (Coherence Guardian, WS hardening, etc.).
2025-12-06 10:14:38 +00:00
---
2026-03-05 18:22:31 +00:00
**Document créé par** : Product Team + Engineering
**Date de création** : 2025-11-02
**Dernière révision** : 2026-03-04 (révision éthique)
**Propriétaire** : VP Product
P0: stabilisation backend/chat/stream + nouvelle base migrations v1 Backend Go: - Remplacement complet des anciennes migrations par la base V1 alignée sur ORIGIN. - Durcissement global du parsing JSON (BindAndValidateJSON + RespondWithAppError). - Sécurisation de config.go, CORS, statuts de santé et monitoring. - Implémentation des transactions P0 (RBAC, duplication de playlists, social toggles). - Ajout d’un job worker structuré (emails, analytics, thumbnails) + tests associés. - Nouvelle doc backend : AUDIT_CONFIG, BACKEND_CONFIG, AUTH_PASSWORD_RESET, JOB_WORKER_*. Chat server (Rust): - Refonte du pipeline JWT + sécurité, audit et rate limiting avancé. - Implémentation complète du cycle de message (read receipts, delivered, edit/delete, typing). - Nettoyage des panics, gestion d’erreurs robuste, logs structurés. - Migrations chat alignées sur le schéma UUID et nouvelles features. Stream server (Rust): - Refonte du moteur de streaming (encoding pipeline + HLS) et des modules core. - Transactions P0 pour les jobs et segments, garanties d’atomicité. - Documentation détaillée de la pipeline (AUDIT_STREAM_*, DESIGN_STREAM_PIPELINE, TRANSACTIONS_P0_IMPLEMENTATION). Documentation & audits: - TRIAGE.md et AUDIT_STABILITY.md à jour avec l’état réel des 3 services. - Cartographie complète des migrations et des transactions (DB_MIGRATIONS_*, DB_TRANSACTION_PLAN, AUDIT_DB_TRANSACTIONS, TRANSACTION_TESTS_PHASE3). - Scripts de reset et de cleanup pour la lab DB et la V1. Ce commit fige l’ensemble du travail de stabilisation P0 (UUID, backend, chat et stream) avant les phases suivantes (Coherence Guardian, WS hardening, etc.).
2025-12-06 10:14:38 +00:00
2026-03-05 18:22:31 +00:00
**Statut** : ✅ **APPROUVÉ — v2.0.0**
P0: stabilisation backend/chat/stream + nouvelle base migrations v1 Backend Go: - Remplacement complet des anciennes migrations par la base V1 alignée sur ORIGIN. - Durcissement global du parsing JSON (BindAndValidateJSON + RespondWithAppError). - Sécurisation de config.go, CORS, statuts de santé et monitoring. - Implémentation des transactions P0 (RBAC, duplication de playlists, social toggles). - Ajout d’un job worker structuré (emails, analytics, thumbnails) + tests associés. - Nouvelle doc backend : AUDIT_CONFIG, BACKEND_CONFIG, AUTH_PASSWORD_RESET, JOB_WORKER_*. Chat server (Rust): - Refonte du pipeline JWT + sécurité, audit et rate limiting avancé. - Implémentation complète du cycle de message (read receipts, delivered, edit/delete, typing). - Nettoyage des panics, gestion d’erreurs robuste, logs structurés. - Migrations chat alignées sur le schéma UUID et nouvelles features. Stream server (Rust): - Refonte du moteur de streaming (encoding pipeline + HLS) et des modules core. - Transactions P0 pour les jobs et segments, garanties d’atomicité. - Documentation détaillée de la pipeline (AUDIT_STREAM_*, DESIGN_STREAM_PIPELINE, TRANSACTIONS_P0_IMPLEMENTATION). Documentation & audits: - TRIAGE.md et AUDIT_STABILITY.md à jour avec l’état réel des 3 services. - Cartographie complète des migrations et des transactions (DB_MIGRATIONS_*, DB_TRANSACTION_PLAN, AUDIT_DB_TRANSACTIONS, TRANSACTION_TESTS_PHASE3). - Scripts de reset et de cleanup pour la lab DB et la V1. Ce commit fige l’ensemble du travail de stabilisation P0 (UUID, backend, chat et stream) avant les phases suivantes (Coherence Guardian, WS hardening, etc.).
2025-12-06 10:14:38 +00:00