Files
roadwave/docs/domains/monetization/features/monetisation/soldes-dormants-inactifs.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

236 lines
9.9 KiB
Gherkin
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# language: fr
Fonctionnalité: Gestion des soldes dormants et créateurs inactifs
En tant que plateforme RoadWave
Je veux gérer les soldes des créateurs inactifs de manière équitable
Afin de restituer l'argent aux créateurs plutôt que de le confisquer
Contexte:
Étant donné que je suis un créateur monétisé
Et que mon KYC est validé
Et que mon solde actuel est 45.00
# Conservation du solde pour créateurs actifs
Scénario: Créateur actif - Solde conservé indéfiniment
Étant donné que je publie au moins 1 contenu par mois
Ou que je me connecte au dashboard au moins 1 fois par mois
Quand 24 mois se sont écoulés
Alors mon solde de 45.00 est toujours conservé
Et aucun email de préavis n'est envoyé
Et le solde reste visible dans mon dashboard
Scénario: Créateur actif sporadique - Pas de pénalité
Étant donné que je publie 1 contenu tous les 2-3 mois
Ou que je me connecte au dashboard tous les 2 mois
Quand 18 mois d'activité sporadique se sont écoulés
Alors mon solde est conservé normalement
Et je ne reçois aucun email d'avertissement
Et mon statut reste "Créateur actif"
# Créateur inactif - Emails préventifs
Scénario: Inactivité 12 mois - Email préventif 1
Étant donné que je n'ai publié aucun contenu depuis 12 mois
Et que je ne me suis pas connecté au dashboard depuis 12 mois
Quand le système détecte 12 mois d'inactivité
Alors je reçois un email avec le sujet:
"""
Votre solde RoadWave (45.00) - Action requise
"""
Et l'email contient:
"""
Vous n'avez pas publié de contenu depuis 12 mois.
Votre solde actuel : 45.00
🔔 Si vous restez inactif 6 mois supplémentaires :
Versement automatique (frais bancaires déduits)
Montant net estimé : 44.64
💡 Pour éviter le versement anticipé :
- Publiez un nouveau contenu, OU
- Connectez-vous à votre dashboard créateur
"""
Et un lien vers le dashboard est fourni
Scénario: Inactivité 18 mois - Email préventif 2 (préavis final)
Étant donné que je n'ai publié aucun contenu depuis 18 mois
Et que je ne me suis pas connecté au dashboard depuis 18 mois
Quand le système détecte 18 mois d'inactivité
Alors je reçois un email avec le sujet:
"""
📢 Versement automatique dans 30 jours
"""
Et l'email contient:
"""
Vous n'avez pas publié de contenu depuis 18 mois.
Votre solde sera versé automatiquement dans 30 jours :
- Solde actuel : 45.00
- Frais bancaires Mangopay SEPA : 0.36 (1.8% + 0.18)
- Montant net : 44.64
Ce versement est automatique pour restituer votre argent.
💡 Pour conserver le solde jusqu'à 50 :
- Publiez un nouveau contenu, OU
- Connectez-vous à votre dashboard
"""
Scénario: Inactivité 18 mois + 30 jours - Versement forcé
Étant donné que je n'ai publié aucun contenu depuis 18 mois + 30 jours
Et que je ne me suis pas connecté au dashboard depuis 18 mois + 30 jours
Quand le système détecte 18 mois + 30 jours d'inactivité
Alors un versement SEPA automatique est initié vers mon RIB
Et le montant versé est 45.00 - 0.36 = 44.64
Et je reçois un email de confirmation:
"""
Versement automatique effectué
Votre solde RoadWave a été versé :
- Montant brut : 45.00
- Frais bancaires : 0.36
- Montant net versé : 44.64
Le virement devrait arriver sur votre compte dans 1-3 jours.
"""
Scénario: Inactivité 18 mois + 37 jours - Purge données comptables
Étant donné qu'un versement forcé a été effectué il y a 7 jours
Quand le système détecte 18 mois + 37 jours d'inactivité
Alors les données comptables temporaires sont purgées
Mais les logs sont conservés 10 ans (obligation RGPD)
Et l'historique de paiement reste visible dans mon profil
# Exception soldes <10€
Scénario: Solde <10€ après 18 mois - Proposition de don
Étant donné que mon solde actuel est 8.50
Et que je suis inactif depuis 18 mois
Quand le système détecte 18 mois d'inactivité
Alors je reçois un email avec proposition:
"""
Votre solde actuel : 8.50
Les frais bancaires (0.36) représentent 4.2% du montant.
💡 Options disponibles :
1. Don à une association (frais 0, 100% reversé)
2. Conservation jusqu'à atteindre 50
3. Versement avec frais déduits (8.14 net)
Choisissez votre option : [Lien formulaire]
"""
Scénario: Solde <10€ - Choix option "Don association"
Étant donné que mon solde est 8.50
Et que j'ai choisi "Don à une association"
Quand le don est effectué
Alors 8.50 (100%) sont reversés à l'association
Et je reçois un reçu fiscal si applicable
Et mon solde est remis à 0
Scénario: Solde <10€ - Choix option "Conservation jusqu'à 50€"
Étant donné que mon solde est 8.50
Et que j'ai choisi "Conservation jusqu'à 50"
Quand l'option est validée
Alors mon solde est conservé indéfiniment
Et je peux me reconnecter à tout moment pour publier du contenu
Et atteindre les 50 pour un paiement standard
Scénario: Solde <10€ - Choix option "Versement avec frais"
Étant donné que mon solde est 8.50
Et que j'ai choisi "Versement avec frais déduits"
Quand le versement est initié
Alors je reçois 8.50 - 0.36 = 8.14 net
Et un email de confirmation est envoyé
Scénario: Solde <10€ - Pas de réponse + inactivité continue - Versement forcé
Étant donné que mon solde est 8.50
Et que je n'ai pas répondu à l'email de proposition
Et que l'inactivité continue pendant 30 jours supplémentaires
Quand le délai de 18 mois + 30 jours est atteint
Alors le versement est effectué quand même (équité)
Et je reçois 8.14 net après frais
# Frais bancaires
Scénario: Calcul frais bancaires Mangopay SEPA
Étant donné que mon solde est de <montant>
Quand le versement forcé est initié
Alors les frais Mangopay SEPA sont: 1.8% + 0.18
Et le montant net est calculé comme suit:
| Solde brut | Frais (1.8% + 0.18) | Montant net |
| 45.00 | 0.36 | 44.64 |
| 30.00 | 0.36 | 29.64 |
| 100.00 | 1.98 | 98.02 |
| 8.50 | 0.36 | 8.14 |
Scénario: Transparence frais bancaires dans emails
Étant donné qu'un email de préavis est envoyé
Quand je lis l'email
Alors les frais bancaires sont explicitement mentionnés:
"""
Frais bancaires Mangopay SEPA : 0.36 (1.8% + 0.18)
"""
Et le montant net final est clairement indiqué
# Comparaison Twitch
Scénario: Comparaison avec Twitch - Versement forcé vs Forfeiture
Étant donné que Twitch confisque (forfeiture) les soldes après 24 mois
Et que RoadWave verse (restitue) les soldes après 18 mois
Alors RoadWave est plus équitable:
| Critère | Twitch | RoadWave | Avantage |
| Seuil paiement | 50-100$ | 50 | Aligné |
| Délai inactivité | 24 mois | 18 mois | Plus court |
| Action fin délai | Forfeiture (perte argent) | Versement forcé (récupère) | RoadWave |
| Emails préventifs | Non documenté | 12 mois + 18 mois + 30j | RoadWave |
| Frais bancaires | Non documenté | Déduits + annoncés | RoadWave |
# Réactivation après inactivité
Scénario: Reconnexion après 12 mois d'inactivité - Solde conservé
Étant donné que je suis inactif depuis 12 mois
Et que mon solde est 45.00
Quand je me connecte au dashboard
Alors mon solde est toujours de 45.00
Et le compteur d'inactivité est remis à 0
Et aucun versement forcé n'aura lieu
Scénario: Publication contenu après 17 mois d'inactivité - Annulation versement
Étant donné que je suis inactif depuis 17 mois
Et qu'un email de préavis a été envoyé
Quand je publie un nouveau contenu
Alors le processus de versement forcé est annulé
Et mon solde reste conservé normalement
Et je redeviens "Créateur actif"
Scénario: Reconnexion 1 jour avant versement forcé - Annulation
Étant donné que je suis inactif depuis 18 mois + 29 jours
Et que le versement forcé est prévu demain
Quand je me connecte au dashboard aujourd'hui
Alors le versement forcé est annulé
Et mon solde est conservé
Et un message confirme: "Versement automatique annulé. Solde conservé."
# Cas limites
Scénario: Créateur avec plusieurs contenus anciens mais inactif
Étant donné que j'ai publié 50 contenus il y a 2 ans
Et que ces contenus génèrent encore des revenus passifs
Mais que je ne me connecte plus au dashboard depuis 18 mois
Quand le système détecte 18 mois d'inactivité
Alors je suis considéré "inactif" (aucune connexion dashboard)
Et je reçois les emails de préavis normalement
Et le versement forcé s'applique après 18 mois + 30 jours
Scénario: Créateur avec abonnés fidèles mais inactif
Étant donné que j'ai 500 abonnés
Et que mes anciens contenus génèrent encore des revenus
Mais que je ne publie plus de contenus depuis 18 mois
Et que je ne me connecte plus au dashboard depuis 18 mois
Quand le système détecte l'inactivité
Alors je reçois les emails de préavis
Et le versement forcé s'applique normalement
Car l'activité comptabilisée = connexion dashboard OU publication contenu