Files
roadwave/docs/domains/_shared/sequences/data-export.md
jpgiannetti e63603551d docs(shared): ajouter documentation complète entités, états et séquences
- 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
2026-02-07 21:38:02 +01:00

50 lines
1.2 KiB
Markdown

# Séquence - Export de données RGPD
## Diagramme
```mermaid
sequenceDiagram
participant U as Utilisateur
participant API as Backend API
participant DB as PostgreSQL
participant W as Worker
participant S as OVH Storage
participant E as Email
U->>API: POST /exports (demande)
API->>DB: Vérification limite (1/mois)
API->>DB: INSERT export (status=pending)
API->>W: Job asynchrone
API-->>U: Export en préparation
W->>DB: Collecte données (profil, écoutes, contenus...)
W->>W: Génération JSON + HTML
loop Contenus audio
W->>DB: SELECT audio_url
W->>W: Copie fichier
end
W->>W: Création ZIP
W->>S: Upload fichier
S-->>W: URL signée (7j)
W->>DB: UPDATE export (status=ready, url, size)
W->>E: Email avec lien download
E-->>U: Export prêt (expire 7j)
U->>S: GET /export-signed-url
S-->>U: Téléchargement ZIP
Note over DB: Job quotidien
DB->>S: DELETE exports expirés (> 7j)
```
## Légende
**Conformité RGPD** : Délai max 48h (Article 20)
**Format** : ZIP (JSON machine-readable + HTML human-readable + audio)
**Limite** : 1 export/mois
**Expiration** : 7 jours calendaires
**Sécurité** : URL signée unique