career-ops

pdf

Génère un CV PDF adapté à une JD précise : career-ops construit le CV en HTML à partir d'un modèle typographique épuré, puis Playwright l'imprime en PDF. Le résultat est structurellement simple (pas de tableaux, pas de colonnes, pas de graphiques), exactement ce que les parseurs ATS traitent de manière fiable.

Ce qu'il fait

Le mode pdf lit votre cv.md maître ainsi que le contexte de la JD, puis exécute l'étape de personnalisation (réécriture des puces, réorganisation des sections, intégration des mots-clés prioritaires) avant l'export en PDF via Playwright, avec un modèle CSS qui respecte les conventions des parseurs ATS. Le résultat est prêt à être téléversé.

Quand l'utiliser

Utilisez pdf lorsque vous avez déjà évalué l'annonce et décidé de postuler, et que vous souhaitez uniquement le PDF personnalisé sans relancer l'étape d'évaluation.

À quoi ressemble une exécution

Vous pointez le mode vers une annonce déjà évaluée et il produit un seul PDF personnalisé, prêt pour les ATS — sans réévaluation. Il extrait 15 à 20 mots-clés de la JD, choisit le format de papier selon la localisation de l'entreprise, réécrit votre résumé et réorganise les puces autour du poste, puis convertit le HTML en PDF et indique la couverture des mots-clés.

Terminal
/career-ops pdf acme

# detected JD language: en · paper: letter (US) · 18 keywords extracted
node generate-pdf.mjs output/cv-jane-doe-acme.html \
  output/cv-jane-doe-acme-2026-05-18.pdf --format=letter --report=008

PDF:   output/cv-jane-doe-acme-2026-05-18.pdf
Pages: 2 · Keyword coverage: 16/18 (89%)

La mise en page reste sur une seule colonne, avec des en-têtes de section standard et du texte sélectionnable — la structure que les parseurs ATS lisent sans difficulté — et les mots-clés sont intégrés à de véritables réalisations, jamais inventés.

La couverture des mots-clés est mesurée par rapport à la section des mots-clés du rapport d'évaluation de l'annonce. Si le rapport n'en contient pas, career-ops note à la place les compétences qu'il trouve dans la description de poste archivée avec le rapport, et vous indique quelle source il a utilisée. Un rapport sans section de mots-clés est un défaut à corriger dans le rapport, pas un feu vert.

Quand y recourir

Recourez à pdf lorsque vous avez décidé de postuler et que vous souhaitez uniquement le CV personnalisé, en sautant l'étape d'évaluation. Quelques comportements à connaître :

  • Le format de papier suit automatiquement la localisation de l'entreprise : letter pour les postes aux États-Unis et au Canada, a4 partout ailleurs.
  • L'injection de mots-clés repose sur la vérité. Le mode reformule une expérience réelle dans le vocabulaire exact de la JD, mais n'ajoute jamais une compétence que vous ne possédez pas.
  • Pour la région DACH et une grande partie de l'Europe continentale, vous pouvez opter pour une photo en renseignant candidate.photo dans config/profile.yml ; laissez ce champ vide et le CV s'affiche à l'identique, au pixel près, sans photo — le choix par défaut le plus sûr pour les États-Unis, le Royaume-Uni et les marchés centrés sur les ATS.

Pièges à connaître

Nécessite Playwright installé en local. Le script de build peut échouer sur des installations Linux minimales dépourvues de polices système. Exécutez npm run doctor pour diagnostiquer.

La génération du PDF s'arrête si les postes de votre expérience professionnelle ne vont pas du plus récent au plus ancien, et l'erreur cite les dates du poste qui commence après celui du dessus. Remettez les postes dans l'ordre antéchronologique et relancez : on adapte un CV par le résumé et les puces, pas en déplaçant les postes. Si vous voulez délibérément un autre ordre, passez --allow-nonchronological à generate-pdf.mjs : le PDF est généré avec un avertissement. Avec --batch, seul le CV dans le désordre échoue ; les autres sont générés normalement.

generate-pdf.mjs inscrit chaque PDF qu'il écrit dans data/pdf-index.tsv, et career-ops lit ce fichier pour retrouver le CV d'un rapport. Chaque ligne porte un kind valant cv ou cover, et un rapport garde une ligne de chaque type. Régénérer un PDF ne remplace que la ligne de son propre type.

Sans --kind, le type est déduit du nom du fichier de sortie. Un nom qui commence par cv- est un CV. Un nom qui commence par cover- ou se termine par -cover est une lettre de motivation. Tout autre nom est inscrit comme CV.

Le mode cover inscrit toujours ses lettres comme cover, quel que soit leur nom : la règle du nom de fichier ne compte donc que si vous lancez generate-pdf.mjs vous-même. Une lettre générée sous acme-letter.pdf avec --report=008 remplace la ligne du CV du rapport 008, et qui cherche ce CV obtient la lettre. Passez --kind=cover quand le nom du fichier ne dit pas de quoi il s'agit :

Terminal
node generate-pdf.mjs output/acme-letter.html output/acme-letter.pdf \
  --report=008 --kind=cover

--kind accepte cv ou cover, et toute autre valeur, y compris vide, arrête l'exécution avant tout rendu. --batch le refuse ; indiquez alors "kind" sur l'entrée concernée du fichier de lot. data/pdf-index.tsv appartient à generate-pdf.mjs, et sa ligne d'en-tête demande de ne pas le modifier à la main.

Pages associées

Sur cette page