Le projet Vigie24
Vigie24 est née d'une frustration simple : la veille technologique francophone est dispersée — des centaines de flux, de la presse aux blogs, et personne n'a le temps de tout lire. Et si une machine pouvait lire à notre place, résumer, noter… et surtout expliquer ses choix ?
C'est l'idée : une veille qui surveille en continu 206 sources actives (sur 214 vérifiées à la main) de la presse, des blogs, des chaînes YouTube et de Reddit — francophones d'abord (France, Suisse, Belgique, Québec, Luxembourg), ouvertes sur l'actualité internationale — où une IA joue le rôle d'un comité de rédaction : elle lit chaque article, le résume, le note sur 100 et décide de le publier. La différence avec une veille classique ? Tout est transparent — les scores, les justifications, les hésitations, même les coûts.
Comment ça marche, en trois étapes
- 📡 On écoute. Des sources vérifiées une à une, interrogées en continu — la presse, les blogs, les vidéos et les discussions qui comptent dans la tech francophone, et au-delà, sur la scène internationale.
- 🤖 Une IA lit et note. Chaque article est résumé, classé par catégorie et thème, noté sur 100 — et évalué sur son potentiel anxiogène (0-10).
- 📰 On publie le meilleur. Seuls les articles notés 60/100 ou plus sont publiés, et chaque choix est expliqué dans le journal du rédacteur.
Ce qui fait sa force
Les 5 articles essentiels des dernières 24 h, le sujet de la semaine et les débats en cours — la veille en une page.
Chaque article est noté 0-10 sur son potentiel anxiogène. Le site suit l'humeur de l'actualité au jour le jour — et propose des antidotes.
Pourquoi cet article est publié ou refusé ? L'IA justifie chaque décision, montre ses hésitations et ses réflexions.
Sur les sujets contradictoires, les articles sont mis en parallèle : qui dit quoi, comment les positions évoluent, qui a parlé en premier.
Une lecture sereine : un clic sur « Zen » dans la barre de navigation masque les articles anxiogènes sur tout le site.
Chaque lecteur peut noter les articles (0-5) : les votes et les lectures participent au classement, en toute simplicité.
Les thèmes qui montent ou retombent, semaine après semaine — pour sentir l'air du temps technologique.
Dans un an, Vigie24 vous rappellera ce que disait la veille à la même date — pour mesurer le chemin parcouru.
Chaque flux est testé avant intégration puis surveillé en continu : une source en panne passe en backoff et se réactive automatiquement quand elle revient.
Pas de compte, pas de tracker, votes anonymes — et un durcissement continu (HTTPS HSTS, politique de sécurité, anti-abus).
Aucun compte obligatoire, aucun tracker : vos votes sont anonymes et rien n'est revendu. Les détails techniques sont dans les coulisses, juste en dessous.
Architecture
- Worker (service en arrière-plan) : interroge les flux toutes les 5 minutes en production (15 en développement), déduplique, analyse chaque nouvel article via l'API IA, puis le publie. Une source en échec passe en backoff exponentiel ; seuls les échecs définitifs la désactivent, et elle est réactivée automatiquement si son flux revient.
- Web : application Blazor Server (.NET 10) — navigation, recherche, filtres, votes, flux RSS, pages du projet.
- PostgreSQL 16 via EF Core / Npgsql — articles, sources, tags, votes, débats, suivi des tokens.
- Docker Compose (worker + web + base) derrière Caddy (HTTPS Let's Encrypt) ; environnement séparé staging / production.
- IA : API Infomaniak AI (compatible OpenAI, hébergement en Suisse), modèle google/gemma-4-31B-it, avec DeepSeek en secours.
- 🛡️ Sécurité : HTTPS HSTS (1 an), en-têtes durcis (CSP, X-Frame-Options, nosniff), limitation anti-abus des votes (30/h par IP), cookies sécurisés, pages légales (mentions légales, confidentialité).
- ⚡ Performance : CSS/JS minifiés et versionnés (cache immuable), aucune feuille de style inline — un HTML léger servi compressé (gzip/zstd).
Code : .NET 10 · ASP.NET Core · Blazor Server · EF Core · Npgsql · PostgreSQL 16 · xUnit (200+ tests) · licence MIT (voir la licence).
Le score, en détail
Chaque article reçoit un score de classement sur 100, combinaison de trois composantes :
Classement = Éditorial × 0,55 + Algorithmique × 0,35 + Engagement × 0,10
1. Score éditorial (0-100) — attribué par l'IA
L'IA évalue chaque article pour une veille technologique francophone : pertinence du sujet, nouveauté de l'information, qualité de la source. C'est le seul critère de publication (seuil : ≥ 60).
2. Score algorithmique (0-100) — récence + densité
Algorithmique = (Récence + Contenu) / 2
| Âge de l'article | Récence |
|---|---|
| ≤ 1 heure | 100 |
| ≤ 6 heures | 80 |
| ≤ 24 heures | 60 |
| ≤ 48 heures | 40 |
| Au-delà | 40 − (heures − 48) / 24 × 10 (minimum 0) |
| Longueur du résumé | Contenu |
|---|---|
| ≥ 50 mots | 90 |
| ≥ 30 mots | 70 |
| ≥ 15 mots | 50 |
| Sinon | 30 |
3. Score d'engagement (0-100) — votes et clics
Engagement = 0,6 × votes + 0,4 × clics
- Votes : moyenne des votes 0-5 divisée par 5, ramenée à 100.
- Clics : 10 points par clic, plafonné à 100.
- Sans aucun vote ni clic, l'engagement est de 0 — le classement reste inchangé.
4. Score d'anxiété (0-10) — attribué par l'IA
Chaque article est noté sur son potentiel anxiogène. Ce score ne pénalise ni ne censure : il informe le lecteur. Il alimente le baromètre, le flux zen (anxiété ≤ 6) et le mode zen global du site.
Chaque carte affiche son détail de calcul (ⓘ « Score : … »). Les formules ci-dessus sont la
référence unique du code (ArticleScoring) — rien n'est figé dans l'interface.
Choix et critères
- 🌍 Francophonie assumée : 5 pays, langue des articles forcée au français.
- ✅ Sources vérifiées à la main : flux valide, dates parsables, contenu de qualité — les médias sans flux public ou anti-bot sont exclus.
- 🧠 Curatelle par IA, pas par algorithme froid : le jugement éditorial (pertinence, nouveauté) est la clé, les métriques techniques ne sont qu'un complément.
- 🧘 Lecture sereine : le score d'anxiété est un signal de navigation — filtre « Anxiété max » dans l'interface, mode zen et flux RSS. Il ne pénalise ni ne censure : il informe.
- 🔒 Vie privée : pas de compte obligatoire, votes anonymes (cookie local), aucun tracker tiers, aucune donnée personnelle stockée.
- 🇨🇭 Données et IA hébergées en Suisse (Infomaniak), requêtes non stockées par le fournisseur.
- 💸 Coût maîtrisé et transparent : ~0,04 CHF/jour pour une centaine d'articles, mesuré réellement (graphiques).
Sources et données
- 🗂 Liste des sources : page Sources · sources.json · sources.xml
- 📡 Flux RSS : flux complet, flux par catégorie, et flux personnalisés (mêmes filtres que l'interface).
- ⚖️ Les articles proviennent de flux publics ; les droits appartiennent à leurs auteurs et médias d'origine (licence).
Code source
Vigie24 est un projet open source (licence MIT) : le code, les tests, les scripts de déploiement et cette documentation sont publiés sur github.com/walbydev/vigie24 — issues et pull requests bienvenues.
Dépôt principal auto-hébergé : Gitea (miroir privé de développement) ; le dépôt public GitHub reçoit les versions stables.
Outils et assistants utilisés
Le projet est développé en collaboration avec des agents IA, sous la supervision d'un humain :
- Hermes (Nous Research) — l'assistant agentique qui planifie, écrit le code, les tests, déploie et vérifie (documentation · Nous Research).
- DeepSeek API — modèle
deepseek-v4-flash, assistant de l'auteur (deepseek.com). - Infomaniak AI — API OpenAI-compatible, data centers suisses, modèle
google/gemma-4-31B-it(infomaniak.com/ai · Gemma). - .NET 10 / ASP.NET Core / Blazor Server (dotnet.microsoft.com · Blazor)
- EF Core + Npgsql + PostgreSQL 16 (EF Core · Npgsql · PostgreSQL)
- Docker Compose (docker.com) et Caddy (HTTPS automatique, caddyserver.com)
- Gitea (dépôt auto-hébergé, miroir de développement, gitea.io), GitHub (dépôt public, github.com/walbydev/vigie24), xUnit (tests, xunit.net), Google Fonts (Inter, Space Grotesk, JetBrains Mono)
Un projet de démonstration pour travailler avec des agents
Vigie24 sert de bac à sable pour éprouver une méthode de développement où l'humain reste décisionnaire et l'agent exécute :
- Plan d'abord : chaque fonctionnalité commence par un document de plan (objectif, options, risques) écrit puis validé avant tout code.
- TDD par petites tâches : test d'abord (rouge), implémentation minimale (vert), commit unitaire — les commits de ce dépôt sont de vrais commits produits par l'agent.
- Vérification réelle : build, suite de tests, déploiement sur staging, validation navigateur (styles, contrastes, parcours) avant publication.
- Staging puis production : chaque livraison passe par l'environnement de préproduction, puis la production, avec vérifications curl et navigateur.
- Mémoire et compétence : les leçons apprises (pièges, procédures) sont consignées dans les skills de l'agent — l'équipe s'améliore à chaque session.
Résultat : un site complet, testé et déployé, dont chaque brique (de la base de données aux graphiques de coûts) a été conçue et livrée en collaboration homme-machine. La charte graphique et ses choix sont expliqués sur la page Charte graphique.
Contact
Une question, un signalement, une suggestion de source ? Écrivez-nous : contact@vigie24.info