Automatiser sa veille web sans y passer des heures : mon retour d’expérience sur l’awalé
Passionné par la programmation appliqué à l’awalé et créateur de PlayAwale.com, je cherchais un moyen simple d’alimenter une rubrique d’actualités sur le site. Entre les tournois locaux, les articles de presse à…
- 5 min de lecture
- mis à jour le 28 septembre 2026
Passionné par la programmation appliqué à l’awalé et créateur de PlayAwale.com, je cherchais un moyen simple d’alimenter une rubrique d’actualités sur le site. Entre les tournois locaux, les articles de presse à l’autre bout du monde et les rares vidéos qui sortent sur le sujet, suivre ce qui se passe demande un temps fou.
Pour gérer ça efficacement, j’ai monté une chaîne d’automatisation sur mon serveur maison. Le principe est simple : aller chercher l’info là où elle se trouve, la filtrer, et générer une page propre automatiquement.
Mon serveur perso héberge tout le traitement : n8n pilote le flux, tandis que les LLM locaux Qwen 2.5 (7B) et Gemma 2 (9B) filtrent et résument les articles web. Faute de GPU sur ce serveur, impossible d’installer de plus gros modèles, mais cette configuration sur CPU s’avère déjà très efficace.
Voici le détail de l’architecture et de la chaîne de traitement que j’ai mise en place.
L’architecture technique
Pour faire tourner l’ensemble, tout est centralisé sur mon serveur personnel afin de garder le contrôle complet sur le flux de données :
- n8n (Self-hosted) : c’est le cœur du système. Il orchestre l’ensemble des tâches, planifie les exécutions hebdomadaires, gère la logique conditionnelle et connecte les différents modules entre eux.
- Modèle de langage local via Ollama : hébergé directement sur ma machine, le LLM s’occupe de l’analyse sémantique, du filtrage et de la synthèse de texte sans envoyer de données vers des API payantes.
- Node.js / JavaScript : utilisé au sein des nœuds n8n pour le nettoyage avancé des structures JSON, le parsing complexe et la gestion des cas particuliers.
- GraphicsMagick : un utilitaire en ligne de commande intégré au flux pour traiter, redimensionner et convertir l’ensemble des images d’illustration au format WebP à la volée.
Déroulement du workflow étape par étape
Chaque semaine, le scénario s’exécute automatiquement en suivant un pipeline rigoureux.
[Déclencheur] ➔ [Sourcing multi-canal] ➔ [Contrôle éthique] ➔ [Analyse LLM Local] ➔ [Médias & Liens] ➔ [Publication & Syndication]
1. La récolte multi-canal des sources
Pour couvrir l’actualité mondiale du jeu, le script interroge simultanément plusieurs canaux :
- Flux RSS ciblés : interrogation directe des sites de référence (The Oware Society, Club Awalé, associations culturelles).
- Presse internationale & moteurs : requêtes ciblées via les API de Bing News ainsi que la base de données internationale GDELT, qui indexe la presse mondiale dans plus de 60 langues.
- Plateformes multimédias : surveillance des nouvelles publications sur YouTube et Dailymotion liées à la stratégie ou aux compétitions d’awalé.
2. Le contrôle d’accès et la politesse de scraping
C’est un point critique pour garantir un comportement irréprochable vis-à-vis des serveurs distants :
- Analyse préalable du
robots.txt: avant toute tentative d’extraction de contenu sur une URL, le script interroge le fichier de configuration du domaine pour vérifier si le scraping y est autorisé ou toléré. - Gestion du taux de requêtes (Rate Limiting) : le workflow applique des délais d’attente stricts (crawl-delay) entre chaque appel. La fréquence est bridée à une ou deux requêtes par seconde maximum pour ne jamais solliciter excessivement les serveurs hôtes.
- Dédoublonnage applicatif : nettoyage des résultats pour éliminer les doublons stricts (URLs identiques) et les doublons sémantiques (republications de dépêches).
3. Traitement sémantique et synthèse par le modèle local
Une fois les données brutes extraites, elles sont transmises au LLM local via Ollama pour qualification :
- Élimination des homonymes : le mot « Awalé » désignant aussi bien des entreprises (notamment minières ou technologiques) que des noms propres, le modèle écarte tous les articles hors sujet.
- Catégorisation automatique : tri des contenus conservés selon des rubriques prédéfinies (Tournois & Compétitions, Histoire & Culture, Stratégie, Vie des Clubs).
- Rédaction & Traduction : génération d’un résumé concis de deux phrases en français pour chaque article. Si la source originale est en anglais ou dans une autre langue, le texte est traduit fidèlement.
4. Normalisation des médias et vérification technique
Avant d’injecter le contenu dans le site, plusieurs vérifications automatiques sont exécutées :
- Test de validité des liens (Link Health) : requêtes HTTP
HEADsur chaque lien pour s’assurer qu’aucune page n’a sauté (gestion des 404/500). - Traitement et hébergement des visuels : les images issues des flux RSS sont utilisées en priorité absolue. Lorsque le site source autorise l’utilisation de ses visuels pour illustrer l’article, le système les télécharge et les héberge directement sur mon serveur. Il effectue au passage une vérification des ratios, un dédoublonnage par empreinte numérique (hash MD5) et une compression optimisée en
.webpvia GraphicsMagick. - Conformité RGPD sur les intégrations vidéo : pour les vidéos YouTube ou Dailymotion, le système génère une façade d’intégration cliquable (lazy loading), évitant le dépôt de cookies tiers avant l’interaction de l’utilisateur.
5. Génération et publication multi-formats
Le workflow assemble les données validées et met à jour l’écosystème du site :
- Génération HTML : création du code prêt à l’emploi avec balisage sémantique et données structurées Schema.org pour le référencement naturel.
- Mise à jour des flux de syndication : régénération automatique d’un flux RSS 2.0 et d’un flux JSON Feed.
- Widget embarquable : mise à jour d’un composant léger intégrable via
<iframe>sur d’autres pages ou sites partenaires.
Les évolutions à venir
Le système est pleinement opérationnel, mais je travaille sur quelques axes d’amélioration :
- Optimisation des prompts et des paramètres d’inférence : ajuster le contexte transmis au modèle local pour réduire le temps d’exécution global lors des grosses récoltes.
- Amélioration des recherches web : affiner les requêtes d’extraction pour trouver des articles encore plus pertinents et récents sur les initiatives locales autour du jeu.
Le rendu final est directement visible sur la section actualités de playawale.com.