La parole est aux speakers : Kévin Dunglas

Publié le

La conférence

Webperf : boostez vos apps PHP avec le code de statut HTTP 103 Early Hints

Google Chrome, Firefox, Caddy et Apache supportent désormais un nouveau code de statut HTTP : 103 Early Hints. Depuis sa version 6.3, Symfony supporte également les réponses 103 et le nouveau SAPI FrankenPHP le supporte également nativement.

Ce nouveau type de réponse un peu particulier a un seul objectif : accélérer le temps de chargement de vos sites et applications web en permettant au navigateur de précharger les ressources dont il aura besoin pour effectuer le rendu de la page.

Au cours de cette présentation, nous verrons en quoi 103 diffère des autres techniques de préchargement comme HTTP/2+ Server Push ou les balises <link ref="preload"> et comment en tirer parti depuis nos applications PHP.

Salle Johnson GHJKLM
13/10/2023
12:25-12:45

Lors de tes dernières conférences à l’AFUP tu nous présentais le projet FrankenPHP, celui-ci est-il maintenant utilisable en production ?

Il l’est presque ! La plupart des bugs ont été résolus et la performance a été améliorée.

FrankenPHP est désormais testé avec Symfony, WordPress, Drupal, Sulu ainsi qu’avec de nombreuses extensions, parmi lesquelles Xdebug et parallel, ce qui a permis de dénicher et de corriger pas mal de petits problèmes et de s’assurer de la stabilité du projet.

PHP 8.2 et 8.3 sont désormais supportés et nous publions automatiquement des images Docker pour ces deux versions de notre langage préféré. La dernière étape va consister à construire et publier des binaires pour celles et ceux qui souhaitent se passer de Docker et ne pas avoir à compiler le projet eux-mêmes.

La rumeur court que des annonces concernant FrankenPHP (et pas que !) seront faites lors de la conférence API Platform qui se déroulera les 21 et 22 septembre à Lille. N’hésitez pas à venir y faire un tour pour vous chauffer avant le Forum PHP !

En parlant du Forum PHP, mon talk sur le code HTTP “103 Early Hints” expliquera (entre autres) comment utiliser FrankenPHP ainsi que le serveur Caddy (sur lequel il est basé) pour tirer partie de cette nouvelle optimisation permise par la plateforme web.

Speaker régulier aux événements de l’AFUP, tu as eu l’occasion de te prêter au jeu de l’interview plusieurs fois. Quelle question aurais-tu aimé que l’on te pose, mais qu’on ne t’a jamais posé ?

« C’est quand que tu vas mettre des paillettes dans ma vie ? »

Peux-tu nous faire une mise à jour autour de Mercure et des échanges avec l’IETF ?

Mercure se porte à merveille ! Le protocole comme son implémentation de référence sont maintenant matures et très stables. Ils sont utilisés en production par des centaines de projets. Parmi eux on trouve les outils qui ont permis d’organiser l’Euro de foot et la Cop 21, les plateformes de e-commerçants tels que Lush, Alice’s Garden ou Oskab, des réseaux sociaux comme MYM, des médias, de nombreux acteurs de la santé…

C’est aussi la première fois que j’arrive à trouver un vrai modèle économique pour l’un de mes projets libres. Les versions Cloud et Haute Dispo simplifient la vie des utilisateurs, apportent de la valeur ajoutée au projet, et financent le développement du projet libre (ainsi que de nombreuses contributions à d’autres projets libres tels que API Platform, Symfony et le serveur web Caddy, qui sont tous les trois utilisés pour construire la version managée).

Côté technique, la version 1.20 du langage Go a ajouté de nouvelles fonctionnalités à la bibliothèque standard qui vont permettre d’encore simplifier le code du hub et d’améliorer légèrement ses performances (qui sont déjà exceptionnellement bonnes). D’autres optimisations sur lesquelles nous bossons devraient également arriver prochainement.

Concernant les discussions avec l’IETF, je n’ai pas encore pu terminer le processus de standardisation faute de temps. J’attends également de connaître l’avancée de la standardisation de la spécification URL pattern, qui pourrait permettre de simplifier encore le système de “topic selectors” de Mercure, avant de publier une version définitive du protocole.

Ceci dit, des discussions sur ces sujets viennent de reprendre et un nouveau groupe de travail dédié au Web temps réel pourrait prochainement voir le jour. Il regrouperait les travaux autour de Mercure et de Braid (une proposition d’extension à HTTP qui pourrait bien un jour faire l’objet d’un talk lors d’un évènement AFUP !).

Une conférence présentée par

Kévin DUNGLAS
Kévin DUNGLAS
Kévin est le créateur du framework API Platform ainsi que de projets comme FrankenPHP, Mercure ou Vulcain. Il est également membre de la Core Team Symfony et a cofondé la société autogérée Les-Tilleuls.coop.

Autres interviews