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,42 @@
# language: fr
@api @moderation @sanctions @mvp
Fonctionnalité: Sanctions progressives pour abus de signalement
En tant que plateforme
Je veux sanctionner les abus de signalement progressivement
Afin de dissuader le spam et les faux signalements
Scénario: Premier abus - Avertissement
Étant donné un utilisateur avec 3 faux signalements en 24h
Quand le 3ème est confirmé comme faux
Alors un avertissement est envoyé
Et un message explique les règles
Et un événement "ABUSE_WARNING_ISSUED" est enregistré
Scénario: Deuxième abus - Limitation temporaire
Étant donné un utilisateur avec 2ème série de faux signalements
Alors il est limité à 5 signalements par jour pendant 7 jours
Et un événement "ABUSE_LIMITED_REPORTING" est enregistré
Scénario: Troisième abus - Suspension 30 jours
Étant donné un utilisateur avec 3ème série d'abus
Alors il perd le droit de signaler pendant 30 jours
Et tous ses badges modération sont révoqués
Et un événement "ABUSE_SUSPENDED_30D" est enregistré
Scénario: Quatrième abus - Bannissement définitif
Étant donné un utilisateur avec 4ème série d'abus
Alors il est définitivement banni de la modération
Et ne peut jamais récupérer ce droit
Et un événement "ABUSE_PERMANENT_BAN" est enregistré
Scénario: Métriques de sanctions
Étant donné que 500 sanctions ont été appliquées
Alors les indicateurs suivants sont disponibles:
| Sanction | Nombre | % |
| Avertissements | 320 | 64% |
| Limitations | 120 | 24% |
| Suspensions 30j | 50 | 10% |
| Bannissements | 10 | 2% |
Et les métriques sont exportées vers le monitoring