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.

This commit is contained in:
Manus
2026-06-16 03:08:29 -04:00
parent c47c76215e
commit 67dfbb1a13
12 changed files with 1324 additions and 35 deletions

20
todo.md
View File

@@ -109,7 +109,7 @@
- [x] VeilleDashboard.tsx : supprimer le badge IA violet dans la colonne Catégorie
- [x] VeilleDashboard.tsx : supprimer le bouton "Classer avec l'IA"
- [x] Tester visuellement en sandbox
- [ ] Déployer en recette
- [x] Déployer en recette
## Mise à jour AAPDashboard — Classification IA
- [x] Vérifier que aap.list retourne bien les champs IA (iaRelevant, iaCategorie, iaClassifiedBy, iaReason)
@@ -117,4 +117,20 @@
- [x] Afficher la catégorie IA dans la colonne Catégorie d'AAPDashboard (même logique que VeilleDashboard)
- [x] Vérifier que rssEngine.ts classe bien les AAP via l'IA à l'insertion
- [x] Tester visuellement en sandbox
- [ ] Déployer en recette
- [x] Déployer en recette
## Résumé IA automatique + Marquage Lu/Non lu
- [ ] Schéma BDD : ajouter iaResume (text) dans veille_items et aap_items
- [ ] Schéma BDD : créer table article_reads (id, userId, articleType, articleId, readAt)
- [ ] Migration pnpm db:push
- [ ] aiClassifier.ts : ajouter generateSummary() — résumé 3-5 lignes en français adapté au secteur médico-social
- [ ] rssEngine.ts : appeler generateSummary() après classifyArticle() pour chaque article pertinent
- [ ] Procédures tRPC : veille.markAsRead, veille.unreadCount
- [ ] Procédures tRPC : aap.markAsRead, aap.unreadCount
- [ ] VeilleDashboard : afficher iaResume dans la boîte de dialogue détail (à la place du résumé brut si disponible)
- [ ] VeilleDashboard : point bleu sur les articles non lus, clic sur article = markAsRead automatique
- [ ] AAPDashboard : même logique lu/non lu
- [ ] Sidebar DashboardLayout : compteur non lus sur les entrées Veille et AAP
- [ ] Tests visuels en sandbox
- [ ] Checkpoint