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:
jpgiannetti
2026-02-07 21:38:02 +01:00
parent cf7a46be27
commit e63603551d
22 changed files with 1047 additions and 97 deletions

View File

@@ -0,0 +1,48 @@
# Séquence - Suppression de compte
## Diagramme
```mermaid
sequenceDiagram
participant U as Utilisateur
participant API as Backend API
participant DB as PostgreSQL
participant E as Email
participant J as Job Quotidien
U->>API: DELETE /account (demande suppression)
API->>DB: UPDATE account_status=grace_period
API->>DB: UPDATE deletion_requested_at=NOW()
API->>DB: UPDATE sessions.revoked_at=NOW() (toutes)
API->>DB: UPDATE contents (cachés, non diffusés)
API->>E: Email avec lien annulation (30j)
API-->>U: Compte désactivé
alt Utilisateur change d'avis
U->>API: GET /account/cancel-deletion (lien email)
API->>DB: UPDATE account_status=active
API->>DB: UPDATE deletion_requested_at=NULL
API->>DB: Réactivation contenus
API->>E: Email confirmation annulation
API-->>U: Compte réactivé
else Après 30 jours
J->>DB: SELECT users WHERE grace_period > 30j
J->>DB: UPDATE account_status=deleted
J->>DB: Anonymisation données (email, pseudo...)
J->>DB: UPDATE contents.creator="Utilisateur supprimé"
J->>DB: DELETE listening_history, location_history, sessions
J->>DB: Conservation contenus anonymisés
J-->>DB: Suppression complète
end
```
## Légende
**Grace period** : 30 jours pour annuler
**Annulation** : Via lien email unique
**Anonymisation** :
- Données perso supprimées (email, pseudo, GPS...)
- Contenus conservés anonymes (intérêt communauté)
- Irréversible après 30j
**Alternative** : Purge auto inactivité 5 ans (notifications 90j/30j/7j avant)