Qu’est-ce que Dossier ?
Dossier conserve votre parcours professionnel dans un seul profil et en tire, pour chaque poste, un CV et une lettre de motivation sur mesure. Vous collez une offre, ou partez d'une offre trouvée via JSearch, Adzuna ou FreeHire ; l'application lit les exigences, montre celles que votre profil couvre et celles qui manquent, puis rédige les documents dans le ton choisi, avec l'un des douze thèmes et dans 21 langues de document intégrées. Un chat les affine, chaque version est conservée, et un tableau Kanban, une table et un tableau de bord suivent chaque candidature du brouillon jusqu'à l'offre. Un écran Startups liste les startups qui recrutent, à partir des offres d'emploi de YC et du fil mensuel « Who is hiring? » de Hacker News.
Les parties optionnelles restent désactivées tant que vous ne les activez pas : un agent d'emploi quotidien qui note les nouvelles offres et peut préparer des brouillons, mais n'envoie ni ne postule jamais ; une connexion à Gmail et Google Calendar via votre propre client OAuth Google ; et un connecteur MCP qui permet à Claude ou à une autre application MCP de chercher, noter et enregistrer des brouillons. Le modèle est à votre choix : Ollama, llama.cpp ou LM Studio en local, ou toute API compatible OpenAI, Anthropic ou Mistral avec votre propre clé.
C'est une application Next.js 16 et PostgreSQL 18 en TypeScript sous AGPL-3.0, conçue pour un seul utilisateur derrière un seul mot de passe. AienTech a créé le dépôt le 3 octobre 2026 ; il compte environ 3 509 étoiles et 744 forks, avec 19 versions, de la v1.0.0 ce jour-là à la v1.11.0 du 31 octobre 2026. Il n'existe ni édition hébergée ni offre payante ; le site du projet propose l'installation et un lien de parrainage.
Dossier vaut-il le coup ?
La force de Dossier n'est pas la rédaction, mais la tenue des comptes qui l'entoure. Chaque offre est comparée ligne à ligne à un profil unique, les manques sont affichés comme des manques, et chaque CV et chaque lettre garde ses versions, son chat et son statut, si bien que vingt candidatures en un mois restent lisibles. Sa documentation sur la confidentialité est la plus précise que nous ayons lue pour une application auto-hébergée de cette taille : PRIVACY.md liste, tâche par tâche, ce que reçoit un modèle hébergé. Rédiger un CV ou une lettre envoie votre profil sans coordonnées (nom, titre, ville, postes, entreprises, dates, puces, projets, formation et vos propres faits) plus l'offre, lue jusqu'à 20 000 caractères. L'e-mail, le téléphone, l'adresse, la date de naissance, les liens, les références et les notes privées restent à l'écart. L'exception est l'import d'un CV, qui envoie le fichier entier, coordonnées et références comprises.
La promesse de « ne jamais inventer d'expérience » repose sur deux couches, dont une seule est du code. Les prompts demandent au modèle de n'utiliser que les faits du profil ; ensuite, avec Never invent experience activé (par défaut), un fact guard dans fact-guard.ts examine chaque section générée à la recherche de noms en majuscule, de sigles, de nombres, d'années, de pourcentages et de mots comme « certified », et marque « check this » tout ce qui ne figure ni dans le profil, ni dans l'offre, ni dans les faits que vous avez ajoutés. Il signale ; il ne bloque pas. À notre lecture du code, une affirmation vague sans nom ni nombre, comme « led cross-functional teams », passe sans encombre, et comme l'offre elle-même compte comme source, un outil cité par l'offre peut vous être attribué sans alerte. Le guard réduit le risque. La garantie tient toujours à votre relecture de chaque brouillon avant l'envoi.
La connexion Gmail demande à Google gmail.send, gmail.readonly, calendar.freebusy et calendar.events, plus votre adresse. gmail.readonly permet à l'application de lire toute votre boîte ; Dossier ne garde que les fils qu'il a envoyés et le courrier des entreprises auxquelles vous avez postulé, sauf si vous choisissez Every new email, qui envoie aussi à l'IA chaque nouveau message hors Promotions et Réseaux sociaux. Il vérifie le courrier toutes les 10 minutes par défaut et n'envoie rien sans votre confirmation. Vous devez créer votre propre client OAuth dans Google Cloud, passer outre un avertissement d'« application non validée » et publier l'écran de consentement, car Google coupe l'accès en mode test au bout de 7 jours. La recherche d'emploi coûte peu : le plan gratuit de JSearch compte 200 recherches par mois, OpenWeb Ninja affiche ensuite 0,005 $ par requête, Adzuna fournit une clé gratuite valable pour environ 250 par jour, et FreeHire ne demande aucune clé. L'agent d'emploi est limité à trois exécutions par jour et une page de résultats à chaque fois, soit au plus environ 90 recherches JSearch par mois.
Le modèle de sécurité convient mieux à un ordinateur portable qu'à l'internet ouvert. Il y a un seul mot de passe, stocké sous forme de hachage argon2id, sans comptes et sans second facteur décrit, et derrière lui se trouvent votre profil, un éventuel accès en lecture à Gmail et vos clés de fournisseur. Les connexions sont limitées par IP et au total, mais SECURITY.md met en garde contre l'exposition directe du port 3000, car le limiteur se fie à la dernière entrée X-Forwarded-For ; un proxy inverse avec TLS est donc obligatoire, pas facultatif. Utiliser Claude sur le web via le connecteur MCP exige aussi cette adresse HTTPS publique. Le ping d'usage n'est soumis à consentement que depuis la 1.8.0, et une vérification quotidienne des mises à jour auprès de GitHub est activée par défaut.
La maturité est l'inquiétude honnête. Le dépôt a quatre semaines, l'API GitHub recense deux contributeurs et 25 commits sur main, et 19 versions sont sorties depuis le 3 octobre 2026, avec des formats d'export qui ne s'importent pas dans les versions antérieures. Les 744 forks sont nombreux face à 3 509 étoiles, environ un pour cinq, ce qui peut simplement signifier que l'on forke pour auto-héberger. L'AGPL-3.0 vous laisse l'utiliser et le modifier librement pour vous-même ; un coach de carrière qui fait tourner une copie modifiée pour ses clients doit leur proposer le code source, devient responsable du traitement de leurs données au sens du RGPD et a besoin d'un plan d'API FreeHire. Pour la recherche d'une personne sur une machine à la maison avec un modèle local, c'est un outil bien pensé ; comme service exposé à internet, il lui faut plus de blindage qu'il n'en fournit.
Là où il fait la différence
Une product designer senior à Berlin qui postule à 15 à 20 postes par mois
Adapter CV et lettre à chaque offre sans rien inventer
Vous remplissez le profil une fois, collez chaque offre et vérifiez la correspondance et les marques « check this » avant de télécharger les PDF. Avec Anthropic ou OpenAI, le profil et l'offre partent chez ce fournisseur selon les conditions de votre API ; le tableau Kanban et le tableau de bord suivent réponses et entretiens.
Un ingénieur logiciel sous NDA qui refuse d'envoyer son CV à un modèle dans le cloud
Mener toute la recherche sur mon propre ordinateur portable
Vous lancez le fichier Compose avec le profil ai et téléchargez qwen2.5:7b, qui demande environ 6 GB de mémoire. Rien du profil ni des documents ne quitte la machine, mais sur un CPU une nouvelle candidature prend plusieurs minutes au lieu de quelques secondes.
Un abonné Claude Pro qui préfère travailler dans le chat
Demander à Claude de trouver des postes, de les classer selon mon profil et de rédiger le meilleur
Vous activez le connecteur MCP, placez Dossier derrière un proxy HTTPS public et l'ajoutez comme connecteur personnalisé. Les outils de Claude peuvent chercher, noter, lire le profil et enregistrer des brouillons, mais jamais envoyer ni supprimer ; ce que Claude lit part chez Anthropic sous votre compte Claude.
Un jeune diplômé en recherche d'emploi au budget serré
Recevoir chaque matin une courte liste de nouvelles offres sans payer d'API
Vous choisissez FreeHire ou la clé gratuite d'Adzuna, puis définissez une recherche, une heure et un score minimum dans Settings, Job agent. Il tourne une fois par jour, note jusqu'à 15 nouvelles offres par défaut et peut préparer jusqu'à 3 brouillons qui attendent votre validation.
Avant de vous engager
- Mise en route
- Téléchargez compose.production.yml, générez POSTGRES_PASSWORD et DOSSIER_SECRET, hachez un mot de passe avec la commande hash-password de l'image et lancez docker compose up -d. L'image pèse environ 1,7 GB et demande environ 2 GB de mémoire libre ; sur un serveur, la documentation demande 2 vCPU, 2 GB et un proxy inverse avec TLS.
- Intégrations
- Ollama, llama.cpp, LM Studio, toute API compatible OpenAI (OpenRouter, DeepSeek, vLLM), Anthropic et Mistral ; JSearch, Adzuna, FreeHire et une source non officielle de la Bundesagentur für Arbeit ; Gmail et Google Calendar ; un connecteur MCP pour Claude, n8n et d'autres applications MCP ; Jev by TypeSafe pour la notation.
- Données et confidentialité
- Tout est stocké dans votre base PostgreSQL ; les clés et les jetons Google sont chiffrés avec DOSSIER_SECRET ; les sauvegardes nocturnes en JSON brut sont conservées 14 jours par défaut. Un modèle hébergé reçoit votre profil sans coordonnées plus les offres et, si Gmail est activé, les réponses jusqu'à 8 000 caractères. Le ping d'usage demande votre accord ; la vérification quotidienne des mises à jour auprès de GitHub est activée par défaut.
- Coût à grande échelle
- Aucune offre payante. Un petit serveur plus l'usage du modèle : gratuit avec un modèle local, sinon le prix au token de votre fournisseur pour chaque lecture, correspondance, rédaction et notation. Au-delà de 200 recherches par mois, JSearch se paie à l'usage, 0,005 $ par requête ; un coach qui l'héberge pour ses clients a besoin d'un plan d'API FreeHire.
- Limites
- Un seul utilisateur, une seule instance par base, navigateurs d'ordinateur uniquement et interface en anglais. 19 versions en quatre semaines, et un export de la 1.11.0 ne s'importe pas dans les versions antérieures. Le fact guard est lexical et ne fait que signaler. Six tickets ouverts au moment de la rédaction.
Les points forts
- Documentation exacte, tâche par tâche, de ce que reçoit un modèle hébergé
- Le fact guard signale les noms, nombres et diplômes que votre profil n'étaye pas
- Les offres gratuites de recherche suffisent au quotidien, et l'agent ne postule jamais
- Fonctionne entièrement hors ligne avec Ollama ou LM Studio
Les points faibles
- Un seul mot de passe, pas de comptes ni de second facteur décrit
- Le fact guard ne fait que signaler et laisse passer les affirmations vagues et les termes repris de l'offre
- L'accès en lecture à Gmail couvre toute la boîte ; vous devez gérer votre propre client OAuth Google
- Quatre semaines d'existence, deux contributeurs recensés ; ordinateur uniquement, interface en anglais
Idéal pour
Une personne en recherche d'emploi, à l'aise avec Docker, qui veut des CV, des lettres et un suivi des candidatures sur mesure sur une machine à la maison ou un serveur privé, idéalement avec un modèle local.
Dossier : questions fréquentes
- Dossier vaut-il le coup ?
- Dossier est une application de recherche d'emploi d'un soin et d'une documentation inhabituels, dont le contrôle d'honnêteté est un filet utile et non une garantie, et dont les quatre semaines d'existence et le mot de passe unique plaident pour un premier usage à la maison. Nous lui donnons 3.8 sur 5.
- Combien coûte Dossier ?
- Libre et open source (AGPL-3.0), auto-hébergé uniquement. Vous payez votre propre serveur, votre fournisseur d'IA s'il est hébergé et toute API de recherche d'emploi au-delà des offres gratuites (le plan gratuit de JSearch compte 200 recherches par mois ; la clé gratuite d'Adzuna, environ 250 par jour ; FreeHire ne demande aucune clé).
- Quels sont les inconvénients de Dossier ?
- Un seul mot de passe, pas de comptes ni de second facteur décrit; le fact guard ne fait que signaler et laisse passer les affirmations vagues et les termes repris de l'offre; l'accès en lecture à Gmail couvre toute la boîte ; vous devez gérer votre propre client OAuth Google; quatre semaines d'existence, deux contributeurs recensés ; ordinateur uniquement, interface en anglais.
- À qui s’adresse Dossier ?
- Une personne en recherche d'emploi, à l'aise avec Docker, qui veut des CV, des lettres et un suivi des candidatures sur mesure sur une machine à la maison ou un serveur privé, idéalement avec un modèle local.
- Combien coûte Dossier pour une équipe ou en production ?
- Aucune offre payante. Un petit serveur plus l'usage du modèle : gratuit avec un modèle local, sinon le prix au token de votre fournisseur pour chaque lecture, correspondance, rédaction et notation. Au-delà de 200 recherches par mois, JSearch se paie à l'usage, 0,005 $ par requête ; un coach qui l'héberge pour ses clients a besoin d'un plan d'API FreeHire.
- Dossier est-il sûr pour les données de l’entreprise ?
- Tout est stocké dans votre base PostgreSQL ; les clés et les jetons Google sont chiffrés avec DOSSIER_SECRET ; les sauvegardes nocturnes en JSON brut sont conservées 14 jours par défaut. Un modèle hébergé reçoit votre profil sans coordonnées plus les offres et, si Gmail est activé, les réponses jusqu'à 8 000 caractères. Le ping d'usage demande votre accord ; la vérification quotidienne des mises à jour auprès de GitHub est activée par défaut.
Réponses vérifiées le 31 oct. 2026.