# 📋 NOUVEAUX ÉPICS - USER STORIES DÉTAILLÉS **Sprint :** Sprint 1 - Foundation & Core UX **Date de dĂ©but :** 2026-01-17 **Product Owner :** Ramez **Product Manager :** John **DurĂ©e estimĂ©e :** 2 semaines **Objectif :** Design System + Tests Playwright + Desktop UX --- ## 📊 RÉSUMÉ DU SPRINT ### MĂ©triques | Épics | User Stories | Estimation | ComplexitĂ© | |--------|-------------|-----------|------------| | Epic 10 : Design System | 4 | 3 jours | Medium | | Epic 16 : Playwright Tests | 6 | 3 jours | High | | Epic 13 : Desktop UX | 8 | 4 jours | High | | **TOTAL** | **18** | **10 jours** | - | ### Objectifs du Sprint 1. ✅ CrĂ©er et implĂ©menter le Design System unifiĂ© 2. ✅ CrĂ©er la suite de tests Playwright pour toutes les modales 3. ✅ ImplĂ©menter la page Notebook desktop modernisĂ©e 4. ✅ Atteindre 100% de couverture des modales --- ## 🎹 EPIC 10 : DESIGN SYSTEM STANDARDIZATION **Objectif :** CrĂ©er un Design System unifiĂ© pour garantir la cohĂ©rence visuelle **ComplexitĂ© :** Medium **PrioritĂ© :** P0 (Must Have) **DĂ©pendances :** Aucune --- ### Story 10.1 : CrĂ©er les composants UI de base **En tant que** dĂ©veloppeur front-end, **Je veux** crĂ©er des composants UI rĂ©utilisables selon le Design System, **Afin de** garantir la cohĂ©rence visuelle dans toute l'application. **CritĂšres d'acceptation :** - [ ] Composant `Button` avec variantes : default, outline, ghost, destructive - [ ] Composant `Button` avec tailles : default (h-9), sm (h-8), icon (h-10) - [ ] Composant `Badge` avec variantes : default, outline, secondary, destructive - [ ] Composant `Input` avec validation et focus states - [ ] Composant `Card` avec hover states et animations - [ ] Tous les composants supportent 4 thĂšmes (Light, Dark, Midnight, Sepia) - [ ] Focus visible avec `ring-2` et `ring-ring/50` - [ ] Touch targets minimum 44x44px sur mobile **Fichiers Ă  modifier/crĂ©er :** - `keep-notes/components/ui/button.tsx` (modifier ou crĂ©er) - `keep-notes/components/ui/badge.tsx` (modifier ou crĂ©er) - `keep-notes/components/ui/input.tsx` (modifier ou crĂ©er) - `keep-notes/components/ui/card.tsx` (modifier ou crĂ©er) **Tests Playwright :** - [ ] Tester l'affichage du Button avec chaque variante - [ ] Tester l'accessibilitĂ© au clavier (Tab, EntrĂ©e, ESC) - [ ] Tester le support des 4 thĂšmes - [ ] Tester les touch targets sur mobile **Estimation :** 1 journĂ©e --- ### Story 10.2 : Standardiser la palette de couleurs **En tant que** dĂ©veloppeur front-end, **Je veux** standardiser la palette de couleurs avec CSS variables, **Afin de** garantir une cohĂ©rence visuelle et un support multi-thĂšmes. **CritĂšres d'acceptation :** - [ ] DĂ©finir les couleurs sĂ©mantiques dans `globals.css` : - `--primary` (#356ac0) - Actions principales - `--secondary` (#f7f7f8) - ÉlĂ©ments secondaires - `--accent` (#356ac0/10) - Mises en Ă©vidence - `--destructive` (#ef4444) - Actions destructives - `--background` (#ffffff) - ArriĂšre-plan principal - `--foreground` (#0f172a) - Texte principal - `--card` (#ffffff) - ArriĂšre-plan des cartes - `--muted` (#f7f7f8) - Texte secondaire - [ ] DĂ©finir les variables pour les 4 thĂšmes - [ ] Remplacer toutes les couleurs hardcoded par des variables CSS - [ ] VĂ©rifier le contraste WCAG 2.1 AA (4.5:1 pour texte normal) - [ ] Tester les 4 thĂšmes (Light, Dark, Midnight, Sepia) **Fichiers Ă  modifier :** - `keep-notes/app/globals.css` - Tous les composants qui utilisent des couleurs hardcoded **Tests Playwright :** - [ ] Tester l'affichage dans les 4 thĂšmes - [ ] VĂ©rifier le contraste avec un outil d'accessibilitĂ© - [ ] Tester le changement de thĂšme en temps rĂ©el **Estimation :** 0.5 journĂ©e --- ### Story 10.3 : Standardiser la typographie **En tant que** dĂ©veloppeur front-end, **Je veux** standardiser la typographie avec une Ă©chelle cohĂ©rente, **Afin de** garantir une hiĂ©rarchie visuelle claire. **CritĂšres d'acceptation :** - [ ] DĂ©finir l'Ă©chelle de tailles de police : - `text-xs` (12px) - Labels, badges, mĂ©tadonnĂ©es - `text-sm` (14px) - Corps de texte, boutons, inputs - `text-base` (16px) - Titres de cartes, texte accentuĂ© - `text-lg` (18px) - En-tĂȘtes de section - `text-xl` (20px) - Titres de page - `text-2xl` (24px) - Grands titres - [ ] DĂ©finir l'Ă©chelle de graisses : - `font-normal` (400) - Corps de texte - `font-medium` (500) - Texte accentuĂ©, labels de boutons - `font-semibold` (600) - Titres de section - `font-bold` (700) - Grands titres - [ ] DĂ©finir la hiĂ©rarchie typographique - [ ] Remplacer toutes les tailles custom par l'Ă©chelle standard - [ ] VĂ©rifier la lisibilitĂ© sur tous les Ă©crans **Fichiers Ă  modifier :** - `keep-notes/tailwind.config.ts` (configuration Tailwind) - Tous les composants qui utilisent des tailles de police custom **Tests Playwright :** - [ ] Tester l'affichage sur mobile, tablette et desktop - [ ] VĂ©rifier la hiĂ©rarchie visuelle **Estimation :** 0.5 journĂ©e --- ### Story 10.4 : Standardiser le spacing et les border radius **En tant que** dĂ©veloppeur front-end, **Je veux** standardiser le spacing (4px base unit) et les border radius, **Afin de** garantir une cohĂ©rence visuelle et une facilitĂ© d'utilisation. **CritĂšres d'acceptation :** - [ ] DĂ©finir l'Ă©chelle de spacing (base unit 4px) : - `spacing-1` (4px) - Tiny gaps, icon padding - `spacing-2` (8px) - Small padding, badges - `spacing-3` (12px) - Button padding, small inputs - `spacing-4` (16px) - Card padding, standard gap - `spacing-6` (24px) - Section padding - [ ] DĂ©finir l'Ă©chelle de border radius : - `radius-sm` (4px) - Small elements, icon buttons - `radius-md` (6px) - Inputs, small buttons - `radius-lg` (8px) - Cards, buttons (default) - `radius-xl` (12px) - Modals, large containers - `radius-2xl` (16px) - Hero elements, search bars - `radius-full` (9999px) - Circular elements (avatars, pill badges) - [ ] DĂ©finir les standards par composant : - Cards/NoteCards : `rounded-lg` (8px) - Buttons : `rounded-md` (6px) - Inputs : `rounded-md` (6px) - Badges (text) : `rounded-full` (pills) - Search bars : `rounded-lg` (8px) - [ ] Remplacer tous les spacing et border radius custom par les valeurs standard **Fichiers Ă  modifier :** - Tous les composants qui utilisent du spacing ou des border radius custom **Tests Playwright :** - [ ] Tester l'affichage sur tous les breakpoints - [ ] VĂ©rifier la cohĂ©rence visuelle **Estimation :** 1 journĂ©e --- ## đŸ§Ș EPIC 16 : PLAYWRIGHT TEST SUITE **Objectif :** CrĂ©er une suite de tests Playwright complĂšte pour toutes les modales et workflows critiques **ComplexitĂ© :** High **PrioritĂ© :** P0 (Must Have) **DĂ©pendances :** Aucune (peut ĂȘtre fait en parallĂšle) --- ### Story 16.1 : CrĂ©er le test d'ouverture de toutes les modales **En tant que** QA engineer, **Je veux** crĂ©er des tests Playwright pour l'ouverture des 13 modales, **Afin de** m'assurer qu'elles fonctionnent correctement. **CritĂšres d'acceptation :** - [ ] CrĂ©er des tests pour les 13 modales : 1. Auto-Label Suggestion Dialog 2. Batch Organization Dialog 3. Notebook Summary Dialog 4. Delete Notebook Dialog 5. Edit Notebook Dialog 6. Create Notebook Dialog 7. Label Management Dialog 8. Collaborator Dialog 9. Reminder Dialog 10. Fusion Modal 11. Comparison Modal 12. UI Dialog (base) 13. UI Popover (base) - [ ] Tester l'ouverture de chaque modal - [ ] VĂ©rifier l'affichage du contenu - [ ] VĂ©rifier le focus sur le premier Ă©lĂ©ment interactif - [ ] Tester l'accessibilitĂ© (ARIA labels) - [ ] Si le test Ă©choue → demander Ă  l'utilisateur de vĂ©rifier **Fichiers Ă  crĂ©er :** - `keep-notes/tests/modals/01-open-modals.spec.ts` **Estimation :** 0.5 journĂ©e --- ### Story 16.2 : CrĂ©er le test de fermeture de toutes les modales **En tant que** QA engineer, **Je veux** crĂ©er des tests Playwright pour la fermeture des modales, **Afin de** m'assurer que les utilisateurs peuvent les fermer. **CritĂšres d'acceptation :** - [ ] Tester la fermeture avec le bouton "Annuler" - [ ] Tester la fermeture avec la touche ESC - [ ] Tester la fermeture en cliquant en dehors de la modal - [ ] VĂ©rifier le focus restoration aprĂšs fermeture - [ ] Si le test Ă©choue → demander Ă  l'utilisateur de vĂ©rifier **Fichiers Ă  crĂ©er :** - `keep-notes/tests/modals/02-close-modals.spec.ts` **Estimation :** 0.5 journĂ©e --- ### Story 16.3 : CrĂ©er le test de soumission de formulaires dans les modales **En tant que** QA engineer, **Je veux** crĂ©er des tests Playwright pour la soumission des formulaires, **Afin de** m'assurer que les donnĂ©es sont sauvegardĂ©es correctement. **CritĂšres d'acceptation :** - [ ] Tester la soumission avec donnĂ©es valides - [ ] Tester la validation des donnĂ©es invalides - [ ] Tester l'affichage des messages d'erreur - [ ] Tester la confirmation de sauvegarde - [ ] Si le test Ă©choue → demander Ă  l'utilisateur de vĂ©rifier **Fichiers Ă  crĂ©er :** - `keep-notes/tests/modals/03-form-submission.spec.ts` **Estimation :** 0.5 journĂ©e --- ### Story 16.4 : CrĂ©er le test d'accessibilitĂ© des modales **En tant que** QA engineer, **Je veux** crĂ©er des tests Playwright pour l'accessibilitĂ© des modales, **Afin de** garantir l'accessibilitĂ© Ă  tous. **CritĂšres d'acceptation :** - [ ] Tester la navigation au clavier (Tab, EntrĂ©e, ESC) - [ ] Tester les indicateurs de focus visibles (3:1 contrast) - [ ] Tester le support screen reader (ARIA labels) - [ ] Tester le focus trap dans la modal - [ ] Tester le focus restoration aprĂšs fermeture - [ ] Tester les touch targets (44x44px minimum sur mobile) - [ ] Si le test Ă©choue → demander Ă  l'utilisateur de vĂ©rifier **Fichiers Ă  crĂ©er :** - `keep-notes/tests/modals/04-accessibility.spec.ts` **Estimation :** 0.5 journĂ©e --- ### Story 16.5 : CrĂ©er le test responsive des modales **En tant que** QA engineer, **Je veux** crĂ©er des tests Playwright pour l'affichage responsive des modales, **Afin de** garantir une expĂ©rience cohĂ©rente sur tous les appareils. **CritĂšres d'acceptation :** - [ ] Tester l'affichage correct sur mobile (< 768px) - [ ] Tester l'affichage correct sur tablette (768px - 1024px) - [ ] Tester l'affichage correct sur desktop (>= 1024px) - [ ] VĂ©rifier l'absence d'overflow horizontal - [ ] VĂ©rifier l'absence d'overflow vertical - [ ] VĂ©rifier la taille des boutons (44x44px sur mobile) - [ ] Si le test Ă©choue → demander Ă  l'utilisateur de vĂ©rifier **Fichiers Ă  crĂ©er :** - `keep-notes/tests/modals/05-responsive.spec.ts` **Estimation :** 0.5 journĂ©e --- ### Story 16.6 : CrĂ©er le test du workflow crĂ©ation de note **En tant que** QA engineer, **Je veux** crĂ©er un test Playwright pour le workflow de crĂ©ation de note, **Afin de** m'assurer que les utilisateurs peuvent crĂ©er des notes. **CritĂšres d'acceptation :** - [ ] Cliquer sur le bouton "CrĂ©er note" - [ ] VĂ©rifier l'ouverture de la modal - [ ] Saisir un titre - [ ] Saisir du contenu - [ ] Sauvegarder la note - [ ] VĂ©rifier la crĂ©ation de la note - [ ] VĂ©rifier l'affichage de la note dans la liste - [ ] Si le test Ă©choue → demander Ă  l'utilisateur de vĂ©rifier **Fichiers Ă  crĂ©er :** - `keep-notes/tests/workflows/01-create-note.spec.ts` **Estimation :** 0.5 journĂ©e --- ### Story 16.7 : CrĂ©er le test du workflow Ă©dition de note **En tant que** QA engineer, **Je veux** crĂ©er un test Playwright pour le workflow d'Ă©dition de note, **Afin de** m'assurer que les utilisateurs peuvent modifier leurs notes. **CritĂšres d'acceptation :** - [ ] Cliquer sur une note existante - [ ] VĂ©rifier l'ouverture de la modal - [ ] Modifier le titre - [ ] Modifier le contenu - [ ] Sauvegarder les modifications - [ ] VĂ©rifier la mise Ă  jour de la note - [ ] VĂ©rifier l'affichage des modifications dans la liste - [ ] Si le test Ă©choue → demander Ă  l'utilisateur de vĂ©rifier **Fichiers Ă  crĂ©er :** - `keep-notes/tests/workflows/02-edit-note.spec.ts` **Estimation :** 0.5 journĂ©e --- ### Story 16.8 : CrĂ©er le test du workflow suppression de note **En tant que** QA engineer, **Je veux** crĂ©er un test Playwright pour le workflow de suppression de note, **Afin de** m'assurer que les utilisateurs peuvent supprimer leurs notes. **CritĂšres d'acceptation :** - [ ] SĂ©lectionner une note - [ ] Cliquer sur le menu "..." - [ ] SĂ©lectionner "Supprimer" - [ ] VĂ©rifier l'affichage de la modal de confirmation - [ ] Confirmer la suppression - [ ] VĂ©rifier la suppression de la note - [ ] VĂ©rifier l'absence de la note dans la liste - [ ] Si le test Ă©choue → demander Ă  l'utilisateur de vĂ©rifier **Fichiers Ă  crĂ©er :** - `keep-notes/tests/workflows/03-delete-note.spec.ts` **Estimation :** 0.5 journĂ©e --- ### Story 16.9 : CrĂ©er la procĂ©dure d'Ă©chec de test (CRITIQUE) **En tant que** dĂ©veloppeur, **Je veux** implĂ©menter une procĂ©dure stricte en cas d'Ă©chec de test, **Afin de** ne jamais abandonner et trouver une solution. **CritĂšres d'acceptation :** - [ ] CrĂ©er un utilitaire de test helper avec la procĂ©dure : ```typescript async function handleTestFailure(testName: string, error: Error) { // 1. NE JAMAIS ABANDONNER console.error(`❌ Test "${testName}" failed:`, error); // 2. Identifier prĂ©cisĂ©ment le blocage const failureReason = analyzeFailure(error); console.log(`🔍 Failure reason: ${failureReason}`); // 3. Demander une action utilisateur console.log(`\n⚠ ACTION REQUISE :`); console.log(`L'application est-elle dĂ©marrĂ©e ? (vĂ©rifiez http://localhost:3000)`); console.log(`Y a-t-il des erreurs dans la console navigateur ?`); console.log(`Les permissions navigateur sont-elles OK ?`); // 4. Attendre la rĂ©ponse de l'utilisateur await promptUserAction(`Veuillez vĂ©rifier et appuyer sur ENTRÉE pour continuer...`); // 5. RĂ©essayer le test console.log(`🔄 Retrying test "${testName}"...`); // 6. Si Ă©chec → analyser et proposer solution const solution = proposeSolution(failureReason); console.log(`💡 Proposed solution: ${solution}`); // 7. RĂ©essayer await retryTest(testName); } ``` - [ ] IntĂ©grer cette procĂ©dure dans tous les tests Playwright - [ ] Tester la procĂ©dure avec un test volontairement qui Ă©choue - [ ] Documenter tous les blocages **Fichiers Ă  crĂ©er :** - `keep-notes/tests/utils/test-helper.ts` **Estimation :** 1 journĂ©e --- ## đŸ’» EPIC 13 : DESKTOP UX REFACTOR **Objectif :** Refondre complĂštement l'interface desktop pour offrir une expĂ©rience moderne et cohĂ©rente **ComplexitĂ© :** High **PrioritĂ© :** P0 (Must Have) **DĂ©pendances :** Epic 10 (Design System) --- ### Story 13.1 : CrĂ©er le Header global desktop **En tant qu'utilisateur desktop, **Je veux** un header moderne avec logo, recherche et actions, **Afin de** naviguer facilement dans l'application. **CritĂšres d'acceptation :** - [ ] CrĂ©er le composant `Header` avec : - Logo Keep avec icĂŽne sticky_note_2 - Barre de recherche (384px de largeur) - Bouton Settings - Avatar utilisateur avec ring - [ ] Style moderne avec `h-16` de hauteur - [ ] Support des 4 thĂšmes - [ ] AccessibilitĂ© (clavier, screen reader) - [ ] Responsive (disparait sur mobile) **Fichiers Ă  crĂ©er :** - `keep-notes/components/header.tsx` (crĂ©er ou modifier) **Tests Playwright :** - [ ] Tester l'affichage du header - [ ] Tester la barre de recherche - [ ] Tester les boutons d'action - [ ] Tester l'accessibilitĂ© au clavier **Estimation :** 0.5 journĂ©e --- ### Story 13.2 : CrĂ©er la Sidebar gauche desktop **En tant qu'utilisateur desktop, **Je veux** une sidebar de navigation avec notebooks et labels, **Afin de** naviguer facilement entre mes notebooks. **CritĂšres d'acceptation :** - [ ] CrĂ©er le composant `Sidebar` avec : - Section "Notebooks" avec bouton "CrĂ©er" - Liste des notebooks (Personal, Voyage, Work) - Labels contextuels imbriquĂ©s sous chaque notebook actif - Section "Smart Views" (Favorites, Tasks) - Footer avec suggestions AI - [ ] Style moderne avec `w-64` (256px) de largeur - [ ] Menu "..." pour chaque notebook - [ ] Labels contextuels avec compte de notes - [ ] Support des 4 thĂšmes - [ ] AccessibilitĂ© (clavier, screen reader) **Fichiers Ă  crĂ©er :** - `keep-notes/components/sidebar.tsx` (crĂ©er ou modifier) **Tests Playwright :** - [ ] Tester l'affichage de la sidebar - [ ] Tester la navigation entre notebooks - [ ] Tester les labels contextuels imbriquĂ©s - [ ] Tester l'accessibilitĂ© au clavier **Estimation :** 1 journĂ©e --- ### Story 13.3 : CrĂ©er la Grille Masonry desktop **En tant qu'utilisateur desktop, **Je veux** une grille masonry responsive avec 1-3 colonnes, **Afin de** voir mes notes de maniĂšre visuelle et organisĂ©e. **CritĂšres d'acceptation :** - [ ] CrĂ©er le composant `MasonryGrid` avec : - 1 colonne sur petit Ă©cran (< 1024px) - 2 colonnes sur Ă©cran moyen (1024px - 1280px) - 3 colonnes sur grand Ă©cran (>= 1280px) - Gap de `gap-6` (24px) - [ ] Support des 4 thĂšmes - [ ] Animations fluides au chargement - [ ] AccessibilitĂ© (clavier, screen reader) **Fichiers Ă  crĂ©er :** - `keep-notes/components/masonry-grid.tsx` (modifier existant) **Tests Playwright :** - [ ] Tester l'affichage sur diffĂ©rents breakpoints - [ ] Tester la disposition des notes - [ ] Tester l'accessibilitĂ© au clavier **Estimation :** 0.5 journĂ©e --- ### Story 13.4 : CrĂ©er la NoteCard desktop **En tant qu'utilisateur desktop, **Je veux** des cartes notes modernes avec images et menu "...", **Afin de** voir mes notes de maniĂšre attractive et claire. **CritĂšres d'acceptation :** - [ ] CrĂ©er le composant `NoteCard` avec : - Image hero (60% de hauteur) si prĂ©sente - Titre et contenu - Labels avec badges - Menu "..." au survol (remplace 5 boutons) - Avatar en bas Ă  gauche - Date en bas Ă  droite - Animations fluides (hover:shadow-xl, hover:-translate-y-1) - [ ] Style moderne avec `h-[380px]` de hauteur - [ ] Support des 4 thĂšmes - [ ] AccessibilitĂ© (clavier, screen reader, touch targets 44x44px) **Fichiers Ă  modifier :** - `keep-notes/components/note-card.tsx` **Tests Playwright :** - [ ] Tester l'affichage de la carte - [ ] Tester le survol et les animations - [ ] Tester le menu "..." - [ ] Tester l'accessibilitĂ© au clavier **Estimation :** 1 journĂ©e --- ### Story 13.5 : CrĂ©er la page Notebook desktop **En tant qu'utilisateur desktop, **Je veux** une page notebook moderne avec sidebar, header et grille masonry, **Afin de** naviguer et gĂ©rer mes notes efficacement. **CritĂšres d'acceptation :** - [ ] CrĂ©er la page `NotebookPage` avec : - Header global - Sidebar gauche - En-tĂȘte de page avec titre et filtres - Grille masonry avec NoteCards - Section AI Suggestions - [ ] En-tĂȘte avec breadcrumb (Notebooks > Voyage) - Boutons "Filtrer" et "Ajouter Note" - [ ] Footer avec suggestions AI contextuelles - [ ] Support des 4 thĂšmes - [ ] AccessibilitĂ© complĂšte (clavier, screen reader) **Fichiers Ă  crĂ©er :** - `keep-notes/app/(main)/notebooks/[id]/page.tsx` (crĂ©er ou modifier) **Tests Playwright :** - [ ] Tester l'affichage de la page - [ ] Tester la navigation entre notebooks - [ ] Tester la crĂ©ation de note - [ ] Tester les filtres - [ ] Tester l'accessibilitĂ© au clavier **Estimation :** 1 journĂ©e --- ### Story 13.6 : CrĂ©er la section Smart Views **En tant qu'utilisateur desktop, **Je veux** une section Smart Views avec Favorites et Tasks, **Afin de** accĂ©der rapidement Ă  mes notes importantes. **CritĂšres d'acceptation :** - [ ] CrĂ©er le composant `SmartViewsSection` avec : - Vue "Favorites" avec Ă©toile jaune - Vue "Tasks" avec coche verte - Compteurs pour chaque vue - [ ] Style moderne avec icĂŽnes colorĂ©es - [ ] Support des 4 thĂšmes - [ ] AccessibilitĂ© (clavier, screen reader) **Fichiers Ă  crĂ©er :** - `keep-notes/components/smart-views-section.tsx` (crĂ©er ou modifier) **Tests Playwright :** - [ ] Tester l'affichage des vues - [ ] Tester la navigation entre vues - [ ] Tester l'accessibilitĂ© au clavier **Estimation :** 0.5 journĂ©e --- ### Story 13.7 : CrĂ©er la section AI Suggestions footer **En tant qu'utilisateur desktop, **Je veux** un footer avec suggestions AI contextuelles, **Afin de** dĂ©couvrir de nouvelles connexions entre mes notes. **CritĂšres d'acceptation :** - [ ] CrĂ©er le composant `AISuggestionsFooter` avec : - IcĂŽne auto_awesome - Titre "AI Suggestions" - Description (ex: "2 nouvelles suggestions pour Voyage") - Gradient visuel - [ ] Style moderne avec `border-l-4 border-primary` - [ ] Support des 4 thĂšmes - [ ] AccessibilitĂ© (clavier, screen reader) **Fichiers Ă  crĂ©er :** - `keep-notes/components/ai-suggestions-footer.tsx` (crĂ©er ou modifier) **Tests Playwright :** - [ ] Tester l'affichage du footer - [ ] Tester le clic sur les suggestions - [ ] Tester l'accessibilitĂ© au clavier **Estimation :** 0.5 journĂ©e --- ### Story 13.8 : CrĂ©er la recherche hybride desktop **En tant qu'utilisateur desktop, **Je veux** une recherche hybride dans le header, **Afin de** trouver mes notes par mots-clĂ©s ou sens sĂ©mantique. **CritĂšres d'acceptation :** - [ ] CrĂ©er le composant `SearchBar` avec : - Input de recherche (384px de largeur) - IcĂŽne search - Placeholder "Rechercher notes, Ă©tiquettes..." - DĂ©bouncing (300ms) - [ ] Recherche hybride (keyword + sĂ©mantique) - [ ] Badges "Exact Match" / "Semantic Match" - [ ] Style moderne avec `rounded-xl` - [ ] Support des 4 thĂšmes - [ ] AccessibilitĂ© (clavier, screen reader) **Fichiers Ă  modifier :** - `keep-notes/components/header.tsx` **Tests Playwright :** - [ ] Tester la recherche par mots-clĂ©s - [ ] Tester la recherche sĂ©mantique - [ ] Tester les badges - [ ] Tester l'accessibilitĂ© au clavier **Estimation :** 1 journĂ©e --- ## 📅 PLANIFICATION DU SPRINT ### Semaine 1 (Jour 1-5) | Jour | Épic | Story | Estimation | |------|------|-------|-----------| | Lundi 17/01 | Epic 10 | Story 10.1 (Composants UI) | 1 jour | | Lundi 17/01 | Epic 16 | Story 16.1 (Ouverture modales) | 0.5 jour | | Lundi 17/01 | Epic 16 | Story 16.2 (Fermeture modales) | 0.5 jour | | Mardi 18/01 | Epic 10 | Story 10.2 (Couleurs) | 0.5 jour | | Mardi 18/01 | Epic 10 | Story 10.3 (Typographie) | 0.5 jour | | Mardi 18/01 | Epic 13 | Story 13.1 (Header) | 0.5 jour | | Mercredi 19/01 | Epic 10 | Story 10.4 (Spacing) | 1 jour | | Mercredi 19/01 | Epic 16 | Story 16.9 (ProcĂ©dure Ă©chec) | 1 jour | | Jeudi 20/01 | Epic 13 | Story 13.2 (Sidebar) | 1 jour | | Vendredi 21/01 | Epic 13 | Story 13.3 (Masonry Grid) | 0.5 jour | | Vendredi 21/01 | Epic 13 | Story 13.4 (NoteCard) | 0.5 jour | ### Semaine 2 (Jour 6-10) | Jour | Épic | Story | Estimation | |------|------|-------|-----------| | Lundi 24/01 | Epic 16 | Story 16.3 (Formulaires) | 0.5 jour | | Lundi 24/01 | Epic 16 | Story 16.4 (AccessibilitĂ©) | 0.5 jour | | Mardi 25/01 | Epic 16 | Story 16.5 (Responsive) | 0.5 jour | | Mardi 25/01 | Epic 16 | Story 16.6 (CrĂ©ation note) | 0.5 jour | | Mercredi 26/01 | Epic 16 | Story 16.7 (Édition note) | 0.5 jour | | Mercredi 26/01 | Epic 16 | Story 16.8 (Suppression note) | 0.5 jour | | Jeudi 27/01 | Epic 13 | Story 13.5 (Page Notebook) | 1 jour | | Vendredi 28/01 | Epic 13 | Story 13.6 (Smart Views) | 0.5 jour | | Vendredi 28/01 | Epic 13 | Story 13.7 (AI Suggestions) | 0.5 jour | | Weekend | Epic 13 | Story 13.8 (Recherche hybride) | 1 jour | --- ## ✅ CRITÈRES DE SUCCÈS DU SPRINT ### Fonctionnels - [ ] Design System complet avec composants rĂ©utilisables - [ ] Page Notebook desktop moderne et fonctionnelle - [ ] Suite de tests Playwright pour toutes les modales - [ ] ProcĂ©dure stricte en cas d'Ă©chec de test ### Techniques - [ ] Code couvert par les tests Playwright (100% couverture modales) - [ ] Performance < 2s pour le chargement de la page - [ ] AccessibilitĂ© WCAG 2.1 Level AA - [ ] Support des 4 thĂšmes (Light, Dark, Midnight, Sepia) ### QualitĂ© - [ ] ZĂ©ro bug critique en production - [ ] Code reviewĂ© et approuvĂ© - [ ] Documentation Ă  jour --- ## 🎯 OBJECTIFS DU SPRINT ### Objectif Principal **CrĂ©er les fondations de l'interface utilisateur moderne avec un Design System unifiĂ©, une suite de tests Playwright complĂšte et une page Notebook desktop refactorisĂ©e.** ### Objectifs SpĂ©cifiques 1. **Design System** (3 jours) - CrĂ©er les composants UI de base - Standardiser les couleurs, typographie, spacing - Supporter 4 thĂšmes 2. **Tests Playwright** (3 jours) - CrĂ©er des tests pour les 13 modales - CrĂ©er des tests pour les workflows critiques - ImplĂ©menter la procĂ©dure d'Ă©chec stricte - Atteindre 100% de couverture 3. **Desktop UX** (4 jours) - CrĂ©er le Header global - CrĂ©er la Sidebar gauche - CrĂ©er la Grille Masonry - CrĂ©er la NoteCard moderne - CrĂ©er la page Notebook complĂšte --- ## 📊 MÉTRIQUES DU SPRINT ### KPIs | MĂ©trique | Objectif | Comment mesurer | |----------|----------|-----------------| | Couverture tests Playwright | 100% modales | `npx playwright test --coverage` | | Performance FCP | < 2s | Lighthouse CI/CD | | Accessibility Score | > 90 | Lighthouse CI/CD | | Bugs critiques | 0 | Bug tracking | | User Stories complĂ©tĂ©es | 18/18 | Project tracking | ### Velocity - **Objectif :** 18 User Stories en 10 jours - **Équivalence :** 1.8 stories/jour - **Buffer :** 2 jours pour imprĂ©vus --- ## 🚀 DÉMARRAGE IMMÉDIAT **RAMEZ, le sprint est lancĂ© !** 🚀 **Prochaine Ă©tape :** Commençons immĂ©diatement avec **Story 10.1 : CrĂ©er les composants UI de base** Veux-tu que je commence l'implĂ©mentation maintenant ? **Options :** 1. ✅ **OUI, commence l'implĂ©mentation du Design System !** 2. 🔧 **Commence par les tests Playwright en parallĂšle** 3. 📋 **Revoyons le plan ensemble d'abord** Dites-moi simplement "1", "2" ou "3" ! 🚀 --- **Document Status :** READY **Sprint :** Sprint 1 - Foundation & Core UX **Date de dĂ©but :** 2026-01-17 **DurĂ©e :** 10 jours **Product Owner :** Ramez **Product Manager :** John