Files
veille-ia-gen/nodered-flows
cyber-mawonaj 6978fbb5b8 feat(app) : phase 2 — endpoint /api/alerts, inbox, flows Node-RED
- POST /api/alerts : token Bearer (comparaison temps constant, 503 si non
  configuré), schéma d'alerte PRD §4.4 validé Zod, exempté du SSO dans les hooks
- Persistance alertes.yaml + commits git (réception, « traité »)
- Inbox /alertes : filtres par profil impacté et statut, actions « Marquer
  traité » et « Créer/MAJ fiche » avec pré-remplissage du formulaire registre
  depuis l'alerte (aucun champ licence/capacité inventé)
- nodered-flows/ : 4 flows importables (rss-ingest, license-watch, classifier
  avec le prompt figé du PRD §6 embarqué tel quel, notify) — nœuds core
  uniquement, configuration par variables d'env, README de câblage
- Vérifié : check/lint/test (27) /build verts, autofixer propre, JSON des flows
  et fonctions embarquées validés, test fumée HTTP (201/400/401 sur l'endpoint,
  inbox, traité + commit, pré-remplissage MAJ fiche)
2026-08-01 10:40:18 -04:00
..

Flows Node-RED — veille-ia

Flows importables individuellement (Node-RED → menu → Import), conformes au PRD §5. N'utilisent que des nœuds core (aucune dépendance externe à installer).

Fichier Rôle Entrée Sortie
rss-ingest.json Poll flux RSS (HF blog, releases GitHub ComfyUI), normalisation + dédup inject horaire POST /veille-ia/classifier
license-watch.json Webhooks changedetection (pages ToS/licences) POST /veille-ia/license-watch POST /veille-ia/classifier (type changement_licence, urgence haute)
classifier.json Classifieur LLM, prompt système figé du PRD §6 embarqué tel quel POST /veille-ia/classifier Ollama /api/chat → POST /api/alerts → notify si urgence haute
notify.json Notification des urgences hautes via ntfy POST /veille-ia/notify POST $NTFY_URL

Variables d'environnement Node-RED

Variable Défaut Rôle
OLLAMA_URL http://127.0.0.1:11434 Endpoint Ollama
CLASSIFIER_MODEL qwen3:32b Modèle classifieur
VEILLE_IA_URL http://127.0.0.1:3000 URL de l'app (avec sous-chemin si applicable, ex. https://domaine.tld/veille)
ALERTS_TOKEN (aucun — obligatoire) Token Bearer de POST /api/alerts (visible dans /var/www/veille-ia/app/.env)
CLASSIFIER_URL http://127.0.0.1:1880/veille-ia/classifier Chaînage interne des flows
NTFY_URL (aucun) Topic ntfy (ex. https://ntfy.sh/mon-topic) ; si absent, notification ignorée

Câblage changedetection_ynh

Dans changedetection, pour chaque URL de ToS/licence surveillée (BFL, MiniMax Community License, cards HF, Midjourney, Runway, Suno, politiques Steam/itch.io) :

Notification URL : post://127.0.0.1:1880/veille-ia/license-watch

Notes

  • L'email SMTP YunoHost n'est pas inclus (le nœud e-mail est une dépendance externe) : ajouter node-red-node-email avec smtp localhost:25 si souhaité.
  • La chaîne RSS → classifier → alerts est idempotente côté registre : les alertes arrivent en inbox, l'action « Créer/MAJ fiche » reste humaine (anti-hallucination).