Symfony Live 2026 – retours

Récemment, j’ai eu la chance de participer au Symfony Live 2026, l’occasion pour moi de rencontrer mes collègues de Smile, et de voir les dernières tendances du développement PHP. Je vous propose ici un petit retour de cette sympathique expérience.

Text User interface:

L’ouverture de la conférence a été faite par Fabien Potencier – l’auteur du framework PHP le plus utilisé (Symfony). Celui-ci nous explique qu’aujourd’hui, il crée des spécifications la journée, lance des agents agentiques le soir pour coder à sa place, et effectue une revue de code le lendemain matin. Claude Code est complètement intégré à son cycle de développement.

Il en a profité pour nous montrer son dernier composant Symfony – le Text User Interface (TUI). Celui-ci permet de réaliser des jolies interfaces à l’aide du terminal comme avec Flex.
Redimensionnement du layout, frames qui passent au 1er plan, fonds d’écran avec de la pluie, textes dans différentes fontes. En quelques prompts, nous avons pu voir que ce composant peut réaliser des jeux tels que Tetris ou Snake super facilement… Désormais, on peut donc faire du beau dans le terminal. Mais bon, personnellement, je n’ai pas encore compris l’intérêt de tout cela.

JsonStreamer:

Gary Pegeot nous a ensuite fait un retour d’expérience en comparant le serializer natif et le composant JSONStreamer. Dans ces tests, ce dernier était 10 fois plus rapide. Il nous a également incité à migrer nos tâches cron vers le scheduler de Symfony.

UX Native:

Lorsque votre client vous demande de transformer une application Symfony en application mobile, vous avez le choix entre tout refaire, ou trouver une solution intermédiaire. Avec UX Native, vous pouvez adapter facilement votre application Symfony (bouton, caméra, scan de qr code…)

IA:

Voici quelques recommandations autour de l’IA pour les projets PHP.
Aujourd’hui dans tous vos projets, il faut avoir :

  • une liste de standard (PHPStan, PHPMD…)
  • un fichier AGENT.MD qui décrit le projet
  • des fichiers SKILLS.MD afin de lui décrire des tâches plus précises (architecte, code review…)
  • Les webhooks components et un MCP devraient finir d’automatiser votre façon de coder.
    En résumé, il faut s’apdater pour rester productif.

FrankenPHP:

Kévin Dunglas l’auteur d’API Platform nous encourage fortement à migrer nos serveurs Apache/Nginx vers l’architecture FrankenPHP. Ce serveur est aujourd’hui mature, et propose des améliorations qui permettent de gagner beaucoup en performance:

  • Grâce au mode Worker, votre application est chargée une seule fois en mémoire au démarrage.
  • Les certificats SSL sont automatiquement renouvellés.
  • Intégration de Mercure pour push des informations sur plusieurs pages sans dépendre de Websocket.
  • Hot reloading de JS, CSS.
  • Utilisation du multi thread…

Doctrine et l’héritage:

Nous avons vu un cas où la question d’héritage était centrale. Vous avez une table User, une table Admin, une table Customer. Comment réaliser une application qui reste souple, mais qui permet de profiter d’un bon modèle de données. Pensez à regarder du côté de #InheritanceTyped[Joined]

JSON, EAV et Log:

Un comparatif nous montrait des informations stockées dans une table relationnel standard (il faut connaitre tous les champs attributs dès le départ). Ensuite, nous l’avons comparé à une table EAV (chaque attribut est stockée dans une table séparée ce qui augmente considérablement les temps de réponse). La solution était de l’EAV avec un unique champ en JSON. Cela reste non filtrable / recherchable, mais permet une vraie souplesse et une simplicité.
Pour tout ce qui est stockage de données non modifiables (comme des logs), ClickHouse semble une solution parfaite. Les temps de réponses sont juste incroyables !

SEO, et AI:

Une solution simple pour les plans de redirection:

  • Faire un crawl du site A. On stocke les urls et les 2000 mots de chaque page.
  • Faire un crawl du site B. On stocke les urls et les 2000 mots de chaque page.
  • On vectorise chaque page (pgVector sur postgres ou avec AIStore Composant), et on compare le site A avec le site B pour trouver les meilleures urls.

Turbo et Stimulus:

Plusieurs solutions ont émergés permettant de modifier l’affichage instantanément un peu comme un site sous React.
Sous Laravel, il y a Livewire, il y aussi htmx, et sous Symfony il y a Turbo / Stimulus. Avec Mercure (Frankenphp),
il gère une file d’attente des évènements et est capable de reprendre là où il s’est arrêté après une déconnexion.

Conclusion:

On aurait pu appeler cet évènement l’IA Live tant la place prise par l’intelligence artificielle était importante. Claude semble aujourd’hui intégré dans toutes les équipes de dév. Si je devais choisir uniquement un sujet à approfondir, je vous recommanderais celui sur l’IA et l’intégration dans votre workflow de développement. Entre faire du copier collerde ChatGPT, et avoir un assistant de codage qui envoie les Pull Request à votre place, il y a quand même une marche à ne pas rater !

Laisser un commentaire

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur la façon dont les données de vos commentaires sont traitées.