TL;DR

Je cherche un job à 48 ans. Alors j'ai construit une machine à candidatures avec Claude Code : veille sur 5 sources d'offres, CV 1 page forgés sur mesure, score ATS, journal et relances J+7. 24 candidatures en moins de 3 mois, zéro hallucination tolérée, zéro envoi automatique. Cas réel, chiffres vérifiés, limites incluses.

JULIENWEB.FR · BLOG · INTELLIGENCE ARTIFICIELLE

Ma machine à candidatures : un agent IA qui postule avec moi, pas à ma place

Pas un prompt magique. Une machine. Construite, outillée, vérifiable. Veille d'offres multi-sites, CV 1 page forgés sur mesure, score ATS, journal, relances J+7. 24 candidatures sur mesure en moins de 3 mois, zéro hallucination tolérée.

🔧 5 sources · 4 zones 📄 CV 1 page vérifiée par script 🛡 Zéro hallucination ✋ Zéro envoi auto

📅 5 juillet 2026  ·  ✍️ Julien Guézennec  ·  ⏱️ 11 min

Je cherche un job à 48 ans. Webmaster depuis 1998, ingénieur multimédia de formation, et candidat. Plutôt que d’empiler les prompts ChatGPT sur mon CV, j’ai fait ce que je fais depuis 1998 : j’ai construit l’outil qui manquait. Automatiser sa recherche d’emploi avec l’IA, chez moi, ça ne veut pas dire « demander à un chatbot de réécrire mon CV ». Ça veut dire une machine complète, montée avec Claude Code : veille d’offres multi-sites, forge de CV et de lettres sur mesure, journal de suivi, relances calculées. Et des garde-fous en dur, parce que le vrai sujet, celui que les tutos évitent, c’est d’empêcher l’IA d’inventer.

machine à candidatures IA : 5 CV forgés sur mesure avec Claude Code, Julienweb

Pourquoi j'ai arrêté de refaire mon CV à la main

Deux constats, et le premier est écrit dans l’entête même de mon journal de candidatures : environ 90 % des candidatures déposées sur des portails d’emploi ne laissent aucune trace mail. Pas d’accusé de réception, rien. Sans registre tenu sur le moment, la moitié de la recherche d’emploi n’existe nulle part.

Le deuxième : chaque offre mérite un CV sur mesure. Le bon angle, les bons mots-clés, la bonne sélection d’expériences. Personne n’a le temps de le faire à la main pour des dizaines d’offres. Alors on envoie le même CV partout, et il ne raconte la bonne histoire à personne.

La machine règle exactement ces deux problèmes : le coût marginal d’une candidature soignée, et la mémoire du suivi. Pas plus, pas moins. On y revient plus bas, honnêtement.

Automatiser sa recherche d'emploi avec l'IA : la machine, pièce par pièce

Vue d’ensemble : la veille trouve et classe les offres, la forge fabrique la candidature, le journal enregistre, le dashboard calcule les relances J+7. Quatre étages, pilotés en langage naturel : je dis « forge une candidature pour cette offre », la machine forge.

La veille d'offres multi-sites

5 sources, 3 méthodes, selon ce que chaque site permet :

  • l’API officielle France Travail (OAuth2, Node natif, zéro dépendance npm) : la voie fiable et documentée, toujours prioritaire ;
  • du HTTPS brut pour emploi-territorial.fr, dont les pages sont générées côté serveur (vingt lignes de regex suffisent) ;
  • un passage Chrome en session utilisateur pour Cadremploi, Indeed et Leboncoin, en best-effort et en respectant les anti-bots. Un captcha ? On ne contourne pas : tableau vide, noté au bilan, et on passe.

4 zones géographiques (Île-de-France, Bretagne, Occitanie, Auvergne), plus le remote comme cinquième zone virtuelle. Chaque source écrit un JSON au même schéma normalisé ; le ranker ramasse tout sans savoir d’où ça vient. Ajouter un site d’offres = écrire une fiche qui émet ce schéma, rien d’autre.

Le scoring, c’est mon CV traduit en regex : 8 familles de mots-clés pondérées qui décrivent le métier réel. Webmaster et intégration, poids 5. Chef de projet, plafonné à 2 : j’ai managé des stagiaires, pas des équipes. Symfony, rayé du positif : j’en fais un peu, c’est daté, je ne suis pas spécialiste. Le robot n’a pas le droit de me survendre. Et une liste de pénalités pour ce que je ne fais pas (Java, Python data, .NET, Kubernetes) : un marqueur dans la description, l’offre perd 2 points ; deux marqueurs distincts, elle dégage ; un marqueur dans le titre, écartée direct.

Sortie : une shortlist rankée par zone, avec bilan de collecte complet (offres par source, doublons fusionnés, offres fermées, hors stack). Aucune troncature silencieuse. Le run complet s’enchaîne sans Claude par un simple script, planifiable en tâche Windows chaque matin à 8h ; moi, je lis la shortlist avec le café. Et chaque offre porte un rang : dire « forge pour #12 » suffit, toute l’interface entre la veille et la candidature tient dans un numéro.

La forge : CV 1 page, lettre brandée, texte ATS

Un workflow en étapes numérotées, avec un STOP en dur avant toute génération : l’analyse de match produit un tableau exigences contre preuves, un score de fit sur 10, les gaps réels avec compensation proposée (jamais une compétence inventée pour combler), puis attend mon GO. L’IA ne génère rien tant que l’angle n’est pas validé.

Ensuite :

  • le CV : un template HTML dont seules les zones commentées changent par candidature (tagline, profil, compétences, bullets réorientées). Contacts, diplômes, langues : invariants. L’IA ne peut ni dériver le design ni toucher aux faits figés ;
  • le score ATS maison : texte extrait du PDF, mots-clés de l’offre, matching insensible à la casse et aux accents. En dessous de 50 %, on revoit l’angle. Le rapport écrit lui-même sa limite : « indicateur, pas oracle » ;
  • la lettre, le texte brut pour les formulaires de portails, le brouillon d’email ;
  • une ligne au journal, et un récap avec la date de relance J+7 calculée.

1 candidature = 1 dossier auditable : offre archivée intégralement (si l’annonce disparaît, la trace reste), analyse de match, source HTML, PDF, rapport ATS, lettre. Six mois après, tout est rejouable.

Le journal, source de vérité (et le dashboard qui ne flatte personne)

Le journal : 1 ligne = 1 candidature, y compris (surtout) celles déposées sans aucune trace mail. Le dashboard : régénéré par script depuis le journal, jamais édité à la main. Pipeline par statut, candidatures actives, et pour chaque envoi une date de relance J+7 avec l’écart affiché crûment : « en retard (16j) », pictogramme d’alerte. Impossible de se raconter des histoires sur son suivi.

Sous le capot : Claude Code, skills locaux et fichiers markdown

Techniquement, tout ça tient dans un projet Claude Code avec des fichiers markdown comme base de données, rangé dans mon coffre-fort administratif. Pas de SaaS, pas de base de données serveur, pas d’abonnement de plus.

Des skills comme des recettes versionnées

4 skills locaux au projet : veille-offres, forge-candidature, profil-emploi, cv-ami. Un skill, c’est une recette écrite en markdown que l’agent lit et suit. Les miens naissent par filiation : une recette qui marche est forkée et adaptée au voisin. Et le skill s’écrit après les livrables, pas avant : cv-ami a été figé en v1.0 après 2 CV validés à la main. Deux fois à la main, la troisième en skill. C’est la même logique que ma bibliothèque de skills Claude Code pour le workflow web, appliquée à un autre chantier.

L’atelier déborde, d’ailleurs : la machine a aussi forgé 2 CV pour des amis, un arboriste-grimpeur et un gardien d’immeubles, dans des espaces isolés, sans jamais toucher à mon journal ni à mes coordonnées. Un CV d’ami est un cadeau de l’atelier, pas une pub pour l’atelier.

HTML vers PDF : un rendu 1 page qui ne bouge jamais

Zéro dépendance npm : un parser YAML maison, un convertisseur Markdown minimal, un moteur de template façon Mustache, et Chrome headless en print-to-pdf. Environ 280 lignes. Après chaque rendu, un script vérifie que le PDF fait exactement 1 page.

Les cicatrices sont documentées. Chrome refuse d’écrire un PDF dans Google Drive ? On rend dans le dossier temp, on copie, suivant. Le nouveau mode headless mangeait parfois le logo au print, sans erreur ? Retour au mode legacy, avertissement figé en commentaire pour que personne ne « modernise » le flag par réflexe. Un seul mot trop long dans la sidebar poussait tout le CV en page 2 ? Interdit de réduire la police : on a gravé une règle physique, 35 caractères visibles max par ligne de compétence. Chaque galère devient une ligne de doc. Le bug qu’on trouve une fois, on le grave en commentaire.

Ce que l'agent ne fait jamais

Gravé à trois endroits dans les skills :

  • zéro envoi automatique : la veille s’arrête à la shortlist, la forge s’arrête au brouillon, et le brouillon Gmail n’est créé qu’après un oui explicite. La machine prépare, je décide.
  • zéro mot de passe : jamais d’authentification scriptée, les credentials restent chez moi, c’est moi qui me connecte ;
  • zéro invention : voir ci-dessous, c’est le vrai sujet.

Ce périmètre, c’est la différence entre un agent outillé et un bot qui spamme les recruteurs. C’est aussi la suite concrète de ce que j’écrivais début mars dans IA agentique : maîtriser l’art de la conversation ne suffit plus : un agent utile est un agent cadré.

Les garde-fous anti-hallucination (le vrai sujet)

Le problème central des tutos « CV avec ChatGPT », tout le monde le connaît et personne ne le traite : l’IA invente. Une expérience, une techno, un chiffre qui fait bien. Sur un CV, c’est disqualifiant, et c’est vous qui l’assumez en entretien.

Chaque ligne traçable, ou rien

Chez moi, l’anti-hallucination n’est pas une promesse, c’est une règle de build : chaque ligne du CV pointe vers une ligne source du profil. Sinon elle saute. Les bullets suivent un format imposé (verbe d’action + ce que j’ai fait + résultat mesurable), mais le chiffre n’apparaît que s’il est traçable. La règle est écrite noir sur blanc dans le skill : jamais inventer un chiffre pour faire mesurable. Un résultat qualitatif, ou rien.

Même le conflit de sources est réglé d’avance : si le profil narratif dit « 13 années » et que les CV validés par l’humain disent « 14 ans » chez le même employeur, les CV validés gagnent. On a écrit la règle une fois, on ne tranche plus au cas par cas.

Le lint anti « tell IA »

Un tiret cadratin dans une lettre de motivation, c’est une signature d’IA. Chez moi, c’est un exit code 1 : un script scanne les livrables, remplace les tells typographiques (tirets cadratins, ellipses unicode, guillemets et apostrophes courbes), et bloque la génération du PDF tant que des tells subsistent. Il ne touche jamais le texte du recruteur ni les notes internes. La logique est née dans ce projet puis a été promue en module global : la même fonction nettoie aujourd’hui mes courriers administratifs, et un hook surveille même mes brouillons Gmail.

L’excès de zèle a sa cicatrice aussi : un jour, la chasse aux caractères IA a désaccentué un CV entier. Corrigé, puis gravé en toutes lettres dans le skill : les accents français restent. Ne jamais désaccentuer.

Le manifeste tient en une phrase : un CV faux est pire qu'un CV moche. Un CV moche se corrige. Un CV faux vous explose en entretien, ou pire, après l'embauche. Le garde-fou, ce n'est pas ma discipline : c'est un script.

Ce que ça donne en vrai : chiffres et limites

Automatiser sa recherche d’emploi avec l’IA, donc : qu’est-ce que ça donne ? Les chiffres, vérifiés dans mes fichiers (pas de mémoire, pas d’arrondi flatteur) :

24
candidatures sur mesure en moins de 3 mois (11 avril, 4 juillet 2026), chacune avec son dossier auditable
62-93 %
de score ATS selon les offres, mesuré sur le PDF réel contre le texte de l'annonce
5 × 4
sources d'offres et zones géographiques en veille, relances J+7 calculées automatiquement

Le temps gagné par candidature ? Pas de chiffre : je ne l’ai pas mesuré proprement, et cette machine est précisément construite pour ne pas inventer de chiffres. Ce que je peux dire : une candidature soignée (CV réorienté, lettre, score ATS, ligne au journal) se fait en une fraction du temps d’avant. Et surtout, elle se fait, au lieu d’être remise à demain.

Et l’honnêteté oblige : la machine n’a pas réglé le marché, ni l’âge, ni la pénurie de réponses des recruteurs. Elle a réglé le coût marginal d’une candidature soignée et la mémoire du suivi. C’est déjà beaucoup. Ce n’est pas magique.

La même mécanique pour votre TPE/PME

Regardez la machine autrement : de la veille multi-sources, de la génération de documents sur mesure avec garde-fous, un registre unique, des relances calculées. Remplacez « offres d’emploi » par « appels d’offres », « CV » par « devis », « relance recruteur » par « relance client » : c’est le même pipeline. Devis, relances, prospection, paperasse admin, tout ce qui est répétitif et mérite pourtant du sur-mesure.

C’est exactement ce que je monte pour mes clients comme consultant IA et automatisation pour TPE/PME à Pantin (93). On regarde votre cas en 15 minutes, devis sous 24h, pas de blabla. Et les garde-fous viennent avec : une automatisation qui invente, chez un artisan comme chez un recruteur, ça ne pardonne pas.

FAQ : machine à candidatures et IA

Une IA peut-elle écrire mon CV sans mentir ?

Oui, si vous l'y forcez. Pas avec un prompt « sois honnête » : avec une règle de build. Chaque ligne doit être traçable à une source validée (profil, anciens CV vérifiés) ; en cas de doute, on omet ou on demande. C'est de l'outillage, pas de la bonne volonté.

Quelle différence avec un tuto « CV avec ChatGPT » ?

Le tuto vous donne 10 prompts et vous laisse seul face aux vrais problèmes : l'invention, le suivi, la répétition. Ici, c'est un pipeline complet (veille, forge, journal, relances) avec des garde-fous exécutables et des chiffres vérifiables. La différence entre une astuce et un outil.

Est-ce que l'agent postule à ma place ?

Jamais. La veille s'arrête à la shortlist, la forge au brouillon. Zéro envoi automatique, zéro mot de passe stocké, zéro captcha contourné. La machine prépare, je décide.

Les recruteurs détectent-ils les CV générés par IA ?

Ils détectent les tells : tirets cadratins, tournures pompeuses, chiffres trop ronds, parcours trop lisses. Mon lint typographique élimine les premiers, la traçabilité règle le reste : un CV dont chaque ligne est vraie n'a rien à cacher, quel que soit l'outil qui l'a mis en page.

Combien ça coûte de monter ce genre de machine ?

Un abonnement Claude, du markdown, et du temps d'artisan. Zéro dépendance npm, zéro SaaS supplémentaire, zéro base de données. Le vrai coût, c'est la méthode : les règles, les garde-fous, les recettes versionnées. Et c'est justement ce qui se transpose le mieux à votre métier.

On regarde votre cas ?

Cette machine à candidatures, c'est de l'automatisation IA appliquée à un vrai besoin, avec des garde-fous. La même mécanique marche pour votre boîte : devis, relances clients, prospection, paperasse. 15 min pour regarder votre cas, devis 24h. Du concret, pas de bullshit.

Automatisation IA avec garde-fous · Pantin (93) · Référencé Cyber.gouv.fr · Activateur France Num

Un post de...

Image de Julien Guézennec

Julien Guézennec

Développeur web full stack senior basé à Pantin (93), créateur du studio julienweb.fr. Expert en conception digitale depuis 1998, il accompagne entreprises, startups et indépendants dans la création de sites web sur-mesure, performants, responsives et orientés UX. Il maîtrise l'ensemble de la chaîne web : développement front et back-end, WordPress, SEO, accessibilité, design UI, datavisualisation, IA et web 3D.

Disponible à distance ou en présentiel (Paris / Île-de-France) Contact : julien.guezennec@gmail.com Page de profil : Julien Guézennec, c'est qui ?

Image de Julien Guézennec

Julien Guézennec

Développeur web full stack senior basé à Pantin (93), créateur du studio julienweb.fr. Expert en conception digitale depuis 1998, il accompagne entreprises, startups et indépendants dans la création de sites web sur-mesure, performants, responsives et orientés UX. Il maîtrise l'ensemble de la chaîne web : développement front et back-end, WordPress, SEO, accessibilité, design UI, datavisualisation, IA et web 3D.

Disponible à distance ou en présentiel (Paris / Île-de-France) Contact : julien.guezennec@gmail.com Page de profil : Julien Guézennec, c'est qui ?

Publications similaires...