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

1.2 KiB

Séquence - Export de données RGPD

Diagramme

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