Cas · exigence · attendu · obtenuRéférence 2026-08
01Développement d'applications web avec React et Next.jsGénération actuelle d'anecdotrip, en production.
couvert— 02Conception et maintenance d'API REST côté Node.jsTrois ans en entreprise, puis les API routes d'anecdotrip.
couvert— 03Mise en production avec Docker et intégration continue GitLabChaîne de déploiement d'anecdotrip, en service.
couvert— 04Administration de serveurs Linux et supervision en productionExploitation d'anecdotrip, tenue seul.
couvert— 05Développement back-end en PHP avec le framework SymfonyCompétence réelle, mais dernier usage en production en 2017. Le plafond doit mordre ici : c'est le cas qui prouve que la règle fonctionne contre l'intérêt du candidat.
date— 06Développement d'interfaces avec Vue.jsCompétence réelle — une application chez ASAP puis la deuxième génération d'anecdotrip — mais dernier Vue écrit à l'été 2021, quand j'ai commencé la réécriture en Next.js. Le plafond mord. C'est aussi le cas qui a fait descendre le seuil de 5 à 4 ans : mes dates d'avant 2024 sont reconstruites à partir des versions de frameworks employées, donc justes à quelques mois près, et un seuil qui bascule à l'intérieur de cette marge ne mesure que ma mémoire.
date— 07Modélisation et requêtes sur base PostgreSQLSérie d'API REST en Node.js sur PostgreSQL, jusqu'en septembre 2025. Attention : le projet exchange-rates tourne sur SQLite, pas PostgreSQL — le corpus le dit.
couvert— 08Orchestration de conteneurs avec Kubernetes et HelmJamais mis en production. Aucun extrait ne doit être trouvé.
hors— 09Développement d'applications mobiles natives en Swift ou KotlinAucune expérience. Piège classique : le corpus parle de PWA, la similarité peut confondre.
hors— 10Entraînement et réglage fin de modèles de machine learningJe consomme des modèles, je n'en entraîne pas. Piège le plus dur du jeu : le corpus est plein de vocabulaire IA.
hors— 11Développement back-end en Java avec Spring BootAucune expérience Java.
hors— 12Mise en conformité d'accessibilité web selon les critères WCAGChantier d'accessibilité d'anecdotrip, mené à terme et vérifié en production.
couvert— 13Conception et exposition d'API GraphQL pour des clients mobilesAucune réalisation GraphQL : les dossiers d'exercices correspondants sont vides. Le corpus n'en dit rien du tout, et c'est volontaire — une phrase du type « je n'ai pas de réalisation GraphQL » serait citée comme preuve, la similarité ne comprenant pas la négation. Le refus vient du lexique : GraphQL est un nom connu, absent de mes étiquettes.
hors— 14Encadrement technique et revue de code d'une équipe de cinq développeursCas adverse. J'ai travaillé DANS une équipe de cinq, je n'en ai jamais encadré une. Le corpus contient la phrase « équipe de cinq » : la similarité doit être tentée de conclure l'inverse.
hors— 15Astreinte de nuit et gestion d'incidents en production 24/7Cas adverse. J'exploite un site en production et je traite ses incidents, mais je n'ai jamais tenu d'astreinte organisée. Le vocabulaire est presque identique.
hors— 17Travail en équipe agile, rituels Scrum, JiraCas trouvé en REGARDANT le produit tourner, pas en écrivant des tests : agile et jira sont dans le corpus, mais aucun extrait ne les démontre assez directement pour dépasser le seuil, et le système répondait « hors tolérance » — il se sous-vendait. Deux règles se composent ici : le plancher lexical relève le verdict à « partiel », puis le plafond d'ancienneté le redescend à « daté », parce que ma seule pratique en équipe agile date de l'ESN, 2017-2019. J'attendais « partiel » ; le système avait raison et moi tort.
date— 18Développeur Full Stack JavaScript — CDI, ParisCe n'est pas une exigence, c'est l'intitulé du poste. Le relevé doit l'écarter. Avant correction, il ressortait « hors tolérance » : le site répondait au recruteur que je ne suis pas développeur full stack JavaScript. Mon jeu d'éval ne pouvait pas l'attraper puisqu'il ne contenait que des exigences déjà propres.
ignore— 19Maîtrise de TypeScript, JavaScript, HTML et CSSTrouvé en collant une vraie annonce : le système répondait « partiel » sur les langages que j'utilise tous les jours. Le moteur avait raison de ne pas les revendiquer — le corpus contenait une fiche pour React, une pour Vue, une pour PHP, et aucune pour JavaScript, TypeScript, HTML ou CSS. Trop évidents pour avoir été écrits. Le défaut était dans le corpus, pas dans la règle.
couvert— 20Intégrer les applications front-end avec des API REST, des services backend, des systèmes d'authentification et des services d'IATrouvé sur la même annonce : le verdict tombait à « daté ». Plusieurs extraits prouvent ce point — l'ESN de 2016 à 2019, mais aussi anecdotrip avec Node et Express jusqu'à la migration de 2026. Le moteur citait celui dont la similarité était la plus haute au millième près, donc l'ESN, et le plafond d'ancienneté le déclassait ensuite. Règle ajoutée : à preuves équivalentes, citer la plus récente.
couvert— 21Développer des consoles d'administration et des portails de publicationTroisième trou de corpus de la même famille, et le plus coûteux : anecdotrip EST une console d'administration doublée d'un portail de publication — éditeur, brouillon/publié, médias, modération, mise en avant — et le corpus n'en disait rien. Il décrivait mes stacks et mes règles d'ingénierie, jamais ce que le produit est. Sur cette annonce c'était ma meilleure correspondance, et le site répondait « hors tolérance ».
couvert— 22Concevoir des composants réutilisables et contribuer à l'évolution des Design SystemsQuatrième trou de la même famille : jetons de couleur en source unique suivie jusque dans les e-mails, sérialiseur unique imposé à toutes les listes, barres d'action de onze formulaires extraites en un composant, règles de combinaison des marqueurs. Rien n'était dans le corpus, qui parlait de stacks et de règles d'ingénierie mais pas d'interface.
couvert— 23Partage de vos apprentissages avec l'équipe et force de proposition techniqueCas de PORTÉE, pas de couverture : « hors tolérance » est ici la bonne réponse. Une attente de comportement ne se démontre pas avec un corpus de réalisations passées, et un moteur de similarité n'a pas à en décider — la page d'analyse le dit maintenant explicitement. Ce cas a aussi produit la règle la plus contre-intuitive du projet : ma première fiche contenait la réserve « je n'ai jamais encadré d'équipe », et la similarité s'en est servie comme PREUVE d'encadrement, ce qui a fait remonter l'attribution abusive à 4,3 %. Une similarité sémantique ne comprend pas la négation. Le corpus ne contient donc que des affirmations positives ; ce qu'il ne contient pas EST la réponse.
hors— 24Proposer une nouvelle architecture logicielle adaptée aux besoins fonctionnels et techniques du projetLe trou le plus coûteux trouvé jusqu'ici : le corpus racontait quatre réécritures comme des faits, jamais comme des décisions d'architecture. Or la quatrième génération consiste précisément à avoir proposé et exécuté la suppression d'un service entier.
couvert— 25Concevoir et participer à la migration et au redéveloppement de briques applicatives selon le nouveau découpageMême trou : passage de deux services à un seul, intégration des routes d'API au framework, migration des briques concernées.
couvert— 26Veiller à la qualité du code, aux bonnes pratiques de développement et à la rédaction des documentations techniquesExigence composée de trois choses que je fais, et qui ressortait « hors tolérance » faute d'un extrait qui les tienne ensemble : seuils de couverture qui ne redescendent jamais, audit de dépendances bloquant, documentation tenue avec le code.
couvert— 27Mettre en place des tests unitaires et d'intégration pour valider la bonne évolution logicielle5 183 tests dont 2 861 unitaires et 1 775 d'intégration, couverture 89,6 % / 91,4 %. Ressortait « partiel » par dilution : depuis que vingt-deux fiches portent le tag « tests », plus aucune ne se détache.
couvert— 28Connaissance des architectures modernes : API REST, micro-services, conteneurisationCas où « partiel » est le verdict JUSTE et ne doit pas être « corrigé » : API REST et conteneurisation, oui, en production. Micro-services, non — j'ai tenu deux services et j'en suis revenu à un seul, ce qui n'est pas la même chose. Une exigence composée dont je couvre deux tiers doit se voir répondre deux tiers.
partiel— 29Nous recherchons un profil senior sur React pour faire évoluer nos applications webAngle mort systématique, trouvé sur une annonce réelle : le système lisait « React », trouvait le tag, et rendait « couvert » en ignorant purement et simplement le mot « Senior ». Il répondait à une version rétrécie de la demande. Le niveau fait partie de l'exigence, et aucune entrée de mon corpus ne le porte — ni n'en portera : je ne m'auto-attribue pas un niveau, c'est au lecteur d'en juger. Trois ans en entreprise, rien en équipe depuis 2019.
partiel— 30Développer et tester les fonctionnalités de la plateforme de services en ligneLe cœur même du métier ressortait « hors tolérance ». Cause : mes formes de lexique étaient des groupes nominaux — « tests unitaires », « conception technique » — alors que les annonces écrivent des verbes : « développer », « tester ». Défaut de dictionnaire, pas de règle.
couvert— 31Analyser les besoins et concevoir les solutions techniquesMême cause : j'avais enregistré « recueil du besoin » et « conception technique », le recruteur écrit « analyser les besoins » et « concevoir les solutions techniques ».
couvert— 32Développer des applications mobiles natives en SwiftCas de contrôle, ajouté en même temps que la notion large « développement » : il vérifie qu'une notion connue ne neutralise PAS le refus d'une technologie inconnue. Sans la distinction technologie / notion, ce cas basculerait en « couvert » et l'élargissement du lexique deviendrait dangereux.
hors— 33Développeur applicatif — renfort sur une plateforme existanteDeuxième forme d'intitulé de poste, trouvée en test : celle-ci ne porte ni type de contrat ni lieu, donc le premier filtre ne l'attrapait pas, et elle recevait un verdict. Un intitulé commence par un nom de métier ; une exigence commence par un verbe — « Développer » n'est pas « Développeur ». La règle ne vaut que pour la première ligne relevée, pour ne jamais écarter une vraie exigence.
ignore— 16Migration progressive d'une application Angular vers ReactExigence composée : elle nomme une techno que j'ai (React) et une que je n'ai pas (Angular). Le refus déterministe ne se déclenche pas, puisqu'une techno connue est nommée — mais la moitié du travail m'échappe, donc « couvert » serait faux. Un plafond interdit désormais « couvert » dès qu'une part de l'exigence est hors corpus. C'est prudent et grossier : une exigence couverte à 90 % reçoit le même verdict qu'une couverte à moitié.
partiel— Verdicts attendus figés à la date de référence. Le plafond d'ancienneté étant relatif à aujourd'hui, une compétence encore fraîche ici basculera d'elle-même en « daté » avec le temps — c'est le comportement voulu, pas une régression.