- Entités: 7 nouveaux schémas (sessions, devices, consents, location-history, interest-gauges, reports, exports) - États: 5 diagrammes lifecycles (compte, contenu, session, signalement, export) - Séquences: 6 flows (auth, refresh token, modération, signalement, export, suppression) - Renommage: modele-global.md → entities-overview.md - MkDocs: organisation hiérarchique par catégories Format concis: diagrammes Mermaid + règles essentielles uniquement
1.4 KiB
1.4 KiB
Data Exports
📖 Exports de données utilisateur (portabilité RGPD Article 20)
Diagramme
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'attentegenerating: Génération en cours (worker background)ready: Export disponible au téléchargementdownloaded: Export téléchargé par l'utilisateurexpired: 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