Feature #1266
openFeature #1262: Onboarding premier utilisateur : wizard d'amorçage + profilage progressif + visite guidée
Frontend — Visite guidée ProductTour (~6 étapes, ancres data-tour stables sur la sidebar, réactivation via menu d'aide)
0%
Description
Visite guidée haut niveau en spotlight sur la sidebar, ~6 étapes, 1 phrase chacune, sautable + réactivable. Anti-fragilité (§7) : cibler des attributs `data-tour` STABLES (jamais classes/positions) ; cible absente = sauter proprement l'étape. État `tour{completed,lastStep}` via GET/PATCH /onboarding/:workspaceId. Ordre par défaut, réordonné par rôle.
Composants (§7) : ProductTour, TourStep. Ce lot ajoute aussi les attributs `data-tour` stables sur les entrées de sidebar ciblées, et la réactivation via le menu d'aide « ? » de l'en-tête (§6) : « Refaire la visite guidée » · « Reprendre la configuration » (rouvre la checklist — coordonner avec #3).
COPY FR DÉFINITIVE (§5) — étapes (ordre par défaut) :
1 Tableau de bord : « Votre vue d'ensemble : budget, prochains événements, contrats et factures en un coup d'œil. »
2 Événements : « Le cœur de Scobby. Chaque date a sa fiche : plateau, budget, régie, contrat et communication. »
3 Budgets : « Suivez la rentabilité de chaque date et de toute votre saison. »
4 Planning / Gestion Équipe : « Organisez les shifts de vos équipes et mobilisez vos bénévoles. »
5 Gestion restauration / bar : « Recettes, food cost et conformité HACCP de votre bar, au même endroit. »
6 Gestion Horaires : « La badgeuse pour suivre les heures de votre personnel et de vos bénévoles. »
Chaque infobulle : « Précédent » · « Suivant » · « Passer la visite » + indicateur « 2 / 6 » ; dernière étape « Terminer ». A11y (§7) : infobulles annoncées, focus géré, contraste AA. Persiste `lastStep` ; ne jamais re-déclencher automatiquement une visite `completed` (mais toujours rejouable via le menu d'aide).
Dépend de : Backend OnboardingState (#1).
## Critères d'acceptation
- La visite cible exclusivement des attributs `data-tour` stables sur la sidebar (jamais classes/positions) ; ces attributs sont ajoutés aux entrées concernées.
- Les 6 étapes affichent la copy FR exacte dans l'ordre par défaut, réordonné selon `onboardingState.role`.
- Chaque infobulle : « Précédent » · « Suivant » · « Passer la visite » + indicateur « X / 6 » ; dernière « Terminer ».
- Cible `data-tour` absente → étape sautée proprement sans casser la visite.
- `tour{completed,lastStep}` persisté via PATCH ; pas de re-déclenchement auto si `completed`, mais rejouable.
- Le menu d'aide « ? » propose « Refaire la visite guidée » et « Reprendre la configuration » (rouvre la checklist).
- A11y : infobulles annoncées, focus géré, contraste AA.
- lint + typecheck + tests frontend verts.