# Coaster World v1.126.0 — 2026-09-20

## Gestion des comptes

- Ajout d'un `public_id` UUID stable aux comptes. Il est utilisé pour les QR d'amis afin qu'un changement de `@pseudo` n'invalide plus les QR déjà partagés. Les QR générés à partir de cette version utilisent l’identifiant stable. Les anciens QR basés sur le pseudo restent acceptés tant que ce pseudo correspond encore au compte.
- Le profil web permet maintenant de modifier séparément le nom affiché et le `@pseudo`.
- Les créations de compte classiques demandent maintenant explicitement un nom affiché, un `@pseudo` et l'acceptation des CGU + politique de confidentialité.
- Une création de compte via Google sur le site ne fabrique plus un pseudo aléatoire `explorer-xxxxxx` : le flux passe par un écran de finalisation permettant de choisir le nom et le `@pseudo` puis d'accepter les documents légaux.
- Les nouveaux comptes Google créés depuis l'application utilisent un pseudo propre dérivé du nom Google, avec suffixe uniquement en cas de collision.
- Ajout de `terms_accepted_at` et `privacy_accepted_at` sur les utilisateurs.

## API mobile

- `POST /api/v1/auth/register` : création de compte depuis l'application avec acceptation légale obligatoire.
- `PUT /api/v1/account/profile` : modification du nom affiché et du `@pseudo` depuis l'application.
- Le flux Google mobile accepte désormais un mode de création de compte explicite après consentement dans l'application.
- `GET /api/v1/friends/resolve/{identifier}` résout maintenant un `public_id` stable et conserve un fallback sur l'ancien pseudo.

## Administration

- Ajout d'une action distincte **Supprimer définitivement** sur la fiche d'un utilisateur.
- Cette action demande la saisie exacte `PURGE <pseudo>`, interdit la suppression de son propre compte et protège le dernier administrateur actif.
- La purge réutilise d'abord la procédure d'effacement des données personnelles, révoque aussi les jetons API mobiles, puis supprime réellement la ligne utilisateur.

## Déploiement

- Migration SQL obligatoire : `2026_09_20_080000_add_public_id_and_legal_acceptance_to_users.php`.
- Pas de nouvelle dépendance Composer/NPM.
