Files
roadwave/docs/domains/content/rules/detection-contenu-protege.md
jpgiannetti 35aaa105d0 docs: améliorer rendu markdown et navigation mkdocs
- Ajouter ADR-018 (librairies Go) dans TECHNICAL.md
- Transformer Shared en menu dépliable dans mkdocs (cohérence avec autres domaines)
- Corriger listes markdown (ajout lignes vides avant listes)
- Corriger line breaks dans génération BDD (étapes "Et" sur nouvelles lignes)
- Ajouter script fix-markdown-lists.sh pour corrections futures

Impacte 86 fichiers de documentation et 164 fichiers BDD générés.
2026-02-09 20:49:52 +01:00

427 lines
15 KiB
Markdown

## 18. Détection de contenu protégé par droits d'auteur
### 18.1 Périmètre et objectifs
**Décision** : Focus musique uniquement, approche minimaliste MVP
**Contenu protégé couvert** :
| Type | Couvert MVP | Justification |
|------|-------------|---------------|
| **Musique** | ✅ OUI | Risque principal (80% violations), détectable auditivement |
| **Films/séries** | ❌ NON | Rare dans podcasts audio, complexité technique élevée |
| **Livres audio** | ❌ NON | Difficile à distinguer de lecture légitime |
| **Jingles/pubs** | ❌ NON | Usage souvent transformatif, faible risque juridique |
**Objectifs** :
1. **Juridique** : Conformité droits d'auteur UE (directive 2019/790)
2. **Protection plateforme** : Éviter contentieux avec ayants droit (SACEM, labels)
3. **Qualité** : Encourager contenu original créateurs
4. **Pragmatisme** : Coût 0€ au MVP, scalable post-MVP
**Non-objectifs MVP** :
- ❌ Détection automatisée (fingerprinting audio)
- ❌ Intégration bases de données commerciales (ACRCloud, etc.)
- ❌ Détection temps réel sur lives (voir section 7)
- ❌ Système de licences musicales
---
### 18.2 Règles d'utilisation de musique
**Décision** : Tolérance 30 secondes pour extraits (fair use)
**Cas autorisés** :
| Cas d'usage | Durée max | Condition | Exemple |
|-------------|-----------|-----------|---------|
| **Citation/critique** | 30 secondes | Commentaire ajouté, contexte éditorial | Review album, analyse musicale |
| **Musique libre de droits** | Illimitée | Preuve licence si demandée | Epidemic Sound, Artlist, CC0 |
| **Musique originale** | Illimitée | Créateur = compositeur/interprète | Podcast musical créateur |
| **Domaine public** | Illimitée | Œuvre >70 ans après mort auteur | Classique pré-1950 |
**Cas interdits** :
| Violation | Description | Détection |
|-----------|-------------|-----------|
| **Musique intégrale** | Titre complet en fond ou standalone | Écoute modérateur (évident) |
| **Compilation DJ** | Mix de titres protégés sans droits | Écoute modérateur |
| **Extrait >30s** | Citation longue sans transformation | Chronométrage manuel si signalé |
| **Karaoké** | Instrumental protégé + voix créateur | Écoute modérateur (reconnaissable) |
**Exception fair use (30 secondes)** :
**Conditions cumulatives** :
1. Extrait ≤30 secondes **ET**
2. Usage transformatif : commentaire, critique, analyse **ET**
3. Pas de substitution à l'œuvre originale **ET**
4. Mention titre + artiste dans métadonnées (recommandé)
**Justification juridique** :
- Directive UE 2019/790 : exception citation à des fins de critique
- Jurisprudence FR : citation courte autorisée si justifiée
- 30s = standard industrie (YouTube, TikTok)
---
### 18.3 Processus de détection MVP
**Décision** : Validation manuelle lors des 3 premiers contenus uniquement
**Workflow intégré à la validation existante** (voir section 4.3) :
```
Upload contenu (créateur <3 validés)
File d'attente modération
Modérateur écoute 30s (déjà existant)
Vérification AJOUTÉE :
├─ Musique en fond détectée ?
│ ├─ OUI → Musique reconnaissable (titre connu) ?
│ │ ├─ OUI → Durée >30s ?
│ │ │ ├─ OUI → REFUS (violation droits)
│ │ │ └─ NON → ACCEPTÉ (fair use)
│ │ └─ NON → ACCEPTÉ (musique libre probable)
│ └─ NON → ACCEPTÉ (pas de musique)
└─
Validation normale continue
```
**Critères de détection manuelle** :
| Indicateur | Action modérateur |
|------------|-------------------|
| **Musique reconnaissable** (hit radio, classique célèbre) | Chronométrer l'extrait |
| **Extrait >30s** | Refus automatique |
| **Extrait ≤30s** | Vérifier usage transformatif (commentaire ?) |
| **Musique d'ambiance inconnue** | Accepter (probable musique libre) |
| **Doute** | Demander preuve licence au créateur |
**Après 3 contenus validés** :
- ✅ Créateur = statut "Vérifié"
- ✅ Publication immédiate sans validation préalable
- ✅ Modération **a posteriori uniquement** (si signalé)
**Justification** :
- **Coût 0€** : réutilise écoute 30s déjà effectuée
- **Scalable** : pas de validation pour créateurs établis
- **Pragmatique** : détecte violations évidentes (90% des cas)
- **Humain nécessaire** : fair use impossible à automatiser fiablement
---
### 18.4 Signalement et modération a posteriori
**Décision** : Réutilise système existant section 14
**Signalement utilisateur** :
- Catégorie existante : **🎵 Droits d'auteur**
- Formulaire : identique autres signalements
- Commentaire optionnel : "Quelle musique ? À quel timestamp ?"
**Traitement modérateur** :
1. Signalement reçu → file d'attente priorité MOYENNE (délai 24-48h)
2. Modérateur écoute le timestamp indiqué
3. Vérification :
- Musique identifiable ? → Recherche Shazam/SoundHound (outil externe)
- Durée extrait ?
- Usage transformatif (commentaire/critique) ?
4. Décision :
- **Violation confirmée** → Application sanctions (voir 18.5)
- **Fair use** → Rejet signalement
- **Doute** → Escalade modérateur senior
**Outils modérateur** :
| Outil | Usage | Coût |
|-------|-------|------|
| **Écoute manuelle** | Détection présence musique | 0€ |
| **Shazam/SoundHound** | Identification titre (externe, outil perso modérateur) | 0€ |
| **Chronomètre** | Mesure durée extrait | 0€ |
| **Notes** | Documentation décision (audit DSA) | 0€ |
**Priorité traitement** :
- Score IA : NON APPLICABLE (pas d'IA au MVP)
- Priorité : **MOYENNE** (délai 24-48h jours ouvrés)
- Escalade senior si :
- Créateur conteste avec preuve licence
- Doute fair use complexe
- Récidive (>2 violations)
---
### 18.5 Sanctions
**Décision** : Échelle progressive avec tolérance première violation
**Grille de sanctions** :
| Occurrence | Sanction | Durée | Justification |
|------------|----------|-------|---------------|
| **1ère violation** | ⚠️ Avertissement + Suppression contenu | - | Tolérance erreur bonne foi |
| **2e violation** | 🟡 Strike 1 + Suppression + Suspension upload | 3 jours | Négligence confirmée |
| **3e violation** | 🟠 Strike 2 + Suppression + Suspension upload | 7 jours | Récidive caractérisée |
| **4e violation** | 🟠 Strike 3 + Suppression + Suspension upload | 30 jours | Abus répété |
| **5e violation** | 🔴 Strike 4 + Ban définitif compte créateur | Permanent | Abus délibéré |
**Détail sanctions** :
**Avertissement (1ère fois)** :
- Suppression contenu immédiate
- Email + push + in-app : "⚠️ Contenu retiré pour violation droits d'auteur"
- Explication pédagogique : règles musique, lien vers CGU
- **Pas de strike** (tolérance)
- Créateur peut republier version corrigée
**Strike 1 (2e fois)** :
- Suppression contenu
- Strike ajouté au compteur (visible profil créateur)
- Suspension upload **3 jours**
- Email détaillé : titre détecté, timestamp, règle violée
**Strike 2 (3e fois)** :
- Idem Strike 1
- Suspension upload **7 jours**
- Warning : "Strike 2/4 - Vous approchez du seuil critique"
**Strike 3 (4e fois)** :
- Idem Strike 2
- Suspension upload **30 jours**
- Warning : "Strike 3/4 - Prochaine violation = ban définitif"
**Strike 4 - Ban définitif (5e fois)** :
- Désactivation compte créateur
- Tous contenus dépubliés
- Pas de création nouveau compte (email/téléphone blacklisté)
**Exceptions - Pas de sanction si** :
- ✅ Créateur prouve licence acquise (facture, abonnement Epidemic Sound, etc.)
- ✅ Musique = domaine public vérifié
- ✅ Musique = œuvre originale créateur (preuve registre SACEM si demandée)
- ✅ Extrait ≤30s + usage transformatif évident (critique musicale)
**Réhabilitation** :
- **-1 strike automatique** tous les **6 mois** sans nouvelle violation
- Conditions : aucun signalement validé pendant la période
- Minimum : 0 strikes (pas de valeur négative)
- Avertissement (1ère fois) ne compte pas pour la réhabilitation
**Exemple** :
```
Créateur a Strike 2 (7 jours de suspension)
→ 6 mois sans incident
→ Strike 2 devient Strike 1
→ 6 mois additionnels sans incident
→ Strike 1 effacé, compte propre
```
**Justification** :
- **Tolérance 1ère fois** : évite punir erreurs honnêtes
- **Escalade progressive** : dissuasion sans brutalité
- **4 strikes avant ban** : cohérent avec système global (sections 9, 14)
- **Réhabilitation 6 mois** : encourage bon comportement long terme
- **Conforme DSA** : sanctions proportionnées + droit d'appel
---
### 18.6 Processus d'appel
**Décision** : Réutilise système existant section 14.3.3
**Accès** :
- Bouton "Contester cette décision" dans notification sanction
- Délai : **7 jours** après notification
**Formulaire d'appel** :
Champs standards (voir section 14) **+** champs spécifiques :
| Champ additionnel | Type | Obligatoire |
|-------------------|------|-------------|
| **Preuve licence** | Upload PDF/image (facture, contrat) | ❌ Optionnel |
| **Lien source musique libre** | URL (YouTube Audio Library, etc.) | ❌ Optionnel |
| **Déclaration œuvre originale** | Checkbox | ❌ Optionnel |
**Traitement appel** :
1. Modérateur senior examine :
- Preuves fournies (licence, facture)
- Réécoute contenu (usage transformatif ?)
- Recherche musique (domaine public ?)
2. Délai : **72h** (standard section 14)
3. Décision finale :
- **Appel accepté** → Strike retiré + Contenu rétabli + Excuse formelle
- **Appel rejeté** → Sanction maintenue + Explication détaillée
**Cas particulier : Musique libre mal détectée**
Si créateur prouve musique = licence Epidemic Sound / Artlist :
- ✅ Appel automatiquement accepté
- ✅ Ajout titre à **whitelist interne** (évite futures erreurs)
- ✅ Excuse + compensation (ex: 1 mois Premium offert)
**Justification** :
- Réutilise processus éprouvé (section 14)
- Preuve licence = résout 90% des cas
- Délai 72h acceptable (pas de suspension immédiate sur appel)
---
### 18.7 Éducation créateurs
**Décision** : Prévention via documentation + tooltips
**Ressources disponibles** :
| Ressource | Contenu | Accès |
|-----------|---------|-------|
| **Page CGU dédiée** | Règles musique détaillées + exemples | Lien dans CGU + FAQ |
| **Tooltip upload** | "⚠️ Pas de musique protégée >30s" | Interface upload contenu |
| **Liste musique libre** | Liens Epidemic, Artlist, YouTube Audio Library | Page aide créateurs |
| **Exemples fair use** | Cas OK : review 20s + commentaire / Cas KO : hit complet en fond | FAQ illustrée |
**Messages préventifs** :
**Lors du premier upload** (popup) :
```
🎵 Attention aux droits d'auteur
Vous pouvez utiliser :
✅ Votre propre musique originale
✅ Musique libre de droits (Epidemic Sound, etc.)
✅ Extraits courts ≤30s pour critique/analyse
Interdit :
❌ Musique populaire en intégrale ou fond prolongé
❌ Compilation de hits sans droits
[J'ai compris] [En savoir plus]
```
**Justification** :
- Prévention > sanction (économie modération)
- Créateurs informés = moins de violations
- Coût : 0€ (documentation statique)
---
### 18.8 Évolution post-MVP
**Décision** : Audio fingerprinting open-source si besoin scalabilité
**Déclencheurs réintégration** :
1. Volume signalements "Droits d'auteur" >50/mois
2. Temps modération musique >20h/mois
3. Contentieux avec ayants droit (SACEM, labels)
**Solution technique prévue** :
| Composant | Technologie | Fonction | Coût |
|-----------|-------------|----------|------|
| **Fingerprinting** | Chromaprint (open-source) | Génération empreinte audio | 0€ |
| **Base de référence** | MusicBrainz + AcoustID | Comparaison empreintes | 0€ |
| **Matching** | Python + PostgreSQL | Détection similarité >85% | 0€ |
| **Infrastructure** | VPS 8GB RAM + 4 vCPU | Processing async | 50-100€/mois |
**Workflow automatisé** :
```
Upload contenu
Job async : extraction empreinte audio (Chromaprint)
Comparaison avec base MusicBrainz
Match >95% → FLAG automatique "Musique détectée : [Titre]"
Modérateur humain vérifie :
├─ Durée extrait ?
├─ Usage transformatif ?
└─ Décision finale (accept/reject)
```
**Limites connues** :
- ❌ Précision ~70% (vs 95%+ API commerciales)
- ❌ Base MusicBrainz incomplète (surtout hits récents)
- ❌ Faux positifs possibles (musique libre similaire)
- ✅ Mais : **gratuit** + **self-hosted** + **scalable**
**Alternative commerciale** (si budget disponible) :
- ACRCloud : 300-800€/mois, précision 95%+, base exhaustive
- Audible Magic : 500-1000€/mois, musique + films/TV
- **Décision différée** post-MVP selon besoins réels
---
## Récapitulatif Section 18
| Point | Décision | Coût |
|-------|----------|------|
| **Périmètre MVP** | Musique uniquement (80% des violations) | 0€ |
| **Tolérance** | 30 secondes pour extraits (fair use) | 0€ |
| **Détection MVP** | Manuelle lors des 3 premiers contenus | 0€ |
| **Outils modérateur** | Écoute + Shazam externe + Chronomètre | 0€ |
| **Sanctions** | Progressive : Avertissement → Strike 1 (3j) → Strike 2 (7j) → Strike 3 (30j) → Strike 4 (ban) | 0€ |
| **Appel** | Réutilise processus section 14 (délai 72h) | 0€ |
| **Éducation** | CGU + Tooltips + FAQ musique libre | 0€ |
| **Post-MVP** | Chromaprint + MusicBrainz (si >50 signalements/mois) | 50-100€/mois |
**Coût total MVP** : **0€** (validation manuelle intégrée)
**Conformité juridique** :
- ✅ Directive UE 2019/790 (droit d'auteur + exception citation)
- ✅ DSA (Digital Services Act) : modération réactive + droit d'appel
- ✅ SACEM/SDRM : protection ayants droit + processus contentieux
- ✅ Fair use : tolérance 30s conforme jurisprudence FR/UE
**Scalabilité** :
- 0-1000 contenus/mois : validation manuelle suffisante (3h/mois modération)
- 1000-10K contenus/mois : fingerprinting open-source requis
- 10K+ contenus/mois : API commerciale à considérer (ACRCloud)
**Risques identifiés** :
| Risque | Probabilité | Impact | Mitigation |
|--------|-------------|--------|------------|
| **Contentieux ayant droit** | Faible | Élevé | Réactivité suppression (<24h) + CGU claires |
| **Faux négatifs** (violation non détectée) | Moyenne | Moyen | Signalements utilisateurs + modération a posteriori |
| **Faux positifs** (musique libre bloquée) | Faible | Faible | Processus d'appel 72h + whitelist |
| **Volume signalements** | Faible | Moyen | Évolution fingerprinting si >50/mois |
---
**Lien avec autres sections** :
- Section 4.3 : Validation des 3 premiers contenus (workflow intégré)
- Section 7.2 : Interdictions lives + fingerprinting post-MVP
- Section 14 : Système modération (signalements, sanctions, appels)
**Prochaine section à clarifier** : Section 11 (Mode offline) ou Section 12 (Gestion des erreurs)