# Data Exports 📖 Exports de données utilisateur (portabilité RGPD Article 20) ## Diagramme ```mermaid erDiagram USERS ||--o{ DATA_EXPORTS : "demande" DATA_EXPORTS { uuid id PK uuid user_id FK string status string export_url bigint size_bytes string format timestamp requested_at timestamp generated_at timestamp expires_at timestamp downloaded_at } ``` ## Légende **Formats d'export** : - `json` : Machine-readable (données brutes) - `html` : Human-readable (page web stylée) - `zip` : Archive complète (JSON + HTML + audio files) **Contenu de l'export** : - Profil utilisateur (email, pseudo, date inscription, bio) - Historique d'écoute (titres, dates, durées) - Contenus créés (audio + métadonnées) - Abonnements et likes - Centres d'intérêt (jauges) - Historique consentements RGPD **Statuts** : - `pending` : Demande en file d'attente - `generating` : Génération en cours (worker background) - `ready` : Export disponible au téléchargement - `downloaded` : Export téléchargé par l'utilisateur - `expired` : Export expiré (supprimé automatiquement) **Règles** : - Génération asynchrone (worker background) - Délai max : **48h** (conformité RGPD) - Conservation : **7 jours** après génération - Limite : **1 export/mois** (anti-abus) - Notification par email avec lien de téléchargement