- Wrapped the refresh button in a conditional check to only display when the active view is not 'metrics', improving UI clarity and preventing unnecessary actions in the metrics view.
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
|
|
- [ ] **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
|
|
- [ ] **Solarized ne doit pas être un soleil** - Corriger l'icône du thème Solarized
|
|
- [ ] **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.*
|