Le défaut principal n’est pas la lenteur
Le recrutement souffre d’un problème de réputation bien identifié : l’absence de réponse. Une majorité de candidats déclarent avoir postulé sans jamais recevoir le moindre retour — pas un refus, rien.
Ce n’est presque jamais de l’indifférence. C’est un processus qui craque. Les candidatures arrivent sur plusieurs canaux, le poste est pourvu, le dossier se referme, et personne ne revient écrire à quatre-vingts personnes.
Le coût est réel et différé. Ces candidats sont aussi des clients potentiels, des prescripteurs, et parfois les candidats du poste suivant. Une entreprise qui ne répond pas le paie en difficulté de recrutement deux ans plus tard.
Le deuxième défaut est la comparabilité. Trente CV en trente mises en page différentes s’évaluent mal : l’attention se porte sur la forme, sur l’ordre de lecture, sur la fatigue du moment. Structurer l’information rend la comparaison plus équitable, indépendamment de tout gain de temps.
Ce qu’on automatise
La collecte multicanale. Site, plateformes d’emploi, courriels, candidatures spontanées.
L’accusé de réception immédiat, avec la mention d’information sur les données et le délai de réponse annoncé.
L’extraction. Expériences, durées, compétences déclarées, formations, mobilité, disponibilité — en fiche structurée à côté du CV d’origine, qui reste consultable.
La vérification des critères objectifs, avec signalement et non élimination.
L’organisation. Une liste lisible, des fiches comparables, la possibilité de lire en mode anonymisé.
Le suivi du processus. Où en est chaque candidature, qui doit agir, depuis combien de temps.
La réponse systématique. Aucune candidature ne se referme sans qu’une réponse soit partie.
La purge à l’échéance de conservation.
Comment ça marche techniquement — pour qui veut le détail
L’extraction. CV en PDF texte lus avec pdfplumber, CV scannés ou exportés en image passés par Tesseract après redressement. Puis extraction structurée par un modèle, avec un schéma strictement défini — et la définition du schéma est le principal garde-fou : les champs age, date_naissance, nationalite, situation_familiale, photo n’existent pas. Une information qui n’a pas de champ où atterrir n’est pas stockée, et ne peut donc pas influencer une décision ni fuiter dans un export.
L’anonymisation pour la première lecture. Nom, prénom, adresse, adresse de messagerie et téléphone sont masqués par des jetons dans une vue dédiée. Les noms d’écoles et d’entreprises précédentes peuvent l’être aussi selon votre politique — ils portent des signaux sociaux forts. Les données ne sont pas supprimées, elles sont masquées à l’affichage, et la levée du masque est journalisée.
La normalisation des compétences. Un référentiel interne relie les variantes — « JS », « JavaScript », « Javascript ES6 » — à une entrée unique. Construit à partir de vos propres offres et candidatures, complété à la main. Sans lui, toute recherche par compétence rate la moitié des dossiers pertinents, ce qui est une forme de tri arbitraire involontaire.
La recherche dans le vivier. Index hybride — lexical tsvector et vectoriel pgvector sur plongements locaux — pour retrouver les candidatures pertinentes à l’ouverture d’un poste. Point essentiel : la recherche remonte des dossiers, elle ne les classe pas par adéquation. La distinction paraît subtile et elle ne l’est pas : un ordre de pertinence affiché est lu comme un classement de personnes, et il produit le même effet qu’une décision automatisée.
Les critères durs. Exprimés en règles lisibles, pas en modèle : permis_b == true, habilitation_x.date_expiration > date_poste. Le résultat est un drapeau attaché au dossier, jamais un filtre appliqué par défaut à la liste. L’interface affiche tous les dossiers, avec les signalements visibles.
La traçabilité. Chaque action est journalisée : qui a consulté quel dossier, quand, quelle décision a été prise et par qui. En cas de contestation — et le droit du travail en produit —, c’est cette traçabilité qui permet de démontrer qu’une décision a été prise par une personne sur des critères explicites.
La purge. Tâche planifiée : suppression ou anonymisation des candidatures dont le dernier contact dépasse la durée de conservation. L’anonymisation conserve les statistiques agrégées — nombre de candidatures par poste et par canal — en supprimant toute identification. L’exécution est journalisée, parce qu’en matière de conformité, faire et prouver qu’on fait sont deux choses distinctes.
Le respect des droits. Accès, rectification, effacement : chaque candidat dispose d’un point de contact et la procédure est outillée, pas improvisée. Un modèle de réponse et une procédure d’extraction des données d’un candidat sont livrés avec le système.
Les rappels de bouclage. Un poste passé à « pourvu » ou « clôturé » déclenche la vérification que chaque candidature a reçu une réponse, et bloque la clôture administrative tant que ce n’est pas le cas. C’est une contrainte volontaire, et c’est elle qui change réellement le comportement.