Files
roadwave/docs/domains/_shared/features/authentication/classification-age.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

121 lines
5.5 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é: Classification des contenus par âge
En tant que plateforme responsable
Je veux classifier les contenus par tranche d'âge
Afin de protéger les mineurs et respecter les obligations légales
Contexte:
Étant donné que l'API RoadWave est disponible
Scénario: Créateur doit classifier son contenu à la publication
Étant donné que je suis un créateur connecté
Quand je crée un nouveau contenu audio
Alors je dois obligatoirement choisir une classification d'âge parmi:
| classification | description |
| Tout public | Contenu adapté à tous les âges |
| 13+ | Contenu mature léger |
| 16+ | Contenu mature |
| 18+ | Contenu adulte |
Scénario: Publication impossible sans classification
Étant donné que je crée un contenu audio
Quand j'essaie de publier sans sélectionner de classification
Alors la publication échoue
Et je vois le message "Vous devez sélectionner une classification d'âge"
Scénario: Utilisateur 13-15 ans voit "Tout public" et "13+"
Étant donné que je suis un utilisateur de 14 ans
Et qu'il existe des contenus avec les classifications suivantes:
| classification | nombre |
| Tout public | 20 |
| 13+ | 15 |
| 16+ | 10 |
| 18+ | 5 |
Quand je demande des recommandations
Alors je vois 35 contenus (Tout public + 13+)
Et les contenus 16+ et 18+ ne sont jamais proposés
Scénario: Utilisateur 16-17 ans voit "Tout public", "13+" et "16+"
Étant donné que je suis un utilisateur de 17 ans
Et qu'il existe des contenus avec les classifications suivantes:
| classification | nombre |
| Tout public | 20 |
| 13+ | 15 |
| 16+ | 10 |
| 18+ | 5 |
Quand je demande des recommandations
Alors je vois 45 contenus (Tout public + 13+ + 16+)
Et les contenus 18+ ne sont pas proposés
Scénario: Utilisateur 18+ voit tous les contenus
Étant donné que je suis un utilisateur de 25 ans
Et qu'il existe des contenus avec toutes les classifications
Quand je demande des recommandations
Alors je vois tous les contenus sans restriction
Et aucun filtre d'âge n'est appliqué
Scénario: Inscription réussie à 13 ans pile - accès limité à "Tout public" et "13+"
Étant donné que je m'inscris avec une date de naissance "2013-01-21"
Alors mon compte est créé avec succès
Et je peux voir les contenus "Tout public" et "13+"
Et les contenus 16+ et 18+ ne sont pas accessibles
Scénario: Modérateur reclassifie un contenu mal catégorisé
Étant donné qu'un contenu est publié avec la classification "Tout public"
Et que ce contenu contient du langage inapproprié détecté en modération
Quand le modérateur reclassifie ce contenu en "16+"
Alors la nouvelle classification est appliquée immédiatement
Et le contenu n'est plus visible pour les utilisateurs de moins de 16 ans
Et le créateur reçoit une notification de reclassification
Scénario: Strike si classification volontairement incorrecte
Étant donné qu'un créateur a publié un contenu "18+" classifié comme "Tout public"
Et que ce contenu a été signalé
Quand le modérateur confirme la mauvaise classification volontaire
Alors le créateur reçoit 1 strike
Et le contenu est reclassifié en "18+"
Et le créateur reçoit une notification explicative
Scénario: Créateur peut voir la distribution d'âge de son audience
Étant donné que je suis un créateur
Et que j'ai publié des contenus avec différentes classifications
Quand je consulte mes statistiques
Alors je vois la répartition des âges de mes auditeurs:
| tranche_age | pourcentage |
| 13-15 ans | 15% |
| 16-17 ans | 20% |
| 18+ ans | 65% |
Scénario: Recherche filtrée par classification d'âge
Étant donné que je suis un utilisateur de 16 ans
Quand je recherche des contenus
Alors les résultats incluent uniquement:
| classification |
| Tout public |
| 13+ |
| 16+ |
Et je ne vois pas les contenus 18+ dans les résultats
Scénario: Notification si tentative d'accès à contenu non autorisé
Étant donné que je suis un utilisateur de 15 ans
Et qu'un contenu "16+" est partagé avec moi via un lien direct
Quand j'essaie d'accéder au contenu
Alors l'accès est refusé
Et je vois le message "Ce contenu est réservé aux utilisateurs de 16 ans et plus"
Scénario: Validation obligatoire des 3 premiers contenus inclut la classification
Étant donné que je suis un nouveau créateur
Et que je publie mon premier contenu classifié "18+"
Quand le modérateur valide mon contenu
Alors il vérifie que la classification "18+" est appropriée
Et peut la modifier si nécessaire avant validation
Scénario: Statistiques de classification dans l'interface créateur
Étant donné que je suis un créateur
Quand je consulte mes contenus publiés
Alors je vois pour chaque contenu:
| information | exemple |
| Classification actuelle | 13+ |
| Nombre de signalements | 2 |
| Reclassifications | Aucune / 1× par modérateur |