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

@@ -87,50 +87,70 @@ nav:
- 'ADR-023: Architecture Modération': adr/023-architecture-moderation.md
- 'ADR-024: Monitoring & Observabilité': adr/024-monitoring-observabilite.md
- 'ADR-025: Sécurité & Secrets': adr/025-securite-secrets.md
- Règles Métier:
- Introduction: regles-metier/README.md
- Fondations & Compte:
- '01: Authentification': regles-metier/01-authentification-inscription.md
- '02: Conformité RGPD': regles-metier/02-conformite-rgpd.md
- Consommation de contenu:
- '03: Centres Intérêt': regles-metier/03-centres-interet-jauges.md
- '04: Algorithme Recommandation': regles-metier/04-algorithme-recommandation.md
- '05: Interactions Navigation': regles-metier/05-interactions-navigation.md
- '06: Audio-guides': regles-metier/06-audio-guides-multi-sequences.md
- '07: Contenus Voiture': regles-metier/07-contenus-geolocalises-voiture.md
- '08: Mode Offline': regles-metier/08-mode-offline.md
- '09: Abonnements': regles-metier/09-abonnements-notifications.md
- '10: Gestion Erreurs': regles-metier/10-gestion-erreurs.md
- Création de contenu:
- '11: Création Contenu': regles-metier/11-creation-publication-contenu.md
- '12: Radio Live': regles-metier/12-radio-live.md
- '13: Contenu Protégé': regles-metier/13-detection-contenu-protege.md
- Modération & Sécurité:
- '14: Modération': regles-metier/14-moderation-flows.md
- '15: Modération Communautaire': regles-metier/15-moderation-communautaire.md
- Monétisation & Business:
- '16: Publicités': regles-metier/16-publicites.md
- '17: Premium': regles-metier/17-premium.md
- '18: Monétisation Créateurs': regles-metier/18-monetisation-createurs.md
- Transverse:
- '19: Autres Comportements': regles-metier/19-autres-comportements.md
- 'Annexe: Post-MVP': regles-metier/ANNEXE-POST-MVP.md
- Diagrammes:
- Flux:
- 'Processus de signalement': diagrammes/flux/moderation-signalement.md
- États:
- 'Cycle de vie signalement': diagrammes/etats/signalement-lifecycle.md
- Séquences:
- "Processus d'appel modération": diagrammes/sequence/processus-appel-moderation.md
- Entités:
- 'Modèle global': diagrammes/entites/modele-global.md
- 'Modèle recommandation': diagrammes/entites/modele-recommandation.md
- 'Modèle publicités': diagrammes/entites/modele-publicites.md
- 'Modèle premium': diagrammes/entites/modele-premium.md
- 'Modèle monétisation': diagrammes/entites/modele-monetisation.md
- 'Modèle audio-guides': diagrammes/entites/modele-audio-guides.md
- 'Modèle radio live': diagrammes/entites/modele-radio-live.md
- 'Modèle modération': diagrammes/entites/modele-moderation.md
- Domaines DDD:
- 'Context Map': domains/README.md
- 'Core Domain':
- '🔐 Shared': domains/_shared/README.md
- Règles:
- Authentification: domains/_shared/rules/authentification.md
- RGPD: domains/_shared/rules/rgpd.md
- Gestion Erreurs: domains/_shared/rules/gestion-erreurs.md
- 'Annexe Post-MVP': domains/_shared/rules/ANNEXE-POST-MVP.md
- Entités:
- Modèle Global: domains/_shared/entities/modele-global.md
- 'Supporting Subdomains':
- '🎯 Recommendation':
- Vue d'ensemble: domains/recommendation/README.md
- Règles:
- Centres Intérêt: domains/recommendation/rules/centres-interet-jauges.md
- Algorithme: domains/recommendation/rules/algorithme-recommandation.md
- Interactions: domains/recommendation/rules/interactions-navigation.md
- Entités:
- Modèle Recommandation: domains/recommendation/entities/modele-recommandation.md
- '🎙️ Content':
- Vue d'ensemble: domains/content/README.md
- Règles:
- Création & Publication: domains/content/rules/creation-publication.md
- Audio-guides: domains/content/rules/audio-guides.md
- Radio Live: domains/content/rules/radio-live.md
- Contenus Géolocalisés: domains/content/rules/contenus-geolocalises.md
- Contenu Protégé: domains/content/rules/detection-contenu-protege.md
- Entités:
- Modèle Audio-guides: domains/content/entities/modele-audio-guides.md
- Modèle Radio Live: domains/content/entities/modele-radio-live.md
- '🛡️ Moderation':
- Vue d'ensemble: domains/moderation/README.md
- Règles:
- Modération: domains/moderation/rules/moderation-flows.md
- Modération Communautaire: domains/moderation/rules/moderation-communautaire.md
- Autres Comportements: domains/moderation/rules/autres-comportements.md
- Entités:
- Modèle Modération: domains/moderation/entities/modele-moderation.md
- Diagrammes:
- 'Flux: Signalement': domains/moderation/flows/moderation-signalement.md
- 'États: Lifecycle': domains/moderation/states/signalement-lifecycle.md
- 'Séquence: Appel': domains/moderation/sequences/processus-appel-moderation.md
- 'Generic Subdomains':
- '📢 Advertising':
- Vue d'ensemble: domains/advertising/README.md
- Règles:
- Publicités: domains/advertising/rules/publicites.md
- Entités:
- Modèle Publicités: domains/advertising/entities/modele-publicites.md
- '💎 Premium':
- Vue d'ensemble: domains/premium/README.md
- Règles:
- Premium: domains/premium/rules/premium.md
- Mode Offline: domains/premium/rules/mode-offline.md
- Abonnements: domains/premium/rules/abonnements-notifications.md
- Entités:
- Modèle Premium: domains/premium/entities/modele-premium.md
- '💰 Monetization':
- Vue d'ensemble: domains/monetization/README.md
- Règles:
- Monétisation Créateurs: domains/monetization/rules/monetisation-createurs.md
- Entités:
- Modèle Monétisation: domains/monetization/entities/modele-monetisation.md
- Documentation Légale:
- Introduction: legal/README.md
- "Conditions Générales d'Utilisation": legal/cgu.md
@@ -151,9 +171,6 @@ nav:
- Architecture & Techniques:
- Séquences:
- 'Cache Géospatial': architecture/sequences/cache-geospatial.md
- Modération (Gherkin):
- "Vue d'ensemble": gherkin-moderation-overview.md
- Tests BDD: bdd/
extra:
social: