← Retour au blog
AiEnviron 9 min de lecture

Il a transformé Claude Code en pipeline de candidatures : 69 envois, 20 entretiens

Publié le 18 oct. 2026
Il a transformé Claude Code en pipeline de candidatures : 69 envois, 20 entretiens

Le genre des outils « candidature assistée par IA » a un problème de crédibilité, et il n'est pas technique. Tout le monde soupçonne que le résultat est un PDF bourré de mots-clés qu'un recruteur repère en quatre secondes.

La première chose à signaler à propos d'ai-job-search, un framework sous licence MIT signé Mads Lorentzen qui transforme Claude Code en pipeline de recherche d'emploi, c'est donc ce que son auteur en a fait : 69 candidatures, 20 entretiens de premier tour, et une offre signée comme ingénieur IA. Il précise aussi avoir prévenu chaque employeur qu'il utilisait cet outil. C'est soit un très bon signe, soit un très gros coup de chance. Probablement les deux.

La deuxième chose à signaler, c'est que l'ingénierie intéressante n'est pas dans l'écriture. Elle est dans la vérification.

Les trois commandes qui comptent

/setup remplit votre profil. Trois entrées possibles : pointer un dossier documents/, coller un CV, ou répondre à des questions d'entretien. L'auteur est direct : la profondeur du profil est le premier facteur de qualité du résultat. Un profil mince produit des candidatures génériques, et aucune astuce de prompting ne rattrape ça.

/scrape interroge les portails d'emploi, dédoublonne et classe par correspondance. La prise en charge des portails dépend du marché : ceux fournis couvrent le Danemark (Jobindex, Jobnet, Jobbank, Jobdanmark), plus deux compétences transfrontalières — l'une pour l'endpoint public non authentifié de LinkedIn avec un drapeau de région, l'autre pour une API REST gratuite centrée sur les métiers tech. Les autres marchés passent par /add-portal, qui génère et teste une nouvelle compétence.

/apply <url> est la plus intéressante. Elle enchaîne huit étapes : analyser l'annonce, noter la correspondance, rédiger un CV et une lettre de motivation LaTeX sur mesure, confier les deux à un agent de relecture séparé doté de son propre contexte pour étudier l'entreprise et critiquer le brouillon, réviser, compiler, inspecter le PDF rendu, puis lancer un contrôle ATS.

Pourquoi compiler puis regarder le PDF, c'est toute l'astuce

Quiconque a fait générer un document LaTeX par un modèle de langage connaît le mode d'échec. La source est parfaite. Le PDF, lui, a un titre orphelin en bas de la première page, la lettre de motivation a débordé sur une deuxième page avec une seule ligne dessus, et une liste est silencieusement retombée sur une autre police.

Ce projet boucle cette étape. Le CV doit compiler avec lualatex sur exactement deux pages, sans titre orphelin. La lettre doit compiler avec xelatex sur exactement une page, signature visible. L'agent lit les pages rendues et itère jusqu'à ce que les contraintes tiennent.

Quand le CV déborde, il ne coupe pas le plus vieil emploi. Il note chaque ligne selon sa pertinence pour cette annonce, son unicité dans le document et le fait que la lettre en dépende ou non, puis supprime celle dont le total est le plus faible. Petit détail, grande différence : c'est le comportement de quelqu'un qui a vraiment élagué un CV pour un poste précis, pas de quelqu'un qui applique une règle.

Le contrôle ATS, la partie que personne d'autre ne fait

Les systèmes de suivi des candidatures ne lisent pas votre belle mise en page. Ils lisent la couche de texte embarquée, et LaTeX est réputé pour produire des couches de texte techniquement présentes et pratiquement inutilisables : des polices d'icônes qui s'affichent comme un symbole d'e-mail et s'extraient en rien, des ligatures qui cassent la correspondance des mots-clés, des colonnes qui brouillent l'ordre de lecture.

Le framework extrait la couche de texte avec pypdf ou pdftotext, vérifie que les coordonnées apparaissent en texte littéral, traque le mojibake et l'ordre de lecture, puis compare la couverture des mots-clés à l'annonce. Si aucun des deux outils n'est installé, il retombe sur un contrôle visuel des mots-clés plutôt que de sauter l'étape en silence.

C'est la différence entre un outil qui produit des documents et un outil qui produit des documents capables de survivre au contact d'un système de recrutement.

La contrainte honnête : il refuse d'inventer

La règle affichée est claire : aucune compétence ni expérience fabriquée. Les mots-clés que le profil ne peut pas soutenir sont marqués comme lacunes plutôt qu'enfouis dans le texte. C'est à la fois une position éthique et un choix pratique — c'est en entretien que l'expérience inventée se fait démasquer, et le boulot de l'outil est de vous y amener.

Il y a aussi un filtre linguistique. /setup collecte chaque langue de travail et son niveau ; une langue non déclarée est un rejet net, un niveau insuffisant est signalé plutôt que rejeté automatiquement. La plupart des outils d'emploi ignorent complètement ce point, et c'est comme ça qu'on se retrouve avec une candidature d'apparence fluide pour un poste qui exige l'allemand en C1.

Le piège de confidentialité à ne pas déclencher

C'est le passage que je mettrais en gras sur la page de téléchargement, et l'auteur le fait, mais ça mérite d'être répété : le fork d'un dépôt public est toujours public. GitHub n'autorise pas les forks privés de dépôts publics. Or /setup écrit votre nom, vos coordonnées, votre parcours et vos prétentions salariales dans des fichiers suivis par git.

Forkez, lancez setup, poussez : vous venez de publier votre CV et vos prétentions salariales sur internet, avec l'historique de commits en prime.

La bonne méthode, documentée dans le guide d'installation du projet, consiste à créer un dépôt privé et à ajouter l'original comme remote upstream. Vous obtenez le même flux de mises à jour sans l'exposition. Ne forkez que si vous comptez contribuer au code.

Posture de sécurité, dite clairement

Les annonces sont traitées comme des entrées non fiables : les instructions qu'elles contiennent ne sont pas exécutées, les liens qu'elles contiennent ne sont pas suivis. L'auteur prend soin de préciser qu'il s'agit d'une défense au niveau des instructions, pas d'un bac à sable. Les compétences de portail tournent sur votre machine sans approbation ; celles empruntées à d'autres forks doivent donc être lues ligne par ligne — où partent les requêtes réseau, ce que contient le manifeste en dépendances et en scripts de cycle de vie, et faites tourner les tests hors ligne. La copie du dossier est délibérément manuelle, exactement pour cette raison.

La compétence LinkedIn vient avec son propre avertissement : l'automatisation viole les conditions de la plateforme, et elle doit être utilisée à faible fréquence, pour un usage personnel.

Le coût de la boucle

Rien de tout cela n'est gratuit, et l'auteur le dit. Claude Code n'a pas d'offre gratuite ; il faut un abonnement ou du crédit API. L'étape compiler-puis-regarder consomme des tokens en plus, parce que l'agent lit les pages rendues et itère — parfois trois ou quatre fois sur un seul CV.

Savoir si l'échange vaut le coup dépend de ce que vaut votre temps à vos yeux. Quatre cycles de révision sur un document que vous enverrez une fois, c'est beaucoup. Quatre cycles sur un document qui, sinon, aurait un titre orphelin dans la marge du bas, c'est bon marché — parce que ce titre fait la différence entre « soigneux » et « bâclé » dans la première impression du lecteur.

Il y a un deuxième coût, facile à manquer : le travail sur le profil. /setup récompense la précision — projets, outils, résultats chiffrés, ce que vous avez fait vous-même par opposition à ce que votre équipe a fait. Un profil mince produit la candidature générique que tout le monde produit dans cette catégorie. L'outil ne peut pas inventer la matière qu'il n'a pas, et l'auteur dit avec une franchise inhabituelle que le facteur limitant est là, pas dans le modèle.

Ce qu'il ne fait pas

Il ne vous obtient pas de recommandation, et c'est par là que la plupart des postes se gagnent réellement. Il ne négocie pas, et tout ce qu'il sait du salaire, c'est le chiffre que vous avez saisi pendant le setup. Il ne sait pas que le recruteur est un ancien collègue, ni que l'annonce est ouverte depuis sept mois parce que l'équipe n'arrive pas à s'accorder sur le poste.

Ce qu'il fait, c'est supprimer l'excuse. La candidature sera sur mesure, le PDF compilera, la couche de texte sera exploitable, et les exigences linguistiques seront respectées. Ce que vous en faites reste la recherche d'emploi.

Ce que c'est, au fond

Retirez l'habillage IA et vous avez un système de build pour candidatures : de la source en entrée, un artefact en sortie, et une étape de vérification entre les deux. Le modèle est le compilateur. L'inspection du PDF et le contrôle du texte ATS sont les tests. L'agent de relecture est la revue de code.

C'est ce cadrage qui le rend plus intéressant que sa catégorie. Il ne promet pas de vous trouver un emploi. Il promet que le document que vous envoyez fera deux pages, sera lisible par une machine, sera honnête sur vos lacunes et adapté à l'annonce — et il vous dira quand ces promesses ne tiennent pas.

Soixante-neuf candidatures et vingt entretiens, c'est un échantillon correct. Ce n'est pas une preuve. Mais c'est une base de données plus solide que celle de la plupart des outils du secteur, et le pipeline qui l'a produite, vous pouvez le lire.

Articles associés