diff --git a/docs/generated/bdd/advertising/index.md b/docs/generated/bdd/advertising/index.md new file mode 100644 index 0000000..1e43cd6 --- /dev/null +++ b/docs/generated/bdd/advertising/index.md @@ -0,0 +1,55 @@ +# Domaine : Advertising + +Ce domaine gère la diffusion de publicités audio géolocalisées, le ciblage publicitaire et la gestion des campagnes. + +## Métriques + +| Métrique | Valeur | +|----------|--------| +| Nombre de features | 7 | +| Nombre de scénarios | 21 | +| Nombre de catégories | 1 | +| Couverture domaine | Moyenne | + +## Catégories de Features + +### Publicités (7 features) +Gestion complète des publicités audio géolocalisées : création de campagnes, ciblage géographique et démographique, diffusion contextuelle et tracking des performances. + +**Features principales** : +- Création et gestion de campagnes publicitaires +- Ciblage géographique (zones, rayons, POI) +- Ciblage démographique et par intérêts +- Insertion de publicités dans le flux audio +- Limitation de fréquence (frequency capping) +- Tracking des impressions et conversions +- Reporting de performance des campagnes + +**Modèle de diffusion** : +- Publicités pré-roll, mid-roll ou post-roll +- Ciblage contextuel basé sur la localisation et les intérêts +- Priorisation par enchères (CPM, CPC) +- Respect des quotas utilisateur (max X pubs/heure) + +## Relations avec le Domaine + +### Règles métier +Consultez les [règles métier du domaine advertising](rules/index.md) pour comprendre les règles de ciblage, de diffusion et de facturation publicitaire. + +### Entités +Consultez les [entités du domaine advertising](entities/index.md) pour voir les structures de données des campagnes, annonces et métriques publicitaires. + +## Architecture Technique + +Le système publicitaire utilise : +- **Géolocalisation** : Ciblage par zones géographiques (PostGIS) +- **Interest matching** : Ciblage par jauges d'intérêt +- **Ad server** : Sélection et diffusion d'annonces +- **Analytics** : Tracking des impressions et performances + +**Intégration avec les autres domaines** : +- **Recommendation** : Utilise les jauges d'intérêt pour le ciblage +- **Analytics** : Remonte les métriques de performance +- **Monetization** : Calcul des revenus publicitaires + +Le module est implémenté dans `backend/internal/advertising/` avec intégration au système de streaming pour l'insertion dynamique de publicités. diff --git a/docs/generated/bdd/content/index.md b/docs/generated/bdd/content/index.md new file mode 100644 index 0000000..bc6c546 --- /dev/null +++ b/docs/generated/bdd/content/index.md @@ -0,0 +1,86 @@ +# Domaine : Content + +Ce domaine gère l'ensemble du cycle de vie des contenus audio : création, édition, publication, diffusion et navigation. + +## Métriques + +| Métrique | Valeur | +|----------|--------| +| Nombre de features | 59 | +| Nombre de scénarios | 156 | +| Nombre de catégories | 6 | +| Couverture domaine | Très élevée | + +## Catégories de Features + +### Audio Guides (25 features) +Gestion complète des guides audio géolocalisés : création, édition, géolocalisation, métadonnées et diffusion. Les audio guides sont des contenus enrichis liés à des points d'intérêt géographiques. + +**Features principales** : +- Création et édition de guides audio +- Géolocalisation précise (GPS, POI) +- Métadonnées enrichies (catégories, tags, langues) +- Gestion des chapitres et segments +- Publication et modération + +### Content Creation (9 features) +Fonctionnalités de création de contenu : upload audio, édition métadonnées, prévisualisation et validation avant publication. + +**Features principales** : +- Upload de fichiers audio (multiples formats) +- Édition de métadonnées (titre, description, catégorie) +- Prévisualisation du contenu +- Workflow de validation + +### Navigation (9 features) +Navigation dans le catalogue de contenus avec filtres, tri et recherche. + +**Features principales** : +- Parcours du catalogue par catégories +- Filtres multiples (distance, popularité, durée) +- Tri personnalisable +- Exploration géographique + +### Radio Live (7 features) +Gestion des flux radio en direct avec support du streaming continu. + +**Features principales** : +- Diffusion de flux radio live +- Gestion du buffer et de la latence +- Métadonnées en temps réel (morceau en cours) +- Qualité adaptative + +### UI Navigation (8 features) +Interface utilisateur pour la navigation dans l'application mobile. + +**Features principales** : +- Écrans de navigation principaux +- Transitions et animations +- Gestion de l'état de navigation +- Deep linking + +### UI Content Creation (1 feature) +Interface utilisateur pour la création de contenu dans l'application mobile. + +**Features principales** : +- Formulaires de création +- Upload depuis le mobile +- Prévisualisation mobile + +## Relations avec le Domaine + +### Règles métier +Consultez les [règles métier du domaine content](rules/index.md) pour comprendre les contraintes de création, validation et diffusion de contenu. + +### Entités +Consultez les [entités du domaine content](entities/index.md) pour voir les structures de données des contenus audio et leurs métadonnées. + +## Architecture Technique + +Le domaine content utilise : +- **HLS Protocol** : Streaming adaptatif ([ADR-002](../../../adr/002-protocole-streaming.md)) +- **Opus Codec** : Compression audio optimisée ([ADR-003](../../../adr/003-codec-audio.md)) +- **PostGIS** : Géolocalisation des contenus +- **CDN** : Diffusion des assets audio ([ADR-004](../../../adr/004-cdn.md)) + +Le module est implémenté dans `backend/internal/content/` avec le pattern handler → service → repository. diff --git a/docs/generated/bdd/moderation/index.md b/docs/generated/bdd/moderation/index.md new file mode 100644 index 0000000..bac599c --- /dev/null +++ b/docs/generated/bdd/moderation/index.md @@ -0,0 +1,63 @@ +# Domaine : Moderation + +Ce domaine gère la modération des contenus, le workflow de validation, les signalements et les actions de modération. + +## Métriques + +| Métrique | Valeur | +|----------|--------| +| Nombre de features | 23 | +| Nombre de scénarios | 67 | +| Nombre de catégories | 3 | +| Couverture domaine | Élevée | + +## Catégories de Features + +### API (16 features) +API de modération pour la validation des contenus, le traitement des signalements et les actions de modération. + +**Features principales** : +- Validation de contenus en attente +- Traitement des signalements utilisateurs +- Actions de modération (approbation, rejet, suppression) +- Workflow de modération multi-niveaux +- Historique des actions de modération +- Notifications aux créateurs de contenu + +### UI (5 features) +Interface utilisateur pour les modérateurs : tableau de bord, queue de modération, détails des signalements. + +**Features principales** : +- Tableau de bord modérateur +- File d'attente de modération +- Détails des contenus à modérer +- Actions rapides (approve/reject) +- Statistiques de modération + +### Admin (2 features) +Fonctionnalités d'administration pour la gestion des modérateurs et la configuration du système de modération. + +**Features principales** : +- Gestion des rôles modérateurs +- Configuration des règles de modération +- Rapports et analytics de modération + +## Relations avec le Domaine + +### Règles métier +Consultez les [règles métier du domaine moderation](rules/index.md) pour comprendre les workflows de validation, les critères de modération et les règles de signalement. + +### Entités +Consultez les [entités du domaine moderation](entities/index.md) pour voir les structures de données des rapports, validations et actions de modération. + +## Architecture Technique + +Le système de modération s'appuie sur : +- **Workflow à états** : Machine à états pour le cycle de vie des contenus (pending → approved/rejected) +- **Queue system** : Priorisation des contenus à modérer +- **Audit trail** : Traçabilité complète des actions de modération +- **Notifications** : Alertes aux créateurs et modérateurs + +Voir [ADR-023](../../../adr/023-architecture-moderation.md) pour l'architecture détaillée du système de modération. + +Le module est implémenté dans `backend/internal/moderation/` avec gestion des états et workflow de validation. diff --git a/docs/generated/bdd/monetization/index.md b/docs/generated/bdd/monetization/index.md new file mode 100644 index 0000000..6d39de0 --- /dev/null +++ b/docs/generated/bdd/monetization/index.md @@ -0,0 +1,62 @@ +# Domaine : Monetization + +Ce domaine gère la monétisation pour les créateurs de contenu : revenus publicitaires, abonnements créateurs, tips et analytics financières. + +## Métriques + +| Métrique | Valeur | +|----------|--------| +| Nombre de features | 8 | +| Nombre de scénarios | 24 | +| Nombre de catégories | 1 | +| Couverture domaine | Moyenne | + +## Catégories de Features + +### Monétisation (8 features) +Gestion complète de la monétisation pour les créateurs : revenus publicitaires, abonnements créateurs, tips/dons, partage de revenus et paiements. + +**Features principales** : +- **Revenus publicitaires** : Partage des revenus publicitaires générés par les contenus +- **Abonnements créateurs** : Possibilité de proposer des contenus payants +- **Tips/Dons** : Les auditeurs peuvent envoyer des pourboires aux créateurs +- **Partage de revenus** : Répartition transparente des revenus (70% créateur, 30% plateforme) +- **Tableau de bord financier** : Analytics des revenus en temps réel +- **Paiements** : Versement automatique des revenus via Mangopay +- **Facturation** : Génération de factures et reporting fiscal +- **Seuils de paiement** : Paiement à partir de 50€ de revenus cumulés + +**Modèle de revenus** : +- Publicités : 70% créateur / 30% plateforme +- Abonnements créateurs : 80% créateur / 20% plateforme +- Tips : 95% créateur / 5% plateforme (frais de transaction) + +## Relations avec le Domaine + +### Règles métier +Consultez les [règles métier du domaine monetization](rules/index.md) pour comprendre les règles de partage de revenus, de seuils de paiement et de facturation. + +### Entités +Consultez les [entités du domaine monetization](entities/index.md) pour voir les structures de données des revenus, paiements et transactions. + +## Architecture Technique + +Le système de monétisation utilise : +- **Mangopay** : Plateforme de paiement et wallet pour créateurs ([ADR-009](../../../adr/009-solution-paiement.md)) +- **Revenue tracking** : Calcul en temps réel des revenus par source +- **Automated payouts** : Versements automatiques mensuels +- **Tax compliance** : Génération de documents fiscaux (1099, etc.) + +**Workflow de paiement** : +1. Génération de revenus (pub, abonnement, tips) +2. Agrégation dans le wallet Mangopay du créateur +3. Calcul du partage de revenus +4. Paiement automatique si seuil atteint (50€) +5. Génération de facture/reçu + +Le module est implémenté dans `backend/internal/payment/` avec intégration à l'analytics pour le tracking des revenus. + +**Intégration avec les autres domaines** : +- **Advertising** : Calcul des revenus publicitaires +- **Premium** : Gestion des abonnements créateurs +- **Analytics** : Métriques de revenus et performance diff --git a/docs/generated/bdd/premium/index.md b/docs/generated/bdd/premium/index.md new file mode 100644 index 0000000..e06e0b1 --- /dev/null +++ b/docs/generated/bdd/premium/index.md @@ -0,0 +1,68 @@ +# Domaine : Premium + +Ce domaine gère les abonnements premium, les fonctionnalités exclusives et le mode offline. + +## Métriques + +| Métrique | Valeur | +|----------|--------| +| Nombre de features | 16 | +| Nombre de scénarios | 44 | +| Nombre de catégories | 3 | +| Couverture domaine | Élevée | + +## Catégories de Features + +### Premium (8 features) +Fonctionnalités exclusives pour les utilisateurs premium : écoute sans publicité, qualité audio supérieure, contenus exclusifs et avantages divers. + +**Features principales** : +- Écoute sans publicité +- Qualité audio haute définition (bitrate supérieur) +- Accès à des contenus exclusifs premium +- Téléchargement illimité pour mode offline +- Statistiques d'écoute avancées +- Support prioritaire + +### Abonnements (4 features) +Gestion des abonnements : souscription, paiement, renouvellement et résiliation. + +**Features principales** : +- Souscription à un plan premium (mensuel, annuel) +- Gestion du paiement récurrent via Mangopay +- Renouvellement automatique +- Résiliation et remboursement au prorata +- Essai gratuit (période d'essai) + +### Mode Offline (4 features) +Téléchargement et écoute de contenus hors connexion. + +**Features principales** : +- Téléchargement de contenus pour écoute offline +- Gestion du cache local (limite de stockage) +- Synchronisation automatique +- Qualité de téléchargement configurable + +## Relations avec le Domaine + +### Règles métier +Consultez les [règles métier du domaine premium](rules/index.md) pour comprendre les règles d'abonnement, de facturation et d'accès aux fonctionnalités premium. + +### Entités +Consultez les [entités du domaine premium](entities/index.md) pour voir les structures de données des abonnements et des avantages premium. + +## Architecture Technique + +Le système premium s'appuie sur : +- **Mangopay** : Gestion des paiements récurrents ([ADR-009](../../../adr/009-solution-paiement.md)) +- **Subscription state machine** : Gestion des états d'abonnement (trial → active → expired → cancelled) +- **Feature flags** : Activation/désactivation de fonctionnalités par plan +- **Local storage** : Cache des contenus offline (Flutter) + +**Modèles d'abonnement** : +- **Freemium** : Accès gratuit avec publicités +- **Premium mensuel** : 4.99€/mois +- **Premium annuel** : 49.99€/an (2 mois offerts) +- **Essai gratuit** : 14 jours + +Le module est implémenté dans `backend/internal/payment/` avec intégration à Mangopay pour la gestion des abonnements récurrents. diff --git a/docs/generated/bdd/recommendation/index.md b/docs/generated/bdd/recommendation/index.md new file mode 100644 index 0000000..e82aef5 --- /dev/null +++ b/docs/generated/bdd/recommendation/index.md @@ -0,0 +1,63 @@ +# Domaine : Recommendation + +Ce domaine gère le système de recommandation de contenu basé sur la géolocalisation et les jauges d'intérêt des utilisateurs. + +## Métriques + +| Métrique | Valeur | +|----------|--------| +| Nombre de features | 17 | +| Nombre de scénarios | 48 | +| Nombre de catégories | 4 | +| Couverture domaine | Élevée | + +## Catégories de Features + +### Interest Gauges (4 features) +Gestion des jauges d'intérêt utilisateur qui permettent de personnaliser les recommandations. Les jauges évoluent dynamiquement en fonction du comportement d'écoute et des interactions de l'utilisateur. + +**Features principales** : +- Configuration et ajustement des jauges d'intérêt +- Évolution automatique basée sur l'historique d'écoute +- Pondération des catégories (automobile, voyage, musique, etc.) + +### Recommendation (9 features) +Algorithme de recommandation combinant géolocalisation et matching d'intérêts. Calcul de scores combinés distance + intérêts avec cache Redis pour les performances. + +**Features principales** : +- Recommandations géolocalisées multi-niveaux (GPS > ville > département > région > pays) +- Score combiné distance + intérêts +- Priorisation contextuelle (touriste, conducteur, etc.) +- Optimisation via cache Redis GEORADIUS + +### Recherche (3 features) +Fonctionnalités de recherche de contenu avec filtres géographiques et par catégorie. + +**Features principales** : +- Recherche textuelle avec filtres +- Recherche géographique avancée +- Tri par pertinence et distance + +### Search (1 feature) +Recherche unifiée dans l'application mobile. + +**Features principales** : +- Interface de recherche globale +- Suggestions et autocomplétion + +## Relations avec le Domaine + +### Règles métier +Consultez les [règles métier du domaine recommendation](rules/index.md) pour comprendre les contraintes et la logique de l'algorithme de recommandation. + +### Entités +Consultez les [entités du domaine recommendation](entities/index.md) pour voir les structures de données manipulées par le système de recommandation. + +## Architecture Technique + +Le système de recommandation s'appuie sur : +- **PostGIS** : Requêtes spatiales (`ST_DWithin`, `ST_Distance`) +- **Redis** : Cache géospatial pour les performances +- **Jauges dynamiques** : Scores évolutifs par catégorie d'intérêt + +Voir [ADR-005](../../../adr/005-base-de-donnees.md) pour la stratégie PostGIS et [ADR-021](../../../adr/021-solution-cache.md) pour le cache Redis.