diff --git a/docs/superpowers/plans/2026-06-24-espace-compte.md b/docs/superpowers/plans/2026-06-24-espace-compte.md new file mode 100644 index 0000000..242155e --- /dev/null +++ b/docs/superpowers/plans/2026-06-24-espace-compte.md @@ -0,0 +1,1038 @@ +# Espace « Mon compte » — Implementation Plan + +> **For agentic workers:** REQUIRED SUB-SKILL: Use superpowers:subagent-driven-development (recommended) or superpowers:executing-plans to implement this plan task-by-task. Steps use checkbox (`- [ ]`) syntax for tracking. + +**Goal:** Transformer `/compte` en un espace multi-sections avec navigation latérale, contrôle d'accès à 3 niveaux, et implémenter intégralement la section Compte (changement d'email avec re-vérification, changement de mot de passe, suppression de compte). + +**Architecture:** Une page Dash `register_page` par section sous `/compte/*`, enveloppée par une coquille commune `account_shell` (sidebar desktop + `dbc.Offcanvas` mobile). Les nouvelles actions de compte passent par des routes Flask `/auth/*` (formulaires HTML POST), comme l'existant. Le changement d'email stocke une adresse en attente confirmée par lien email. + +**Tech Stack:** Dash 3.4, Dash Bootstrap Components, Flask Blueprint, SQLite (`users.sqlite`), flask-login, flask-wtf (CSRF), Brevo (emails). + +## Global Constraints + +- Importer les modules avec le préfixe `src.` (`src.auth.db`, `src.pages._compte_shell`, …). +- UI en français. +- Les formulaires POSTent vers `/auth/*` ; chaque `