- Replaced references from theme-config to ui-config for better organization and clarity in theme management. - Updated Solarized icon in ui-config to a pill emoji for improved visual representation. - Marked the Solarized icon correction task as complete in TODO.md. - Deleted the now redundant theme-config file to streamline the codebase.
268 lines
14 KiB
Markdown
268 lines
14 KiB
Markdown
# TowerControl v2.0 - Gestionnaire de tâches moderne
|
|
|
|
## Idées à developper
|
|
- [ ] Optimisations Perf : requetes DB
|
|
- [ ] PWA et mode offline
|
|
|
|
---
|
|
|
|
## 🐛 Problèmes relevés en réunion - Corrections UI/UX
|
|
|
|
### 🎨 Design et Interface
|
|
- [X] **Homepage cards** : toute en variant glass
|
|
- [X] **Icône Kanban homepage** - Changer icône sur la page d'accueil, pas lisible (utiliser une lib)
|
|
- [x] **Lisibilité label graph par tag** - Améliorer la lisibilité des labels dans les graphiques par tag <!-- Amélioré marges, légendes, tailles de police, retiré emojis -->
|
|
- [x] **Tag homepage** - Problème d'affichage des graphs de tags sur la homepage côté lisibilité, certaines icones ne sont pas entièrement visible, et la légende est trop proche du graphe. <!-- Amélioré hauteur, marges, responsive -->
|
|
- [x] **Tâches récentes** - Revoir l'affichage et la logique des tâches récentes <!-- Logique améliorée (tâches terminées récentes), responsive, icône claire -->
|
|
- [x] **Header dépasse en tablet** - Corriger le débordement du header sur tablette <!-- Responsive amélioré, taille réglée, navigation adaptative -->
|
|
- [x] **Icônes agenda et filtres** - Améliorer les icônes de l'agenda et des filtres dans desktop controls (utiliser une lib) <!-- Clock pour échéance, Settings pour filtres, Search visuelle -->
|
|
- [x] **Réunion/tâche design** - Revoir le design des bouton dans dailySectrion : les toggles avoir un compposant ui
|
|
- [x] **Légende calendrier et padding** - Corriger l'espacement et la légende du calendrier dans daily
|
|
- [x] **EditModal task couleur calendrier** - Problème de couleur en ajout de taches dans tous les icones calendriers; colmler au thème
|
|
- [x] **Weekly deux boutons actualiser** - Corriger la duplication des boutons d'actualisation
|
|
- [x] **Solarized ne doit pas être un soleil** - Corriger l'icône du thème Solarized
|
|
- [ ] **Settings : tag icônes actions** - Icônes trop petites dans les actions des tags
|
|
- [ ] **Settings intégration : icônes** - Problème avec les icônes "Arrêté" et "Actif" : doivent etre les memes
|
|
- [ ] **Settings backup UI** - Revoir l'UI pour coller au style des intégrations
|
|
- [ ] **Emoji interdit dans UI** - Vérifier et supprimer toutes les emojis dans l'interface, remplacer par lib d'icone
|
|
- [ ] **AlertBanner : hover et bug** - Corriger les problèmes de hover et bugs
|
|
- [ ] **Deux modales** - Problème de duplication de modales
|
|
- [ ] **Control panel et select** - Problème avec les contrôles et sélecteurs
|
|
- [ ] **TaskCard et Kanban transparence** - Appliquer la transparence sur le background et non sur la card
|
|
- [X] **Recherche Kanban desktop controls** - Ajouter icône et label : "rechercher" pour rapetir
|
|
- [ ] **Largeur page Kanban** - Réduire légèrement la largeur et revoir toutes les autres pages
|
|
- [ ] **Icône thème à gauche du profil** - Repositionner l'icône de thème dans le header
|
|
- [ ] **Déconnexion trop petit et couleur** - Améliorer le bouton de déconnexion
|
|
- [ ] **Fond modal trop opaque** - Réduire l'opacité du fond des modales
|
|
- [ ] **Couleurs thème clair et TFS Jira Kanban** - Harmoniser les couleurs du thème clair
|
|
- [X] **États sélectionnés desktop control** - Revoir les couleurs des états sélectionnés pour avoir le joli bleu du dropdown partout
|
|
- [ ] **Dépasse 1000 caractères en edit modal task** - Corriger la limite (pas de limite) et revoir la quickcard description
|
|
- [ ] **UI si échéance et trop de labels dans le footer de card** - Améliorer l'affichage en mode détaillé TaskCard; certains boutons sont sur deux lignes ce qui casse l'affichage
|
|
- [ ] **Gravatar** - Implémenter l'affichage des avatars Gravatar
|
|
|
|
### 🔧 Fonctionnalités et Intégrations
|
|
- [ ] **Synchro Jira et TFS shortcuts** - Ajouter des raccourcis et bouton dans Kanban
|
|
- [ ] **Intégration suppressions Jira/TFS** - Aligner la gestion des suppressions sur TFS, je veux que ce qu'on a récupéré dans la synchro, quand ca devient terminé dans Jira ou TFS, soit marqué comme terminé dans le Kanban et non supprimé du kanban.
|
|
- [ ] **Log d'activité** - Implémenter un système de log d'activité (feature potentielle)
|
|
|
|
---
|
|
|
|
## 🚀 Nouvelles idées & fonctionnalités futures
|
|
|
|
### 🎯 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
|
|
|
|
### 👥 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 + système de rôles
|
|
|
|
#### **Plan de migration**
|
|
- [ ] **Phase 1: Authentification**
|
|
- [ ] Système de login/mot de passe (NextAuth.js)
|
|
- [ ] 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 + Rôles**
|
|
- [ ] **Modèle User complet**
|
|
- [ ] Table `users` (id, email, password, name, role, createdAt, updatedAt)
|
|
- [ ] Enum `UserRole` : `ADMIN`, `MANAGER`, `USER`
|
|
- [ ] Champs optionnels : avatar, timezone, language
|
|
- [ ] **Relations hiérarchiques**
|
|
- [ ] Table `user_teams` pour les relations manager → users
|
|
- [ ] Champ `managerId` dans users (optionnel, référence vers un manager)
|
|
- [ ] Support des équipes multiples par utilisateur
|
|
- [ ] **Migration des données existantes**
|
|
- [ ] Créer un utilisateur admin par défaut avec toutes les données actuelles
|
|
- [ ] Ajouter `userId` à toutes les tables (tasks, daily, tags, preferences, etc.)
|
|
- [ ] Contraintes de base de données pour l'isolation
|
|
- [ ] Index sur `userId` pour les performances
|
|
|
|
- [ ] **Phase 3: Système de rôles et permissions**
|
|
- [ ] **Rôle ADMIN**
|
|
- [ ] Gestion complète des utilisateurs (CRUD)
|
|
- [ ] Assignation/modification des rôles
|
|
- [ ] Accès à toutes les données système (analytics globales)
|
|
- [ ] Configuration système (intégrations Jira/TFS globales)
|
|
- [ ] Gestion des équipes et hiérarchies
|
|
- [ ] **Rôle MANAGER**
|
|
- [ ] Vue sur les tâches/daily de ses équipiers
|
|
- [ ] Assignation de tâches à ses équipiers
|
|
- [ ] Analytics d'équipe (métriques, deadlines, performance)
|
|
- [ ] Création de tâches pour son équipe
|
|
- [ ] Accès aux rapports de son équipe
|
|
- [ ] **Rôle USER**
|
|
- [ ] Accès uniquement à ses propres données
|
|
- [ ] Réception de tâches assignées par son manager
|
|
- [ ] Gestion de son daily/kanban personnel
|
|
- [ ] **Middleware de permissions**
|
|
- [ ] Validation des droits d'accès par route
|
|
- [ ] Helper functions `canAccess()`, `canManage()`, `isAdmin()`
|
|
- [ ] Protection automatique des API routes
|
|
|
|
- [ ] **Phase 4: Services et API avec rôles**
|
|
- [ ] **Services utilisateurs**
|
|
- [ ] `user-management.ts` : CRUD utilisateurs (admin only)
|
|
- [ ] `team-management.ts` : Gestion des équipes (admin/manager)
|
|
- [ ] `role-permissions.ts` : Logique des permissions
|
|
- [ ] **Modification des services existants**
|
|
- [ ] Tous les services filtrent par `userId` OU permissions manager
|
|
- [ ] Middleware d'injection automatique du `userId` + `userRole`
|
|
- [ ] Services analytics étendus pour les managers
|
|
- [ ] Validation que chaque utilisateur ne voit que ses données autorisées
|
|
|
|
- [ ] **Phase 5: UI et UX multi-rôles**
|
|
- [ ] **Interface Admin**
|
|
- [ ] Page de gestion des utilisateurs (/admin/users)
|
|
- [ ] Création/modification/suppression d'utilisateurs
|
|
- [ ] Assignation des rôles et équipes
|
|
- [ ] Dashboard admin avec métriques globales
|
|
- [ ] **Interface Manager**
|
|
- [ ] Vue équipe avec tâches de tous les équipiers
|
|
- [ ] Assignation de tâches à l'équipe
|
|
- [ ] Dashboard manager avec analytics d'équipe
|
|
- [ ] Gestion des deadlines et priorités d'équipe
|
|
- [ ] **Interface commune**
|
|
- [ ] Header avec profil utilisateur, rôle et déconnexion
|
|
- [ ] Onboarding différencié par rôle
|
|
- [ ] Navigation adaptée aux permissions
|
|
- [ ] Indicateurs visuels du rôle actuel
|
|
|
|
- [ ] **Phase 6: Fonctionnalités collaboratives**
|
|
- [ ] **Assignation de tâches**
|
|
- [ ] Managers peuvent créer et assigner des tâches
|
|
- [ ] Notifications de nouvelles tâches assignées
|
|
- [ ] Suivi du statut des tâches assignées
|
|
- [ ] **Partage et visibilité**
|
|
- [ ] Tâches partagées entre équipiers
|
|
- [ ] Commentaires et collaboration sur les tâches
|
|
- [ ] Historique des modifications par utilisateur
|
|
|
|
#### **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
|
|
|
|
---
|
|
|
|
## 🤖 Intégration IA avec Mistral (Phase IA)
|
|
|
|
### **Socle technique**
|
|
|
|
- [ ] **Phase 1: Infrastructure Mistral**
|
|
- [ ] Configuration du client Mistral local
|
|
- [ ] Service `mistral-client.ts` avec connexion au modèle local
|
|
- [ ] Configuration des endpoints et paramètres (température, tokens, etc.)
|
|
- [ ] Gestion des erreurs et timeouts
|
|
- [ ] Cache des réponses pour éviter les appels répétés
|
|
- [ ] **Système de prompts**
|
|
- [ ] Template engine pour les prompts structurés
|
|
- [ ] Prompts spécialisés par fonctionnalité (analyse, génération, classification)
|
|
- [ ] Versioning des prompts pour A/B testing
|
|
- [ ] Logging des interactions pour amélioration continue
|
|
- [ ] **Sécurité et performance**
|
|
- [ ] Rate limiting pour éviter la surcharge du modèle local
|
|
- [ ] Validation des inputs avant envoi au modèle
|
|
- [ ] Sanitization des réponses IA
|
|
- [ ] Monitoring des performances (latence, tokens utilisés)
|
|
|
|
- [ ] **Phase 2: Services IA développés avec les features**
|
|
- [ ] Services créés au fur et à mesure des besoins des fonctionnalités
|
|
- [ ] Pas de développement anticipé - implémentation juste-à-temps
|
|
- [ ] Architecture modulaire pour faciliter l'ajout de nouveaux services
|
|
|
|
- [ ] **Phase 3: Configuration et gestion de l'assistant**
|
|
- [ ] **Page de configuration IA (/settings/ai-assistant)**
|
|
- [ ] Configuration du modèle Mistral (endpoint, température, max tokens)
|
|
- [ ] Activation/désactivation des fonctionnalités IA par catégorie
|
|
- [ ] Paramètres de personnalisation (style de réponses, niveau d'agressivité)
|
|
- [ ] Configuration des seuils (confiance minimale, fréquence des suggestions)
|
|
- [ ] **Gestion des prompts personnalisés**
|
|
- [ ] Interface pour modifier les prompts par fonctionnalité
|
|
- [ ] Aperçu en temps réel des modifications
|
|
- [ ] Sauvegarde/restauration des configurations
|
|
- [ ] Templates de prompts prédéfinis
|
|
- [ ] **Monitoring et analytics IA**
|
|
- [ ] Dashboard des performances IA (latence, tokens utilisés, coût)
|
|
- [ ] Historique des interactions et taux de succès
|
|
- [ ] Métriques d'utilisation par fonctionnalité
|
|
- [ ] Logs des erreurs et suggestions d'amélioration
|
|
- [ ] **Système de feedback**
|
|
- [ ] Boutons "👍/👎" sur chaque suggestion IA
|
|
- [ ] Collecte des retours utilisateur pour amélioration
|
|
- [ ] A/B testing des différents prompts
|
|
- [ ] Apprentissage des préférences utilisateur
|
|
|
|
### **Fonctionnalités IA concrètes**
|
|
|
|
#### 🎯 **Smart Task Creation**
|
|
- [ ] **Bouton "Créer avec IA" dans le Kanban**
|
|
- [ ] Input libre : "Préparer présentation client pour vendredi"
|
|
- [ ] IA génère : titre, description, estimation durée, sous-tâches
|
|
- [ ] **Mapping prioritaire avec tags existants** : IA propose uniquement des tags déjà utilisés
|
|
- [ ] Validation/modification avant création
|
|
|
|
#### 🧠 **Daily Assistant**
|
|
- [ ] **Bouton "Smart Daily" dans la page Daily**
|
|
- [ ] Input libre : "Réunion client 14h, finir le rapport, appeler le fournisseur"
|
|
- [ ] IA génère une liste de checkboxes structurées
|
|
- [ ] Validation/modification avant ajout au Daily
|
|
- [ ] Pas de génération automatique - uniquement sur demande utilisateur
|
|
- [ ] **Smart Checkbox Suggestions**
|
|
- [ ] Pendant la saisie, IA propose des checkboxes similaires
|
|
|
|
#### 🎨 **Smart Tagging**
|
|
- [ ] **Auto-tagging des nouvelles tâches**
|
|
- [ ] IA analyse le titre/description
|
|
- [ ] Propose automatiquement 2-3 tags **existants** pertinents
|
|
- [ ] Apprentissage des tags utilisés par l'utilisateur
|
|
- [ ] **Suggestions de tags pendant la saisie**
|
|
- [ ] Dropdown intelligent avec **tags existants** probables uniquement
|
|
- [ ] Tri par fréquence d'usage et pertinence
|
|
|
|
#### 💬 **Chat Assistant**
|
|
- [ ] **Widget chat en bas à droite**
|
|
- [ ] "Quelles sont mes tâches urgentes cette semaine ?"
|
|
- [ ] "Comment optimiser mon planning demain ?"
|
|
- [ ] "Résume-moi mes performances de ce mois"
|
|
- [ ] **Recherche sémantique**
|
|
- [ ] "Tâches liées au projet X" même sans tag exact
|
|
- [ ] "Tâches que j'ai faites la semaine dernière"
|
|
- [ ] Recherche par contexte, pas juste mots-clés
|
|
|
|
#### 📈 **Smart Reports**
|
|
- [ ] **Génération automatique de rapports**
|
|
- [ ] Bouton "Générer rapport IA" dans analytics
|
|
- [ ] IA analyse les données et génère un résumé textuel
|
|
- [ ] Insights personnalisés ("Tu es plus productif le matin")
|
|
- [ ] **Alertes intelligentes**
|
|
- [ ] "Attention : tu as 3 tâches urgentes non démarrées"
|
|
- [ ] "Suggestion : regrouper les tâches similaires"
|
|
- [ ] Notifications contextuelles et actionables
|
|
|
|
#### ⚡ **Quick Actions**
|
|
- [ ] **Bouton "Optimiser" sur une tâche**
|
|
- [ ] IA suggère des améliorations (titre, description)
|
|
- [ ] Propose des **tags existants** pertinents
|
|
- [ ] Propose des sous-tâches manquantes
|
|
- [ ] Estimation de durée plus précise
|
|
- [ ] **Smart Duplicate Detection**
|
|
- [ ] "Cette tâche ressemble à une tâche existante"
|
|
- [ ] Suggestions de fusion ou différenciation
|
|
- [ ] Évite la duplication accidentelle
|
|
- [ ] **Exclusion des tâches avec tag "objectif principal"** : IA ignore ces tâches dans les comparaisons
|
|
|
|
---
|
|
|
|
*Focus sur l'expérience utilisateur et le design moderne. App standalone prête pour évoluer vers une plateforme d'intégration complète.*
|