Cet article de Jordy Scholing, publié dans le Web Performance Calendar, explore pourquoi l'optimisation pour le 75ème percentile (p75) des métriques de performance web, bien qu'utile, ne suffit pas pour offrir une expérience utilisateur optimale. Il argue que se concentrer sur le 90ème percentile (p90) permet de mieux capturer les problèmes réels d'expérience utilisateur, notamment pour les utilisateurs à haute intention, mobiles ou ayant des attentes élevées. L'auteur souligne que le p75, bien qu'utile pour le SEO, ne répond pas à la question de savoir si presque tous les utilisateurs sont satisfaits. En optimisant pour le p90, on identifie des problèmes tels que des temps de réponse instables, des scripts tiers problématiques et des pics de JavaScript sur des appareils lents, ce qui permet d'améliorer réellement les taux de conversion et l'engagement. L'article encourage les experts en performance à viser plus haut que le p75 pour offrir une expérience utilisateur plus équitable et efficace.
Conor McCarthy, ingénieur en support client chez DebugBear, partage cinq enseignements clés tirés de 100 revues de vitesse de site réalisées en 2025. Il souligne la valeur de Lighthouse, souvent utilisé comme référence, mais recommande de privilégier les données CrUX et de surveillance des utilisateurs réels pour les grandes équipes. Il note également que les seuils de Total Blocking Time (TBT) sont élevés, avec la plupart des pages dépassant 1 seconde, mais que cela n'impacte pas nécessairement l'expérience utilisateur réelle, comme le montre les données CrUX.
L'article explique comment l'auteur a résolu un problème de vitesse lente sur un câble USB-C en découvrant que l'orientation du câble affectait les performances. Il explore ensuite les détails techniques des connecteurs USB-C, qui possèdent 24 broches, chacune ayant une fonction spécifique. L'auteur fournit un diagramme simplifié des broches et explique que certaines broches sont interconnectées à l'intérieur du câble pour permettre la réversibilité. Il mentionne également que tous les câbles et chargeurs n'utilisent pas toutes les broches disponibles.
L'article explore les différentes phases de l'optimisation du Largest Contentful Paint (LCP), une métrique clé des Core Web Vitals. Il explique que le LCP peut être décomposé en quatre sous-parties : TTFB (Time to First Byte), Resource Load Delay, Resource Load Duration et Element Render Delay. Chaque phase identifie des goulots d'étranglement spécifiques et propose des solutions pour les résoudre. L'article souligne l'importance de comprendre ces phases pour diagnostiquer et améliorer les performances de chargement des pages web, en particulier pour les images, qui représentent la majorité des éléments LCP.
L'article explore comment des techniques anciennes et des API natives du navigateur surpassent les frameworks modernes en termes de performance. L'auteur présente multicardz, un outil de gestion de données spatiales, qui utilise des bitmaps pour les requêtes backend, réduisant ainsi les temps de traitement. Pour le frontend, il utilise DATAOS (DOM As The Authority On State), une approche où le DOM est la source de vérité pour l'état de l'application, éliminant ainsi la nécessité de synchroniser un état séparé. Le résultat est une application performante avec un bundle JavaScript de seulement 32KB, un score Lighthouse de 100, et des temps de réponse extrêmement rapides.
Morgan Murrah explique comment il a optimisé les animations de son site web en utilisant le compositeur (compositor), un processus GPU séparé qui améliore les performances des animations CSS. Il partage son expérience avec deux animations : des nuages en mouvement et un soleil avec des ondes pulsantes. En analysant les performances avec Chrome, il découvre que l'animation des nuages, utilisant la propriété left, génère une activité excessive dans le thread principal. Il apprend à convertir cette animation en une animation composée, utilisant la propriété transform au lieu de left, ce qui réduit significativement l'impact sur les performances. Un article accessible pour comprendre l'importance du compositeur dans les animations web.
L'article explore la possibilité d'utiliser l'IA pour codifier des bonnes pratiques de performance web, inspirées de l'outil YSlow des années 2000. L'auteur propose de former un modèle d'IA avec des données structurées issues de l'HTTPArchive, en comparant des pages lentes et rapides, pour distiller des règles de performance web adaptées à l'ère actuelle. L'objectif est de revivre l'esprit de YSlow avec une approche moderne et automatisée.
React 19.2 améliore l'optimisation de l'INP (Interaction to Next Paint) avec deux nouvelles fonctionnalités clés. La première est le composant
Cet article met en lumière les lacunes des études de cas souvent utilisées pour démontrer l'impact de la performance web sur les revenus. Il souligne que ces études, bien que populaires, sont souvent biaisées, incomplètes ou mal contextualisées, ce qui nuit à la crédibilité de l'industrie. Il prend comme exemples l'étude d'Amazon sur la perte de revenus de 1% pour 100ms de retard (données obsolètes, manque de contexte) et l'étude de Rossignol (variables confondantes). L'auteur encourage à être critique face à ces études et à privilégier des données solides et contextuelles pour convaincre les parties prenantes.
L'article présente 10 techniques avancées en JavaScript/TypeScript. Ces techniques, testées en production, incluent l'orchestration de promesses, le cache mémoire sécurisé, la maîtrise des données binaires et l'optimisation asynchrone. Elles permettent de résoudre des problèmes de performance critiques, comme réduire les fuites de mémoire de 38%, diminuer les coûts de base de données de 60%, et accélérer le traitement des données de 3,2 fois. Des techniques comme le "Void Guard" pour éviter les promesses flottantes, l'utilisation de l'API Performance pour des mesures de temps précises, et l'utilisation de AbortController pour l'orchestration de promesses sont expliquées en détail. Ces stratégies peuvent transformer la manière dont vous construisez des applications robustes.
L'article explore comment réduire la charge de travail de JavaScript en utilisant des fonctionnalités modernes de HTML et CSS. Il propose de remplacer certains patterns JavaScript par des méthodes natives, comme les éléments <details> et <summary> pour les accordéons, ou une ligne de CSS pour ajuster la taille des champs de formulaire. L'objectif est de diminuer la quantité de JavaScript nécessaire, améliorant ainsi les performances et l'expérience utilisateur. L'auteur promet également une bibliothèque de composants avec ces nouvelles approches.
L'article explore une approche proactive pour intégrer la performance web dès le début du développement, évitant ainsi le cycle de dégradation des performances. Odell, ingénieur chez Canva, propose d'impliquer toute l'équipe et de rendre la performance visible tôt, plutôt que de la traiter comme un problème à résoudre a posteriori. Il explique comment les problèmes de performance s'accumulent silencieusement et pourquoi les corrections tardives sont souvent inefficaces. La solution proposée est de créer des systèmes et des processus qui favorisent naturellement les décisions rapides et performantes.
Ethan Gardner explore dans cet article l'utilisation de l'apprentissage automatique pour modéliser le trafic web. Il se demande comment les variations des données synthétiques (lab) impactent les métriques réelles (field), comme le Largest Contentful Paint (LCP). En suivant un cours sur le machine learning, il découvre XGBoost, un outil de gradient boosting efficace pour les prédictions. Il décrit ensuite son expérience où il utilise XGBoost pour prédire la valeur du LCP p75 à partir de données synthétiques, en détaillant les étapes de collecte, de nettoyage et de préparation des données, ainsi que la mise en œuvre du modèle.
L'article de Julia Evans explique comment Kubernetes peut causer des problèmes à etcd, un système de stockage de clés-valeurs utilisé pour la coordination des clusters.
Matt Zeunert explore les raisons pour lesquelles certaines pages web contiennent des documents HTML volumineux, souvent en raison de l'intégration de ressources comme des images, des CSS ou des polices de caractères en Base64. Il analyse divers cas, tels que les images intégrées via des data URLs, les CSS inline avec des sélecteurs complexes, et les polices de caractères embarquées, qui peuvent impacter les performances. L'article met en lumière les avantages et inconvénients de ces pratiques, notamment l'absence de mise en cache indépendante et la priorisation des ressources. Un outil, le DebugBear HTML Size Analyzer, a été amélioré pour gérer ces structures complexes.
Améliorez le temps de réponse du serveur (TTFB) et l'expérience utilisateur (UX) grâce au streaming HTTP. Cet article explique comment le streaming HTTP peut accélérer la perception de la vitesse de chargement des pages dynamiques en envoyant progressivement le contenu au navigateur, plutôt que d'attendre que toute la page soit générée. Cela est particulièrement utile pour les pages affichant de nombreuses lignes de données. L'article fournit un exemple en JavaScript/TypeScript utilisant le framework Mastro et Kysely pour la base de données, démontrant comment utiliser le streaming pour améliorer les performances.
Anthropic explique comment l'exécution de code avec le protocole MCP (Model Context Protocol) permet de rendre les agents IA plus efficaces. En évitant de charger toutes les définitions d'outils et les résultats intermédiaires dans la fenêtre de contexte, on réduit les coûts et les temps de réponse. L'article détaille les problèmes courants liés à la surcharge de la fenêtre de contexte et à la consommation excessive de tokens, et propose des solutions pour optimiser l'interaction des agents avec les serveurs MCP.
L'article explore quatre modèles avancés pour résoudre des défis architecturaux complexes en utilisant Symfony 7.x et PHP 8.x. Il aborde des problèmes tels que la gestion des API lentes, la communication avec de multiples endpoints, la création de logs d'audit et le téléchargement de fichiers volumineux. L'auteur illustre ces concepts avec des exemples pratiques, notamment l'utilisation de Symfony Messenger pour découpler les tâches non critiques des interactions utilisateur, améliorant ainsi l'expérience utilisateur. L'article est une ressource précieuse pour les développeurs cherchant à optimiser leurs applications avec Symfony.
Cet article présente les techniques de pagination des API pour les systèmes évolutifs, illustrées par des exemples concrets de Twitter (X) et Spotify. L'article explique pourquoi la pagination est nécessaire pour gérer efficacement de grands ensembles de données, en évitant les problèmes de lenteur, de consommation de bande passante et de mémoire. Il détaille deux méthodes principales : la pagination Limit-Offset, où le serveur divise les données en pages et renvoie un nombre limité de records en fonction d'un décalage (offset), et la pagination par curseur, qui utilise des identifiants uniques pour naviguer à travers les données. L'article met en avant les avantages et les inconvénients de chaque méthode, aidant les lecteurs à choisir la stratégie de pagination la plus adaptée à leurs besoins.
Cet article traite des problèmes de performance d'IntelliSense dans les projets Nx et Turborepo, notamment dans les monorepos TypeScript. Les symptômes incluent des retards d'autocomplétion, des gels de l'éditeur et des erreurs fantômes. L'article explore quatre hypothèses possibles : une mauvaise configuration de Nx, des références manquantes dans TypeScript, des inclusions/exclusions trop larges dans tsconfig.json, et la complexité croissante du codebase. Une enquête approfondie est nécessaire pour identifier la cause racine de ces problèmes de performance.