Feature #1262
Updated by Redmine Admin about 1 month ago
## Onboarding premier utilisateur — Spec
Parcours de premier lancement par espace (multi-tenant) : wizard 3 étapes (2 bloquantes) sautable → écran de fin → tableau de bord (checklist « Premiers pas » + proposition de visite guidée ~6 étapes) → profilage progressif en contexte. Déclencheur : onboardingState.completed === false pour l'espace courant ; jamais re-déclenché après complétion (sauf nouvel espace).
### Décisions techniques (post-audit code)
- **Persistance** : nouvelle entité base44 `OnboardingState.jsonc` (par utilisateur+espace, rls self-scope, workspace-scoped automatiquement), schema:generate. Exposée via la couture par une PAIRE de fonctions `functions.invoke('getOnboardingState')` / `invoke('updateOnboardingState', patch)` (mode register par défaut = scope X-Workspace-Id imposé) — pas d'élargissement de l'interface AppClient.
- **Montage UI** : wizard + provider de tour dans `Layout.jsx` (post-auth, post-workspace garantis). Checklist = widget dashboard (`WidgetCatalog`). Visite = ancres `data-tour` stables sur la sidebar (`Layout.jsx` navigation). Menu d'aide « ? » à ajouter dans l'en-tête (absent aujourd'hui).
- **Invitations (étape 3)** : réutilise `inviteUserWithPermissions` (rôles admin/member/volunteer).
- **§4 « Profil structure »** : les champs légaux existent dans `Production.jsonc` (= partie tierce). Pour la PROPRE structure → nouvelle entité workspace-scoped calquée sur Production (résolu dans #1267).
### Découpage (6 sous-tâches, ordre de dépendance)
1. #1263 Backend OnboardingState + GET/PATCH + couture AppClient (fondation, bloque le reste)
2. #1264 WelcomeWizard 3 étapes + écran de fin
3. #1265 Checklist « Premiers pas » (deep-links + auto-complétion par événements métier + réordonnancement par rôle)
4. #1266 ProductTour ~6 étapes (data-tour + réactivation menu d'aide)
5. #1267 Profilage progressif (ProgressiveFieldPrompt + déclencheurs §4 + résolution Profil structure)
6. #1268 Télémétrie §10 (wrapper léger landé tôt)
DoD = §11 du cahier. Copy FR définitive intégrée mot pour mot dans chaque sous-tâche.