AFUP Day 2026

Dev, cloud & sécu22 mai 2026Bordeaux, Lille, Lyon, Paris, Ynov Campus (Bordeaux), Théâtre de la Comédie (Lille), CPE (Lyon), ESGI (Paris)

Quatre villes le même jour (vendredi 22 mai 2026), une track par ville : ~10 talks à Bordeaux, Lille, Lyon et Paris. Retour de l'AFUP Day à Paris. Pas de captation vidéo publiée.

Une journée PHP très pragmatique dans quatre villes : qualité (PHPStan, mutation testing, Closed-by-Default), architecture (FrankenPHP, Kafka, OpenSearch) et une IA qui entre dans l'écosystème par Symfony AI, les patterns d'agents et le pair programming assisté, sans prendre toute la place.

22 sessions résumées · mise à jour le vendredi 25 septembre 2026

Sources lues et limites de cette synthèse

Corpus : Programmes officiels des quatre villes, bilan officiel de l'AFUP (26/05/2026, fréquentation par ville) et trois contenus d'entreprises ou de speakers : comptes-rendus JoliCode pour Paris (26/05/2026, 10 talks, 5 auteurs) et Les-Tilleuls.coop pour Lille (27/05/2026, 9 talks, par Alex Guyot), article ACSEO sur son talk à Lyon, plus les slides Speaker Deck de Vincent Amstoutz (Bordeaux). Recherche de posts LinkedIn, Joind.in et YouTube menée le 25/09/2026 sans autre résultat.

Limites : Les posts LinkedIn trouvés sont tous des annonces antérieures à l'événement (CFP, complet) : aucun retour participant individuel publié n'a été trouvé. Bordeaux et Lyon ne sont documentés que par une session chacune, à travers les contenus des speakers eux-mêmes (slides, blog de l'employeur). Les deux comptes-rendus viennent aussi d'entreprises dont un membre est speaker (JoliCode, Les-Tilleuls) et sont uniformément positifs. Pas de vidéo publiée, et aucun talk ni commentaire sur Joind.in. Les titres des sessions sont préfixés par la ville.

Synthèse globale

1. Quatre journées, un même format communautaire

Le 22 mai 2026, l'AFUP a organisé quatre AFUP Day en parallèle : Bordeaux (Ynov Campus), Lille (Théâtre de la Comédie), Lyon (CPE) et Paris (ESGI), avec environ dix talks par ville sur une seule track. Le bilan officiel de l'AFUP compte plus de 460 personnes : ~220 à Lyon, ~90 à Lille (~100 selon Les-Tilleuls), ~80 à Paris (complet trois mois avant) et ~75 à Bordeaux. JoliCode salue une ambiance « conviviale et studieuse », une organisation « impeccable » et le plaisir de retrouver l'événement à Paris. Les-Tilleuls souligne le rôle des bénévoles et appelle à soutenir l'association.

2. La qualité logicielle, fil rouge des deux comptes-rendus

Les sessions qui marquent le plus les auteurs relèvent de la qualité au sens large. À Paris, Weglot mesure son investissement qualité par le taux de hotfix et assume un usage non dogmatique de PHPStan. Imen Ezzine supprime les mocks d'API externes grâce à des enregistrements HAR (PR proposée pour Symfony 8.2), et Smaïne Milianni rappelle les règles de base des exceptions. À Lille, Yannick Chenot défend le « Closed-by-Default » qui rend l'analyse statique plus efficace, et Romain Canon place le mutation testing au-dessus de la couverture. Deux villes différentes arrivent au même constat : la rigueur du code et des tests conditionne l'efficacité de l'outillage. Les contenus publiés par les speakers de Bordeaux et Lyon prolongent ce fil : Vincent Amstoutz (slides) fait des migrations une hygiène quotidienne outillée par Renovate, composer audit et Rector, et Steven Le Texier (article d'ACSEO, son employeur) plaide pour une « culture Git » dont la rigueur faciliterait aussi l'arrivée d'agents IA dans les workflows.

3. PHP hors de sa zone de confort

Plusieurs talks sortent PHP de son image de langage stateless et « web only » : workers FrankenPHP qui reconfigurent Symfony à chaud (Grekas, ambition de rivaliser avec Node.js), PHP sur Raspberry Pi via FFI et Mercure pour de l'IoT (Giarelli), Kafka synchrone en moins de 2 s pour la Verification of Payee chez BoursoBank (Desnouveaux), recherche musicale par embeddings dans Elasticsearch (Pilato), migration vers OpenSearch pour des facettes dynamiques (Duplaix). Le « coup de cœur » de Les-Tilleuls va au REX de Nicolas Duplaix, pour sa leçon plus que pour sa techno : comprendre le besoin et la donnée avant de choisir la solution.

4. L'IA présente, mais pas dominante

Contrairement à beaucoup de conférences de 2026, l'IA n'occupe qu'une partie du programme : Symfony AI et embeddings (Pineau), guide pratique d'IA binôme (Cauchy, jugé surtout utile aux débutants de l'assistance LLM), six design patterns d'IA dans Symfony avec l'agent nocturne « NightShip » (Giroux), et à Lyon l'histoire d'une stack LLM PHP passée d'un prompt par classe à des agents asynchrones (Rogier, programme seul). Toutes ces sessions abordent l'IA comme un sujet d'architecture et de testabilité plutôt que comme une rupture du métier.

5. Tensions, critiques et biais

  • Critiques rares et mesurées : une baseline PHPStan pas toujours adaptée au legacy, des niveaux maximaux « parfois superflus », un talk IA jugé introductif. Les positions tranchées d'Amaury Bouchard (HTTP Basic « valide et sécurisé » en HTTPS, JWT limité) sont rapportées sans débat.
  • Les-Tilleuls note une baisse notable du sponsoring et de la présence cette année, ce que confirme le bilan officiel de l'AFUP : pour la première fois depuis 2019, trois sites sur quatre n'ont pas atteint la capacité prévue et les objectifs de sponsoring n'ont pas été tenus, malgré une ambiance jugée toujours conviviale et de bons retours OpenFeedback sur les talks.
  • Biais du corpus : tous les contenus lus sont publiés par des speakers ou leurs employeurs (JoliCode, dont le speaker est coauteur ; Les-Tilleuls.coop ; ACSEO ; slides de Vincent Amstoutz), et aucun post LinkedIn de participant n'a été trouvé, seulement des annonces. Bordeaux et Lyon n'ont aucun retour de participant et ne sont décrits, hors ces deux sessions, que par leur programme : architecture évolutive, lucidité face à une dette accumulée sur un projet de billetterie, simplicité et Accelerate à Bordeaux ; complexité algorithmique, accessibilité, Console Symfony, Foundry et documentation « nouveau langage de programmation » à Lyon.

Actions concrètes citées

  1. Mesurer la qualité par un indicateur métier comme le taux de hotfix en prod, et adopter PHPStan progressivement, sans viser forcément les niveaux 9-10 (Weglot).
  2. Préférer le mutation testing à la couverture de code, et soigner les tests comme du code de prod : AAA, Object Mother, Foundry (Canon).
  3. Fermer le code par défaut (final, readonly, visibilités) pour réduire la charge cognitive et rendre PHPStan/Rector plus efficaces (Chenot).
  4. Tester une API externe sans mocks en enregistrant et rejouant de vrais échanges HAR (Ezzine).
  5. Comprendre le besoin métier et la variabilité de la donnée avant de choisir la techno de recherche (Duplaix).
  6. Structurer l'IA en PHP avec des patterns testables (sortie contrainte par schéma, chaînage, routing, RAG, tools) plutôt qu'un prompt par classe (Giroux ; Rogier d'après le descriptif).
  7. Regarder les passkeys : la technologie est prête depuis 2015, c'est l'adoption qui manque (Combraque).
  8. Faire des montées de version une hygiène continue (Renovate/Dependabot, composer audit en CI, Rector) et découper les grosses migrations en paliers PHP / Symfony LTS (Amstoutz, d'après ses slides).

Session par session

Vendredi 22 mai

Conférence

[Paris] Reconfigurer Symfony en temps réel avec des sidekicks applicatifs

Nicolas Grekas

Retours : Blog JoliCode (D. Alexandre, J. Cousin-Alliot, L. Piera, P. Mallet, S. Favot)

  • Nouveau pattern : des workers PHP long-running (FrankenPHP/Caddy) hors du cycle HTTP qui écoutent leur environnement et reconfigurent l'application à chaud, sans polling ni redéploiement. Cas d'usage annoncés : découverte Redis Sentinel, rotation de secrets et de clés JWT, feature flags, invalidation de cache.
  • Lecture JoliCode : contrairement à PHP-FPM, pas de redémarrage ; l'ambition est d'en faire un standard PHP capable de rivaliser avec Node.js sur ce terrain.

Conférence

[Paris] De la rentabilité à la durabilité

Vincent Langlet — Weglot, Étienne Dhennin — Weglot

Retours : Blog JoliCode (D. Alexandre, J. Cousin-Alliot, L. Piera, P. Mallet, S. Favot)

  • REX Weglot : construire progressivement un écosystème qualité (linters, PHPStan, PHPUnit/Paratest) dans une start-up qui a doublé son équipe technique.
  • Définition retenue : la qualité, « la capacité d'un système à remplir son rôle aujourd'hui comme demain ». Métrique originale : le taux de hotfix en production, en baisse.
  • Nuances relevées par JoliCode : une baseline PHPStan n'est pas toujours adaptée au legacy, et les niveaux 9-10 sont parfois superflus.

Conférence

[Paris] L'IA comme binôme de code : guide pratique

Florence Cauchy

Retours : Blog JoliCode (D. Alexandre, J. Cousin-Alliot, L. Piera, P. Mallet, S. Favot)

  • Intégrer GitHub Copilot et Claude au workflow PHP : configuration via skills, guidelines d'agents, usage en CLI et agents cloud ; l'IA « comme assistant, pas comme pilote automatique » (descriptif).
  • Lecture JoliCode : une bonne introduction pour qui n'utilise pas encore d'assistant LLM — sous-entendu, moins neuve pour les utilisateurs aguerris.

Lightning talk

[Paris] Sous le capot de Castor, le task runner PHP

Loïck Piera — JoliCode

Retours : Blog JoliCode (D. Alexandre, J. Cousin-Alliot, L. Piera, P. Mallet, S. Favot) — speaker co-auteur

  • Castor, task runner open source créé par JoliCode et bâti sur symfony/console : fonctionnalités méconnues comme les événements extensibles, les imports distants et les exécutions distantes.
  • Qualifié d'« indispensable » par le blog JoliCode, coécrit par le speaker (speaker).

Lightning talk

[Paris] Mots de passe, SSO et Passkeys : l'authentification moderne en PHP

Sylvain Combraque

Retours : Blog JoliCode (D. Alexandre, J. Cousin-Alliot, L. Piera, P. Mallet, S. Favot)

  • Les passkeys / WebAuthn permettent d'éliminer les mots de passe (authentification locale, rien qui puisse fuiter). Les briques techniques existent depuis 2015, mais l'adoption reste marginale : appel à pousser l'adoption grand public.

Conférence

[Paris] PHP gotchas

Frédéric Bouchery

Retours : Blog JoliCode (D. Alexandre, J. Cousin-Alliot, L. Piera, P. Mallet, S. Favot)

  • Session interactive et ludique sur les subtilités de compilation et de syntaxe de PHP. Exemple retenu : new daTeTimE() est valide (noms de classes insensibles à la casse) alors que les constantes, elles, y sont sensibles.

Conférence

[Paris] Embeddings en PHP : Symfony AI en pratique

Grégoire Pineau

Retours : Blog JoliCode (D. Alexandre, J. Cousin-Alliot, L. Piera, P. Mallet, S. Favot)

  • Symfony AI et les embeddings pour des recherches sémantiques dans des applications PHP ; perçu comme un exemple d'IA qui s'intègre progressivement aux outils du quotidien.

Lightning talk

[Paris] Repenser les APIs

Amaury Bouchard

Retours : Blog JoliCode (D. Alexandre, J. Cousin-Alliot, L. Piera, P. Mallet, S. Favot)

  • Plaidoyer pour un design d'API pragmatique : RPC pour les actions, REST pour le CRUD / les changements d'état.
  • Positions tranchées relevées : JWT jugé limité (gestion de l'expiration) ; « HTTP Basic aujourd'hui c'est tout à fait valide et sécurisé (car en HTTPS) ».

Conférence

[Paris] Comment tester une API externe en ayant 0 Mocks ?

Imen Ezzine

Retours : Blog JoliCode (D. Alexandre, J. Cousin-Alliot, L. Piera, P. Mallet, S. Favot)

  • Enregistrer une fois les vrais échanges au format HAR via un décorateur RecorderHttpClient et un attribut #[UseRecord], puis les rejouer : plus besoin de mocks.
  • Une PR a été proposée pour Symfony 8.2.

Conférence

[Paris] L'exception qui confirme la règle

Smaïne Milianni

Retours : Blog JoliCode (D. Alexandre, J. Cousin-Alliot, L. Piera, P. Mallet, S. Favot)

  • Bonnes pratiques de gestion des exceptions : relancer depuis les couches profondes, éviter catch (\Exception), logger systématiquement, conserver $previous.

Conférence

[Lille] Le progrès réside dans les BC Breaks

Gina Banyard

Retours : Blog Les-Tilleuls.coop (Alex Guyot)

  • Exemples hors logiciel (normalisation ferroviaire, réseau électrique japonais) pour montrer que rompre la rétrocompatibilité est souvent le prix du progrès.
  • Retenu par Les-Tilleuls : face aux résistances lors des migrations, s'appuyer sur des standards, et ne pas « résoudre » mais « dissoudre » le problème en repensant le système.

Conférence

[Lille] Quand faire des filtres à facettes n'est pas si simple

Nicolas Duplaix — Widop

Retours : Blog Les-Tilleuls.coop (Alex Guyot)

  • SaaS dont chaque client ajoute ses propres champs filtrables : migration de PostgreSQL vers OpenSearch face à des milliers d'appels quotidiens ; arbitrage object vs nested, reconstruction de l'index via des EventListeners Symfony.
  • « Coup de cœur » du compte-rendu, qui en retient qu'il faut « comprendre le besoin métier et la variabilité de la donnée avant de s'enfermer dans une solution technique ».

Conférence

[Lille] S'y retrouver dans le dédale du code

Yannick Chenot

Retours : Blog Les-Tilleuls.coop (Alex Guyot)

  • Principe « Closed-by-Default » : fermer par défaut les chemins du code (final, visibilité, typage) pour soulager la charge cognitive, en s'appuyant sur l'évolution de PHP (typage strict en PHP 7, readonly en 8.1, visibilité asymétrique en 8.4).
  • Lien montré entre code strict et efficacité de PHPStan/Rector : plus le code est rigoureux, plus l'analyse automatique est pertinente.

Conférence

[Lille] 2 secondes pour détecter la fraude : orchestrer Kafka dans un système bancaire critique

Mathieu Desnouveaux — BoursoBank

Retours : Blog Les-Tilleuls.coop (Alex Guyot)

  • Verification of Payee (directive européenne : vérifier le nom du bénéficiaire en moins de 10 s) chez BoursoBank : ~500 000 virements par jour, Kafka + schémas Avro + pattern Request-Reply pour rendre synchrone un flux asynchrone en moins de 2 s.
  • Déploiement progressif révélant un taux initial de 80 % de « Match ». « Retour d'expérience captivant » selon Les-Tilleuls.

Lightning talk

[Lille] Et si nous cherchions des morceaux de musique ?

David Pilato

Retours : Blog Les-Tilleuls.coop (Alex Guyot)

  • Recherche musicale par similarité (façon Shazam) avec Elasticsearch et des embeddings, démontrée en direct avec des extraits chantés par le speaker.
  • « Bonne surprise », « excellente démonstration fonctionnelle » (Les-Tilleuls).

Lightning talk

[Lille] PHP, Mercure et IoT – Quand PHP devient plus que Full Stack

Yohan Giarelli — Les-Tilleuls.coop

Retours : Blog Les-Tilleuls.coop (Alex Guyot) — même coopérative que le speaker

  • POC de déverrouillage de casiers sur Raspberry Pi en PHP CLI : FFI pour piloter directement les GPIO via une bibliothèque C, Mercure (SSE) préféré à REST/AMQP/MQTT, Symfony Console + HttpClient.
  • Jugé « fonctionnel et passionnant » : « PHP a totalement sa place dans le monde du matériel embarqué » — retour d'un collègue du speaker (speaker).

Conférence

[Lille] Test simplifié à moitié pardonné

Romain Canon

Retours : Blog Les-Tilleuls.coop (Alex Guyot)

  • Les tests méritent « la même exigence de qualité que notre code de production » ; préférer le mutation testing (MSI) à la couverture de code.
  • Boîte à outils : limiter les mocks, pattern AAA, Object Mother, Faker, arguments nommés, Foundry. « Format pratique et hyper pertinent ».

Conférence

[Lille] Design patterns émergents IA dans Symfony : stratégie de prompts, pipelines, agents, orchestrateurs

Guillaume Giroux

Retours : Blog Les-Tilleuls.coop (Alex Guyot)

  • Panorama de 6 patterns : génération contrainte par schéma (JSON), prompt chaining, routing, RAG, tool use, orchestration multi-agents.
  • Illustration : « NightShip », un système autonome qui détecte et corrige des erreurs de production la nuit ; approche découplée et testable.

Conférence

[Lille] CI/CD à toutes les sauces : recette d'un .gitlab-ci.yml savoureux pour projets PHP multi-environnements

Nicolas Fatrez

Retours : Blog Les-Tilleuls.coop (Alex Guyot)

  • Trois axes : modularité (includes, extends, ancres YAML), gestion des secrets (variables dynamiques), stratégie de déploiement selon le contexte (MR, tag, branche principale), le tout filé en métaphore culinaire. « Méthodique et indispensable ».

Conférenced'après le programme

[Lyon] De GPT-3 aux agents : 4 ans d'évolution d'une stack LLM en PHP

Sébastien Rogier

  • D'après le descriptif : un SaaS SEO sous Symfony/API Platform passe d'un appel GPT-3 « magique » (2021) à une « usine à gaz » (1 classe = 1 prompt), puis à une abstraction multi-provider avec fallback (2024), et enfin à un système d'agents asynchrones avec tools.
  • Défis spécifiques à PHP : fiabilité d'exécution, observabilité des workflows, parallélisation des tools sans async/await natif. Aucun retour participant trouvé.

Conférence

[Lyon] Du chaos à la clarté : adopter un Git workflow fluide et robuste

Steven Le Texier — ACSEO

Retours : Blog ACSEO — employeur du speaker (speaker)

  • Constat : sans stratégie de branches et conventions de nommage des commits, l'arrivée d'un développeur ou le démarrage d'un projet tourne au désordre (code perdu, bugs en prod, livraisons retardées, merge requests pénibles).
  • Réponse : installer une « culture Git » avec des workflows simples et lisibles, adaptés à la taille du projet, pour réduire la friction d'onboarding.
  • Ouverture : « Un workflow structuré et des standards de développement rigoureux simplifient grandement l'implémentation d'agents IA au sein de nos Git workflows » (ACSEO, (speaker)). Slides publiées par ACSEO.

Conférence

[Bordeaux] Migrations : c'est une question d'hygiène !

Vincent Amstoutz

Retours : Slides du speaker sur Speaker Deck (speaker)

  • Traiter les montées de version comme une hygiène quotidienne plutôt qu'un chantier-tunnel : « Ne pas attendre la date butoir et la pression de nos managers ». Le tunnel accumule retard, CVE non traitées, feature freeze, bugs et démotivation, et rend le projet « legacy » dépendant d'une personne clé.
  • Outillage : Dependabot / Renovate, composer outdated, composer audit en CI, PHPStan + phpstan-deprecation-rules, Rector (sets withPreparedSets() / withComposerBased() de Rector 2.0) ; boucle composer update → Rector → PHPUnit.
  • En cas de retard, découper : de Symfony 4.4 à 8.0 en alternant paliers PHP et Symfony LTS (PHP 8.1, SF 5.4, PHP 8.2, annotations → attributs, SF 6.4, PHP 8.5, SF 7.4, SF 8.0), tests et Rector à chaque étape.
  • Bonus : supprimer les paquets inutiles, bloquer du temps récurrent dans l'agenda. Contenu connu par les seules slides, sans retour de participant.

Sessions sans retour trouvé (16)

  • [Bordeaux] Evolutionary Architecture : comment éviter la prochaine « grande réécriture » (N. Perussel)
  • [Bordeaux] La lucidité comme architecture (J. Gomez Caballe, B. Jaillot)
  • [Bordeaux] Les maux des mots (M. Roches)
  • [Bordeaux] J'ai testé pour vous : le composant Cache de Symfony couplé à Redis (A. Larzabal)
  • [Bordeaux] Le code, c'est la partie facile (M. Girard)
  • [Bordeaux] Retour vers la simplicité (B. Lafontaine)
  • [Bordeaux] À la découverte d'Accelerate 2026 (G. Graveaud)
  • [Bordeaux] Et si l'on scénarisait nos fixtures ? (N. Guérinet)
  • [Bordeaux] Faire battre les cœurs avec le mécénat de compétences (A. Labenne)
  • [Lyon] De O(1) à O(mon Dieu) : voyage au bout de la lenteur (I. Abdallah)
  • [Lyon] Accessibilité numérique : cocher des cases mais rater la cible (G. Pillet, V. Strub)
  • [Lyon] REX de développeuse : comment j'ai changé de stack technique (M. Bouquet)
  • [Lyon] La Console Symfony fait peau neuve ! (R. Chalas)
  • [Lyon] Gérer ses fixtures avec Foundry (N. Philippe)
  • [Lyon] JsonPath : pour des API incassables (A. Daubois)
  • [Lyon] La documentation, ce nouveau langage de programmation (X. Gorse)

Sources