# TowerControl v2.0 - Gestionnaire de tâches moderne ## Autre Todos - [x] Désactiver le hover sur les taskCard ## 🔧 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 --- ## 🚀 Nouvelles idées & fonctionnalités futures ### 🔄 Intégration TFS/Azure DevOps - [x] **Lecture des Pull Requests TFS** : Synchronisation des PR comme tâches - [x] PR arrivent en backlog avec filtrage par team project - [x] Synchronisation aussi riche que Jira (statuts, assignés, commentaires) - [x] Filtrage par team project, repository, auteur - [x] **Architecture plug-and-play pour intégrations** - [x] Refactoriser pour interfaces génériques d'intégration - [x] Interface `IntegrationService` commune (Jira, TFS, GitHub, etc.) - [x] UI générique de configuration des intégrations - [x] Système de plugins pour ajouter facilement de nouveaux services ### 📋 Daily - Gestion des tâches non cochées - [x] **Section des tâches en attente** - [x] Liste de toutes les todos non cochées (historique complet) - [x] Filtrage par date (7/14/30 jours), catégorie (tâches/réunions), ancienneté - [x] Action "Archiver" pour les tâches ni résolues ni à faire - [x] Section repliable dans la page Daily (sous les sections Hier/Aujourd'hui) - [x] **Bouton "Déplacer à aujourd'hui"** pour les tâches non résolues - [x] Indicateurs visuels d'ancienneté (couleurs vert→rouge) - [x] Actions par tâche : Cocher, Archiver, Supprimer - [x] **Statut "Archivé" basique** - [x] Marquage textuel [ARCHIVÉ] dans le texte de la tâche - [x] Interface pour voir les tâches archivées (visuellement distinctes) - [ ] Possibilité de désarchiver une tâche - [ ] Champ dédié en base de données (actuellement via texte) ### 🎯 Jira - Suivi des demandes en attente - [ ] **Page "Jiras en attente"** - [ ] Liste des Jiras créés par moi mais non assignés à mon équipe - [ ] Suivi des demandes formulées à d'autres équipes - [ ] Filtrage par projet, équipe cible, ancienneté - [ ] **Nouveau modèle de données** - [ ] Table séparée pour les "demandes en attente" (différent des tâches Kanban) - [ ] Champs spécifiques : demandeur, équipe cible, statut de traitement - [ ] Notifications quand une demande change de statut ### 🏗️ Architecture & technique - [ ] **Système d'intégrations modulaire** - [ ] Interface `IntegrationProvider` standardisée - [ ] Configuration dynamique des intégrations - [ ] Gestion des credentials par intégration - [ ] **Modèles de données étendus** - [ ] `PullRequest` pour TFS/GitHub - [ ] `PendingRequest` pour les demandes Jira - [ ] `ArchivedTask` pour les daily archivées - [ ] **UI générique** - [ ] Composants réutilisables pour toutes les intégrations - [ ] Configuration unifiée des filtres et synchronisations - [ ] Dashboard multi-intégrations ## 🔄 Refactoring Services par Domaine ### Organisation cible des services: ``` src/services/ ├── core/ # Services fondamentaux ├── analytics/ # Analytics et métriques ├── data-management/# Backup, système, base ├── integrations/ # Services externes ├── task-management/# Gestion des tâches ``` ### Phase 1: Services Core (infrastructure) ✅ - [x] **Déplacer `database.ts`** → `core/database.ts` - [x] Corriger tous les imports internes des services - [x] Corriger import dans scripts/reset-database.ts - [x] **Déplacer `system-info.ts`** → `core/system-info.ts` - [x] Corriger imports dans actions/system - [x] Corriger import dynamique de backup - [x] **Déplacer `user-preferences.ts`** → `core/user-preferences.ts` - [x] Corriger 13 imports externes (actions, API routes, pages) - [x] Corriger 3 imports internes entre services ### Phase 2: Analytics & Métriques ✅ - [x] **Déplacer `analytics.ts`** → `analytics/analytics.ts` - [x] Corriger 2 imports externes (actions, components) - [x] **Déplacer `metrics.ts`** → `analytics/metrics.ts` - [x] Corriger 7 imports externes (actions, hooks, components) - [x] **Déplacer `manager-summary.ts`** → `analytics/manager-summary.ts` - [x] Corriger 3 imports externes (components, pages) - [x] Corriger imports database vers ../core/database ### Phase 3: Data Management ✅ - [x] **Déplacer `backup.ts`** → `data-management/backup.ts` - [x] Corriger 6 imports externes (clients, components, pages, API) - [x] Corriger imports relatifs vers ../core/ et ../../lib/ - [x] **Déplacer `backup-scheduler.ts`** → `data-management/backup-scheduler.ts` - [x] Corriger import dans script backup-manager.ts - [x] Corriger imports relatifs entre services ### Phase 4: Task Management ✅ - [x] **Déplacer `tasks.ts`** → `task-management/tasks.ts` - [x] Corriger 7 imports externes (pages, API routes, actions) - [x] Corriger import dans script seed-data.ts - [x] **Déplacer `tags.ts`** → `task-management/tags.ts` - [x] Corriger 8 imports externes (pages, API routes, actions) - [x] Corriger import dans script seed-tags.ts - [x] **Déplacer `daily.ts`** → `task-management/daily.ts` - [x] Corriger 6 imports externes (pages, API routes, actions) - [x] Corriger imports relatifs vers ../core/database ### Phase 5: Intégrations ✅ - [x] **Déplacer `tfs.ts`** → `integrations/tfs.ts` - [x] Corriger 10 imports externes (actions, API routes, components, types) - [x] Corriger imports relatifs vers ../core/ - [x] **Déplacer services Jira** → `integrations/jira/` - [x] `jira.ts` → `integrations/jira/jira.ts` - [x] `jira-scheduler.ts` → `integrations/jira/scheduler.ts` - [x] `jira-analytics.ts` → `integrations/jira/analytics.ts` - [x] `jira-analytics-cache.ts` → `integrations/jira/analytics-cache.ts` - [x] `jira-advanced-filters.ts` → `integrations/jira/advanced-filters.ts` - [x] `jira-anomaly-detection.ts` → `integrations/jira/anomaly-detection.ts` - [x] Corriger 18 imports externes (actions, API routes, hooks, components) - [x] Corriger imports relatifs entre services Jira ## phase 6: cleaning - [ ] Les imports des services dans les services : pourquoi ne pas utiliser @/services/... ? - [ ] Les types & interfaces dans services : j'aimerai isoler les types dans des fihiers séparés et revoir les imports; par dossier un par un. Tant qu'à faire, il faudrait qu'on fasse toujours des "import type {} from ..." (ajouter le mot type sur l'import des types) ### Points d'attention pour chaque service: 1. **Identifier tous les imports du service** (grep) 2. **Déplacer le fichier** vers le nouveau dossier 3. **Corriger les imports externes** (actions, API, hooks, components) 4. **Corriger les imports internes** entre services 5. **Tester** que l'app fonctionne toujours 6. **Commit** le déplacement d'un service à la fois ``` ### 👥 Gestion multi-utilisateurs (PROJET MAJEUR) #### **Architecture actuelle → Multi-tenant** - **Problème** : App mono-utilisateur avec données globales - **Solution** : Transformation en app multi-utilisateurs avec isolation des données #### **Plan de migration** - [ ] **Phase 1: Authentification** - [ ] Système de login/mot de passe (NextAuth.js ou custom) - [ ] Gestion des sessions sécurisées - [ ] Pages de connexion/inscription/mot de passe oublié - [ ] Middleware de protection des routes - [ ] **Phase 2: Modèle de données multi-tenant** - [ ] Ajouter `userId` à toutes les tables (tasks, daily, tags, preferences, etc.) - [ ] Migration des données existantes vers un utilisateur par défaut - [ ] Contraintes de base de données pour l'isolation - [ ] Index sur `userId` pour les performances - [ ] **Phase 3: Services et API** - [ ] Modifier tous les services pour filtrer par `userId` - [ ] Middleware d'injection automatique du `userId` dans les requêtes - [ ] Validation que chaque utilisateur ne voit que ses données - [ ] API d'administration (optionnel) - [ ] **Phase 4: UI et UX** - [ ] Header avec profil utilisateur et déconnexion - [ ] Onboarding pour nouveaux utilisateurs - [ ] Gestion du profil utilisateur - [ ] Partage optionnel entre utilisateurs (équipes) #### **Considérations techniques** - **Base de données** : Ajouter `userId` partout + contraintes - **Sécurité** : Validation côté serveur de l'isolation des données - **Performance** : Index sur `userId`, pagination pour gros volumes - **Migration** : Script de migration des données existantes --- *Focus sur l'expérience utilisateur et le design moderne. App standalone prête pour évoluer vers une plateforme d'intégration complète.*