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.
63 lines
2.7 KiB
Gherkin
63 lines
2.7 KiB
Gherkin
# 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
|