đ§© Meetup AFUP Paris â Novembre 2025
le 28 novembre 2025
Validation des documents avec Symfony + IA & décryptage du test technique
Le 27 novembre 2025, lâAntenne AFUP Paris : PHP se rĂ©unissait chez Eleven Labs, au 102 Rue du Faubourg Saint-HonorĂ©, pour un nouveau meetup de la saison 2025-2026. Une soirĂ©e conviviale, technique et rĂ©solument tournĂ©e vers les enjeux actuels du dĂ©veloppement PHP : IA appliquĂ©e Ă Symfony, qualitĂ©, recrutement⊠et un bon moment de networking.
đą Un accueil chez Eleven Labs
Pour cette Ă©dition, Eleven Labs â ESN experte en projets web et mobiles sur mesure, prĂ©sente Ă Paris, Nantes et MontrĂ©al â recevait la communautĂ© au 5á” Ă©tage de ses locaux. Une atmosphĂšre idĂ©ale pour Ă©changer, apprendre et rencontrer dâautres passionnĂ©s du web.
đ€ Introduction & ActualitĂ©s AFUP â PrĂ©sentation dâouverture du meetup
Comme Ă chaque Ă©dition, lâĂ©quipe AFUP Paris a ouvert la soirĂ©e par un mot dâaccueil, des annonces importantes et un tour dâhorizon de lâactualitĂ© PHP et communautĂ©. Voici un rĂ©sumĂ© complet des points prĂ©sentĂ©s.
đââïž đïž Appel Ă Speakers, Sponsors & Lieux dâaccueil
LâAFUP Paris change rĂ©guliĂšrement de speakers, de locaux et mĂȘme parfois de partenaires pour la nourriture et les boissons aprĂšs les talks.
đ Si vous souhaitez :
proposer un sujet,
accueillir un meetup dans vos locaux,
ou sponsoriser lâapĂ©ritif,
vous ĂȘtes les bienvenus ! Il suffit de nous contacter â nous planifions les meetups plusieurs mois Ă lâavance.
đ Programme de Mentorat AFUP : deux volets
LâAFUP dispose de deux programmes de mentorat, tous deux bĂ©nĂ©voles et gratuits :
- Mentorat pour les speakers
Pour celles et ceux qui veulent :
apprendre à préparer un talk,
structurer une présentation,
ou gagner en aisance pour parler en public.
Ce programme est encore mĂ©connu, mais ouvert Ă tous les niveaux. NâhĂ©sitez pas Ă vous inscrire !
- Mentorat PHP
Pour :
les mentorés souhaitant progresser en PHP,
les mentors qui veulent transmettre leurs connaissances.
đ Le lien dâinscription est disponible durant les meetups et sur nos rĂ©seaux.
đïž Les prochains meetups AFUP Paris
Les deux prochaines dates sont déjà fixées :
Mardi 17 dĂ©cembre â chez Acolia
Jeudi 8 janvier â chez Libid
Comme toujours, ces soirées sont gratuites et ouvertes à toutes et tous, dans la limite des places disponibles.
đ Tour dâhorizon des meetups tech parisiens
LâAFUP profite de chaque Ă©dition pour relayer les Ă©vĂ©nements tech voisins. DĂ©but dĂ©cembre, plusieurs meetups auront lieu Ă Paris autour de :
Ruby
Sécurité / AppSec
Angular
Et dâautres communautĂ©s locales
Une belle occasion dâexplorer dâautres Ă©cosystĂšmes et dâĂ©largir son rĂ©seau !
đïž Actus AFUP National đč AFUP Day 2025 â Le 22 mai
LâĂ©vĂ©nement a Ă©tĂ© annoncĂ© le mois dernier. Il se dĂ©roulera dans 24 villes dont : Bordeaux, Lille, Lyon⊠et, pour la premiĂšre fois, Paris !
đ Les inscriptions sont ouvertes. Un QR code Ă©tait affichĂ© : il reste encore quelques places Ă tarif âyeux fermĂ©sâ.
đ Actus PHP PHP 8.5 est sorti !
La nouvelle version est disponible depuis quelques jours :
nouveau site officiel,
améliorations de performance,
nouvelles fonctionnalités bienvenues pour les développeurs.
Résultats du BaromÚtre des Salaires AFUP
Le baromĂštre annuel est paru :
tendances du marché,
fourchettes par rĂŽle,
évolution des salaires PHP en France.
TrÚs utile pour vous situer dans votre progression ou vos négociations.
PHPStan améliore massivement son support
Notamment pour :
les data providers,
dâautres constructions PHP historiquement mal prises en charge.
Une bonne nouvelle pour les projets exigeants en qualité et statique.
đ± RĂ©seaux & communautĂ© LinkTree AFUP
Tous les liens utiles sont regroupĂ©s ici : LinkedIn, Twitter/X, Discord, Slack, MeetupâŠ
Questionnaire de feedback
Un QR code a été présenté pour recueillir vos retours sur la soirée. Ces feedbacks nous aident à améliorer les prochains meetups.
đïž 1. Symfony + IA : validez vos documents avant mĂȘme de les ouvrir !
Intervenante : Marianne Joseph-Géhannin
La soirĂ©e a dĂ©marrĂ© fort avec une prĂ©sentation centrĂ©e sur la prĂ©-validation automatisĂ©e de documents grĂące au combo Symfony + OCR + LLM. Un cas dâusage trĂšs actuel pour les Ă©quipes produit et les plateformes qui manipulent des fichiers hĂ©tĂ©rogĂšnes au quotidien.
Pour cette premiĂšre prĂ©sentation de la soirĂ©e, Marianne a partagĂ© un retour dâexpĂ©rience concret : comment combiner Symfony, lâOCR et les modĂšles de langage (LLM) pour automatiser la prĂ©-validation des documents administratifs â avant mĂȘme quâun humain ne les consulte.
Un sujet pratique, issu dâun vrai besoin client, mĂȘlant IA, qualitĂ© et architecture.
đ€ Qui est Marianne ?
Marianne développe en PHP depuis 2011, avec un parcours qui a traversé Symfony depuis la version 1.4. Elle travaille chez Eleven Labs depuis 2020 et est actuellement en mission au Monde, notamment sur le framework Falcon.
𧩠Le problÚme : des documents à traiter⊠en masse
Le cas dâusage prĂ©sentĂ© provient dâun appel dâoffres pour une sociĂ©tĂ© gĂ©rant les voyages scolaires et sĂ©jours de vacances.
Chaque dossier nécessite de nombreux documents :
carte dâidentitĂ©,
passeport,
certificat,
justificatifs diversâŠ
Pour les équipes opérationnelles, la vérification manuelle représente :
une charge chronophage,
un risque dâerreur,
un traitement Ă faible valeur,
et une grosse variabilité dans la qualité des documents fournis.
đŻ Objectif du projet : Ă©liminer automatiquement les documents incorrects afin que les opĂ©rateurs ne traitent que les dossiers rĂ©ellement valides.
đ§° Les trois piliers techniques du projet
Marianne a construit sa solution avec trois briques principales :
- Symfony + Symfony-AI
La nouvelle initiative Symfony AI offre :
une intĂ©gration native des LLM dans lâĂ©cosystĂšme Symfony,
des clients pour les modĂšles de langage,
la vectorisation intégrée,
un âAI Platformâ pour simplifier lâusage des providers.
Dans ce projet, Marianne a surtout utilisé :
lâintĂ©gration ChatGPT via Symfony-AI Platform,
une premiĂšre approche de vectorisation pour structurer des rĂšgles.
- LâOCR avec Tesseract
Les documents fournis sont souvent des images (scans, photos, PDF non structurĂ©s). LâOCR est donc essentiel pour extraire du texte exploitable.
Fonctionnement :
nettoyage (contraste, dĂ©bruitageâŠ),
détection des zones textuelles,
reconnaissance des caractĂšres,
production d'un texte brut.
Marianne utilise Tesseract via :
un client HTTP,
un Docker local,
une interface abstraite pour changer dâOCR si besoin.
- Un LLM pour interpréter et classifier les documents
Une fois le texte extrait, un LLM analyse :
de quel type de document il sâagit,
si les informations attendues sont présentes,
si le document est cohérent.
Marianne a testé plusieurs modÚles :
ChatGPT â fonctionnement parfait
LLama, Qwen⊠via Ollama en local â limitations (temps de rĂ©ponse, qualitĂ©, contraintes matĂ©rielles)
Elle a constatĂ© : âĄïž des rĂ©ponses imprĂ©visibles ou inexploitables en local âĄïž un manque de puissance hardware âĄïž des problĂšmes de timeout
Résultat : pour ce POC, ChatGPT a été le modÚle le plus fiable.
đ Le prompt utilisĂ©
Le prompt est volontairement simple :
fournir la liste des types de documents possibles (CI, passeport, fiche de sĂ©jourâŠ)
donner le texte extrait par lâOCR
demander une réponse strictement en JSON
Ce formalisme JSON garanti la possibilité de :
valider la structure,
typer les résultats,
enregistrer en base.
ChatGPT a systĂ©matiquement respectĂ© le format â ce qui n'a pas Ă©tĂ© le cas des modĂšles locaux.
đ Architecture du traitement (pipeline)
Voici le pipeline complet :
đ€ Envoi du fichier via une commande Symfony (pas de formulaire pour le POC).
đ§ OCR Tesseract â extraction du texte.
đŹ LLM â analyse, classification, validation.
đïž Enregistrement en base du rĂ©sultat, pour exploitation par les opĂ©rateurs.
â Si un document ne correspond pas Ă son type attendu â rejet + message explicatif.
Lâapproche MVC sâappuie sur :
un DTO pour les données,
un handler,
des services spécifiques (OCR, IA, storage),
un design modulaire pour remplacer des composants selon les besoins.
đ„ DĂ©monstration
Marianne a montré plusieurs documents utilisés :
une carte dâidentitĂ©,
un passeport,
une affiche âRĂ©publique Françaiseâ (pour tester la robustesse),
Et lâoutil a su :
reconnaĂźtre le bon document dans les cas simples,
rejeter les faux positifs dans les cas ambigus.
đ§Ș Limitations & apprentissages â Trouver le bon modĂšle IA
Les modÚles locaux (via Ollama) ont montré leurs limites : performance, incohérences, difficulté à respecter le format JSON.
ChatGPT sâest avĂ©rĂ© beaucoup plus fiable.
â GĂ©rer le timeout
Plusieurs essais pour stabiliser le temps de réponse.
RĂ©glages de tempĂ©rature, contraintes de sortieâŠ
Parfois nécessité de patcher directement dans le code du moteur local.
â La documentation
Symfony-AI â trĂšs bonne doc
OCR / Tesseract â plus spartiate
LâIA nâaide pas toujours Ă comprendre ce quâon ne maĂźtrise pas encore !
â RGPD et sĂ©curitĂ©
Impossible dâenvoyer des documents sensibles Ă un provider externe dans un contexte rĂ©el. DâoĂč lâintĂ©rĂȘt dâun traitement local â mais cela nĂ©cessite un matĂ©riel adaptĂ©.
đ Ce que ce POC dĂ©montre
âïž LâIA peut apporter une vraie valeur mĂ©tier dans la validation documentaire âïž Le pipeline Symfony â OCR â LLM est parfaitement rĂ©alisable âïž Les opĂ©rateurs gagnent du temps en se concentrant sur les vrais cas âïž LâintĂ©gration Symfony-AI simplifie fortement ces processus
Mais aussi :
â ïž LâIA nâest pas magique : il faut Ă©valuer la pertinence, la charge de travail et les coĂ»ts. â ïž Il ne faut pas sous-estimer lâeffort nĂ©cessaire pour rendre un pipeline IA fiable et exploitable.
đ Conclusion
Ce projet illustre parfaitement comment Symfony + IA peuvent rĂ©soudre des problĂšmes trĂšs concrets, en automatisant des tĂąches jusque-lĂ manuelles. Un usage pragmatique, mesurĂ© et intelligent de lâIA, loin du buzzword â et parfaitement applicable Ă dâautres secteurs.
Merci Ă Marianne pour ce partage riche et clair !
đïž 2. Le test technique : utile, inutile ou contre-productif ?
Intervenante : Jeanne Londiche
Le second talk a plongé dans un sujet parfois sensible mais crucial : le test technique en recrutement. Utile ? Pas toujours. Mal calibré ? Souvent. Contre-productif ? Parfois.
đĄ Ce qui a Ă©tĂ© explorĂ© :
Ce que le test technique mesure⊠et ce quâil ne mesure pas
Les biais les plus fréquents
Lâimpact sur le stress, la communication, la confiance
Comment un test révÚle la logique et la curiosité, pas seulement le code
Quelles alternatives envisager pour un recrutement plus juste et efficace
Ăchanges interactifs avec lâaudience : retours, anecdotes, bonnes pratiques
Une intervention qui pose les bonnes questions et aide candidats comme recruteurs Ă mieux utiliser (ou repenser) cet outil.
Parfait, on continue dans la mĂȘme veine que pour Symfony+IA đ Voici une réécriture propre, structurĂ©e et exploitable en article de blog pour la prĂ©sentation de Jeanne sur les tests techniques.
đïž Talk : Le test technique â utile, inutile ou carrĂ©ment contre-productif ?
Par Jeanne Londiche
Pour le second talk de la soirĂ©e, Jeanne a proposĂ© une confĂ©rence interactive autour dâun sujet que beaucoup de dĂ©veloppeurs connaissent bien (et parfois redoutent) : đ le test technique dans les processus de recrutement.
Objectif :
- faire le tour des différents types de tests,
- partager des retours dâexpĂ©rience concrets,
- interroger ce qui est vraiment évalué,
- et questionner : âEst-ce que ça aide vraiment Ă mieux recruter⊠ou pas ?â
đ€ Qui est Jeanne ?
Jeanne se présente :
- Elle anime un job board open source autour du recrutement (hébergé sur GitHub).
- Elle a grandi en Angleterre et y vit depuis 2013.
- Elle est spécialisée en recrutement PHP depuis 2011.
Avec plus dâune dĂ©cennie dâexpĂ©rience, elle a vu passer toutes sortes de tests techniques, cĂŽtĂ© candidats comme cĂŽtĂ© entreprises.
đ§Ș Les grandes familles de tests abordĂ©es
Jeanne structure sa présentation autour de plusieurs approches :
- QCM / questionnaires en ligne
- Test âmaisonâ / applicatif (dĂ©velopper une petite appli)
- Test dâalgorithme
- Test de refactoring
- Pair-programming
- Entretien technique âconversationnelâ
La confĂ©rence se concentre surtout sur trois formats trĂšs frĂ©quents : đ le QCM, le test maison, et le refactoring, avec beaucoup dâexemples concrets.
1ïžâŁ Les QCM techniques : rapides mais trĂšs thĂ©oriques
Les QCM sont souvent proposĂ©s via des plateformes spĂ©cialisĂ©es. Jeanne interroge la salle : âQui a dĂ©jĂ passĂ© un QCM technique ? Est-ce que vous aimez ça ?â RĂ©ponse quasi unanime : non.
â Les points positifs :
- Rapides Ă corriger.
- Utiles pour une premiĂšre vague de tri sur un grand volume de candidats.
- Donnent un cĂŽtĂ© âobjectivableâ au process (scores, seuils, etc.).
â Les limites majeures :
- TrĂšs thĂ©oriques, souvent dĂ©connectĂ©s du quotidien rĂ©el dâun dĂ©veloppeur.
- Dépendent énormément de la façon dont les questions sont rédigées.
- Peuvent exclure de bons profils qui nâont pas la âbonneâ dĂ©finition en tĂȘte, mais qui sauraient parfaitement rĂ©soudre le problĂšme en contexte rĂ©el.
- Favorisent ceux qui rĂ©visent le âpetit livre de recettesâ plutĂŽt que ceux qui ont de la curiositĂ©, de la pratique et du bon sens.
En rĂ©sumĂ© : âĄïž utile pour filtrer grossiĂšrement âĄïž trĂšs insuffisant pour juger de la vraie valeur dâun·e dĂ©veloppeur·se.
2ïžâŁ Le test maison / applicatif : concret, mais souvent chronophage
Le test maison (ou applicatif) consiste Ă dĂ©velopper une petite application ou fonctionnalitĂ© âcomme en vraiâ :
- Ă faire chez soi,
- parfois avec un temps limite,
- parfois âĂ rendre quand câest prĂȘtâ.
Dans la salle, plusieurs personnes témoignent : certains y ont passé 12 à 15 heures pour un seul test.
â Les points positifs :
-
Se rapproche davantage de la réalité du travail.
-
Permet de voir :
- la structuration du code,
- les choix dâarchitecture,
- la gestion des tests,
- la documentation,
- voire un petit mail de synthĂšse (âavec plus de temps, jâaurais faitâŠâ), qui est souvent aussi important que le code rendu.
-
Laisse une marge dâexpression personnelle (choix techniques, organisation du projet, etc.).
â Les gros inconvĂ©nients :
-
Peut ĂȘtre trĂšs long : plusieurs soirĂ©es ou un week-end entier.
-
TrÚs souvent non rémunéré, surtout pour des postes seniors.
-
Risque dâexploitation :
des entreprises utilisent parfois ces tests pour faire avancer leur propre produit sans jamais embaucher.
-
Beaucoup de développeurs expérimentés refusent désormais ces tests :
âCâest mon mĂ©tier, je suis payĂ© pour produire du code ; mon expĂ©rience et mon CV parlent pour moi.â
Et surtout : đ„ Le manque de feedback est systĂ©matiquement citĂ© comme un gros problĂšme. Les candidats passent des heures dessus, et reçoivent au mieux un :
âDĂ©solĂ©, nous ne poursuivons pas le process.â sans comprendre ce qui a coincĂ©.
đŹ Feedback : indispensable⊠et trop souvent absent
Jeanne insiste sur un point : đ un test technique sans feedback est une occasion manquĂ©e des deux cĂŽtĂ©s.
-
Pour le candidat :
- câest frustrant,
- impossible de savoir ce qui était attendu,
- impossible de progresser.
-
Pour lâentreprise :
-
cela donne une mauvaise image du process,
-
les candidats en tirent souvent la conclusion :
âSi mĂȘme le test est mal gĂ©rĂ©, ai-je vraiment envie de travailler avec eux ?â
-
La salle confirme : plusieurs personnes racontent avoir eu :
- des remarques floues du style âpas assez poussĂ©â sans explication,
- ou aucun retour du tout.
Jeanne rappelle aussi que le test technique teste autant la boĂźte que le candidat. Un process brouillon, opaque ou irrespectueux est un signal de non-match.
3ïžâŁ Test de refactoring : un format souvent plus rĂ©vĂ©lateur
Jeanne Ă©voque ensuite un format de test quâelle apprĂ©cie particuliĂšrement : đ le test de refactoring, parfois prĂ©sentĂ© comme un kata.
Principe :
-
On fournit un code existant, parfois trĂšs âlegacyâ ou volontairement bancal.
-
On demande au candidat dâexpliquer :
- ce quâil ferait,
- par oĂč il commencerait,
- quelles parties il refactoriserait et pourquoi,
- comment il amĂ©liorerait la lisibilitĂ©, lâarchitecture, les tests.
Parfois, ce test se fait :
- en pair-programming,
- ou en entretien, sur la base dâun extrait de code projetĂ©.
â Pourquoi ce format peut ĂȘtre trĂšs intĂ©ressant :
-
Il se rapproche beaucoup de la réalité de nombreuses missions (on travaille rarement from scratch).
-
Il permet de voir :
- la capacité analytique,
- la compréhension des enjeux métier,
- la gestion du legacy,
- la communication technique.
-
Il facilite un vrai échange : on peut creuser les choix, discuter, challenger.
Mais lĂ encore, la qualitĂ© de lâexercice dĂ©pend :
- de la clarté des consignes,
- de la prĂ©sence ou non dâun dĂ©brief structurĂ© ensuite,
- et de la façon dont le temps est géré (timer explicite ou implicite).
đ€ Et lâIA dans tout ça ?
La question est posĂ©e : âEst-ce que lâIA va tout changer pour les tests techniques ?â
Jeanne répond :
-
Pour lâinstant, pas vraiment : les process ne sont pas encore massivement adaptĂ©s.
-
Mais comme lâIA modifie dĂ©jĂ notre quotidien de dĂ©veloppeur, il serait logique quâelle modifie aussi :
- les formats de tests,
- ce quâon Ă©value (capacitĂ© Ă utiliser des outils, pas seulement Ă tout faire âĂ la mainâ).
On se dirige probablement vers des tests oĂč lâon apprĂ©cie autant :
- la capacité à modéliser un problÚme,
- quâĂ savoir sâappuyer intelligemment sur des outils (dont lâIA).
đ§ Ce que Jeanne invite Ă retenir
Il nâexiste pas de test technique parfait. Mais on peut se poser les bonnes questions :
Pour les entreprises :
- Que voulons-nous vraiment mesurer ?
- Est-ce que ce test ressemble à la réalité du poste ?
- Respectons-nous le temps des candidat·es ?
- Donne-t-on un feedback digne de ce nom ?
Pour les développeurs :
- Quâest-ce que ce test me dit de la culture de la boĂźte ?
- Est-ce que je veux vraiment travailler dans un environnement qui recrute de cette maniĂšre ?
- Est-ce que le process me donne de lâenvie⊠ou des signaux dâalarme ?
En fin de compte, le test technique devrait ĂȘtre :
un outil de rencontre, pas une épreuve de torture.
đ€ Un meetup ouvert Ă tous
Comme toujours avec lâAFUP, la soirĂ©e Ă©tait ouverte Ă toutes et tous : dĂ©butants, juniors, seniors, tech leads, indĂ©pendants ou curieux. Un objectif simple : partager des connaissances, dĂ©mystifier des concepts et crĂ©er du lien.
La participation Ă©tant gratuite mais les places limitĂ©es, lâĂ©vĂ©nement affichait une belle dynamique et un public engagĂ©.
đŻ Pourquoi ces sujets comptent ?
LâIA continue d'impacter fortement nos applications PHP et Symfony
La qualité documentaire et la validation sont des problématiques réelles en production
Le recrutement tech et ses méthodes évoluent, parfois trop lentement
Les meetups jouent un rĂŽle essentiel : casser les silos, partager lâexpĂ©rience et rester Ă jour
đ Rendez-vous au prochain meetup
LâAntenne AFUP Paris continue son programme 2025-2026 avec de nouveaux sujets, de nouveaux speakers et toujours le mĂȘme esprit : partager, apprendre, faire avancer la communautĂ© PHP.