Onboarding : CHANGELOG, architecture, guide utilisateur et checklist QA interactive #357

Closed
opened 2026-09-26 12:24:31 +00:00 by maximus · 0 comments
Owner

Vague planned-2026-10-03-onboarding-phase1 (séance /plan-run du 2026-10-03, spec + /review-spec du 2026-09-25, verdict APPROUVÉ après intégration). Les fichiers spec-decisions-onboarding-phase1.md / spec-plan-onboarding-phase1.md sont ignorés par git : ce corps est auto-suffisant, ne pas chercher le spec. Analyse d'origine : docs/analyse-onboarding-2026-09.md.

Règles de la vague : pile linéaire (chaque PR part de la précédente) ; ne pas toucher CHANGELOG.md / CHANGELOG.fr.md avant #357 qui les centralise ; FR + EN pour toute clé i18n (.claude/rules/i18n.md) ; aucune migration DB ; aucune chaîne en dur dans les composants.

Objectif

Clôturer la phase 1 : CHANGELOG FR/EN, architecture, guide utilisateur, checklist de parcours pour les deux testeurs, vérification finale.

Tâches

  • CHANGELOG.md / CHANGELOG.fr.md sous ## [Unreleased] / ## [Non publié] → ### Added / ### Ajouté : états vides guidés (tableau de bord, Import, Transactions, Budget), liste de démarrage calculée depuis les données et masquable par profil, bouton « Créer un dossier d'exemple », sous-section du guide « Exporter un CSV depuis votre banque » ; ### Changed / ### Modifié : bouton « Afficher la liste de démarrage » dans Paramètres → Utilisateurs, popover « ? » d'Import avec lien vers le guide
  • docs/architecture.md : fs_commands.rs passe de 6 à 7 commandes (create_sample_import_folders, contrat : dossier + date → noms créés, refus d'écrasement) ; onboardingService dans la liste des services ; useOnboardingChecklist dans les hooks ; clé onboarding_checklist_hidden ; corpus src/__fixtures__/samples/ à côté de src/__fixtures__/csv/ ; courte section « Onboarding » (les quatre états vides et leur signal getTransactionCount / counters.transactions, la source de vérité des six cases, le flux du dossier d'exemple)
  • docs/guide-utilisateur.md chapitre 3 (tableau de bord) : la liste de démarrage, ses six cases et le masquage ; chapitre 11 (paramètres) : le bouton de réaffichage ; clés docs.dashboard.* et docs.settings.* FR/EN correspondantes
  • docs/qa-onboarding.html (nouveau) : checklist de parcours interactive, page HTML statique en français seulement, sans aucune dépendance réseau (CSS et JS inline, pas de police ni de CDN) ; une ligne par étape avec case à cocher et champ texte « Où as-tu hésité ? » ; état conservé en localStorage ; bouton « Copier le rapport » qui met dans le presse-papiers un texte brut (date, étapes cochées, commentaires) à coller dans Paramètres → Systèmes → Rétroaction ; bouton « Réinitialiser ». Étapes : installer et lancer → créer un profil → tableau de bord vide et liste 1/6 → « Choisir un dossier d'import » → Import sans dossier → « Choisir un dossier » → « Créer un dossier d'exemple » → deux sources → importer Exemple Desjardins (aperçu, signes, doublons, rapport) → tableau de bord avec liste compacte 4/6 → Transactions : classer « GARDERIE LES PETITS PAS » à la main → 5/6 → Budget (clé Base ou Premium) : saisir un montant → 6/6, liste disparue → « Masquer » sur un second profil puis réaffichage depuis Paramètres → ouvrir le guide « Exporter un CSV depuis votre banque » depuis l'état vide d'Import
  • Vérification finale : npm run build, npm test, cargo test ; grep de chaînes en dur dans les composants créés par la vague (EmptyState, OnboardingChecklist, DashboardEmptyState, ImportEmptyState, DocsSubsections)

Fichiers concernés

  • CHANGELOG.md, CHANGELOG.fr.md
  • docs/architecture.md, docs/guide-utilisateur.md
  • docs/qa-onboarding.html (nouveau)
  • src/i18n/locales/fr.json, src/i18n/locales/en.json (clés docs.* seulement)

Depends on

Critères d'acceptation

  • Les deux CHANGELOG portent les mêmes entrées sous [Unreleased], en FR et en EN
  • docs/architecture.md : la section Commandes Tauri compte create_sample_import_folders ; les nombres de commandes de fs_commands.rs sont cohérents entre le titre de section et la liste
  • docs/qa-onboarding.html s'ouvre dans un navigateur hors ligne, conserve l'état après rechargement, et « Copier le rapport » produit un texte brut lisible
  • npm run build, npm test, cargo test verts ; aucune chaîne en dur trouvée

Review caveats

  • Aucune.

Décisions prises en planification

  • Case 5 de la liste = « une transaction classée à la main » (is_manually_categorized = 1) et non « règle créée » ni « transactions catégorisées » : le seed IPC met 180 mots-clés dans tout profil neuf et le wizard catégorise pendant l'import (useImportWizard.ts:1016).
  • Ordre des vagues : planned-2026-09-24-paiements s'exécute avant celle-ci (fichiers partagés : fr.json, en.json, CHANGELOG, architecture.md, guide-utilisateur.md) ; partir d'un main qui contient déjà ses clés.
  • Checklist QA en HTML interactif, FR seulement (outil interne, pas une UI de l'app), versionnée dans docs/, exemple de forme : docs/qa-update-cycle.md.
  • Le critère de release « une banque validée sur compte réel » est porté par #371 (BMO, saisie Max), hors de cette vague.

Spec source

spec-plan-onboarding-phase1.md (local, ignoré par git)

Vague `planned-2026-10-03-onboarding-phase1` (séance `/plan-run` du 2026-10-03, spec + `/review-spec` du 2026-09-25, verdict APPROUVÉ après intégration). Les fichiers `spec-decisions-onboarding-phase1.md` / `spec-plan-onboarding-phase1.md` sont **ignorés par git** : ce corps est auto-suffisant, ne pas chercher le spec. Analyse d'origine : `docs/analyse-onboarding-2026-09.md`. Règles de la vague : pile linéaire (chaque PR part de la précédente) ; **ne pas toucher `CHANGELOG.md` / `CHANGELOG.fr.md`** avant #357 qui les centralise ; FR + EN pour toute clé i18n (`.claude/rules/i18n.md`) ; aucune migration DB ; aucune chaîne en dur dans les composants. ## Objectif Clôturer la phase 1 : CHANGELOG FR/EN, architecture, guide utilisateur, checklist de parcours pour les deux testeurs, vérification finale. ## Tâches - [ ] `CHANGELOG.md` / `CHANGELOG.fr.md` sous `## [Unreleased]` / `## [Non publié]` → `### Added` / `### Ajouté` : états vides guidés (tableau de bord, Import, Transactions, Budget), liste de démarrage calculée depuis les données et masquable par profil, bouton « Créer un dossier d'exemple », sous-section du guide « Exporter un CSV depuis votre banque » ; `### Changed` / `### Modifié` : bouton « Afficher la liste de démarrage » dans Paramètres → Utilisateurs, popover « ? » d'Import avec lien vers le guide - [ ] `docs/architecture.md` : `fs_commands.rs` passe de 6 à 7 commandes (`create_sample_import_folders`, contrat : dossier + date → noms créés, refus d'écrasement) ; `onboardingService` dans la liste des services ; `useOnboardingChecklist` dans les hooks ; clé `onboarding_checklist_hidden` ; corpus `src/__fixtures__/samples/` à côté de `src/__fixtures__/csv/` ; courte section « Onboarding » (les quatre états vides et leur signal `getTransactionCount` / `counters.transactions`, la source de vérité des six cases, le flux du dossier d'exemple) - [ ] `docs/guide-utilisateur.md` chapitre 3 (tableau de bord) : la liste de démarrage, ses six cases et le masquage ; chapitre 11 (paramètres) : le bouton de réaffichage ; clés `docs.dashboard.*` et `docs.settings.*` FR/EN correspondantes - [ ] `docs/qa-onboarding.html` (nouveau) : checklist de parcours **interactive**, page HTML statique en **français seulement**, sans aucune dépendance réseau (CSS et JS inline, pas de police ni de CDN) ; une ligne par étape avec case à cocher et champ texte « Où as-tu hésité ? » ; état conservé en `localStorage` ; bouton « Copier le rapport » qui met dans le presse-papiers un texte brut (date, étapes cochées, commentaires) à coller dans Paramètres → Systèmes → Rétroaction ; bouton « Réinitialiser ». Étapes : installer et lancer → créer un profil → tableau de bord vide et liste 1/6 → « Choisir un dossier d'import » → Import sans dossier → « Choisir un dossier » → « Créer un dossier d'exemple » → deux sources → importer Exemple Desjardins (aperçu, signes, doublons, rapport) → tableau de bord avec liste compacte 4/6 → Transactions : classer « GARDERIE LES PETITS PAS » à la main → 5/6 → Budget (clé Base ou Premium) : saisir un montant → 6/6, liste disparue → « Masquer » sur un second profil puis réaffichage depuis Paramètres → ouvrir le guide « Exporter un CSV depuis votre banque » depuis l'état vide d'Import - [ ] Vérification finale : `npm run build`, `npm test`, `cargo test` ; `grep` de chaînes en dur dans les composants créés par la vague (`EmptyState`, `OnboardingChecklist`, `DashboardEmptyState`, `ImportEmptyState`, `DocsSubsections`) ## Fichiers concernés - `CHANGELOG.md`, `CHANGELOG.fr.md` - `docs/architecture.md`, `docs/guide-utilisateur.md` - `docs/qa-onboarding.html` (nouveau) - `src/i18n/locales/fr.json`, `src/i18n/locales/en.json` (clés `docs.*` seulement) ## Depends on - #353 - #356 ## Critères d'acceptation - [ ] Les deux CHANGELOG portent les mêmes entrées sous `[Unreleased]`, en FR et en EN - [ ] `docs/architecture.md` : la section Commandes Tauri compte `create_sample_import_folders` ; les nombres de commandes de `fs_commands.rs` sont cohérents entre le titre de section et la liste - [ ] `docs/qa-onboarding.html` s'ouvre dans un navigateur hors ligne, conserve l'état après rechargement, et « Copier le rapport » produit un texte brut lisible - [ ] `npm run build`, `npm test`, `cargo test` verts ; aucune chaîne en dur trouvée ## Review caveats - Aucune. ## Décisions prises en planification - Case 5 de la liste = « une transaction classée à la main » (`is_manually_categorized = 1`) et non « règle créée » ni « transactions catégorisées » : le seed IPC met 180 mots-clés dans tout profil neuf et le wizard catégorise pendant l'import (`useImportWizard.ts:1016`). - Ordre des vagues : `planned-2026-09-24-paiements` s'exécute **avant** celle-ci (fichiers partagés : `fr.json`, `en.json`, CHANGELOG, `architecture.md`, `guide-utilisateur.md`) ; partir d'un `main` qui contient déjà ses clés. - Checklist QA en HTML interactif, FR seulement (outil interne, pas une UI de l'app), versionnée dans `docs/`, exemple de forme : `docs/qa-update-cycle.md`. - Le critère de release « une banque validée sur compte réel » est porté par #371 (BMO, saisie Max), hors de cette vague. ## Spec source spec-plan-onboarding-phase1.md (local, ignoré par git)
maximus added this to the planned-2026-10-03-onboarding-phase1 milestone 2026-09-26 12:24:31 +00:00
maximus added the
status:ready
type:feature
source:human
labels 2026-09-26 12:24:31 +00:00
maximus changed title from Onboarding: CHANGELOG, architecture and user guide updates to Onboarding : CHANGELOG, architecture, guide utilisateur et checklist QA interactive 2026-10-03 14:09:46 +00:00
maximus added
status:in-progress
and removed
status:ready
labels 2026-10-04 00:14:29 +00:00
maximus added
status:review
and removed
status:in-progress
labels 2026-10-04 00:26:37 +00:00
maximus added
status:approved
and removed
status:review
labels 2026-10-04 00:28:29 +00:00
maximus removed the
status:approved
label 2026-10-04 12:52:53 +00:00
Sign in to join this conversation.
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: maximus/Simpl-Resultat#357
No description provided.