Files
veille-reglementaire/todo.md

3.9 KiB

Veille Réglementaire Itinova — TODO

Fonctionnalités principales

  • Schéma BDD : tables veille_entries, aap_entries, import_logs, app_settings, local_users
  • Migrations Drizzle poussées avec succès
  • Module d'import Excel (xlsx) avec déduplication intelligente
  • Support source locale (fichier local)
  • Support source OneDrive (Microsoft Graph API)
  • Support source FTP (basic-ftp)
  • Support source SharePoint (Microsoft Graph API)
  • Tâche cron quotidienne à 06h00 pour l'import automatique
  • Authentification locale (bcrypt + JWT) avec gestion des utilisateurs
  • API tRPC complète : veille, aap, import, settings, users, auth
  • Tableau de bord Veille Stratégique (4 onglets : réglementaire, concurrentielle, technologique, générale)
  • Tableau de bord Appels à Projets (6 onglets : Handicap, PA, Enfance, Précarité, Sanitaire, Autre)
  • Mode d'affichage Liste / Vignettes avec bouton de basculement
  • Filtres multi-critères (recherche texte, catégorie, niveau, territoire, région, département, date)
  • Tri chronologique du plus récent au plus ancien
  • Page Paramètres (source fichiers, chemins, planification, authentification)
  • Page Gestion des utilisateurs (création, modification, suppression, activation/désactivation)
  • Page Logs d'import (statistiques, historique, import manuel)
  • Layout sidebar avec navigation complète
  • Page de connexion élégante
  • Thème visuel Itinova (bleu marine, palette professionnelle)
  • 13 tests Vitest passants (auth + veille)
  • Compte admin par défaut créé au démarrage du serveur

Bugs à corriger

  • Import Excel affiche 0 nouvelles entrées alors que les fichiers contiennent des données

Nouvelles fonctionnalités

  • Backend : endpoint POST /api/upload-excel (multipart) pour recevoir les fichiers Excel
  • Backend : stocker les fichiers uploadés en S3 et déclencher l'import immédiatement
  • Frontend : bouton "Importer un fichier" dans la page Logs d'import avec sélecteur veille/AAP
  • Frontend : zone de dépôt (drag & drop) dans la page Paramètres pour les deux fichiers
  • Frontend : afficher le résultat de l'import (nouvelles entrées, erreurs) après upload
  • Page Paramètres : afficher les zones d'upload (drag & drop) quand la source "local" est sélectionnée
  • Veille : bouton "Détail" sur chaque ligne ouvrant une boîte de dialogue avec toutes les infos complètes
  • Boîte de dialogue Veille : couleurs douces distinctes pour les vignettes Niveau, Territoire et Source
  • Vue liste Veille : coloriser les boutons d'action (Détail et Lien externe)
  • Vignettes AAP : coloriser les étiquettes Région (violet) et Date (orange)
  • Vignettes Veille : coloriser les étiquettes Niveau (violet), Territoire (teal) et Date (orange)
  • Page Login : supprimer l'encart affichant les identifiants du compte par défaut
  • Login : accepter un identifiant (e-mail ou nom d'utilisateur) au lieu d'un e-mail obligatoire
  • Page Login : logo Itinova en haut, "powered by" + logo Santinova en bas

Boîte à idées

  • BDD : table ideas (id, userId, titre, message, statut, réponseAdmin, createdAt, updatedAt)
  • API tRPC : créer une idée, lister toutes les idées (admin), mes idées (user), répondre (admin)
  • Page BoiteAIdees : liste avec date, titre, demandeur, texte, statut, réponse admin
  • Bouton "Nouvelle demande" en haut à droite ouvrant une boîte de dialogue
  • Menu "Boîte à idées" dans la sidebar accessible à tous les utilisateurs

Authentification username

  • BDD : ajouter colonne username (unique, nullable) dans la table users
  • Backend : loginLocalUser cherche par username OU email
  • Backend : createLocalUser accepte username optionnel
  • Frontend : page Gestion utilisateurs affiche et permet de saisir le username
  • Mettre à jour le compte adminItinova avec username = adminItinova