refactor(docs): réorganiser la documentation selon principes DDD

Réorganise la documentation du projet selon les principes du Domain-Driven Design (DDD) pour améliorer la cohésion, la maintenabilité et l'alignement avec l'architecture modulaire du backend.

**Structure cible:**
```
docs/domains/
├── README.md (Context Map)
├── _shared/ (Core Domain)
├── recommendation/ (Supporting Subdomain)
├── content/ (Supporting Subdomain)
├── moderation/ (Supporting Subdomain)
├── advertising/ (Generic Subdomain)
├── premium/ (Generic Subdomain)
└── monetization/ (Generic Subdomain)
```

**Changements effectués:**

Phase 1: Création de l'arborescence des 7 bounded contexts
Phase 2: Déplacement des règles métier (01-19) vers domains/*/rules/
Phase 3: Déplacement des diagrammes d'entités vers domains/*/entities/
Phase 4: Déplacement des diagrammes flux/états/séquences vers domains/*/
Phase 5: Création des README.md pour chaque domaine
Phase 6: Déplacement des features Gherkin vers domains/*/features/
Phase 7: Création du Context Map (domains/README.md)
Phase 8: Mise à jour de mkdocs.yml pour la nouvelle navigation
Phase 9: Correction automatique des liens internes (script fix-markdown-links.sh)
Phase 10: Nettoyage de l'ancienne structure (regles-metier/, diagrammes/, features/)

**Configuration des tests:**
- Makefile: godog run docs/domains/*/features/
- scripts/generate-bdd-docs.py: features_dir → docs/domains

**Avantages:**
 Cohésion forte: toute la doc d'un domaine au même endroit
 Couplage faible: domaines indépendants, dépendances explicites
 Navigabilité améliorée: README par domaine = entrée claire
 Alignement code/docs: miroir de backend/internal/
 Onboarding facilité: exploration domaine par domaine
 Tests BDD intégrés: features au plus près des règles métier

Voir docs/REFACTOR-DDD.md pour le plan complet.
This commit is contained in:
jpgiannetti
2026-02-07 17:15:02 +01:00
parent 78422bb2c0
commit 5e5fcf4714
227 changed files with 1413 additions and 1967 deletions

View File

@@ -0,0 +1,62 @@
# language: fr
@api @content-creation @copyright @mvp
Fonctionnalité: Validation et détection automatique de musique
En tant que plateforme
Je veux détecter automatiquement la musique protégée
Afin de respecter les droits d'auteur
Scénario: Analyse audio automatique lors de l'upload
Étant donné un créateur upload un fichier audio
Quand le fichier est uploadé sur S3
Alors une tâche asynchrone d'analyse est lancée
Et l'audio est comparé à la base ACRCloud
Et les résultats sont disponibles en < 30 secondes
Et un événement "MUSIC_ANALYSIS_STARTED" est enregistré
Scénario: Identification précise avec métadonnées
Étant donné un audio analysé
Quand de la musique est détectée
Alors le système retourne:
| Métadonnée | Exemple |
| Titre | Bohemian Rhapsody |
| Artiste | Queen |
| Album | A Night at the Opera |
| ISRC | GBUM71029604 |
| Timestamp | 00:02:15 - 00:02:43 |
| Durée | 28 secondes |
| Confiance | 98% |
Et un événement "MUSIC_IDENTIFIED" est enregistré
Scénario: Faux positifs - validation manuelle
Étant donné un audio avec détection incertaine (confiance < 80%)
Quand le créateur conteste la détection
Alors une review manuelle est déclenchée
Et un modérateur écoute et valide
Et un événement "MUSIC_MANUAL_REVIEW_REQUESTED" est enregistré
Scénario: Mise en queue pendant l'analyse
Étant donné un créateur qui upload un audio
Quand l'analyse est en cours
Alors le statut affiche "Analyse en cours..."
Et le créateur peut continuer la création
Et est notifié quand l'analyse est terminée
Et un événement "MUSIC_ANALYSIS_PENDING" est enregistré
Scénario: Détection de musique transformée (pitch, tempo)
Étant donné un audio avec musique modifiée (accélérée/ralentie)
Quand l'analyse s'exécute
Alors le système détecte quand même le morceau original
Et applique les mêmes règles de fair use
Et un événement "MODIFIED_MUSIC_DETECTED" est enregistré
Scénario: Statistiques de détection pour la plateforme
Étant donné que 10 000 audios ont été analysés
Alors les indicateurs suivants sont disponibles:
| Métrique | Valeur |
| Taux de détection de musique | 35% |
| Taux de conformité fair use | 88% |
| Taux de faux positifs | 2% |
| Temps moyen d'analyse | 18s |
Et les métriques sont exportées vers le monitoring