Keep/_bmad-output/planning-artifacts/NEW-EPICS-USER-STORIES.md
sepehr ddb67ba9e5 fix: unify theme system - fix theme switching persistence
- Unified localStorage key to 'theme-preference' across all components
- Fixed header.tsx using wrong localStorage key ('theme' instead of 'theme-preference')
- Added localStorage hybrid persistence for instant theme changes
- Removed router.refresh() which was causing stale data revert
- Replaced Blue theme with Sepia
- Consolidated auth() calls to prevent race conditions
- Updated UserSettingsData types to include all themes
2026-01-18 22:33:41 +01:00

26 KiB
Raw Blame History

📋 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 :
    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