# Cycle de vie - Compte utilisateur ## Diagramme ```mermaid stateDiagram-v2 [*] --> PendingEmailVerification: Inscription [*] --> PendingParentalConsent: Inscription 13-15 ans PendingEmailVerification --> Active: Email vérifié (16+ ans) PendingParentalConsent --> ActiveMinor: Parent valide PendingParentalConsent --> Expired: Token expiré (7j) Active --> Suspended: Strikes 3/4/5 Active --> GracePeriod: Demande suppression Active --> Frozen: Gel temporaire (limitation traitement) Active --> Deleted: Inactivité 5 ans ActiveMinor --> Active: 16 ans atteints ActiveMinor --> Suspended: Modération ActiveMinor --> Deleted: Parent révoque Frozen --> Active: Réactivation utilisateur Suspended --> Active: Fin suspension / Appel Suspended --> Deleted: Suspension définitive GracePeriod --> Active: Annulation < 30j GracePeriod --> Deleted: Après 30j Expired --> [*] Deleted --> [*] ``` ## Règles | État | Valeur | Durée/Condition | |------|--------|-----------------| | Pending Email Verification | `pending_email_verification` | Email non vérifié (expire 24h) | | Pending Parental Consent | `pending_parental_consent` | Ado 13-15 ans, attente validation parent (expire 7j) | | Active | `active` | Compte fonctionnel standard (16+ ans) | | Active Minor | `active_minor` | Compte 13-15 ans avec restrictions parentales | | Frozen | `frozen` | Gel temporaire (lecture seule), réactivable à tout moment | | Suspended | `suspended` | Strike 3: 7j, Strike 4: 30j, Strike 5: définitif | | Grace Period | `grace_period` | 30j avant suppression, annulable | | Expired | `expired` | Token expiré sans validation | | Deleted | `deleted` | Données supprimées, contenus anonymisés, irréversible | **Restrictions Active Minor** : - GPS précis : configurable par parent - Messagerie privée : désactivée par défaut - Contenus +16 : filtrés - Transition auto vers `active` à 16 ans **Purge inactivité** : 5 ans sans connexion (notifications 90j/30j/7j avant)