- Updated CreateTaskForm, TaskBasicFields, and EditCheckboxModal to use DateTimeInput for date selection, enhancing consistency and user experience. - Improved UI by integrating lucide-react Calendar icon in DateTimeInput for better visual feedback. - Marked EditModal task color issue as complete in TODO.md.
14 KiB
14 KiB
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
- Homepage cards : toute en variant glass
- Icône Kanban homepage - Changer icône sur la page d'accueil, pas lisible (utiliser une lib)
- Lisibilité label graph par tag - Améliorer la lisibilité des labels dans les graphiques par tag
- 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.
- Tâches récentes - Revoir l'affichage et la logique des tâches récentes
- Header dépasse en tablet - Corriger le débordement du header sur tablette
- Icônes agenda et filtres - Améliorer les icônes de l'agenda et des filtres dans desktop controls (utiliser une lib)
- Réunion/tâche design - Revoir le design des bouton dans dailySectrion : les toggles avoir un compposant ui
- Légende calendrier et padding - Corriger l'espacement et la légende du calendrier dans daily
- EditModal task couleur calendrier - Problème de couleur en ajout de taches dans tous les icones calendriers; colmler au thème
- 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
- 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
- É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
- Table
- Relations hiérarchiques
- Table
user_teamspour les relations manager → users - Champ
managerIddans users (optionnel, référence vers un manager) - Support des équipes multiples par utilisateur
- Table
- 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
userIdpour les performances
- Modèle User complet
-
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
- Rôle ADMIN
-
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
userIdOU 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
- Tous les services filtrent par
- Services utilisateurs
-
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
- Interface Admin
-
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
- Assignation de tâches
Considérations techniques
- Base de données : Ajouter
userIdpartout + 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.tsavec 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
- Service
- 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)
- Configuration du client Mistral local
-
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
- Page de configuration IA (/settings/ai-assistant)
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.