ADR 0002 — Pinia + persisted state
Contexte
L'app a besoin d'un state global (auth, customer, catalogue, wizard de réservation, filtres recherche). Les tokens et préférences utilisateur doivent survivre à un cold start (sinon le client se reloggue à chaque ouverture).
Décision
- Pinia 3 comme store global, en composition style (
defineStore('id', () => {...})). pinia-plugin-persistedstateactivé globalement, opt-in par store via{ persist: true }.- Stores persistés :
auth(tokens),customer(profil),searchFilter(filtres recherche). - Stores non persistés :
bookingConstructor(le wizard repart à zéro),catalog/travels/occurrence(refetch suffit),backButton(dépend du contexte runtime).
Conséquences
- ✅ Tokens survivent au cold start → pas de re-login à l'ouverture.
- ✅ Composition style cohérente avec le reste du code.
- ⚠️ Penser au cas du token expiré au boot :
apiClientintercepte et tente refresh (cf. ADR 0004). - ⚠️ Pas de migration de schéma sur le persisted state — un changement de forme d'un store persisté peut casser les sessions existantes. Pour les évolutions majeures, prévoir un cleanup.
Contributors
No contributors
Changelog
No recent changes

