AFUP Forum PHP 2020 Baromètre Planète PHP

La parole est aux speakers : Jean-Pierre Vincent

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.

Le speaker

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

Autres interviews

En poursuivant votre navigation sur ce site, vous acceptez l’utilisation des cookies pour améliorer votre navigation. plus d'infos

1. Qu’est-ce qu’un cookie?

Un Cookie est un petit fichier texte enregistré sur votre terminal (ordinateur, tablette, smartphone, etc.), à l’occasion de la consultation d’un service en ligne grâce à votre logiciel de navigation. Il permet à son émetteur d’identifier le terminal dans lequel il est enregistré, pendant la durée de validité ou d’enregistrement du Cookie. Lors de la consultation de notre site Internet, des informations relatives à la navigation de votre terminal sont susceptibles d'être enregistrées dans ces fichiers dits "Cookies". Ces derniers sont installés sur votre terminal, sous réserve des choix que vous auriez exprimés concernant les Cookies et que vous pouvez modifier à tout moment.

2. A quoi servent les cookies émis sur notre site ?

Seul l’émetteur d’un cookie est susceptible de lire ou de modifier les informations qui y sont contenues.
Les cookies utilisés sur notre site permettent :

3. Vos choix concernant les cookies

Vous disposez de différents moyens pour gérer les cookies. Tout paramétrage que vous pouvez entreprendre sera susceptible de modifier votre navigation sur notre site et sur Internet en général et vos conditions d'accès à certains services de notre site nécessitant l'utilisation de cookies. Vous pouvez à tout moment exprimer et modifier vos souhaits en matière de cookies, par les moyens décrits ci-dessous. L'accord sur les cookies L'enregistrement d'un cookie dans un terminal est essentiellement subordonné à la volonté de l'utilisateur du terminal, que celui-ci peut exprimer et modifier à tout moment et gratuitement à travers les choix qui lui sont offerts par son logiciel de navigation. Si vous avez accepté dans votre logiciel de navigation l'enregistrement de cookies dans votre terminal, les cookies intégrés dans les pages et contenus que vous avez consultés pourront être stockés temporairement dans un espace dédié de votre terminal. Ils y seront lisibles uniquement par leur émetteur.

Le refus des cookies Si vous refusez l'enregistrement de cookies dans votre terminal, ou si vous supprimez ceux qui y sont enregistrés, vous ne pourrez plus bénéficier d'un certain nombre de fonctionnalités qui sont néanmoins nécessaires pour naviguer dans certains espaces de notre site. Tel serait le cas si vous tentiez d'accéder à votre compte ou à votre abonnement qui nécessite de vous identifier. Tel serait également le cas lorsque nous, ou nos prestataires, ne pourrions pas reconnaître, à des fins de compatibilité technique, le type de navigateur utilisé par votre terminal, ses paramètres de langue et d'affichage ou le pays depuis lequel votre terminal semble connecté à Internet. Le cas échéant, nous déclinons toute responsabilité pour les conséquences liées au fonctionnement dégradé de nos services résultant de l'impossibilité pour nous d'enregistrer ou de consulter les cookies nécessaires à leur fonctionnement et que vous auriez refusés ou supprimés. Les choix offerts par votre logiciel de navigation Vous pouvez configurer votre logiciel de navigation de manière à ce que des cookies soient enregistrés dans votre terminal ou, au contraire, qu'ils soient rejetés, soit systématiquement, soit selon leur émetteur. Vous pouvez également configurer votre logiciel de navigation de manière à ce que l'acceptation ou le refus des cookies vous soient proposés ponctuellement, avant qu'un cookie soit susceptible d'être enregistré dans votre terminal. Pour la gestion des cookies et de vos choix, la configuration de chaque navigateur est différente. Elle est décrite dans le menu d'aide de votre navigateur, qui vous permettra de savoir de quelle manière modifier vos souhaits en matière de cookies. Selon votre navigateur, consultez le lien ci-dessous pour configurer votre navigateur et refuser les cookies :