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
This commit is contained in:
49
docs/domains/_shared/sequences/data-export.md
Normal file
49
docs/domains/_shared/sequences/data-export.md
Normal file
@@ -0,0 +1,49 @@
|
||||
# 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
|
||||
Reference in New Issue
Block a user