# TowerControl v2.0 - Gestionnaire de tâches moderne ## ✅ Phase 1: Nettoyage et architecture (TERMINÉ) ### 1.1 Configuration projet Next.js - [x] Initialiser Next.js avec TypeScript - [x] Configurer ESLint, Prettier - [x] Setup structure de dossiers selon les règles du workspace - [x] Configurer base de données (SQLite local) - [x] Setup Prisma ORM ### 1.2 Architecture backend standalone - [x] Créer `services/database.ts` - Pool de connexion DB - [x] Créer `services/tasks.ts` - Service CRUD pour les tâches - [x] Créer `lib/types.ts` - Types partagés (Task, Tag, etc.) - [x] Nettoyer l'ancien code de synchronisation ### 1.3 API moderne et propre - [x] `app/api/tasks/route.ts` - API CRUD complète (GET, POST, PATCH, DELETE) - [x] Supprimer les routes de synchronisation obsolètes - [x] Configuration moderne dans `lib/config.ts` **Architecture finale** : App standalone avec backend propre et API REST moderne ## 🎯 Phase 2: Interface utilisateur moderne (EN COURS) ### 2.1 Système de design et composants UI - [x] Créer les composants UI de base (Button, Input, Card, Modal, Badge) - [x] Implémenter le système de design tech dark (couleurs, typographie, spacing) - [x] Setup Tailwind CSS avec classes utilitaires personnalisées - [x] Créer une palette de couleurs tech/cyberpunk ### 2.2 Composants Kanban existants (à améliorer) - [x] `components/kanban/Board.tsx` - Tableau Kanban principal - [x] `components/kanban/Column.tsx` - Colonnes du Kanban - [x] `components/kanban/TaskCard.tsx` - Cartes de tâches - [x] `components/ui/Header.tsx` - Header avec statistiques - [x] Refactoriser les composants pour utiliser le nouveau système UI ### 2.3 Gestion des tâches (CRUD) - [x] Formulaire de création de tâche (Modal + Form) - [x] Création rapide inline dans les colonnes (QuickAddTask) - [x] Formulaire d'édition de tâche (Modal + Form avec pré-remplissage) - [x] Édition inline du titre des tâches (clic sur titre → input) - [x] Suppression de tâche (icône discrète + API call) - [x] Changement de statut par drag & drop (@dnd-kit) - [x] Validation des formulaires et gestion d'erreurs ### 2.4 Gestion des tags - [x] Créer/éditer des tags avec sélecteur de couleur - [x] Autocomplete pour les tags existants - [x] Suppression de tags (avec vérification des dépendances) - [x] Affichage des tags avec couleurs personnalisées - [x] Service tags avec CRUD complet (Prisma) - [x] API routes /api/tags avec validation - [x] Client HTTP et hook useTags - [x] Composants UI (TagInput, TagDisplay, TagForm) - [x] Intégration dans les formulaires (TagInput avec autocomplete) - [x] Intégration dans les TaskCards (TagDisplay avec couleurs) - [x] Contexte global pour partager les tags - [x] Page de gestion des tags (/tags) avec interface complète - [x] Navigation dans le Header (Kanban ↔ Tags) - [x] Filtrage par tags (intégration dans Kanban) - [x] Interface de filtrage complète (recherche, priorités, tags) - [x] Logique de filtrage temps réel dans le contexte - [x] Intégration des filtres dans KanbanBoard ### 2.5 Clients HTTP et hooks - [x] `clients/tasks-client.ts` - Client pour les tâches (CRUD complet) - [x] `clients/tags-client.ts` - Client pour les tags - [x] `clients/base/http-client.ts` - Client HTTP de base - [x] `hooks/useTasks.ts` - Hook pour la gestion des tâches (CRUD complet) - [x] `hooks/useTags.ts` - Hook pour la gestion des tags - [x] Drag & drop avec @dnd-kit (intégré directement dans Board.tsx) - [x] Gestion des erreurs et loading states - [x] Architecture SSR + hydratation client optimisée ### 2.6 Fonctionnalités Kanban avancées - [x] Drag & drop entre colonnes (@dnd-kit avec React 19) - [x] Drag & drop optimiste (mise à jour immédiate + rollback si erreur) - [x] Filtrage par statut/priorité/assigné - [x] Recherche en temps réel dans les tâches - [x] Interface de filtrage complète (KanbanFilters.tsx) - [x] Logique de filtrage dans TasksContext - [x] Tri des tâches (date, priorité, alphabétique) ### 2.7 Système de thèmes (clair/sombre) - [x] Créer le contexte de thème (ThemeContext + ThemeProvider) - [x] Ajouter toggle de thème dans le Header (bouton avec icône soleil/lune) - [x] Définir les variables CSS pour le thème clair - [x] Adapter tous les composants UI pour supporter les deux thèmes - [x] Modifier la palette de couleurs pour le mode clair - [x] Adapter les composants Kanban (Board, TaskCard, Column) - [x] Adapter les formulaires et modales - [x] Adapter la page de gestion des tags - [x] Sauvegarder la préférence de thème (localStorage) - [x] Configuration par défaut selon préférence système (prefers-color-scheme) ## 📊 Phase 3: Intégrations et analytics (Priorité 3) ### 3.1 Gestion du Daily - [x] Créer `services/daily.ts` - Service de gestion des daily notes - [x] Modèle de données Daily (date, checkboxes hier/aujourd'hui) - [x] Interface Daily avec sections "Hier" et "Aujourd'hui" - [x] Checkboxes interactives avec état coché/non-coché - [x] Liaison optionnelle checkbox ↔ tâche existante - [x] Cocher une checkbox NE change PAS le statut de la tâche liée - [x] Navigation par date (daily précédent/suivant) - [x] Auto-création du daily du jour si inexistant - [x] UX améliorée : édition au clic, focus persistant, input large - [x] Vue calendar/historique des dailies ### 3.2 Intégration Jira Cloud - [x] Créer `services/jira.ts` - Service de connexion à l'API Jira Cloud - [x] Configuration Jira (URL, email, API token) dans `lib/config.ts` - [x] Authentification Basic Auth (email + API token) - [x] Récupération des tickets assignés à l'utilisateur - [x] Mapping des statuts Jira vers statuts internes (todo, in_progress, done, etc.) - [x] Synchronisation unidirectionnelle (Jira → local uniquement) - [x] Gestion des diffs - ne pas écraser les modifications locales - [x] Style visuel distinct pour les tâches Jira (bordure spéciale) - [x] Métadonnées Jira (projet, clé, assignee) dans la base - [x] Possibilité d'affecter des tags locaux aux tâches Jira - [x] Interface de configuration dans les paramètres - [x] Synchronisation manuelle via bouton (pas d'auto-sync) - [x] Logs de synchronisation pour debug - [x] Gestion des erreurs et timeouts API ### 3.3 Page d'accueil/dashboard - [x] Créer une page d'accueil moderne avec vue d'ensemble - [x] Widgets de statistiques (tâches par statut, priorité, etc.) - [x] Déplacer kanban vers /kanban et créer nouveau dashboard à la racine - [x] Actions rapides vers les différentes sections - [x] Affichage des tâches récentes - [x] Graphiques de productivité (tâches complétées par jour/semaine) - [x] Indicateurs de performance personnels - [x] Intégration des analytics dans le dashboard ### 3.4 Analytics et métriques - [x] `services/analytics.ts` - Calculs statistiques - [x] Métriques de productivité (vélocité, temps moyen, etc.) - [x] Graphiques avec Recharts (tendances, vélocité, distribution) - [x] Composants de graphiques (CompletionTrend, Velocity, Priority, Weekly) - [x] Insights automatiques et métriques visuelles ## Autre Todo - [x] Avoir un bouton pour réduire/agrandir la font des taches dans les kanban (swimlane et classique) - [x] Refactorer les couleurs des priorités dans un seul endroit - [x] Settings synchro Jira : ajouter une liste de projet à ignorer, doit etre pris en compte par le service bien sur - [x] Faire des pages à part entière pour les sous-pages de la page config + SSR - [x] Afficher dans l'édition de task les todo reliés. Pouvoir en ajouter directement avec une date ou sans. - [x] Dans les titres de colonnes des swimlanes, je n'ai pas les couleurs des statuts - [x] Système de sauvegarde automatique base de données - [x] Sauvegarde automatique configurable (hourly/daily/weekly) - [x] Configuration complète dans les paramètres avec interface dédiée - [x] Rotation automatique des sauvegardes (configurable) - [x] Format de sauvegarde avec timestamp + compression optionnelle - [x] Interface complète pour visualiser et gérer les sauvegardes - [x] CLI d'administration pour les opérations avancées - [x] API REST complète pour la gestion programmatique - [x] Vérification d'intégrité et restauration sécurisée - [x] Option de restauration depuis une sauvegarde sélectionnée ## 🔧 Phase 4: Server Actions - Migration API Routes (Nouveau) ### 4.1 Migration vers Server Actions - Actions rapides **Objectif** : Remplacer les API routes par des server actions pour les actions simples et fréquentes #### Actions TaskCard (Priorité 1) - [x] Créer `actions/tasks.ts` avec server actions de base - [x] `updateTaskStatus(taskId, status)` - Changement de statut - [x] `updateTaskTitle(taskId, title)` - Édition inline du titre - [x] `deleteTask(taskId)` - Suppression de tâche - [x] Modifier `TaskCard.tsx` pour utiliser server actions directement - [x] Remplacer les props callbacks par calls directs aux actions - [x] Intégrer `useTransition` pour les loading states natifs - [x] Tester la revalidation automatique du cache - [x] **Nettoyage** : Supprimer props obsolètes dans tous les composants Kanban - [x] **Nettoyage** : Simplifier `tasks-client.ts` (garder GET et POST uniquement) - [x] **Nettoyage** : Modifier `useTasks.ts` pour remplacer mutations par server actions #### Actions Daily (Priorité 2) - [x] Créer `actions/daily.ts` pour les checkboxes - [x] `toggleCheckbox(checkboxId)` - Toggle état checkbox - [x] `addCheckboxToDaily(dailyId, content)` - Ajouter checkbox - [x] `updateCheckboxContent(checkboxId, content)` - Éditer contenu - [x] `deleteCheckbox(checkboxId)` - Supprimer checkbox - [x] `reorderCheckboxes(dailyId, checkboxIds)` - Réorganiser - [x] Modifier les composants Daily pour utiliser server actions - [x] **Nettoyage** : Supprimer routes `/api/daily/checkboxes` (POST, PATCH, DELETE) - [x] **Nettoyage** : Simplifier `daily-client.ts` (garder GET uniquement) - [x] **Nettoyage** : Modifier hook `useDaily.ts` pour `useTransition` #### Actions User Preferences (Priorité 3) - [x] Créer `actions/preferences.ts` pour les toggles - [x] `updateViewPreferences(preferences)` - Préférences d'affichage - [x] `updateKanbanFilters(filters)` - Filtres Kanban - [x] `updateColumnVisibility(columns)` - Visibilité colonnes - [x] `updateTheme(theme)` - Changement de thème - [x] Remplacer les hooks par server actions directes - [x] **Nettoyage** : Supprimer routes `/api/user-preferences/*` (PUT/PATCH) - [x] **Nettoyage** : Simplifier `user-preferences-client.ts` (GET uniquement) - [x] **Nettoyage** : Modifier `UserPreferencesContext.tsx` pour server actions #### Actions Tags (Priorité 4) - [x] Créer `actions/tags.ts` pour la gestion tags - [x] `createTag(name, color)` - Création tag - [x] `updateTag(tagId, data)` - Modification tag - [x] `deleteTag(tagId)` - Suppression tag - [x] Modifier les formulaires tags pour server actions - [x] **Nettoyage** : Supprimer routes `/api/tags` (POST, PATCH, DELETE) - [x] **Nettoyage** : Simplifier `tags-client.ts` (GET et search uniquement) - [x] **Nettoyage** : Modifier `useTags.ts` pour server actions directes #### Migration progressive avec nettoyage immédiat **Principe** : Pour chaque action migrée → nettoyage immédiat des routes et code obsolètes ### 4.2 Conservation API Routes - Endpoints complexes **À GARDER en API routes** (pas de migration) #### Endpoints de fetching initial - ✅ `GET /api/tasks` - Récupération avec filtres complexes - ✅ `GET /api/daily` - Vue daily avec logique métier - ✅ `GET /api/tags` - Liste tags avec recherche - ✅ `GET /api/user-preferences` - Préférences initiales #### Endpoints d'intégration externe - ✅ `POST /api/jira/sync` - Synchronisation Jira complexe - ✅ `GET /api/jira/logs` - Logs de synchronisation - ✅ Configuration Jira (formulaires complexes) #### Raisons de conservation - **API publique** : Réutilisable depuis mobile/externe - **Logique complexe** : Synchronisation, analytics, rapports - **Monitoring** : Besoin de logs HTTP séparés - **Real-time futur** : WebSockets/SSE non compatibles server actions ### 4.3 Architecture hybride cible ``` Actions rapides → Server Actions directes ├── TaskCard actions (status, title, delete) ├── Daily checkboxes (toggle, add, edit) ├── Preferences toggles (theme, filters) └── Tags CRUD (create, update, delete) Endpoints complexes → API Routes conservées ├── Fetching initial avec filtres ├── Intégrations externes (Jira, webhooks) ├── Analytics et rapports └── Future real-time features ``` ### 4.4 Avantages attendus - **🚀 Performance** : Pas de sérialisation HTTP pour actions rapides - **🔄 Cache intelligent** : `revalidatePath()` automatique - **📦 Bundle reduction** : Moins de code client HTTP - **⚡ UX** : `useTransition` loading states natifs - **🎯 Simplicité** : Moins de boilerplate pour actions simples ## 📊 Phase 5: Surveillance Jira - Analytics d'équipe (Priorité 5) ### 5.1 Configuration projet Jira - [x] Ajouter champ `projectKey` dans la config Jira (settings) - [x] Interface pour sélectionner le projet à surveiller - [x] Validation de l'existence du projet via API Jira - [x] Sauvegarde de la configuration projet dans les préférences - [x] Test de connexion spécifique au projet configuré ### 5.2 Service d'analytics Jira - [x] Créer `services/jira-analytics.ts` - Métriques avancées - [x] Récupération des tickets du projet (toute l'équipe, pas seulement assignés) - [x] Calculs de vélocité d'équipe (story points par sprint) - [x] Métriques de cycle time (temps entre statuts) - [x] Analyse de la répartition des tâches par assignee - [x] Détection des goulots d'étranglement (tickets bloqués) - [x] Historique des sprints et burndown charts - [x] Cache intelligent des métriques (éviter API rate limits) ### 5.3 Page de surveillance `/jira-dashboard` - [x] Créer page dédiée avec navigation depuis settings Jira - [x] Vue d'ensemble du projet (nom, lead, statut global) - [x] Sélecteur de période (7j, 30j, 3 mois, sprint actuel) - [x] Graphiques de vélocité avec Recharts - [x] Heatmap d'activité de l'équipe - [x] Timeline des releases et milestones - [x] Alertes visuelles (tickets en retard, sprints déviants) ### 5.4 Métriques et graphiques avancés - [x] **Vélocité** : Story points complétés par sprint - [x] **Burndown chart** : Progression vs planifié - [x] **Cycle time** : Temps moyen par type de ticket - [x] **Throughput** : Nombre de tickets complétés par période - [x] **Work in Progress** : Répartition par statut et assignee - [x] **Quality metrics** : Ratio bugs/features, retours clients - [x] **Predictability** : Variance entre estimé et réel - [x] **Collaboration** : Matrice d'interactions entre assignees ### 5.5 Fonctionnalités de surveillance - [x] **Cache serveur intelligent** : Cache en mémoire avec invalidation manuelle - [x] **Export des métriques** : Export CSV/JSON avec téléchargement automatique - [x] **Comparaison inter-sprints** : Tendances, prédictions et recommandations - [x] Détection automatique d'anomalies (alertes) - [x] Filtrage par composant, version, type de ticket - [x] Vue détaillée par sprint avec drill-down - [x] ~~Intégration avec les daily notes (mentions des blockers)~~ (supprimé) ## 📊 Phase 5.6: Résumé hebdomadaire pour Individual Review (EN COURS) ### 5.6.1 Fonctionnalités de base (TERMINÉ) - [x] Vue résumé des 7 derniers jours (daily items + tâches) - [x] Statistiques globales (completion rates, jour le plus productif) - [x] Timeline chronologique des activités - [x] Filtrage par jour de la semaine - [x] Architecture SSR pour performance optimale ### 5.6.2 Améliorations pour l'Individual Review Manager 🎯 - [ ] **Métriques de performance personnelles** - [ ] Vélocité hebdomadaire (tasks completed/week) - [ ] Temps moyen de completion des tâches - [ ] Répartition par priorité (high/medium/low tasks) - [ ] Taux de respect des deadlines - [ ] Evolution des performances sur 4 semaines (tendance) - [ ] **Catégorisation des activités professionnelles** - [ ] Auto-tagging par type : "Development", "Meetings", "Documentation", "Code Review" - [ ] Répartition temps par catégorie (% dev vs meetings vs admin) - [ ] Identification des "deep work" sessions vs interruptions - [ ] Tracking des objectifs OKRs/KPIs assignés - [ ] **Visualisations pour manager** - [ ] Graphique en aires : progression hebdomadaire - [ ] Heatmap de productivité : heures/jours les plus productifs - [ ] Radar chart : compétences/domaines travaillés - [ ] Burndown chart personnel : objectifs vs réalisé - [ ] **Rapport automatique formaté** - [ ] Export PDF professionnel avec métriques - [ ] Template "Weekly Accomplishments" pré-rempli - [ ] Bullet points des principales réalisations - [ ] Section "Challenges & Blockers" automatique - [ ] Recommandations d'amélioration basées sur les patterns - [ ] **Contexte business et impact** - [ ] Liaison tâches → tickets Jira → business value - [ ] Calcul d'impact estimé (story points, business priority) - [ ] Suivi des initiatives stratégiques - [ ] Corrélation avec les métriques d'équipe - [ ] **Intelligence et insights** - [ ] Détection patterns de productivité personnels - [ ] Suggestions d'optimisation du planning - [ ] Alertes sur la charge de travail excessive - [ ] Comparaison avec moyennes d'équipe (anonyme) - [ ] Prédiction de capacity pour la semaine suivante - [ ] **Fonctionnalités avancées pour 1-on-1** - [ ] Mode "Manager View" : vue consolidée pour discussions - [ ] Annotations et notes privées sur les réalisations - [ ] Objectifs SMART tracking avec progress bars - [ ] Archivage des reviews précédentes pour suivi long terme - [ ] Templates de questions pour auto-reflection ### 5.6.3 Intégrations externes pour contexte pro - [ ] **Import calendrier** : Meetings duration & frequency - [ ] **GitHub/GitLab integration** : Commits, PRs, code reviews - [ ] **Slack integration** : Messages envoyés, réactions, temps de réponse - [ ] **Confluence/Notion** : Documents créés/édités - [ ] **Time tracking tools** : Import depuis Toggl, Clockify, etc. ### 5.6.4 Machine Learning & Predictions - [ ] **Modèle de productivité personnelle** - [ ] Prédiction des jours de forte/faible productivité - [ ] Recommandations de planning optimal - [ ] Détection automatique de burnout patterns - [ ] Suggestions de breaks et équilibre work-life - [ ] **Insights business automatiques** - [ ] "Cette semaine, tu as contribué à 3 initiatives stratégiques" - [ ] "Ton focus sur la qualité (code reviews) est 20% au-dessus de la moyenne" - [ ] "Suggestion: bloquer 2h demain pour deep work sur Project X" ### 🚀 Quick Wins pour démarrer (Priorité 1) - [ ] **Métriques de vélocité personnelle** (1-2h) - [ ] Calcul tâches complétées par jour/semaine - [ ] Graphique simple ligne de tendance sur 4 semaines - [ ] Comparaison semaine actuelle vs semaine précédente - [ ] **Export PDF basique** (2-3h) - [ ] Génération PDF simple avec statistiques actuelles - [ ] Template "Weekly Summary" avec logo/header pro - [ ] Liste des principales réalisations de la semaine - [ ] **Catégorisation simple par tags** (1h) - [ ] Tags prédéfinis : "Dev", "Meeting", "Admin", "Learning" - [ ] Auto-suggestion basée sur mots-clés dans les titres - [ ] Répartition en camembert par catégorie - [ ] **Connexion Jira pour contexte business** (3-4h) - [ ] Affichage des story points complétés - [ ] Lien vers les tickets Jira depuis les tâches - [ ] Récap des sprints/epics contributés - [ ] **Période flexible** (1h) - [ ] Sélecteur de période : dernière semaine, 2 semaines, mois - [ ] Comparaison période courante vs période précédente - [ ] Sauvegarde de la période préférée ### 💡 Idées spécifiques pour Individual Review #### **Sections du rapport idéal :** 1. **Executive Summary** (3-4 bullet points impact business) 2. **Quantified Achievements** (metrics, numbers, scope) 3. **Technical Contributions** (code, architecture, tools) 4. **Collaboration Impact** (reviews, mentoring, knowledge sharing) 5. **Process Improvements** (efficiency gains, automation) 6. **Learning & Growth** (new skills, certifications, initiatives) 7. **Challenges & Solutions** (blockers overcome, lessons learned) 8. **Next Period Goals** (SMART objectives, capacity planning) #### **Métriques qui impressionnent un manager :** - **Velocity & Consistency** : "Completed 23 tasks with 94% on-time delivery" - **Quality Focus** : "15 code reviews provided, 0 production bugs" - **Initiative** : "Automated deployment reducing release time by 30%" - **Business Impact** : "Features delivered serve 10K+ users daily" - **Collaboration** : "Mentored 2 junior devs, led 3 technical sessions" - **Efficiency** : "Process optimization saved team 5h/week" #### **Questions auto-reflection intégrées :** - "What was your biggest technical achievement this week?" - "Which tasks had the highest business impact?" - "What blockers did you encounter and how did you solve them?" - "What did you learn that you can share with the team?" - "What would you do differently next week?" ## Autre Todos #2 - [ ] Synchro Jira auto en background timé comme pour la synchro de sauvegarde - [ ] refacto des allpreferences : ca devrait eter un contexte dans le layout qui balance serverside dans le hook ## 🔧 Phase 6: Fonctionnalités avancées (Priorité 6) ### 6.1 Gestion avancée des tâches - [ ] Actions en lot (sélection multiple) - [ ] Sous-tâches et hiérarchie - [ ] Dates d'échéance et rappels - [ ] Assignation et collaboration - [ ] Templates de tâches ### 6.2 Personnalisation et thèmes - [ ] Mode sombre/clair - [ ] Personnalisation des couleurs - [ ] Configuration des colonnes Kanban - [ ] Préférences utilisateur ## 🚀 Phase 7: Intégrations futures (Priorité 7) ### 7.1 Intégrations externes (optionnel) - [ ] Import/Export depuis d'autres outils - [ ] API webhooks pour intégrations - [ ] Synchronisation cloud (optionnel) - [ ] Notifications push ### 7.2 Optimisations et performance - [ ] Optimisation des requêtes DB - [ ] Pagination et virtualisation - [ ] Cache côté client - [ ] PWA et mode offline ## 🛠️ Configuration technique ### Stack moderne - **Frontend**: Next.js 14, React, TypeScript, Tailwind CSS - **Backend**: Next.js API Routes, Prisma ORM - **Database**: SQLite (local) → PostgreSQL (production future) - **UI**: Composants custom + Shadcn/ui, React Beautiful DnD - **Charts**: Recharts ou Chart.js pour les analytics ### Architecture respectée ``` src/app/ ├── api/tasks/ # API CRUD complète ├── page.tsx # Page principale └── layout.tsx services/ ├── database.ts # Pool Prisma └── tasks.ts # Service tâches standalone components/ ├── kanban/ # Board Kanban ├── ui/ # Composants UI de base └── dashboard/ # Widgets dashboard (futur) clients/ # Clients HTTP (à créer) hooks/ # Hooks React (à créer) lib/ ├── types.ts # Types TypeScript └── config.ts # Config app moderne ``` ## 🎯 Prochaines étapes immédiates 1. **Drag & drop entre colonnes** - react-beautiful-dnd pour changer les statuts 2. **Gestion avancée des tags** - Couleurs, autocomplete, filtrage 3. **Recherche et filtres** - Filtrage temps réel par titre, tags, statut 4. **Dashboard et analytics** - Graphiques de productivité ## ✅ **Fonctionnalités terminées (Phase 2.1-2.3)** - ✅ Système de design tech dark complet - ✅ Composants UI de base (Button, Input, Card, Modal, Badge) - ✅ Architecture SSR + hydratation client - ✅ CRUD tâches complet (création, édition, suppression) - ✅ Création rapide inline (QuickAddTask) - ✅ Édition inline du titre (clic sur titre → input éditable) - ✅ Drag & drop entre colonnes (@dnd-kit) + optimiste - ✅ Client HTTP et hooks React - ✅ Refactoring Kanban avec nouveaux composants --- *Focus sur l'expérience utilisateur et le design moderne. App standalone prête pour évoluer.*