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,56 @@
# language: fr
@api @navigation @transitions @mvp
Fonctionnalité: Décompte 5 secondes pour transitions séquences
En tant qu'utilisateur
Je veux un décompte avant le début d'une nouvelle séquence
Afin de me préparer mentalement à l'écoute du nouveau contenu
Scénario: Décompte visuel et audio avant nouvelle séquence
Étant donné un utilisateur "alice@roadwave.fr" qui termine une séquence
Quand la suivante est sur le point de démarrer
Alors un décompte de 5 secondes est affiché: "5... 4... 3... 2... 1..."
Et un son subtil accompagne chaque seconde
Et un événement "TRANSITION_COUNTDOWN_STARTED" est enregistré
Scénario: Possibilité de skip le décompte
Étant donné un utilisateur "bob@roadwave.fr" pendant un décompte
Quand il appuie sur "Passer"
Alors la séquence suivante démarre immédiatement
Et le décompte est interrompu
Et un événement "TRANSITION_COUNTDOWN_SKIPPED" est enregistré
Scénario: Annulation du décompte si utilisateur s'éloigne
Étant donné un utilisateur "charlie@roadwave.fr" avec décompte en cours
Quand il s'éloigne du point d'intérêt pendant le décompte
Alors le décompte est annulé
Et la séquence ne démarre pas
Et un événement "TRANSITION_COUNTDOWN_CANCELLED" est enregistré
Scénario: Prévisualisation du prochain point pendant le décompte
Étant donné un utilisateur "david@roadwave.fr" pendant un décompte
Alors il voit une carte de prévisualisation:
| Élément | Contenu |
| Nom de la séquence| Panthéon |
| Durée | 8 min 30s |
| Distance | Vous y êtes |
| Image | Photo du Panthéon |
Et un événement "TRANSITION_PREVIEW_DISPLAYED" est enregistré
Scénario: Désactivation du décompte dans les paramètres
Étant donné un utilisateur "eve@roadwave.fr"
Quand elle désactive "Décompte de transition" dans les paramètres
Alors les séquences démarrent immédiatement
Sans décompte de 5 secondes
Et un événement "TRANSITION_COUNTDOWN_DISABLED" est enregistré
Scénario: Métriques d'utilisation du décompte
Étant donné que 10 000 transitions ont eu lieu
Alors les indicateurs suivants sont disponibles:
| Métrique | Valeur |
| Taux de skip du décompte | 25% |
| Taux de complétion du décompte| 70% |
| Taux d'annulation | 5% |
| Satisfaction utilisateur | 4.2/5 |
Et les métriques sont exportées vers le monitoring