Agréger des offres d'emploi en télétravail avec GitHub Actions, sans serveur
Un robot qui fait la tournée des sites d'emploi toutes les six heures, dédoublonne, repère le français et publie une page statique. Gratuit et sans serveur.
Chercher un poste en télétravail quand on est francophone, c'est faire la tournée de dix sites chaque matin : plateformes d'emploi, pages carrières des entreprises, sites étrangers. Et beaucoup d'annonces ne disent même pas si le français est un atout. J'ai donc confié la tournée à un robot. Télétravail en français rassemble, trie et suit les offres, et se met à jour tout seul toutes les six heures. L'architecture : pas de serveur du tout Le projet tient en trois morceaux : 1. Un script Python qui interroge les sources et écrit des fichiers de données. 2. Un workflow GitHub Actions qui lance ce script toutes les six heures et enregistre les résultats dans le dépôt. 3. Une page statique, hébergée gratuitement sur GitHub Pages, qui lit ces fichiers et affiche offres, filtres et graphiques. Aucun serveur à maintenir, aucune base de données, aucun coût. GitHub fait tourner le robot et héberge la page. Les sources - France Travail : les offres françaises qui mentionnent le télétravail, via son API officielle ; - Le Forem : les offres wallonnes, en open data ; - Jobicy et Remotive : des offres à distance en Europe et dans le monde ; - les pages carrières de centaines d'entreprises, publiées sur les principaux outils de recrutement. Chaque offre renvoie toujours vers l'annonce d'origine. Le vrai travail : trier Collecter est facile. Trier est le cœur du produit : - Dédoublonner : la même offre apparaît souvent sur plusieurs sites. - Repérer la langue : une offre est gardée si elle est rédigée en français, si elle exige le français même en anglais (« fluent in French »), ou si le poste est ouvert à un pays francophone, à l'Europe ou au monde entier. - Clôturer proprement : une offre qui disparaît d'une source complète est clôturée au passage suivant ; pour une recherche partielle, après trois jours sans être revue. Si une source tombe en panne, rien n'est clôturé par erreur. Ce que ce projet m'a appris - GitHub Actions est un excellent planificateur gratuit pour des tâches périodiques légères. - La robustesse compte plus que la quantité. Mieux vaut cinq sources fiables que vingt sources qui cassent. - Un onglet « Sources » qui montre l'état de chaque collecte évite des heures de débogage. Le même schéma (script, workflow planifié, page statique) sert à beaucoup d'autres usages : veille, suivi de prix, tableaux de bord. C'est une des briques que je réutilise le plus.