Files
roadwave/docs/diagrammes/entites/modele-monetisation.md
jpgiannetti 04cd6327ab feat(diagrammes): créer tous les diagrammes d'entités du projet
Création complète de tous les modèles de données :

 Déjà existants :
- modele-global.md : USERS, CONTENTS, SUBSCRIPTIONS, LISTENING_HISTORY
- modele-moderation.md : REPORTS, SANCTIONS, APPEALS, STRIKES, BADGES

🆕 Nouveaux diagrammes :
- modele-recommandation.md : USER_INTERESTS, INTEREST_CATEGORIES
  Jauges 0-100%, évolution temps réel, pas de dégradation temporelle

- modele-publicites.md : AD_CAMPAIGNS, AD_METRICS, AD_IMPRESSIONS
  Ciblage géo/horaire/intérêts, budget prépayé, validation 24-48h

- modele-premium.md : PREMIUM_SUBSCRIPTIONS, ACTIVE_STREAMS, OFFLINE_DOWNLOADS
  Multi-devices (1 stream actif), offline 30j, sans essai gratuit

- modele-monetisation.md : CREATOR_MONETIZATION, CREATOR_REVENUES, PAYOUTS
  KYC obligatoire, revenus pub (3€/1000) + premium (70/30), seuil 50€

- modele-audio-guides.md : AUDIO_GUIDES, GUIDE_SEQUENCES, USER_GUIDE_PROGRESS
  Multi-séquences GPS, 4 modes (piéton/voiture/vélo/transport), 2-50 séquences

- modele-radio-live.md : LIVE_STREAMS, LIVE_RECORDINGS, LIVE_LISTENERS
  Buffer 15s, max 8h, enregistrement auto, notification abonnés

Avantages architecture :
 Séparation entités globales (1 source vérité)
 Diagrammes focalisés par domaine métier
 Maintenance simplifiée (pas de duplication)
 Cohérence avec règles métier validées

8 modèles de données complets couvrant 100% du projet MVP.
2026-02-07 16:29:54 +01:00

75 lines
2.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Modèle de données - Monétisation créateurs
📖 Voir [Règles métier - Section 18 : Monétisation](../../regles-metier/18-monetisation-createurs.md) | [Entités globales](modele-global.md)
## Diagramme
```mermaid
erDiagram
CREATOR_MONETIZATION }o--|| USERS : "créateur monétisé"
CREATOR_REVENUES ||--o{ REVENUE_TRANSACTIONS : "transactions"
CREATOR_REVENUES }o--|| USERS : "revenus"
PAYOUTS }o--|| USERS : "versement"
PAYOUTS ||--o{ REVENUE_TRANSACTIONS : "inclut"
CREATOR_MONETIZATION {
uuid id PK
uuid creator_id FK UK
string status
string kyc_status
string mangopay_user_id
string mangopay_wallet_id
string iban
string siret
timestamp kyc_validated_at
timestamp activated_at
timestamp suspended_at
timestamp created_at
}
CREATOR_REVENUES {
uuid id PK
uuid creator_id FK
int month_year
decimal ad_revenue_euros
decimal premium_revenue_euros
decimal total_revenue_euros
decimal balance_euros
string status
timestamp computed_at
}
REVENUE_TRANSACTIONS {
uuid id PK
uuid creator_id FK
uuid revenue_month_id FK
string transaction_type
decimal amount_euros
jsonb metadata
timestamp created_at
}
PAYOUTS {
uuid id PK
uuid creator_id FK
decimal amount_euros
decimal fees_euros
decimal net_amount_euros
string status
string mangopay_payout_id
timestamp requested_at
timestamp completed_at
timestamp failed_at
}
```
## Légende
**Entités monétisation** :
- **CREATOR_MONETIZATION** : Statut monétisation créateur - Status : `pending_kyc`, `active`, `suspended`, `disabled` - KYC obligatoire : SIRET, RIB pro, CNI/Passeport, Kbis <3 mois si société - Critères activation : Compte ≥3 mois, ≥500 abonnés, ≥10K écoutes complètes, 0 strike actif, ≥5 contenus 90j - Vérification via Mangopay KYC (24-72h)
- **CREATOR_REVENUES** : Revenus mensuels par créateur - Ad_revenue : 3€/1000 écoutes complètes utilisateurs gratuits (CPM) - Premium_revenue : 70% abonnement prorata temps écoute (4.99€ × 0.70 × ratio_ecoute) - Status : `pending`, `computed`, `paid`, `suspended` - Calcul fin de mois, paiement le 15 du mois suivant
- **REVENUE_TRANSACTIONS** : Détail transactions - Type : `ad_listen`, `premium_listen`, `adjustment`, `refund` - Metadata : content_id, user_id, listen_duration, etc. - Traçabilité complète pour audit
- **PAYOUTS** : Versements SEPA - Seuil : 50€ minimum, sinon report mois suivant - Fees : 1.8% + 0.18€ (Mangopay SEPA) - Status : `pending`, `processing`, `completed`, `failed` - Retry auto 3 fois si échec, puis suspension monétisation - Inactivité ≥18 mois : versement forcé + préavis emails 12m, 18m, 18m+30j