Manus
326e8b7bcf
Checkpoint: Ajout d'un filtre de date minimale (1er avril 2026) dans le moteur RSS : les articles publiés avant cette date sont ignorés sans passer par la classification IA. Les tombstones en recette sont peuplés avec les 490 articles existants pour éviter les doublons.
2026-07-02 03:54:39 -04:00
Manus
b6d89e1087
Checkpoint: Ajout de la table processed_dedup_keys : chaque article traité par le moteur RSS est enregistré dans cette table. Lors des passages suivants du cron, si la dedupKey est présente dans cette table, l'article est ignoré même s'il a été supprimé de veille_items ou aap_items.
2026-07-02 03:49:58 -04:00
Manus
c6b89c5b46
Checkpoint: Ajout de nouveaux patterns de détection (fin de dépôt, fin des candidatures, remise, répondre avant le, ouvert jusqu'au, candidatures jusqu'au). Amélioration de parseFrDate : support JJ.MM.AAAA, ISO AAAA-MM-JJ, "1er mois". Normalisation du texte (retours à la ligne). Fonction findDateInStr pour extraire une date même quand du texte suit.
2026-07-01 03:33:04 -04:00
Manus
53514b0540
Checkpoint: Ajout de la fonction extractDateCloture dans rssEngine.ts : détection par expressions régulières des patterns courants en français (date limite, clôture le, avant le, jusqu'au, dépôt des dossiers, délai de réponse, réception, soumission). La date extraite est insérée dans le champ dateCloture lors de la collecte RSS des AAP.
2026-06-30 10:13:30 -04:00
Manus
1d7fa332ea
Checkpoint: Extension du dictionnaire des départements à 5 régions (47 départements). Ajout de la fonction detectRegion pour détecter la région par son nom. Les fonctions detectVeilleNiveauTerritoire et detectAapGeo retournent désormais la région réelle du département détecté (plus de valeur codée en dur "Auvergne-Rhône-Alpes"). buildMergeKey mis à jour pour couvrir tous les noms de départements.
2026-06-30 09:34:21 -04:00
Manus
288bcf982c
true message
2026-06-30 09:15:28 -04:00
Manus
a7cf918fa8
Checkpoint: Filtre de pertinence strict avant insertion en base : seuls les articles jugés pertinents (iaRelevant=true) sont insérés dans veille_items et aap_items. Les articles rejetés sont loggés et comptés dans skippedItems. Prompt IA mis à jour avec la formulation exacte de l'utilisateur (expert ESMS, 5 secteurs, liste noire explicite, principe "doute = false"). 21 tests passés, 0 erreur TypeScript.
2026-06-26 09:50:58 -04:00
Manus
dde3d8b6b8
Checkpoint: Ajout de server/articleFetcher.ts (fetch HTTP + extraction 500 mots, timeout 5s, fallback silencieux). Intégration dans rssEngine.ts : si le résumé RSS est court (<150 car.), le 1er paragraphe de l'article est récupéré et transmis à classifyArticle. Signature de classifyArticle mise à jour avec paramètre contenuPage optionnel. 0 erreur TypeScript, 21 tests passés.
2026-06-19 09:27:59 -04:00
Manus
dcb726832c
Checkpoint: Simplification de la classification IA dans l'onglet Veille Stratégique : suppression de la catégorie médico-sociale (Handicap, PA, Enfance, etc.), remplacement de "Générale" par "Informationnelle", classification IA réduite au seul type de veille (réglementaire/concurrentielle/technologique/informationnelle). Migration BDD des données generale → informationnelle. 0 erreur TypeScript, 21 tests passés.
2026-06-17 04:02:17 -04:00
Manus
67dfbb1a13
Checkpoint: Implémentation du résumé automatique généré par l'IA pour chaque article RSS (veille et AAP), marquage lu/non lu avec point bleu et fond teinté, bouton "Tout marquer comme lu", compteurs non lus dans la sidebar et dans les titres de page. Migration BDD : table article_reads + colonne iaResume dans veille_items et aap_items.
2026-06-16 03:08:29 -04:00
Manus
9c26772617
Checkpoint: Classification IA en deux étapes (filtre pertinence + classification catégorie) intégrée dans le moteur RSS. Inclut : module aiClassifier.ts avec les deux prompts, intégration dans rssEngine.ts avec fallback sur règles, procédures tRPC reclassifyWithAI pour veille et AAP, badge IA violet dans VeilleDashboard, bouton "Classer avec l'IA" (admin), section "Analyse par l'IA" dans la boîte de dialogue détail, 7 nouveaux tests Vitest (20 tests au total). Migration BDD appliquée (4 nouveaux champs IA dans veille_items et aap_items).
2026-06-03 05:31:58 -04:00
Manus Deploy
13b6385dbc
fix: ajouter try/catch dans les blocs else de migrateExistingItems pour gérer les violations UNIQUE
2026-05-03 06:44:12 -04:00
Manus Deploy
e502ca97d8
fix: gérer les violations UNIQUE dans migrateExistingItems (supprimer les doublons)
2026-05-03 06:31:56 -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
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