Commit Graph

22 Commits

Author SHA1 Message Date
Manus Deploy
e502ca97d8 fix: gérer les violations UNIQUE dans migrateExistingItems (supprimer les doublons) 2026-05-03 06:31:56 -04:00
Manus Deploy
a8ba0ee979 fix: corriger erreurs TypeScript TS7006 dans server/db.ts (types explicites pour lambdas) 2026-05-03 06:28:24 -04:00
Manus Deploy
3d1bff45a3 fix: corriger détection ER_DUP_ENTRY dans Drizzle (e.cause.code au lieu de e.code) 2026-05-03 06:27:04 -04:00
Manus Deploy
10c2226481 fix: utiliser text+JSON.stringify pour territoires/departements (fix double-sérialisation Drizzle) 2026-05-03 06:14:02 -04:00
Manus Deploy
7fc7f7d1de fix: utiliser mysql2 pool explicite pour résoudre l'erreur JSON dans Drizzle 2026-05-03 06:07:00 -04:00
Manus Deploy
393dcbc2f9 fix: supprimer JSON.stringify pour insertions Drizzle JSON (tableaux directs) 2026-05-03 05:48:22 -04:00
Manus Deploy
6fde1aa00f fix: sérialisation JSON pour colonnes territoires et departements 2026-05-03 05:20:55 -04:00
Manus Deploy
8b323f8036 fix: gestion d'erreur gracieuse dans scheduleRssFetch (migration DB) 2026-05-02 19:56:21 +02:00
Manus Deploy
91a0b21c52 feat: intégration planificateur RSS natif (cron interne Node.js)
- Ajout de scheduleRssFetch() dans server/_core/index.ts
- Planificateur démarré au lancement du serveur
- Supporte les modes interval et scheduled depuis rss_settings
- Rechargement dynamique lors de la sauvegarde des paramètres RSS
- Supprime la dépendance à la tâche planifiée Manus externe
2026-05-02 19:43:38 +02:00
Manus Deploy
76a71ebc2c feat: fusion multi-département RSS, enrichissement catégorie/niveau/territoire
- Ajout colonnes territoires (JSON) dans veille_items et departements (JSON) dans aap_items
- Logique de fusion : articles similaires (même sujet, départements différents) fusionnés en un seul
- Extraction automatique : catégorie (Handicap/PA/Enfance/Précarité/Sanitaire/Autre), niveau et territoire
- Endpoint POST /api/scheduled/rss-migrate pour migration des articles existants
- Correction patterns détection : Loire, Rhône (sans Lyon seul), Auvergne-Rhône-Alpes protégé
2026-04-28 19:19:06 -04:00
Manus
ddf1533d04 Checkpoint: Moteur RSS : server/rssEngine.ts (parseur RSS/Atom, règles d'automatisme, déduplication), server/scheduledRoutes.ts (endpoint POST /api/scheduled/rss-fetch), montage dans _core/index.ts 2026-04-28 12:35:58 -04:00
Manus
8f2a22e4b1 Checkpoint: Ajout bouton "Purger les données" (admin uniquement) avec boîte de dialogue de confirmation sur VeilleDashboard et AAPDashboard. Procédures tRPC veille.purge et aap.purge ajoutées côté serveur. 2026-04-28 04:33:20 -04:00
Manus
c3e1720e83 Checkpoint: Ajout de la page de gestion des flux RSS : liste des flux, formulaire d'ajout/édition avec type (Veille/AAP), type par défaut, règles d'automatisme par mots-clés, paramètres de fréquence (heure fixe ou intervalle), activation/désactivation. Tables BDD rss_feeds et rss_settings. Procédures tRPC complètes. Navigation sidebar mise à jour. 2026-04-25 16:44:09 -04:00
Manus
4a17eaa04a Checkpoint: Fix critique : context.ts vérifie maintenant le cookie veille_local_auth pour les utilisateurs locaux, évitant la déconnexion lors des appels tRPC protégés (import, settings, users) 2026-04-21 07:06:32 -04:00
Manus
9c3d3ef18d Checkpoint: Correction du login : routers.ts utilise maintenant input.identifier au lieu de input.email, LocalAuthContext.tsx mis à jour en conséquence. La connexion par username (adminItinova) fonctionne en recette. 2026-04-21 06:29:48 -04:00
Manus
b3137e8f27 Checkpoint: Ajout du champ username dans la table local_users, adaptation de l'auth backend (connexion par username OU email), mise à jour de la page Gestion des utilisateurs avec le champ username visible et éditable, compte adminItinova migré avec username propre. 2026-04-21 05:31:44 -04:00
Manus
535dd19188 Checkpoint: Boîte à idées : table BDD, API tRPC (créer, lister, répondre, changer statut), page avec liste filtrée par statut et recherche, bouton Nouvelle demande, réponse admin avec statut colorisé, menu dans la sidebar 2026-04-17 10:57:07 -04:00
Manus
37096bc83b Checkpoint: La validation Zod de la procédure localLogin ne force plus le format e-mail — z.string().email() remplacé par z.string().min(1) pour accepter tout identifiant 2026-03-20 08:54:22 -04:00
Manus
cab8629125 Checkpoint: Le champ de connexion accepte maintenant un identifiant (ex: adminItinova) ou une adresse e-mail. Le backend recherche dans les deux cas. Le label et le placeholder ont été mis à jour. 2026-03-20 08:44:29 -04:00
Manus
3ae37760a3 Checkpoint: Ajout de l'upload direct de fichiers Excel depuis le navigateur (drag & drop), nettoyage automatique des balises HTML dans les résumés, import fonctionnel avec 38 entrées Veille + 7 AAP 2026-03-16 14:35:21 -04:00
Manus
8fb71e8bda Checkpoint: Application complète : deux tableaux de bord (Veille Stratégique + AAP), import Excel quotidien avec déduplication, sources multiples (local/OneDrive/FTP/SharePoint), affichage liste/vignettes, filtres multi-critères, gestion utilisateurs, logs d'import, page paramètres, authentification locale, tâche cron 06h00, 13 tests Vitest passants. 2026-03-16 10:45:35 -04:00
Manus
5000fc555d Initial project bootstrap 2026-03-16 10:20:39 -04:00