L’article analyse de manière nuancée les avantages et les inconvénients des loaders SVG par rapport aux loaders au format raster pour les interfaces web, en mettant l’accent sur la performance et l’esthétique : les SVG offrent une meilleure évolutivité, des fichiers souvent plus légers et peuvent être stylés ou animés via CSS/DOM, ce qui améliore l’adaptabilité à différentes résolutions, tandis que les images raster peuvent être plus simples pour des visuels complexes mais entraînent des compromis en taille et en clarté, ce qui influence le choix selon les besoins de design et de performance.
Dans cet article, l’auteur explique comment utiliser correctement le rate limiting dans des API Symfony en passant d’une simple limite unique à l’utilisation du Configurable Compound Rate Limiter de Symfony 7.3, qui permet de combiner plusieurs contraintes (par exemple une limite courte pour des pics d’activité et une limite longue pour éviter une charge soutenue) de manière déclarative dans la configuration plutôt que dans le code, avec pour bénéfices des en-têtes cohérents, une orchestration interne centralisée et une meilleure maintenabilité ; il détaille aussi comment externaliser l’application des limites via un event listener et des attributs pour garder les contrôleurs propres tout en soulignant les points d’attention (backend de stockage, surveillance des 429, etc.).
Cet article compare l'utilisation de DQL (Doctrine Query Language) et de SQL natif dans l'écosystème Symfony, en se basant sur des exemples concrets avec Symfony 7.4 et PHP 8.4+. Il explore les performances, la maintenabilité et l'expérience de développement des deux approches. L'auteur définit d'abord un modèle de domaine simple avec une entité Product, puis illustre l'utilisation de DQL à travers un exemple de requête dans un repository. Les avantages de DQL, comme la manipulation d'objets et la portabilité entre bases de données, sont mis en avant. L'article promet également une analyse des performances et de l'hydratation des résultats.
L'auteur partage son expérience d'optimisation des performances web de son blog en convertissant massivement les images au format AVIF et en pré-compressant les documents HTML. Inspiré par un talk de Touraine Tech 2026, il a réduit la taille des images de 76% en moyenne, passant de 274 Mo à 66 Mo, sans perte de qualité visible. Il a également optimisé la génération et le service des pages HTML via des scripts et des configurations nginx. Un partage détaillé des résultats et des méthodes utilisées.
L'article explore la renaissance des outils en ligne de commande (CLI) et des émulateurs de terminal, marquée par des performances accrues grâce à des langages comme Rust, une meilleure expérience utilisateur et l'intégration de l'IA. Des outils comme ripgrep ont révolutionné les performances, tandis que des émulateurs comme Kitty et Warp ont modernisé l'interface. L'essor des assistants de codage en CLI, tels que Claude Code et GitHub Copilot, a renforcé l'importance des terminaux, offrant une flexibilité et une cohérence accrues dans divers environnements. Cette convergence de tendances a rendu les outils en terminal plus puissants et accessibles que jamais.
Récap du jour 2 de Touraine Tech 2026 : Une journée riche en retours d’expérience techniques et humains. Florian Forestier a partagé une aventure de debugging bas niveau sur du matériel réseau obsolète, révélant comment une vieille version d’Ubuntu a permis de résoudre un bug kernel lié aux pilotes QLogic. Paul Pinault a exploré les failles de sécurité des ampoules connectées, soulignant les défis réglementaires (RED, Cyber Resilience Act) et les vulnérabilités matérielles. Antoine Caron et Mathieu Mure ont rappelé l’impact des images sur les performances web, avec des conseils pratiques pour optimiser leur chargement (AVIF, srcset, Git LFS). Matthias et Sylvain Gougouzian ont présenté un projet maker familial inspirant, mêlant apprentissage technique et communication intergénérationnelle. Enfin, Olivier Poncet a disséqué l’architecture ingénieuse d’Another World (1991), un jeu vidéo révolutionnaire conçu par une seule personne, mettant en lumière des optimisations matérielles et logicielles audacieuses. Une édition marquée par des échanges humains et techniques de qualité, avec une mention spéciale pour l’organisation et l’ambiance conviviale.
L'article explore l'importance de la mise en cache au niveau de l'application, en se concentrant sur les pools de cache, les tags et l'invalidation. À travers un projet Symfony réaliste, l'auteur montre comment introduire progressivement la mise en cache, identifier les problèmes en production et améliorer la conception du cache. Les exemples illustrent l'évolution de la mise en cache, en commençant par une approche naïve et en introduisant des techniques plus avancées comme les pools de cache dédiés et l'invalidation fine-grained à l'aide de tags. L'objectif est de montrer comment concevoir un cache fiable en production, en abordant les problèmes courants et les solutions applicables au-delà d'un seul framework.
Cet article explore la tendance croissante des frameworks HTML-first, comme htmx, qui révolutionnent le développement web en revenant à une approche plus simple et performante, centrée sur le HTML et le serveur, plutôt que sur des applications monopages (SPA) complexes. Il met en lumière les problèmes de surcharge JavaScript, les avantages en termes de performance, de simplicité et de maintenance, ainsi que les cas d'utilisation idéaux pour cette approche. L'auteur souligne également les bénéfices pour le SEO, l'accessibilité et l'expérience utilisateur, tout en discutant des situations où une approche différente pourrait être plus appropriée.
L’article décrit plusieurs patterns d’architecture logicielle identifiés comme pertinents pour 2026, en les replaçant dans la réalité des chantiers IT plutôt que dans la simple mode. Il explique notamment l’Event-Driven Architecture (EDA) comme une approche asynchrone permettant de découpler les systèmes pour améliorer la scalabilité et la résilience, illustrée par un cas e-commerce concret avec gains de performance et disponibilité, et détaille le pattern API-First et API Gateway, qui structure un système d’information moderne en concevant d’abord l’API et en centralisant son exposition, sa sécurité et son monitoring. L’article aborde aussi brièvement CQRS avec Event Sourcing et Saga Pattern pour gérer des logiques complexes de séparation lecture/écriture et de transactions distribuées, en donnant leurs principes, bénéfices, pièges à éviter et cas d’usage terrain.
Cet article explore les performances de Symfony 7.4 sur FrankenPHP, une nouvelle approche de serveur PHP qui intègre l'interpréteur PHP directement dans Caddy, éliminant ainsi les surcharges de FastCGI et les configurations complexes de Nginx. L'auteur compare la latence et le débit de cette configuration avec celle de PHP-FPM, montrant une réduction significative du temps de réponse (de 45ms à 8ms) grâce au mode Worker de FrankenPHP, qui maintient l'application en mémoire après le premier démarrage. Le tutoriel guide à travers la mise en place de cette configuration avec Docker, en détaillant les étapes pour construire une image Docker optimisée et configurer le serveur Caddy. Il aborde également les avantages de cette architecture moderne, comme le support natif de HTTP/3 et HTTPS automatique.
L'auteur partage son expérience d'optimisation de traitement de données pour son blog, passant de plusieurs heures à quelques minutes. Il explique son architecture basée sur l'event sourcing pour analyser les visites, stockées dans une base de données et traitées par différents projecteurs. Face à un problème de performance lors de la reprocessus de 11 millions de lignes, il décrit son approche pour améliorer les performances, en commençant par établir une ligne de base de 30 événements par seconde.
L'article "Microservices Are Killing Your Performance (And Here's the Math)" explique comment les microservices, bien qu'ils promettent une meilleure scalabilité et maintenabilité, peuvent en réalité nuire aux performances. L'auteur compare les appels de fonctions en processus (monolithes) avec les appels HTTP entre microservices, montrant que ces derniers sont 1 000 à 5 000 fois plus lents. Un exemple concret de flux de checkout e-commerce illustre cette différence, avec une architecture microservices 15 % plus lente qu'une architecture monolithique. L'article aborde également le problème N+1 des services, où les dépendances entre services entraînent des temps d'exécution plus longs. Des benchmarks réels montrent que les microservices peuvent être jusqu'à 80 % plus lents dans certaines situations, malgré des conditions réseau parfaites et l'absence de pannes de service.
Cet article explique comment gérer et afficher des données massives dans une application Symfony en utilisant MongoDB. L'auteur, Andreas Braun, se base sur un dataset allemand de prix de carburant, qui change fréquemment et varie selon les villes. Le dataset comprend 78 Go de données de prix et près de 10 Go de données de stations, avec des fichiers organisés par année, mois et jour. L'article décrit comment inspecter les données, les importer dans MongoDB, et concevoir un schéma efficace pour travailler avec ce volume de données. La première partie se concentre sur l'inspection des données et la conception du schéma, tandis que la deuxième partie abordera la création d'une application Symfony pour afficher ces données.
Symfony UX Icons révolutionne la gestion des icônes dans Symfony en intégrant plus de 200 000 icônes SVG via Iconify, sans CDN, sans sprite et sans configuration complexe. Ce composant télécharge les icônes localement, les met en cache et les injecte directement dans le HTML, optimisant ainsi les performances et la maintenabilité. Avec une simple ligne de code Twig, vous pouvez utiliser des icônes de diverses collections comme Tabler, Lucide ou Material Design Icons. Installation via Composer et usage immédiat sans configuration supplémentaire.
Cet article explore comment enseigner aux agents IA à interpréter les données de performance, en s'appuyant sur une version modifiée de Chrome DevTools. Vinicius Dallacqua partage son expérience de création d'un assistant IA spécialisé dans la performance, en mettant l'accent sur la transformation des données brutes en informations exploitables. Il aborde les défis de la visualisation des données, l'amélioration continue de DevTools par l'équipe Chrome, et son projet PerfLab visant à réduire la barrière d'entrée pour les développeurs. L'objectif est d'automatiser l'extraction d'informations pertinentes à partir des fichiers de traces de performance.
L'article explore les risques liés à l'utilisation de contenus tiers (third parties) sur les sites web, notamment les points de défaillance uniques (SPOFs). Il explique comment ces dépendances externes peuvent ralentir un site bien optimisé et causer des interruptions de service, même pour les sites n'utilisant pas directement le fournisseur défaillant. L'auteur illustre ses propos avec des exemples concrets comme les boutons "J'aime" de Facebook en 2012, la fermeture de RawGit en 2018, et les récentes pannes de grands CDN. Il propose également des solutions pour tester et atténuer ces risques, en s'appuyant sur des données de l'HTTP Archive et du RUM Archive.
Ce guide pratique de Joan León, expert en performance web, explique comment utiliser Chrome DevTools pour détecter et résoudre les problèmes de performance sur un site web. L'auteur, consultant et co-fondateur de PerfReviews, partage sa méthodologie étape par étape, en se concentrant sur les fonctionnalités clés de DevTools pour l'analyse des performances. Il illustre son propos avec une analyse du site Zara, choisi parmi les sites à fort trafic organique lors du Black Friday 2025. Le guide met en lumière des outils comme le tri des ressources par taille dans l'onglet Réseau, l'identification des fichiers lourds et des images, et l'évaluation des stratégies de cache. L'objectif est de fournir des pistes pour améliorer l'expérience utilisateur en optimisant les performances.
L'article explique le mécanisme de BFCache (Back/Forward Cache) des navigateurs, qui permet de restaurer instantanément une page lors de l'utilisation des boutons de navigation arrière et avant. Ce mécanisme, présent depuis longtemps dans les navigateurs, a un impact significatif sur les Core Web Vitals et l'expérience utilisateur. L'auteur détaille comment mesurer et optimiser l'utilisation de BFCache, ainsi que les facteurs qui peuvent l'empêcher, comme l'événement 'unload' ou certaines directives de cache. Une lecture intéressante pour les passionnés de performance web.
Cet article explore les nuances et les problèmes liés au Time-To-First-Byte (TTFB), une métrique de performance web souvent mal comprise. Marx souligne que le TTFB a plusieurs définitions et est composé de plusieurs sous-parties, ce qui rend difficile la comparaison des mesures et le débogage des problèmes. Il aborde également les facteurs qui peuvent influencer les valeurs de TTFB, y compris les technologies comme HTTP/2 et HTTP/3, et propose des recommandations pour une utilisation plus judicieuse de cette métrique. Le billet est le premier d'une série qui approfondira l'impact de diverses technologies sur le TTFB.
Barry Pollard, expert en performance web chez Google, explique dans cet article les impacts négatifs des paramètres d'URL (URL params) sur les performances des sites web. Ces paramètres, souvent utilisés pour le suivi analytique, peuvent empêcher le cache des pages, même lorsque le contenu est identique, ce qui entraîne des chargements inutiles et une surcharge des serveurs. L'auteur illustre ce problème à travers trois scénarios concrets et souligne l'importance de la mise en cache pour optimiser la performance web.