Files
towercontrol/TODO.md
Julien Froidefond 472135a97f fix: remove tooltip functionality from TaskCard component
- Disabled hover tooltip on task cards by removing related state and event handlers.
- Updated TODO.md to reflect the completion of disabling hover on task cards.
2025-09-22 09:09:50 +02:00

5.5 KiB

TowerControl v2.0 - Gestionnaire de tâches moderne

Autre Todos

  • 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

  • Lecture des Pull Requests TFS : Synchronisation des PR comme tâches
    • PR arrivent en backlog avec filtrage par team project
    • Synchronisation aussi riche que Jira (statuts, assignés, commentaires)
    • Filtrage par team project, repository, auteur
  • Architecture plug-and-play pour intégrations
    • Refactoriser pour interfaces génériques d'intégration
    • Interface IntegrationService commune (Jira, TFS, GitHub, etc.)
    • UI générique de configuration des intégrations
    • Système de plugins pour ajouter facilement de nouveaux services

📋 Daily - Gestion des tâches non cochées

  • Section des tâches en attente
    • Liste de toutes les todos non cochées (historique complet)
    • Filtrage par date (7/14/30 jours), catégorie (tâches/réunions), ancienneté
    • Action "Archiver" pour les tâches ni résolues ni à faire
    • Section repliable dans la page Daily (sous les sections Hier/Aujourd'hui)
    • Bouton "Déplacer à aujourd'hui" pour les tâches non résolues
    • Indicateurs visuels d'ancienneté (couleurs vert→rouge)
    • Actions par tâche : Cocher, Archiver, Supprimer
  • Statut "Archivé" basique
    • Marquage textuel [ARCHIVÉ] dans le texte de la tâche
    • 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

### 👥 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.*