- 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
53 lines
1.4 KiB
Markdown
53 lines
1.4 KiB
Markdown
# 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
|