Résolution des incohérences #10, #11, et #12 de l'analyse d'architecture. ## Phase 1 : Réorganisation Features BDD (Point #10 - RÉSOLU) - Créer structure features/{api,ui,e2e} - Déplacer 83 features en 3 catégories via git mv (historique préservé) - features/api/ : 53 features (tests API backend) - features/ui/ : 22 features (tests UI mobile) - features/e2e/ : 8 features (tests end-to-end) Domaines déplacés : - API : authentication, recommendation, rgpd-compliance, content-creation, moderation, monetisation, premium, radio-live, publicites - UI : audio-guides, navigation, interest-gauges, mode-offline, partage, profil, recherche - E2E : abonnements, error-handling ## Phase 2 : Mise à jour Documentation ### ADR-007 - Tests BDD - Ajouter section "Convention de Catégorisation des Features" - Documenter règles api/ui/e2e avec exemples concrets - Spécifier step definitions (backend Go, mobile Dart) ### ADR-024 - Stratégie CI/CD Monorepo (NOUVEAU) - Créer ADR dédié pour stratégie CI/CD avec path filters - Architecture workflows séparés (backend.yml, mobile.yml, shared.yml) - Configuration path filters détaillée avec exemples YAML - Matrice de déclenchement et optimisations (~70% gain temps CI) - Plan d'implémentation (~2h, reporté jusqu'au développement) ### ADR-016 - Organisation Monorepo - Simplifier en retirant section CI/CD détaillée - Ajouter référence vers ADR-024 pour stratégie CI/CD ### INCONSISTENCIES-ANALYSIS.md - Point #10 (Tests BDD synchronisés) : ✅ RÉSOLU - Catégorisation features implémentée - ADR-007 mis à jour avec convention complète - Point #11 (70/30 Split paiements) : ✅ ANNULÉ (faux problème) - ADR-009 et Règle 18 parfaitement cohérents - Documentation exhaustive existante (formule, SQL, comparaisons) - Point #12 (Monorepo path filters) : ⏸️ DOCUMENTÉ - Architecture CI/CD complète dans ADR-024 - Implémentation reportée (projet en phase documentation) - Métriques mises à jour : - MODERATE : 6/9 traités (4 résolus + 1 annulé + 1 documenté) - ADR à jour : 100% (19/19 avec ADR-024) ## Phase 3 : Validation - Structure features validée (api/ui/e2e, aucun répertoire restant) - Historique Git préservé (git mv, renommages détectés) - 83 features total (API: 53, UI: 22, E2E: 8) Closes: Point #10 (résolu), Point #11 (annulé), Point #12 (documenté) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
294 lines
13 KiB
Gherkin
294 lines
13 KiB
Gherkin
# language: fr
|
|
Fonctionnalité: KYC et inscription à la monétisation
|
|
En tant que créateur éligible
|
|
Je veux compléter le KYC pour activer la monétisation
|
|
Afin de recevoir des paiements légalement
|
|
|
|
Contexte:
|
|
Étant donné que je remplis tous les critères de monétisation
|
|
Et que j'ai cliqué sur "Demander la monétisation"
|
|
|
|
Scénario: Redirection vers formulaire KYC Mangopay
|
|
Quand je démarre le processus d'activation
|
|
Alors je suis redirigé vers un formulaire KYC
|
|
Et le formulaire est fourni par Mangopay (iframe sécurisée)
|
|
Et toutes les données sont chiffrées et hébergées en EU
|
|
|
|
Scénario: Statut auto-entrepreneur accepté
|
|
Étant donné que je suis auto-entrepreneur
|
|
Quand je renseigne mon statut juridique
|
|
Alors l'option "Auto-entrepreneur (micro-BNC)" est disponible
|
|
Et je peux continuer le processus
|
|
|
|
Scénario: Statut société SARL/SAS/SASU accepté
|
|
Étant donné que j'ai créé une société
|
|
Quand je renseigne mon statut juridique
|
|
Alors les options suivantes sont disponibles:
|
|
| statut juridique |
|
|
| SARL |
|
|
| SAS |
|
|
| SASU |
|
|
Et je peux continuer le processus
|
|
|
|
Scénario: Statut particulier refusé
|
|
Étant donné que je n'ai pas de statut professionnel
|
|
Quand j'essaie de m'inscrire en tant que "Particulier"
|
|
Alors le formulaire affiche:
|
|
"""
|
|
Un statut juridique professionnel est obligatoire pour la monétisation.
|
|
Créez un statut auto-entrepreneur sur autoentrepreneur.urssaf.fr (gratuit, 15 min).
|
|
"""
|
|
Et je ne peux pas continuer sans statut professionnel
|
|
|
|
Scénario: Document SIRET obligatoire et validé
|
|
Étant donné que je renseigne mon SIRET
|
|
Quand je saisis "12345678901234" (14 chiffres)
|
|
Alors le format est validé
|
|
Et Mangopay vérifie l'existence du SIRET auprès du répertoire SIRENE
|
|
Et si valide, le document est accepté
|
|
|
|
Scénario: SIRET invalide ou inexistant
|
|
Étant donné que je renseigne un SIRET inexistant
|
|
Quand je saisis "99999999999999"
|
|
Alors Mangopay rejette le SIRET
|
|
Et je vois "SIRET non trouvé dans le répertoire SIRENE. Vérifiez le numéro."
|
|
Et je dois corriger avant de continuer
|
|
|
|
Scénario: RIB professionnel obligatoire
|
|
Étant donné que j'upload mon RIB
|
|
Quand le RIB est scanné par Mangopay
|
|
Alors le système vérifie que le titulaire correspond à mon SIRET
|
|
Et que l'IBAN commence par "FR" (compte français)
|
|
Et si valide, le document est accepté
|
|
|
|
Scénario: RIB particulier refusé
|
|
Étant donné que j'upload un RIB de compte particulier
|
|
Quand Mangopay détecte que le compte n'est pas professionnel
|
|
Alors le RIB est rejeté
|
|
Et je vois:
|
|
"""
|
|
Le RIB doit correspondre à un compte professionnel lié à votre SIRET.
|
|
Créez un compte professionnel auprès de votre banque.
|
|
"""
|
|
|
|
Scénario: Pièce d'identité CNI en cours de validité
|
|
Étant donné que j'upload ma carte nationale d'identité
|
|
Quand Mangopay analyse le document
|
|
Alors la date d'expiration est vérifiée
|
|
Et si la CNI est valide, le document est accepté
|
|
Et mon identité est vérifiée par OCR + vérification manuelle
|
|
|
|
Scénario: Pièce d'identité expirée refusée
|
|
Étant donné que j'upload une CNI expirée depuis 2 ans
|
|
Quand Mangopay analyse le document
|
|
Alors le document est rejeté
|
|
Et je vois "Pièce d'identité expirée. Veuillez fournir un document en cours de validité."
|
|
|
|
Scénario: Passeport accepté comme alternative
|
|
Étant donné que je n'ai pas de CNI
|
|
Quand j'upload mon passeport en cours de validité
|
|
Alors Mangopay accepte le passeport
|
|
Et mon identité est vérifiée de la même manière
|
|
|
|
Scénario: Numéro TVA intracommunautaire si applicable
|
|
Étant donné que mon CA dépasse 37 000€/an
|
|
Et que je suis sorti de la franchise en base
|
|
Quand je renseigne mon numéro TVA intracommunautaire
|
|
Alors le format "FR + 11 chiffres" est validé
|
|
Et Mangopay vérifie l'existence auprès de la Commission Européenne (VIES)
|
|
|
|
Scénario: TVA non applicable pour micro-BNC sous franchise
|
|
Étant donné que je suis auto-entrepreneur sous franchise en base
|
|
Et que mon CA est <37 000€/an
|
|
Quand je remplis le formulaire KYC
|
|
Alors le champ "Numéro TVA" est optionnel
|
|
Et je peux continuer sans TVA
|
|
|
|
Scénario: Kbis <3 mois pour sociétés
|
|
Étant donné que je suis gérant d'une SARL
|
|
Quand j'upload mon extrait Kbis
|
|
Alors Mangopay vérifie que le Kbis date de moins de 3 mois
|
|
Et que le SIRET correspond
|
|
Et si valide, le document est accepté
|
|
|
|
Scénario: Kbis trop ancien refusé
|
|
Étant donné que j'upload un Kbis de 5 mois
|
|
Quand Mangopay analyse le document
|
|
Alors le Kbis est rejeté
|
|
Et je vois "Le Kbis doit dater de moins de 3 mois. Téléchargez un extrait récent sur infogreffe.fr"
|
|
|
|
Scénario: Vérification identité ne correspond pas au compte
|
|
Étant donné que mon compte RoadWave est au nom de "Jean Dupont"
|
|
Mais que ma CNI est au nom de "Pierre Martin"
|
|
Quand Mangopay compare les identités
|
|
Alors le KYC est rejeté
|
|
Et je vois:
|
|
"""
|
|
L'identité sur votre pièce d'identité ne correspond pas à votre compte RoadWave.
|
|
Si vous avez changé de nom, veuillez contacter le support.
|
|
"""
|
|
|
|
Scénario: Liste noire anti-blanchiment détectée
|
|
Étant donné que mon identité apparaît sur une liste anti-blanchiment
|
|
Quand Mangopay effectue la vérification AML (Anti-Money Laundering)
|
|
Alors le KYC est automatiquement rejeté
|
|
Et je vois "Votre demande ne peut être acceptée pour des raisons de conformité légale"
|
|
Et mon compte créateur peut être suspendu
|
|
|
|
Scénario: Délai de vérification 24-72h si documents conformes
|
|
Étant donné que j'ai soumis tous les documents valides
|
|
Quand Mangopay traite ma demande
|
|
Alors je reçois un email "KYC en cours de vérification (24-72h)"
|
|
Et mon statut est "En attente de validation"
|
|
Et je peux continuer à publier des contenus en attendant
|
|
|
|
Scénario: Validation KYC réussie
|
|
Étant donné que mes documents sont conformes
|
|
Quand Mangopay valide mon KYC après 48h
|
|
Alors je reçois un email "Monétisation activée !"
|
|
Et mon statut passe à "Monétisé"
|
|
Et je commence à générer des revenus dès maintenant
|
|
|
|
Scénario: Rejet KYC pour documents invalides
|
|
Étant donné que j'ai soumis une CNI floue et illisible
|
|
Quand Mangopay analyse les documents
|
|
Alors le KYC est rejeté après 24h
|
|
Et je reçois un email détaillant les documents à refournir:
|
|
"""
|
|
Votre demande de monétisation a été rejetée pour les raisons suivantes:
|
|
- Carte d'identité illisible (photo floue)
|
|
|
|
Veuillez soumettre à nouveau des documents de meilleure qualité.
|
|
"""
|
|
|
|
Scénario: E-wallet Mangopay créé automatiquement
|
|
Étant donné que mon KYC est validé
|
|
Quand Mangopay finalise mon inscription
|
|
Alors un e-wallet Mangopay est créé automatiquement à mon nom
|
|
Et tous mes futurs revenus seront transférés vers ce wallet
|
|
Et les virements SEPA vers mon RIB seront effectués depuis ce wallet
|
|
|
|
Scénario: Conformité RGPD - Données hébergées EU
|
|
Étant donné que je fournis mes documents KYC
|
|
Quand Mangopay stocke mes données
|
|
Alors toutes les données sont hébergées en Union Européenne
|
|
Et Mangopay est régulé par l'ACPR (Autorité de Contrôle Prudentiel)
|
|
Et mes données sont protégées selon le RGPD
|
|
|
|
Scénario: KYC gratuit inclus dans Mangopay
|
|
Étant donné que je complète le KYC
|
|
Quand le processus se termine
|
|
Alors aucun frais ne m'est facturé (0€)
|
|
Et aucun frais n'est facturé à RoadWave (inclus dans l'offre Mangopay)
|
|
Contrairement à Stripe qui facture 1.20€ par KYC
|
|
|
|
Scénario: Base légale - Conformité fiscale française
|
|
Étant donné que RoadWave est une plateforme française
|
|
Quand je génère des revenus >1200€/an
|
|
Alors RoadWave doit déclarer ces revenus aux impôts (DAS2)
|
|
Et le KYC permet de garantir l'identité réelle du bénéficiaire
|
|
Et cela respecte la réglementation fiscale française
|
|
|
|
Scénario: Base légale - Directive anti-blanchiment EU 2018/843
|
|
Étant donné que RoadWave verse de l'argent aux créateurs
|
|
Quand le KYC est effectué
|
|
Alors RoadWave respecte la 5ème directive anti-blanchiment EU
|
|
Et Mangopay effectue les vérifications requises (identité, liste noire, origine fonds)
|
|
|
|
Scénario: Notification de mise à jour documents expirés
|
|
Étant donné que ma CNI va expirer dans 30 jours
|
|
Quand le système détecte l'expiration proche
|
|
Alors je reçois un email:
|
|
"""
|
|
Votre pièce d'identité expire dans 30 jours.
|
|
Veuillez mettre à jour vos documents KYC pour éviter une suspension de la monétisation.
|
|
"""
|
|
|
|
Scénario: Suspension monétisation si documents expirés
|
|
Étant donné que ma CNI est expirée depuis 10 jours
|
|
Et que je n'ai pas mis à jour mes documents
|
|
Quand le système vérifie mon statut KYC
|
|
Alors ma monétisation est suspendue automatiquement
|
|
Et je ne génère plus de revenus jusqu'à mise à jour
|
|
|
|
Scénario: Réactivation sans nouveau KYC si données à jour
|
|
Étant donné que j'ai désactivé temporairement ma monétisation il y a 6 mois
|
|
Et que mes documents KYC sont toujours valides
|
|
Quand je réactive la monétisation
|
|
Alors je n'ai pas besoin de refaire le KYC
|
|
Et la réactivation est immédiate
|
|
|
|
Scénario: Nouveau KYC requis après 2 ans d'inactivité
|
|
Étant donné que j'ai désactivé ma monétisation il y a 25 mois
|
|
Quand j'essaie de réactiver
|
|
Alors le système demande un nouveau KYC
|
|
Et je dois soumettre des documents à jour (CNI peut avoir changé)
|
|
|
|
Scénario: Support créateur pour problèmes KYC
|
|
Étant donné que mon KYC est rejeté et je ne comprends pas pourquoi
|
|
Quand je contacte le support RoadWave
|
|
Alors un agent peut consulter les raisons du rejet Mangopay
|
|
Et m'aider à fournir les bons documents
|
|
|
|
Scénario: Export données KYC pour RGPD
|
|
Étant donné que je demande l'export de mes données personnelles
|
|
Quand l'export est généré
|
|
Alors les informations KYC sont incluses:
|
|
```json
|
|
{
|
|
"kyc_status": "validated",
|
|
"legal_status": "Auto-entrepreneur",
|
|
"siret": "12345678901234",
|
|
"iban": "FR76 XXXX XXXX XXXX",
|
|
"validated_at": "2025-06-20T14:30:00Z"
|
|
}
|
|
```
|
|
Et les documents scannés (CNI, RIB) sont exclus pour sécurité
|
|
|
|
Scénario: Suppression compte et données KYC
|
|
Étant donné que je supprime définitivement mon compte RoadWave
|
|
Quand la suppression est confirmée
|
|
Alors mes données KYC chez Mangopay sont archivées 10 ans (obligation légale)
|
|
Mais supprimées de la base RoadWave immédiatement
|
|
Et mon e-wallet est clôturé après versement du solde final
|
|
|
|
Scénario: Statistiques KYC pour monitoring plateforme
|
|
Étant donné que RoadWave suit la qualité du processus KYC
|
|
Quand un admin consulte les métriques
|
|
Alors il voit:
|
|
| métrique | valeur exemple |
|
|
| Demandes KYC ce mois | 247 |
|
|
| Taux de validation | 87% |
|
|
| Délai moyen validation | 36h |
|
|
| Taux de rejet (documents invalides)| 13% |
|
|
Et cela permet d'optimiser le processus
|
|
|
|
Scénario: Vérification SIRET via API INSEE
|
|
Étant donné que je saisis mon SIRET
|
|
Quand le système le valide
|
|
Alors une requête est faite à l'API SIRENE de l'INSEE
|
|
Et le système vérifie que le SIRET existe et est actif
|
|
Et récupère le nom de l'entreprise pour pré-remplir le formulaire
|
|
|
|
Scénario: Détection fraude - Même SIRET utilisé par plusieurs comptes
|
|
Étant donné qu'un SIRET "12345678901234" est déjà utilisé par un autre créateur
|
|
Quand j'essaie d'utiliser le même SIRET
|
|
Alors le système détecte la duplication
|
|
Et affiche "Ce SIRET est déjà utilisé par un autre compte RoadWave"
|
|
Et je dois contacter le support si c'est une erreur
|
|
|
|
Scénario: Protection données sensibles - Logs chiffrés
|
|
Étant donné que des données KYC sensibles transitent dans le système
|
|
Quand les logs sont enregistrés
|
|
Alors les numéros SIRET, IBAN et données CNI sont masqués:
|
|
"""
|
|
[2025-06-20 14:30:00] KYC submitted: creator_id=abc123, siret=1234****1234, iban=FR76****
|
|
"""
|
|
Et seule l'équipe sécurité peut accéder aux données complètes
|
|
|
|
Scénario: Backup Mangopay des documents KYC
|
|
Étant donné que mes documents KYC sont stockés chez Mangopay
|
|
Quand un audit est demandé par les autorités
|
|
Alors Mangopay peut fournir les documents originaux
|
|
Et RoadWave n'a pas besoin de stocker ces documents (réduction risque RGPD)
|