hr‑breaker : Optimiseur de CV alimenté par l’IA pour la réussite ATS
HR‑Breaker : Optimiseur de CV alimenté par l’IA pour la réussite ATS
Qu’est‑ce que HR‑Breaker ?
HR‑Breaker est un projet Python entièrement open source qui utilise les grands modèles de langage (LLM) pour optimiser automatiquement n’importe quel CV en un PDF prêt pour ATS, à page unique. Le code est publié sous licence MIT et disponible sur GitHub à l’adresse https://github.com/btseytlin/hr-breaker.
L’outil repose sur quelques bibliothèques populaires :
| Bibliothèque | Rôle |
|---|---|
| Pydantic | Modèles de données type‑safe et validation |
| Click | Interface en ligne de commande simple |
| Streamlit | UI Web pour les utilisateurs non techniques |
| WeasyPrint | Rend le HTML final en PDF |
| uv | Résolution des dépendances et wrapper d’exécution |
Le cœur de HR‑Breaker est un pipeline qui extrait, enrichit, vérifie et rend un CV.
Fonctionnalités clés
- Entrée sans souci de format – Téléchargez du texte brut, Markdown, LaTeX, HTML ou même un PDF brut.
- PDF ATS‑friendly en une page – Produit un rendu propre, d’une seule page, conforme aux directives éprouvées pour les CV.
- Optimisation alimentée par LLM – Un LLM adapte le contenu à une offre d’emploi spécifique tout en conservant le contenu original et en évitant les hallucinations.
- Filtres de validation intégrés –
- Vérifications de longueur et de structure du contenu
- Correspondance de mots‑cléaires avec TF‑IDF
- Simulation ATS via un modèle léger
- Détection d’hallucinations et de texte de style IA
- Vérification de similarité sémantique avec le CV source
- UI Web + CLI – Exécutez l’outil sous forme de tableau de bord Streamlit local ou depuis la ligne de commande pour l’automatisation.
- Modes débogage et tolérant – Sauvegardez chaque itération d’optimisation pour le débogage et un drapeau
--no‑shamequi assouplit les contraintes sans halluciner de nouvelles expériences.
Comment ça fonctionne
- Téléversez / Fournissez l’entrée – Un CV en texte brut ou une URL/text du poste d’emploi.
- Extraction – L’agent analyse le CV, supprime la mise en forme et construit un modèle JSON structuré.
- Boucle d’optimisation – Le LLM génère un CV en HTML, itérant jusqu’à ce que tous les filtres passent.
- Rendu – WeasyPrint prend le HTML final et le transforme en PDF avec un style professionnel.
- Sortie – Le PDF est sauvegardé dans
output/alors que les itérations de débogage vont dansoutput/debug_*et un enregistrement est maintenu dansoutput/index.json.
Guide de démarrage rapide
# 1. Installer les dépendances
uv sync
# 2. Configurer votre environnement
cp .env.example .env
# modifier .env et ajouter votre GOOGLE_API_KEY
# 3. Lancer l’interface Web
uv run streamlit run src/hr_breaker/main.py
Utilisation en ligne de commande
# Depuis un fichier CV brut et une URL de l’emploi
uv run hr-breaker optimize resume.txt https://example.com/job
# Depuis un fichier description de poste
uv run hr-breaker optimize resume.txt job.txt
# Mode débogage (sauvegarde les itérations)
ul run hr-breaker optimize resume.txt job.txt -d
# Mode tolérant – assouplit les contraintes mais évite la fabrication
uv run hr-breaker optimize resume.txt job.txt --no-shame
# Lister les PDFs générés
uv run hr-breaker list
Cas d’utilisation
| Utilisateur | Scénario | Comment HR‑Breaker aide |
|---|---|---|
| Chercheur d’emploi | Obtenir un poste dans une startup technologique | Taille automatiquement le CV à l’offre, garantit la réussite ATS et met en avant les compétences clés |
| Recruteur | Évaluer les candidats | Traite par lots un CSV d’URLs de CV, normalise la mise en forme et extrait les scores de mots‑cléaires |
| Développeur | Construire un pipeline de recrutement | Intègre HR‑Breaker comme micro‑service, générant des PDFs ATS‑prêts à la demande |
Pourquoi open source ?
- Transparence – Chaque filtre et transformation est visible, permettant des audits.
- Contributions communautaires – Tout le monde peut ajouter de nouveaux filtres, améliorer les invites LLM ou ajouter une nouvelle UI.
- Aucun verrouillage fournisseur – Exécutez-le localement sur votre machine ou conteneurisez‑le pour le cloud.
Contribution
- Fork le dépôt.
- Créer une branche fonctionnelle (
git checkout -b improve-filter). - Écrire des tests dans
tests/. - Lancer
uv run pytest. - Ouvrir une pull request et fournir une courte description du changement.
Consultez le fichier [CLAUDE.md] pour les directives de contribution.
Feuille de route future
- Prise en charge de plus d’enseignants LLM (OpenAI, Anthropic, Azure OpenAI).
- Intégration avec les API ATS populaires pour un feedback en temps réel.
- Thèmes de style personnalisés.
- Une extension VS Code qui optimise automatiquement votre fichier CV.
Conclusion
HR‑Breaker est une solution puissante et légère pour quiconque souhaite un pipeline de CV alimenté par l’IA sans la complexité des outils commerciaux. Sa combinaison de validation robuste, de traçabilité claire et d’éthique open source le rend idéal pour les chercheurs d’emploi, les recruteurs et les développeurs. Essayez‑le — le code est sur GitHub, l’installation se fait en quelques commandes, et le premier PDF revient en quelques secondes.
Bonne optimisation !