La parole est aux speakers : Jean-Pierre Vincent

Publié le

Jusqu’au Forum PHP 2020, retrouvez nos interviews de speakers pour mieux comprendre leur parcours et le sujet qu’ils ou elles aborderont lors de leur conférence !

La conférence

Performance : mais que se passe-t-il après le backend ?

Même avec un un code backend performant, l’utilisateur peut attendre plusieurs secondes avant de pouvoir utiliser votre interface : mais pourquoi ? Grâce à des exemples tirés de grands sites français (Le Monde, Cdiscount, Glamour …) nous allons voir les techniques modernes pour améliorer les performances d’un site, telles que perçues par l’utilisateur. Loin des seuls conseils poussés par Google LightHouse, nous verrons si HTTP/2 est vraiment une bonne affaire, ce que coûte un JS sous Webpack, si la compression d’images est une technique vaudou, et ce que peuvent faire graphistes ou intégrateurs pour accélérer un site. Outre les techniques nous verrons 2 outils phares de la perf et on discutera de comment gérer un projet de d'amélioration des perfs.

Grace Hopper
22/10/2020
14:30-15:10

À quel moment doit-on s’inquiéter des problématiques de performance dans un projet ?

Dans le cycle de release, un tout petit peu au début et beaucoup vers la fin du projet, lorsque 80% du code est écrit.
Au début il faut s’intéresser à la performance pendant la conception des maquettes et des schémas d’archi : où est-ce qu’on aurait à priori des temps d’attente qu’il va falloir designer pour faire patienter, quelles sont les fonctionnalités qui vont évidemment challenger la perf (listes infinies, images venant de contributeurs, plusieurs frameworks CSS/JS au même endroit …). Connaître les patterns de chargement classiques que l’on peut d’ores et déjà éviter est un plus, mais la plupart des technos modernes prévoient déjà ces cas-là.
Vers la fin, de manière pragmatique, on peut commencer à tester sa preview dans les conditions de production : avec la configuration serveur prévue (compression, protocole réseau, domaines, cache …), en y intégrant tous les tiers (pub, tracking, services externes …) et à partir du moment où environ 80% des fonctionnalités des pages ont été produites, on aura quelque chose de plutôt réaliste ! Quand je n’interviens pas sur la production, c’est à ces 2 moments-là qu’on fait appel à moi.

Le public du Forum PHP 2020 – édition en ligne est composé en majorité de devs backend. Que penses-tu pouvoir leur apporter avec ta conférence plus orientée frontend?

Les retours que j’ai des devs backend qui suivent ma formation ou mes confs se divisent en 2 catégories.
D’abord celles et ceux qui ne touchent jamais au frontend sont bien contents de découvrir des outils d’analyse rapides ou de monitoring qui permettent de trancher rapidement les responsabilités, en plus de l’intérêt intellectuel d’être capable de décoder une timeline réseau ou un profiling JavaScript. Cela leur évitera de perdre une semaine sur des optimisations PHP pour grappiller 20 ms, alors que 250 ms sont perdues dès qu’on inclut une Google Fonts ou qu’il faut 5 secondes pour exécuter React !
Celles et ceux qui, comme moi durant mes 10 premières années, font autant de backend que de frontend sont heureux·ses d’avoir des informations à jour, des conseils pratiques pour ausculter leur code et découvrent généralement quelques points de contention supplémentaires 🙂 Il y a tellement de spécialités différentes dans le métier de dev moderne, et tellement d’informations éparses (pas toujours à jour) qu’avoir un petit coup de pouce de temps en temps est salutaire 🙂

Tu es expert indépendant en webperfs. As-tu des conseils sur comment inculquer cette culture au sein d’une équipe ?

Oui : ne vous jetez pas sur le code ! La première étape passe toujours par la mesure : que voit l’utilisateur·trice, comment on le mesure, et comment on partage ces mesures avec des équipes non techniques ? Une fois qu’on pilote par les chiffres — à supposer qu’on ait les bons — les devs pourront faire ce qu’ils savent faire : résoudre un problème précis. La seconde étape, c’est la communication : dialoguer avec l’UX, le SEO ou le business pour savoir ce qui compte vraiment, fournir des chiffres régulièrement et parler de la perf comme d’une fonctionnalité. Enfin les process habituels : recette fonctionnelle incluant les objectifs de perf, dashboards pour savoir continuellement où l’on se situe et reports réguliers à remonter en Comex.

Une conférence présentée par

Jean-Pierre VINCENT
Jean-Pierre VINCENT
Expert indépendant sur la webperf et l'architecture JavaScript. Orateur, formateur, prof.

Autres interviews