Files
roadwave/docs/domains/content/features/content-creation/validation-premiers-contenus.feature
jpgiannetti 5e5fcf4714 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.
2026-02-07 17:15:02 +01:00

218 lines
8.8 KiB
Gherkin
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# language: fr
Fonctionnalité: Validation des 3 premiers contenus
En tant que nouveau créateur
Je veux que mes 3 premiers contenus soient validés
Afin de devenir créateur vérifié
Contexte:
Étant donné que l'API RoadWave est disponible
Et que je suis un nouveau créateur
Scénario: Premier contenu passe en file de validation
Quand je publie mon premier contenu
Alors le contenu passe en file d'attente modération
Et je vois le message "Votre contenu est en cours de validation (24-48h)"
Et le contenu n'est pas encore visible publiquement
Scénario: Deuxième contenu passe également en validation
Étant donné que mon premier contenu a été validé
Quand je publie mon deuxième contenu
Alors le contenu passe en file d'attente modération
Et le délai estimé est 24-48h
Scénario: Troisième contenu - dernière validation
Étant donné que mes 2 premiers contenus ont été validés
Quand je publie mon troisième contenu
Alors le contenu passe en file d'attente modération
Et je vois "Dernière validation avant statut vérifié "
Scénario: Modérateur écoute 30 secondes du contenu
Étant donné qu'un contenu est en file de validation
Quand le modérateur junior l'examine
Alors il écoute les 30 premières secondes
Ou 15 secondes à vitesse 2x
Et il vérifie les métadonnées
Scénario: Validation - Qualité audio acceptable
Étant donné qu'un contenu a une qualité audio claire
Quand le modérateur l'écoute
Alors il vérifie que l'audio est compréhensible
Et qu'il n'y a pas de grésillement excessif
Scénario: Rejet - Qualité audio insuffisante
Étant donné qu'un contenu a un audio très grésillant
Quand le modérateur l'écoute
Alors le contenu est rejeté
Et la raison est "Qualité audio insuffisante"
Scénario: Validation - Respect des règles
Étant donné qu'un contenu respecte les règles
Quand le modérateur l'examine
Alors il vérifie qu'il n'y a pas de contenu prohibé:
| type prohibé |
| Haine |
| Violence |
| Spam |
| Illégalité |
Scénario: Rejet - Contenu haineux détecté
Étant donné qu'un contenu contient des propos haineux
Quand le modérateur l'écoute
Alors le contenu est rejeté immédiatement
Et la raison est "Contenu haineux (violation des règles)"
Et le créateur peut recevoir un strike
Scénario: Validation - Classification âge cohérente
Étant donné qu'un contenu familial est classé "Tout public"
Quand le modérateur l'écoute
Alors il vérifie que la classification correspond au contenu
Et le contenu est accepté
Scénario: Rejet - Classification incorrecte
Étant donné qu'un contenu adulte est classé "Tout public"
Quand le modérateur détecte l'incohérence
Alors le contenu est rejeté
Et la raison est "Classification d'âge incorrecte"
Scénario: Validation - Tags pertinents
Étant donné qu'un contenu sur l'automobile est tagué "Automobile", "Technologie"
Quand le modérateur vérifie les tags
Alors il confirme que les tags correspondent au contenu
Et le contenu est accepté
Scénario: Rejet - Tags non pertinents
Étant donné qu'un contenu musical est tagué "Automobile", "Sport"
Quand le modérateur détecte l'incohérence
Alors le contenu est rejeté
Et la raison est "Tags non pertinents avec le contenu"
Scénario: Validation - Zone diffusion cohérente
Étant donné qu'un audio-guide de la Tour Eiffel est en "Point GPS" Paris
Quand le modérateur vérifie la cohérence
Alors la zone est appropriée
Et le contenu est accepté
Scénario: Rejet - Zone incohérente
Étant donné qu'un audio-guide de la Tour Eiffel est en zone "National"
Quand le modérateur détecte l'incohérence
Alors le contenu est rejeté
Et la raison est "Zone de diffusion incohérente (devrait être Point GPS)"
Scénario: Délai de validation 24-48h jours ouvrés
Étant donné que je publie un contenu un lundi
Quand le contenu entre en file de validation
Alors le délai estimé est 24-48h (mercredi maximum)
Scénario: Délai étendu le weekend
Étant donné que je publie un contenu un vendredi soir
Quand le contenu entre en file de validation
Alors le délai peut atteindre 72h (lundi)
Et je vois "Validation en cours, délai 24-72h (weekend)"
Scénario: Priorité FIFO (First In First Out)
Étant donné que 10 contenus sont en file de validation
Quand les modérateurs traitent la file
Alors les contenus sont traités dans l'ordre d'arrivée
Et pas de traitement prioritaire
Scénario: Notification acceptation
Étant donné que mon contenu est validé et accepté
Alors je reçois un email " Votre contenu '[Titre]' est en ligne !"
Et je reçois une notification push
Et je vois un lien direct vers le contenu
Scénario: Compteur de validation
Étant donné que mon premier contenu est accepté
Alors je vois "1/3 contenus validés pour devenir créateur vérifié"
Quand mon deuxième contenu est accepté
Alors je vois "2/3 contenus validés pour devenir créateur vérifié"
Scénario: Notification refus avec raison détaillée
Étant donné que mon contenu est rejeté
Alors je reçois un email " Contenu '[Titre]' refusé"
Et je reçois une notification push
Et je vois la raison exacte: "Qualité audio insuffisante"
Et je vois un lien vers les règles de publication
Scénario: Possibilité de correction et resoumission
Étant donné que mon contenu a été rejeté pour "Tags non pertinents"
Quand je corrige les tags
Et que je resoumets le contenu
Alors le contenu repasse en file de validation
Et une nouvelle validation est effectuée
Scénario: Après 3 validations - Statut vérifié obtenu
Étant donné que mes 3 premiers contenus ont été validés
Alors j'obtiens le statut "Créateur Vérifié"
Et je reçois une notification "🎉 Vous êtes maintenant créateur vérifié !"
Et un badge apparaît sur mon profil
Scénario: Badge vérifié visible publiquement
Étant donné que j'ai le statut vérifié
Quand un utilisateur consulte mon profil
Alors il voit le badge à côté de mon pseudo
Et une mention "Créateur vérifié"
Scénario: Contenus futurs publiés immédiatement
Étant donné que je suis créateur vérifié
Quand je publie un 4ème contenu
Alors le contenu est publié immédiatement
Et il n'y a pas de validation préalable
Et je vois " Contenu publié"
Scénario: Modération a posteriori uniquement
Étant donné que je suis créateur vérifié
Et que je publie un contenu
Quand le contenu est en ligne
Alors il peut être signalé par les utilisateurs
Et sera modéré uniquement si signalé
Scénario: Interface modérateur - Queue de contenus
Étant donné que je suis un modérateur junior
Quand j'accède à l'interface de modération
Alors je vois la file des contenus à valider
Et je vois le nombre total en attente
Et les contenus sont triés par ordre FIFO
Scénario: Interface modérateur - Écoute accélérée
Étant donné que je suis un modérateur
Quand j'écoute un contenu de 30 secondes
Alors je peux choisir la vitesse 1.5x ou 2.0x
Et je termine l'écoute en 15 secondes à 2x
Et ma productivité est doublée
Scénario: Interface modérateur - Raccourcis clavier
Étant donné que je modère un contenu
Quand j'utilise les raccourcis clavier
Alors je peux:
| touche | action |
| A | Accepter |
| R | Rejeter |
| Espace | Play/Pause |
Et la modération est accélérée
Scénario: Historique créateur visible
Étant donné qu'un créateur soumet son 2ème contenu
Quand le modérateur examine le contenu
Alors il voit l'historique:
| contenu | statut |
| Contenu 1 | Validé |
| Contenu 2 | En cours|
Et il peut juger la cohérence du créateur
Scénario: Temps de modération estimé 1.5 min/créateur
Étant donné qu'un créateur soumet 3 contenus
Quand les modérateurs traitent ces contenus
Alors le temps total est environ:
| action | temps |
| Écoute 30s × 3 | 90s |
| Vérification metadata| 15s |
| Décision | 5s |
| Total | 110s |
Scénario: Verrouillage contenu pendant traitement modérateur
Étant donné que le modérateur A ouvre un contenu pour validation
Quand le modérateur B essaie d'ouvrir le même contenu
Alors le modérateur B voit le message "Contenu en cours de traitement par [Modérateur A]"
Et le contenu est verrouillé pour éviter doublon