Aller au contenu principal
Werin Group

Werin Sourcing — Recrutement augmenté par IA

Une plateforme interne qui enrichit l'ATS de Werin Group avec extraction de CV et matching poste-candidat pilotés par IA.

Direction technique (projet d'équipe)

Angular Node.js Express MySQL Gemini AI Groq
5 617
CV utilisés pour l'entraînement
0,795
Score F1 (données de test)
9
Bugs de production corrigés

Le défi

Werin Group, cabinet de recrutement marocain, gère son sourcing via l'ATS BoondManager, mais deux tâches restaient chronophages et peu fiables une fois faites à la main : classer chaque CV par domaine de spécialité et calculer les années d'expérience réelles d'un candidat, puis, pour chaque poste ouvert, retrouver rapidement les profils pertinents parmi un vivier de plusieurs milliers de CV. Saad devait concevoir un outil interne capable de fiabiliser ce sourcing sans remplacer Boond ni bousculer les habitudes des recruteurs, tout en assumant les contraintes d'un hébergement mutualisé sans accès root ni SSH.

La solution

Sous la direction technique de Saad, une équipe a construit Werin Sourcing, une plateforme composée de plusieurs services Node.js/Express indépendants (passerelle Boond, extracteur de CV, moteur de sourcing) et d'un frontend Angular 19. Le socle aujourd'hui opérationnel couvre :

  • extraction automatique du domaine de spécialité (classifieur affiné) et des années d'expérience (moteur déterministe) à partir du texte brut des CV déjà stockés dans Boond, avec réécriture dans Boond après validation
  • un traitement de fond (« bootstrap ») pour recalculer ces champs sur l'ensemble du vivier existant, avec pause/reprise, suivi des coûts et une interface d'administration de relecture avant toute écriture
  • pour chaque poste ouvert dans Boond, un filtrage strict par domaine/expérience puis un classement des candidats par pertinence de mots-clés, complété par une grille de critères générée par IA à partir de la description de poste en texte libre

Les étapes suivantes du produit — recherche sémantique par embeddings, automatisation de la prise de contact, génération de dossiers candidats — sont documentées mais pas encore construites.

Les résultats

Le classifieur de domaine a été entraîné sur 5 617 CV réels exportés de Boond (répartis en jeux d'entraînement, de validation et de test), avec un score F1 micro-moyen de 0,795 sur les données de test et un temps d'inférence d'environ 136 ms par CV. Le moteur d'extraction d'expérience traite 3 254 CV en 19,7 secondes et a été validé à 300 correspondances exactes sur 300 face à une implémentation Python de référence — la comparaison à l'ancien champ d'expérience de Boond a en revanche été jugée non concluante, ce champ s'étant lui-même révélé incohérent, un constat assumé plutôt que maquillé. La plateforme est déployée sur un hébergement mutualisé réel sous le nom de domaine de Werin Group, mais son usage quotidien effectif par les recruteurs n'est pas encore établi à ce stade.

Méthodologie et gestion de projet

Un audit de code et de spécifications daté a directement contredit le suivi de projet interne, qui affichait 95 % d'avancement sur la première phase : l'audit a établi qu'un module marqué « terminé » signifiait en réalité « codé isolément », pas « branché et fonctionnel de bout en bout », et a recensé une dizaine de bugs concrets cassant le pipeline. Plutôt que d'ignorer ce constat, l'équipe l'a documenté et corrigé. Le déploiement réel sur l'hébergement mutualisé a lui-même généré un rapport d'incident détaillant 9 bugs de production concrets (conflits de dépendances, décalages de schéma, double préfixage d'URL, contournement d'authentification), tous corrigés et documentés — une discipline de vérification systématique plutôt qu'une mise en production silencieuse.

Architecture technique et performance

Le calcul des années d'expérience reposait initialement sur un modèle de langage local (Ollama, Qwen2.5-3B), abandonné après des blocages répétés en charge et des erreurs de raisonnement bien identifiées (absence de date de fin interprétée comme « aujourd'hui », ajoutant des années fictives ; stages comptés comme expérience professionnelle). Il a été remplacé par un moteur déterministe d'analyse de dates, des centaines de fois plus rapide et parfaitement reproductible. Côté classification, plutôt que de fusionner des catégories proches, la plateforme autorise un CV à porter plusieurs étiquettes de domaine à la fois, et fait volontairement taire les classes à faible confiance vers une file de relecture manuelle plutôt que de deviner. L'architecture cible prévoyait Redis, Qdrant et une inférence locale sur VPS ; les contraintes réelles de l'hébergement mutualisé ont conduit à les écarter explicitement pour la version actuellement déployée.

Accélération IA des Équipes

Questions fréquentes sur ce type de mission

Vous avez un projet similaire ?

Contactez-moi pour en discuter.

Discuter sur WhatsApp