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:
@@ -0,0 +1,59 @@
|
||||
# language: fr
|
||||
|
||||
@api @content-creation @copyright @mvp
|
||||
Fonctionnalité: Fair use 30 secondes musique
|
||||
|
||||
En tant que créateur
|
||||
Je veux utiliser jusqu'à 30 secondes de musique protégée
|
||||
Afin d'enrichir mon contenu dans le cadre du fair use
|
||||
|
||||
Scénario: Détection automatique de musique dans l'upload
|
||||
Étant donné un créateur "alice@roadwave.fr" qui upload un audio
|
||||
Quand le fichier contient de la musique
|
||||
Alors le système détecte via fingerprinting audio (ACRCloud)
|
||||
Et identifie les morceaux présents
|
||||
Et mesure la durée de chaque extrait
|
||||
Et un événement "MUSIC_DETECTED" est enregistré
|
||||
|
||||
Scénario: Validation automatique si < 30 secondes
|
||||
Étant donné un audio avec 25 secondes de musique protégée
|
||||
Quand la validation automatique s'exécute
|
||||
Alors le contenu est approuvé (fair use)
|
||||
Et un badge "Fair use" est appliqué
|
||||
Et un événement "FAIR_USE_APPROVED" est enregistré
|
||||
|
||||
Scénario: Blocage automatique si > 30 secondes
|
||||
Étant donné un audio avec 45 secondes de musique protégée
|
||||
Quand la validation s'exécute
|
||||
Alors le contenu est bloqué
|
||||
Et le créateur voit: "Extrait musical trop long (45s). Max: 30s"
|
||||
Et il peut éditer et re-uploader
|
||||
Et un événement "FAIR_USE_REJECTED" est enregistré
|
||||
|
||||
Scénario: Liste des morceaux détectés avec durée
|
||||
Étant donné un créateur "bob@roadwave.fr" avec musique détectée
|
||||
Alors il voit la liste:
|
||||
| Morceau | Artiste | Durée | Statut |
|
||||
| Bohemian Rhapsody | Queen | 28s | ✓ OK |
|
||||
| Imagine | John Lennon | 15s | ✓ OK |
|
||||
Et la durée totale: 43s
|
||||
Et un avertissement si total > 30s
|
||||
Et un événement "MUSIC_DETECTION_RESULTS_DISPLAYED" est enregistré
|
||||
|
||||
Scénario: Suggestions de musique libre de droits
|
||||
Étant donné un créateur "charlie@roadwave.fr"
|
||||
Quand son audio dépasse les 30s de musique protégée
|
||||
Alors le système suggère des alternatives libres:
|
||||
| Morceau | Licence | Style |
|
||||
| Acoustic Breeze | CC BY | Acoustique |
|
||||
| Epic Cinematic | Royalty-free| Épique |
|
||||
Et un lien vers une bibliothèque musicale
|
||||
Et un événement "FREE_MUSIC_SUGGESTED" est enregistré
|
||||
|
||||
Scénario: Limitation cumulative par audio-guide
|
||||
Étant donné un créateur "david@roadwave.fr" avec audio-guide de 10 séquences
|
||||
Quand il utilise de la musique protégée
|
||||
Alors chaque séquence peut contenir max 30s
|
||||
Mais le total cumulé est limité à 3 minutes par audio-guide
|
||||
Et un compteur affiche: "2min 15s / 3min utilisés"
|
||||
Et un événement "CUMULATIVE_MUSIC_LIMIT_TRACKED" est enregistré
|
||||
Reference in New Issue
Block a user