Programme
Note de l’équipe d’organisation : afin de pouvoir vous proposer 3 tracks en continu pendant 2 jours, en assurant un panel de thématiques le plus large possible, tout en limitant l’impact sur nos budgets lié au déplacement et à l’hébergement des speakers, nous avons proposé à 6 conférenciers de présenter 2 sujets. Merci de votre compréhension.
Keynote d'ouverture
Bienvenue au Forum PHP 2025, marquant les 30 ans de PHP, les 25 ans de l'AFUP, les 20 ans de Symfony et les 10 ans d'API Platform !
Codifier PHP : une nouvelle génération d'outillage pour la documentation
30 ans de PHP et donc 30 ans à documenter PHP au fur et à mesure de son évolution. Dans cette conférence, nous verrons comment la documentation de PHP est écrite, un tour d'horizon de la procédure de rendue, et quels outils pas forcément adéquats, nous utilisons pour maintenir la documentation au fur et à mesure des nouvelles versions. Je présenterai aussi un nouvel outil en cours de développement qui utilise la nouvelle API DOM de PHP 8.4 et BetterReflection pour faciliter la documentation des changements introduites dans les nouvelles version de PHP et pour l'écriture du guide de migration.
What's New in PHP 8.5
During this presentation, we are going to look at the new features that are going to be introduced in PHP 8.5. Join me to have a look at pipes, the new URL parsing API, improvements of i18n features, and upgrades to the type system.
At the end you will have a good understanding about all the new and exciting features that are part of the PHP 8.5 release.
20 ans de Symfony, et maintenant la version 8!
Rejoignez pour une plongée captivante dans les deux décennies de Symfony ! Découvrez comment ce framework né en 2005 est devenu un pilier du développement PHP, propulsant des projets d'envergure et définissant les standards d'une expérience développeur d'exception. Nous reviendrons sur les innovations clés qui ont fait sa force, de sa stabilité légendaire à ses outils de développement emblématiques. Mais ce n'est pas tout ! Préparez-vous à un aperçu exclusif des nouveautés passionnantes de la future version 8, qui promettent de repousser encore plus loin les limites de la performance et de la flexibilité. Venez comprendre pourquoi Symfony est le choix de prédilection pour des applications robustes et modernes, et comment il continuera à écrire son histoire, avec vous, pour les années à venir.
🥧 A slice of PIE: revolutionising PHP extension installation
PHP Installer for Extensions (PIE) is an innovative tool I am writing for the PHP Foundation to modernise how PHP extensions are installed and managed. For decades, PECL has been the go-to mechanism, but it's time for a change. In this talk, we’ll explore why PIE is poised to replace PECL, its goals, and what makes it a game-changer for PHP developers. We'll dive into PIE's features, demo its usage, and provide a glimpse of its roadmap, including exciting enhancements already in the works. Whether you're a seasoned developer or new to PHP extensions, discover how PIE is shaping the future of PHP extension installation.
FrankenPHP en dehors des sentiers battus
Depuis son annonce lors du ForumPHP 2022, la popularité de FrankenPHP a explosé. Le projet est désomais supporté officiellement par la fondation PHP, et son mode worker, qui permet d'atteindre des performances inégalées, bénéficie du support natif d'un nombre toujours plus important d'outils, parmis lesquels les frameworks Laravel, Symfony, ou encore Drupal.
Pour sa 10ème participation consécutive au ForumPHP, Kévin Dunglas, le créateur de FrankenPHP, vous propose découvrir les fonctionnalités avancées et encore méconnues fournies par l'outil. Parmi ces fonctionnalités, la possibilité d'utiliser le langage de programmation Go pour donner des superpouvoirs à vos apps PHP.
Implementing multi-tenancy in a Laravel app
In this highly practical talk you'll learn how to make a Laravel app tenant aware. First, we'll review a couple multitenancy strategies. Next, we start exploring how to use the spatie/laravel-multitenancy package. To finish, we'll take a code dive, and you'll learn how to package works under the hood.
Uncharted packages
My team and I have released hundreds of packages for the Laravel and PHP community. In total, these packages have been downloaded close to two billion times. Among those packages, are very popular ones like Laravel Permission, Media Library, Browsershot, and Ignition. In this talk, we’ll not go over those big ones, but focus on the hidden gems: the packages that don’t have millions of downloads, but are still pretty handy. Among these are some of my personal favorites.
Quatre patterns avancés pour améliorer la résilience d’une application
Au fil des années, vous avez réduit les timeouts des requêtes vers vos dépendances comme d’autres API ou des bases de données. Vous avez ajouté ou supprimé des retries. Et vous avez ainsi amélioré la résilience de votre application. Et pourtant, elle n’atteint pas encore le niveau espéré ?
Aujourd’hui, nous verrons comment continuer d’améliorer la résilience de votre application, en allant encore plus loin que ces principes de base. Vous découvrirez des approches comme Random Jitter, Constant Work, ou Shuffle-Sharding. Des patterns dont vous aurez peut-être besoin, si vos exigences de résilience sont élevées !
Créer un RAG en PHP : démystifier l’IA
Les RAG (Retrieval-Augmented Generation) sont devenus incontournables dans la conception d’applications d’intelligence artificielle. En enrichissant les LLM avec des sources de données fiables et ciblées, ils permettent de limiter les hallucinations des modèles et d’intégrer des connaissances à jour — y compris issues de bases de données privées.
Si Python domine historiquement l’écosystème IA, PHP n’est pas en reste ! Grâce à des outils comme LLPhant et aux API des grands acteurs du domaine (OpenAI, Pinecone, Weaviate, etc.), il est tout à fait possible de concevoir un RAG en PHP avec une architecture claire et performante. Et ce, en s’appuyant sur des technologies que nous connaissons bien, comme PostgreSQL ou Redis, en les adaptant à une logique de recherche vectorielle ou de récupération de contexte.
Dans ce talk, nous démystifierons les concepts-clés derrière les RAG, les bases vectorielles et les LLM, et nous verrons comment construire un système complet (et utile) en PHP. Un talk technique, accessible, pour mettre un pied dans l’IA sans quitter votre stack préférée.
180 000 requêtes par seconde expliqué simplement
Avez-vous déjà cherché à savoir comment pousser vos appels API jusqu’à leurs ultimes limites ? Cette conférence dévoile comment atteindre l’étonnant chiffre de 180 000 requêtes par seconde depuis un simple ordinateur portable, en plongeant dans les détails techniques de curl, HTTP, pcntl et PHP. Au-delà de la performance pure, nous explorerons les stratégies de scaling horizontal pour atteindre des niveaux de débit encore supérieurs. Des techniques d’optimisation aux décisions d’architecture, découvrez comment surmonter les obstacles courants et faire passer vos applications au niveau supérieur.
Bien qu’abordant des concepts avancés, cette présentation suit une méthode pas à pas la rendant accessible aux devs de tous niveaux.
Comment être un•e bon•ne dév à l'heure des IA génératives ?
En seulement 18 mois, ce qui nous semblait encore lointain est venu transformer notre quotidien de dev. Les IA génératives pour le code sont passées de simples outils amusants mais peu efficaces à de véritables assistants capables d'interagir avec des bases de code complexes et de comprendre des systèmes sophistiqués. Entre inquiétudes pour notre avenir professionnel et cette nouvelle forme de collaboration avec les machines, comment exceller dans notre métier aujourd'hui et rester pertinent dans les années à venir ? Après plus d'une décennie en management, où évaluer la contribution de chacun•e au sein des équipes était de ma responsabilité, je me pose la question : quelles compétences vont perdurer et lesquelles risquent de disparaître ? Et surtout, quels savoir-faire devons-nous impérativement conserver pour assurer notre avenir professionnel ? Dans cette conférence, je laisserai de côté les aspects purement techniques pour vous proposer une réflexion sur l'évolution de notre profession. Ensemble, nous explorerons comment nous adapter à un monde où l'intelligence artificielle redéfinit progressivement notre métier.
Optimisation de la Pagination Multi-Source pour le Suivi des Virements
Les banques en ligne gèrent un volume considérable de transactions financières, et le suivi des virements est crucial pour nos clients.
Dans le cadre de cette conférence, je partagerai mon expérience de mise en place d’une pagination multi-source afin d’améliorer l’expérience de suivi des virements. Chez Boursobank, nous offrons à nos clients plusieurs méthodes pour exécuter des virements : classique, instantané, SMS et sous forme d´agrégateur bancaire. Chaque type de virement provient d’une source différente. Il est essentiel de réfléchir à une solution de pagination multi-source pour afficher les résultats de manière efficace.
La mise en place d’un tel système de pagination implique de gérer différentes sources de données, telles que les API de la banque et les bases de données internes, chacune avec leurs contraintes particulières. De plus, il est crucial d’optimiser les performances pour garantir une expérience utilisateur fluide.
Lors de cette présentation, je reviendrai sur la manière dont nous avons combiné les données et comment nous les avons ordonnées. Je partagerai également nos stratégies pour gérer les limites de pagination et comment nous avons utilisé le cache pour améliorer les performances. Je vous invite à me rejoindre pour découvrir des astuces pratiques et des solutions concrètes pour gérer efficacement la pagination dans le contexte bancaire.
L'évaluation des IAs : la recette secrète des agents pas trop bêtes
Dans le monde de l'IA, créer un prototype, c'est facile. Mais avant de mettre un agent en production, il faut optimiser sa pertinence, minimiser les hallucinations, forcer le respect des consignes, maîtriser le coût, protéger contre les abus, et bien d'autres défis assez inhabituels pour les développeurs. En pratique, 90 % du travail sur les agents IA consiste à ajuster les paramètres pour optimiser la pertinence et minimiser les ratés.
Dans cette conférence, François Zaninotto, fondateur et dirigeant de Marmelab, met en lumière l'importance cruciale de l'évaluation dans le processus de développement des IAs. Il y détaille les outils et techniques qui permettent d'affiner et de perfectionner les agents IA, sur la base de retours d'expérience concrets.
Pas besoin d'être un expert en IA pour suivre cette conférence, mais vous en sortirez avec une vision claire des enjeux de la fabrication des agents IA, et des bonnes pratiques pour les relever.
Les bases de la sécurité des développements Web
La sécurité est aujourd'hui au cœur des développements informatiques. Les intrusions, rançongiciels et autres types de cyberattaques touchent tous les jours de nouvelles entreprises. Le développement web n'échappe évidemment pas à cela, les sites et applications étant souvent l'une des portes d'entrée privilégiées pour les hackers.
Nous allons voir les principales failles et mesures à appliquer :
- La configuration du serveur HTTP
- L'injection SQL
- Le cross-site scripting (XSS)
- Le server-side request forgery (SSRF)
- Le cross-site request forgery (CSRF)
Nous verrons notamment des techniques simples pour se prémunir de chaque type d'attaque.
Laravel : Nous ne pouvons pas passer à côté de ces fonctionnalités
Laravel, un framework connu pour ses fonctionnalités "magiques", regorge finalement de choses surprenantes et très utiles que tous les devs devraient connaître !
Après 5 ans à développer avec Laravel, j’ai eu l’occasion de découvrir et d’utiliser de nombreuses fonctionnalités étonnantes. J’aimerais en partager certaines, qui selon moi devraient être intégrées dans tous les projets dès aujourd’hui.
Des astuces pour optimiser les requêtes vers la base de données, gérer des relations polymorphes, ou encore faciliter le profiling de l’application… et bien plus encore !
On a l’habitude de soigner l’UI et l’UX, il est temps maintenant de prendre soin de notre DX (Developer Experience) et de découvrir comment Laravel peut vraiment l’améliorer !
PHP, sans PHP : créez des binaires autonomes de votre code
Et si votre script PHP devenait un exécutable autonome, sans dépendance système, ni serveur PHP, ni Composer ?
On peut compiler un outil PHP en un binaire statique, qui s’exécute partout, comme un outil Go ou Rust.
Dans ce talk, je vous montrerai :
- comment builder vos scripts et libs PHP en binaires statiques,
- les limites (extensions, taille, compatibilité…),
- et les cas d’usage concrets où PHP peut remplacer Bash, Python ou Go.
Venez découvrir un PHP… qui ne s’installe nulle part.
[ATELIER] Scanner, comprendre, améliorer : l’analyse statique au service de la qualité PHP
Vous pensez connaître la qualité de votre code ? Mettez-la à l’épreuve.
Dans cet atelier, nous explorerons concrètement comment tirer parti des outils d’analyse statique pour comprendre la structure, la dette et les points de fragilité de vos projets PHP. Grâce à des outils et quelques astuces maison, vous apprendrez à :
- Détecter automatiquement les mauvaises pratiques et les comportements à risque,
- Visualiser les dépendances et les classes critiques,
- Prioriser les refactorings en objectivant la complexité,
- Construire une démarche qualité sur le long terme.
Au programme : configuration d’outils, analyse de projets réels, refactorings guidés, et discussions sur la place de la qualité dans nos pratiques quotidiennes. Repartez avec un kit prêt à l’emploi pour rendre votre code plus clair, plus solide, et plus agréable à maintenir.
Sous le capot de Composer : comprendre l’outil qu’on utilise tous les jours
Composer est partout dans nos projets PHP. On l’utilise tous les jours, souvent sans se demander ce qu’il fait vraiment derrière un simple composer install.
Dans cette conférence, on va lever le capot pour comprendre comment Composer fonctionne en coulisses :
- Comment il choisit les bonnes versions de vos dépendances (et pourquoi il peut échouer)
- À quoi servent exactement les fichiers composer.json, composer.lock et le dossier vendor/
- Comment il construit l’autoloader, exécute les scripts, et interagit avec les éventuels plugins
L’objectif : rendre Composer moins magique, plus compréhensible, et vous donner les clés pour mieux le configurer, déboguer les erreurs et éviter les pièges dans vos projets PHP.
Symfony UX LiveComponents : Construire un dashboard interactif sans une ligne de JS
Vous pensez qu’interactivité rime forcément avec JavaScript ? Détrompez-vous.
Dans cette session, nous allons construire en live un dashboard interactif avec Symfony UX LiveComponents — sans écrire une seule ligne de JS.
Graphiques dynamiques, interactions fluides, chargements contextuels : tout se passe côté serveur, et tout est possible.
Venez découvrir comment repousser les limites du PHP moderne, sans quitter votre confort backend.
Développez sous Sylius 2 en 40 minutes top chrono
Sylius 2, le framework e-commerce basé sur Symfony et sorti fin 2024, a franchi une nouvelle étape. Toujours aussi accessible, il propose désormais des fonctionnalités encore plus puissantes et une expérience de développement modernisée. Dans ce talk, je vous propose de découvrir comment lancer rapidement un projet e-commerce avec Sylius 2, à travers une démo concrète : vendre ma collection (toujours grandissante…) de jeux vidéo. Après une brève introduction aux nouveautés majeures et aux concepts-clés de Sylius 2, nous plongerons dans la pratique : customisation, extension des fonctionnalités natives et intégration à l’écosystème Symfony. Développeurs et développeuses de tous horizons, que vous soyez curieux ou en quête d’outils robustes pour l’e-commerce, venez découvrir tout ce qu’il est désormais possible de faire… en 40 minutes chrono !
Understanding Kubernetes in a visual way 🇫🇷
Kubernetes est devenu le standard de facto pour déployer et exploiter des applications conteneurisées. Mais comprendre Kubernetes peut s’avérer difficile ou prendre beaucoup de temps.
Il y a quelques années, je me suis demandé comment j'imaginais les concepts de Kubernetes : un pod, un déploiement, un service, un secret, une configmap, un cronjob… et j'ai ensuite créé une nouvelle façon d'expliquer les technologies Cloud visuellement.
Dans la première partie de ce talk, je vais vous raconter une histoire, je vais vous raconter mon histoire. Comment, pendant plusieurs années, j'ai travaillé chaque soir/nuit/week-end pour expliquer Kubernetes dans des sketchnotes, des articles de blog, des vidéos et finalement publié dans un livre illustré de plus de 270 pages (avec tous les concepts incluant le Debugging ainsi que des outils et des tips) et pourquoi je continue à le faire.
Et dans la deuxième partie, je vous expliquerai Kubernetes et ses concepts... de manière visuelle :-).
Audit RGAA : préparez-vous à relever le défi technique !
Le Référentiel Général d’Amélioration de l’Accessibilité (RGAA), bien qu'existant depuis plusieurs années, était principalement appliqué aux services publics et aux grandes entreprises. Dès cette année, son périmètre d'application s'étend à toutes les entreprises de plus de 10 salariés ou générant un chiffre d'affaires supérieur à 2 millions d'euros.
Avec l'augmentation des obligations en matière d'accessibilité numérique, les audits RGAA deviendront incontournables. Mais rassurez-vous, tout va bien se passer !
Dans cette présentation, nous aborderons les aspects techniques essentiels de l'audit RGAA :
- Définition et objectifs d'un audit RGAA : comprendre les enjeux techniques derrière chaque critère et comment ils impactent l'expérience utilisateur.
- Méthodologie d'audit : une approche détaillée des étapes clés, des outils recommandés et des meilleures pratiques pour garantir une évaluation complète et efficace.
- Anticipation des contraintes techniques : comment intégrer les exigences d'accessibilité dès la phase de conception technique de votre site ou application, pour éviter des corrections coûteuses.
- Études de cas et retours d'expérience : analyse de projets récents où des entreprises ont réussi à se conformer au RGAA, avec des résultats tangibles en termes d'amélioration de l'accessibilité et de satisfaction utilisateur.
Nous verrons ensemble comment transformer cette obligation réglementaire en une opportunité d'amélioration continue et d'innovation. L'accessibilité numérique est un atout pour vos projets !
Overcoming our Primitive Obsessions
Avez-vous déjà été frustré par la complexité inutile de votre code ? Vous n'êtes pas seul !
L'un des facteurs qui complexifient notre code est l'utilisation excessive de types primitifs. Cette obsession est un problème courant en programmation : nous nous appuyons trop sur les types de données primitifs pour représenter des concepts complexes (exemple : l'utilisation d'un tableau pour les paramètres d'une méthode). Ceci peut rendre notre code difficile à comprendre et à maintenir. En explorant des alternatives nous pouvons améliorer la robustesse, la sécurité et la lisibilité de notre code.
Découvrons ensemble comment surmonter ces limitations et écrire un code plus propre et plus efficace !
Jobs, queues & events : anatomie des erreurs courantes et pistes de résolutions
Aujourd’hui, difficile d’échapper à l’asynchrone! Tout projet un peu conséquent qui doit traiter des données en masse ou en longueur a souvent un ou plusieurs workers, ces process qui tournent en tâche de fond ou sous forme de FaaS, et qui peuvent parfois vous donner des cauchemars. Que cela soit pour du traitement lourd, du batching ou autre, cela doit tourner... Ensemble, on verra les erreurs les plus courantes, les fuites mémoires ou encore la gestion de l'arrêt de ceux-ci. Mais aussi quelques outils utilisables pour comprendre ce qui se passe en cas de souci ou vérifier que tout tourne rond.
Changer le monde. Une réunion après l’autre
Dans toutes les organisations, la réunion est la courroie de transmission de la stratégie et le creuset de la culture. Et pourtant, rares sont celles et ceux qui leur portent toute l’attention qu’elles méritent. Avec pour conséquence des dégâts sur l’efficacité collective et l’engagement individuel. Imaginons un monde où chaque réunion est conçue et pilotée pour être un moment mémorable, à la fois productif, engageant et apprenant. Un moment collectif que l’on quitte avec de la clarté sur ce que l’on a à faire et l’envie de le faire. Un moment collectif qui permet à chacun de donner toute la puissance de sa singularité. Ce n’est pas parce qu’aucune université ou école n’enseigne ce que sont les bonnes pratiques de réunion qu’elles n’existent pas. Louis, réuniologue, président de l’Ecole Internationale de Réuniologie, prendra la parole pour nous transmettre sa passion et son énergie, et nous donner envie de mettre en oeuvre des gestes simples pour tous devenir des acteurs du changement, une réunion après l’autre.
L'état de l'art de PHP après 30 ans d'existence
PHP fêtait ses 10 ans quand je l'ai découvert avec les tutoriels PHP / MySQL sur Le Site Du Zéro. 20 ans après j'utilise toujours le language, et suis friant de beaucoup de ses nouvelles fonctionnalités. Du site web HTML et PHP qui fonctionne toujours, en passant par des CMS comme Wordpress qui propulsent pratiquement la moitié des sites sur Internet, à des frameworks e-commerce complets et modulables comme Sylius ou Drupal, PHP a prouvé sa résilience et sa modernité. Jusqu'où peut-on réellement pousser ses performances aujourd'hui ?
Pour le découvrir, nous prendrons une application moderne que nous mettrons sous stéroides. En combinant les optimisations les plus récentes de l'écosystème PHP et la puissance de FrankenPHP en mode worker, nous allons mesurer le gain de performance établissant ainsi un nouveau standard pour nos applications modernes.
Atteindre la qualité d'une SPA avec HTMX et Twig
Découvrez comment HTMX peut transformer votre façon de développer en apportant la puissance et la flexibilité des Single Page Applications (SPA) à vos projets, sans écrire de JavaScript !
Débrider la capacité des Workers
Par ce retour d'expérience, découvrez les principes fondamentaux des workers en PHP et plongez dans les défis complexes qu’ils posent lorsqu’il s'agit de gérer la montée en charge et d'accélérer les traitements. Nous aborderons des problématiques-clés telles que les collisions et leurs solutions avec la gestion de la mémoire partagée ou le sharding par exemple. Nous aborderons aussi des stratégies de monitoring et d’observabilité. Vous repartirez avec des patterns d’optimisation efficaces et réplicables, applicables à une grande variété de cas d’usage.
Construire une application SaaS multi-tenant avec PHP et Laravel en 2025
La construction d'un SaaS multi-tenant présente des défis complexes. Mais comment prendre les bonnes décisions pour le bâtir efficacement en 2025 ? À travers des exemples pratiques avec PHP (Laravel) et PostgreSQL (mais pas que !), et fort de mon expérience auprès d'éditeurs SaaS de différentes tailles, je partagerai les solutions et les processus décisionnels qui ont guidé mes choix pour les quatre points clés : le calcul, le cache, le stockage objet et, particulièrement, la base de données.
WannaCry : les dessous d'un ransomware dévastateur
Si WannaCry n'est pas le premier ransomware, il est au moins celui qui a causé le plus de dégâts dans toute l'histoire d'Internet. Infectant plusieurs centaines de milliers d'ordinateurs grâce à une faille présente sur des systèmes Windows obsolètes, il contraindra même Microsoft à publier un patch de sécurité pour des OS qui n'étaient alors plus maintenus.
Devant l'ampleur de cette cyberattaque, plusieurs équipes se sont mobilisées afin de freiner sa propagation et d'aider les victimes à récupérer leurs fichiers.
Retour sur cette traque de longue haleine, entre cryptographie, rétro-ingénierie et analyse forensique.
Créer un serveur MCP avec Symfony
Le Model Context Protocol, ou MCP, est un protocole qui permet à un agent IA d’interagir avec son environnement : fichiers, Internet, base de données, services métier… C’est une brique essentielle pour créer des applications réellement intelligentes — pas juste capables de répondre, mais capables d’agir.
Initialement développé par Anthropic, l’entreprise derrière Claude, et désormais backé par les autres grands acteurs de l'IA (OpenAI, Google), le MCP standardise la façon dont les agents IA (les clients) communiquent et interagissent avec des applications externes (les serveurs).
Les cas d’usage sont infinis : automatisation, assistants intelligents, agents autonomes... Et bonne nouvelle : l’intégrer dans un projet Symfony, c’est simple. J’ai créé un bundle dédié, qui permet de transformer n’importe quelle application Symfony en serveur MCP, prêt à dialoguer avec une IA.
Ce talk vous présentera le cycle de vie d’une application MCP, des cas concrets d’utilisation, une implémentation dans Symfony et une démonstration en live.
10 ans de Clean Architecture chez OpenClassrooms : le rêve, la réalité, les leçons
Impossible de célébrer l’édition anniversaire du Forum PHP sans vous raconter notre propre aventure architecturale ! Il y a plus de 10 ans, nous avons fait un pari audacieux : implémenter la Clean Architecture sur le repo historique du Site du Zéro, devenu entre‑temps OpenClassrooms. Mais entre la théorie et la pratique, quels défis avons‑nous rencontrés au fil des années ? Venez découvrir un retour d’expérience sans filtre, alternant réussites concrètes, échecs enrichissants et choix techniques marquants.
Dans cette conférence, je vous propose un récit sincère, technique et pragmatique sur dix années d’itérations au sein d’une plateforme éducative à fort trafic et d’une équipe passée de quelques devs à plusieurs dizaines. Vous découvrirez :
- Ce que nous avons réellement mis en œuvre de la Clean Architecture… et ce que nous avons abandonné en route
- Les bénéfices mesurables (maintenabilité, fiabilité, performance) et les limites rencontrées
- L’impact sur notre organisation : testabilité, scalabilité, gestion des dépendances, isolation des domaines métiers
- Ce qu’on referait différemment si c’était à refaire, avec les compromis qui valent (ou non) la peine
Au‑delà des dogmes et des schémas parfaits, ce talk montre comment une idée ambitieuse s’adapte – ou pas – à la réalité d’un produit qui sert des milliers d’apprenant•e•s chaque jour, d’une équipe en croissance et d’un contexte business en mouvement. Refactors réussis, ajustements assumés, ratés instructifs : tout y passe pour nourrir vos propres réflexions et vos architectures de demain.
De la veille isolée aux squads collaboratives : Révolutionnez votre tech watch !
Vos ingénieurs ne trouvent pas le temps de faire de la veille de qualité ? Et si ce n'était plus un problème individuel ?
Nous avons transformé ce défi récurrent en opportunité collective. Notre approche collaborative a changé la façon dont nos ingénieurs restent à la pointe de la technologie, tout en créant de la valeur pour l'ensemble de l'organisation.
Cette session vous apportera :
- Une méthode éprouvée pour améliorer l'efficacité de votre veille tech
- Les clés pour maintenir l'engagement et éviter l'essoufflement des équipes
- Une solution pour transformer la veille en véritable levier d'innovation
- Des stratégies concrètes pour créer des synergies entre vos différents pôles techniques
Une session qui va changer votre regard sur la veille technologique et vous donner des outils à mettre en place dans votre entreprise !
[ATELIER] Étendre PHP sans RFC : rêver le langage de demain dès aujourd'hui
Et si vous pouviez ajouter vos propres règles au langage PHP… sans modifier PHP lui-même ?
Dans cet atelier, vous apprendrez à détourner l’analyse statique (avec PHPStan) pour créer de véritables "extensions de langage" : nouvelles contraintes, concepts venus d’autres langages, comportements sur-mesure... Le tout grâce aux attributs PHP et à l’AST.
Au programme :
- Introduction rapide à l’AST PHP (et comment l’exploiter sans douleur)
- Création pas à pas de règles PHPStan personnalisées
- Utilisation d’attributs pour enrichir votre code
- Exploration et prise en main de la librairie PHP Language Extensions
- Mise en pratique : implémentation d’un concept (ex : @Friend, @Sealed, etc.)
Objectif : repartir avec les bases (et les outils) pour hacker PHP à votre façon, et donner vie à vos idées de langage.
Prérequis : connaissances de base en PHP 8+, usage de composer, et un peu de curiosité pour les outils de qualité de code comme PHPStan.
Dépréciations Symfony : de l’angoisse à l’opportunité
Les messages de dépréciation s’entassent petit à petit dans vos logs, et la perspective de chaque version majeure vous inquiète ?
Et si les dépréciations n’étaient pas un frein, mais plutôt une force pour votre code ?
Dans ce talk, on va découvrir comment Symfony gère les dépréciations avec élégance, pour vous préparer en douceur à chaque nouvelle version majeure, sans stress ni panique.
Grâce à un processus rigoureux et des outils bien pensés, vous apprendrez à :
- détecter et comprendre les dépréciations qui concernent votre projet,
- mettre en place une stratégie de migration progressive et maîtrisée,
- utiliser les outils fournis par Symfony pour anticiper les ruptures,
- profiter des dépréciations comme d’un levier pour améliorer la qualité et la pérennité de votre code.
On plongera aussi dans des exemples concrets de migration entre deux versions majeures, pour montrer que la montée de version est moins un saut dans le vide qu’un chemin balisé.
L’objectif ? Vous faire adopter une approche sereine et proactive des dépréciations, pour que chaque nouvelle version de Symfony soit une opportunité d’évolution, et non une source d’angoisse.
#TechForAll - Yeeso : l’avenir de l’IT avec les femmes !
Dans un secteur où les algorithmes façonnent nos usages, nous oublions parfois le plus puissant : l’exemple humain. Cette conférence propose de revenir à l’essentiel : montrer pour donner envie, raconter pour inspirer, rendre visible pour transformer.
À travers le livre « Yeeso, l’avenir de l’IT avec les femmes », je partagerai comment 52 parcours authentiques, 31 articles métiers et 12 actions concrètes servent de véritable code source pour briser les stéréotypes, encourager les jeunes filles et fidéliser les talents féminins dans la Tech.
Ensemble, nous verrons :
- pourquoi les rôles modèles sont un levier direct pour attirer et retenir les femmes en Tech,
- comment un récit inspire plus qu’un chiffre,
- et comment chacun peut devenir, à son échelle, un rôle modèle pour la nouvelle génération.
Cette conférence s’adresse aux devs, managers, décideurs et décideuses RH et à toutes celles et ceux convaincus que la mixité n’est pas une option, mais une clé de performance collective.
Ensemble, faisons vivre une #TechForAll.
C’est pas très marrant de devoir être drôle tout le temps
On connaît tous les cartoons dans les journaux, de près ou de loin, mais que se cache-t-il derrière ces petits gags sur l’actu? Comment sont-ils conçus? Qui choisit les dessins? Peut-on être drôle sur commande? Leurs auteurs cotisent-ils à l’URSSAF? Peut-on vraiment rire de tout? Ne peut-on réellement plus rien dire? Qui est le plus fort, l’hippopotame ou l’éléphant? Vous avez la réf? Autant de questions auxquelles nous tenterons de répondre en vous emmenant dans les coulisses de ce métier méconnu, dans la bonne humeur et le burnout. Une conférence digne d’une enquête de Cash Investigation dans une usine de surimi nord-coréenne. NB : Les dessinateurs de presse sont un tiers humoristes, un tiers artiste, un tiers journaliste et 100% dépressifs. Il n’y a que 34 dessinateurs de presse qui ont la carte de journaliste, vous avez donc attrapé un Pokémon très rare.
Et si le futur de la programmation concurrentielle avait déjà 50 ans ?
Les projets PHP ont beaucoup évolués avec le temps et on gère de plus en plus de cas d'usages.
On est maintenant coutumier de gérer des tâches lourdes, ou longues, dans nos projets. La solution est souvent la même : l'utilisation de systèmes de queues (tel que RabbitMQ) pour les traiter en tâche de fond.
La partie technique est un sujet maintenant bien maitrisé. Mais la partie logique nous expose encore à toute une série de problèmes :
- sous-utilisation des ressources, comment faire en sorte que les workers ne passent pas la majorité de leur temps à attendre que d'autres actions finissent,
- gestion de la priorité, comment faire en sorte qu'une tâche ne monopolise pas tous les workers,
- gestion de la concurrence, comment faire en sorte que les workers ne se marchent pas sur les pieds.
On reste confronté à ces problèmes car on perpétue les modèles de programmation qu'on a toujours connus en PHP, à savoir la programmation synchrone.
Mais le reste de l'industrie y est confronté depuis un moment et y a répondu. La réponse se trouve dans un paradigme inventé il y a plus de 50 ans : l'Actor Model. Une approche de la programmation concurrentielle.
C'est un modèle très peu connu dans le monde PHP et pourtant vous l'utilisez probablement déjà indirectement à titre personnel ou professionnel. En effet c'est le modèle à la base de WhatsApp et RabbitMQ. On le retrouve aussi dans les serveurs de jeux multijoueurs.
Dans cette conférence nous verrons, à travers un exemple concret d'un crawler, l'expression de ces problèmes. Nous aborderons les fondements de l'Actor Model et comment ils solutionnent nos problèmes. Pour finir nous verrons l'avancement des travaux qui permettent d'utiliser ce modèle en PHP.
Archiver efficacement de grands volumes de données grâce aux monades
Dans notre équipe nous développons une application de gestion de documents. Une des fonctionnalités consiste en l'archivage d'une partie des documents après une période donnée.
Cet archivage passe par la génération d'une archive contenant les métadonnées et les binaires (pluriel dû au versionnement) de ces documents. L'archive est stockée de façon permanente dans un service tiers où les documents (après vérification de l'archive) sont définitivement détruits.
La période d'accumulation des documents avant archivage se compte en décennies. Certains de nos clients insèrent jusqu'à 700k documents/mois. Les archivages contiennent facilement des milliers de documents (jusqu'à 1Go/document).
Cette conférence est un retour d'expérience sur comment on génère des archives d'environ 80Go avec une gestion de ressources minimale. On verra comment en utilisant le prisme de la monade Sequence
on peut définir chaque étape de la génération en une liste de valeurs de façon sûre en mémoire.
On verra également comment l'écosystème innmind
est capable de condenser tout ça en une vingtaine de lignes de code.