L’article de Chris Down, expert en gestion mémoire Linux, clarifie les différences entre zswap et zram, deux technologies de swap compressé souvent mal comprises. L’idée principale est de privilégier zswap dans la plupart des cas, car il compresse les pages en RAM tout en transférant automatiquement les données froides vers le disque, optimisant ainsi l’utilisation de la mémoire. À l’inverse, zram crée un périphérique bloc compressé en RAM avec une capacité fixe, ce qui peut entraîner des problèmes si la mémoire est saturée, comme des plantages (OOM) ou une dégradation des performances.
L’auteur souligne que zram n’est adapté que pour des cas très spécifiques, comme les systèmes embarqués ou ceux nécessitant une sécurité renforcée (éviter l’écriture sur disque). Il met en garde contre l’utilisation conjointe de zram et de swap disque, qui peut aggraver la pression mémoire en déplaçant des données actives vers le disque lent. Pour les serveurs, zram pose aussi des problèmes de comptabilité des ressources, car son usage n’est pas intégré aux cgroups.
Enfin, l’article explique que les recommandations simplistes ("utilisez zram pour préserver votre SSD") sont souvent infondées. Le choix dépend du contexte : zswap est plus flexible et moins risqué, tandis que zram, bien que performant dans certains scénarios, exige une configuration rigoureuse (comme un gestionnaire OOM utilisateur) pour éviter les blocages.
L’article présente image-optimizer, un package PHP open source (via Composer) qui automatise la conversion des images (PNG/JPG) vers des formats modernes (AVIF, WebP) et génère des variantes responsive, réduisant significativement leur poids (jusqu’à 50% pour l’AVIF). Basé sur l’extension Imagick/ImageMagick, il s’intègre facilement dans les workflows Laravel, Symfony ou PHP vanilla. Une configuration simple permet de définir les dossiers sources/destinations, les qualités, les densités (retina) et les largeurs adaptatives. La commande vendor/bin/image-optimizer génère les images optimisées, avec des options comme --folder ou --force. L’article inclut un exemple de balise <picture> pour exploiter ces formats dans le HTML. Un gain de performance clé pour les sites web ! 🚀
Ce package PHP open source, installé via Composer, simplifie l'optimisation des fichiers de polices (TTF → WOFF2) en supprimant les glyphes inutiles et en compressant les fichiers. Idéal pour les projets web, il réduit drastiquement le poids des polices (ex. Roboto passe de 450 Ko à ~18 Ko) tout en conservant les caractères nécessaires. Installation facile avec composer require --dev uxcode-fr/font-optimizer, puis une commande CLI (vendor/bin/font-optimizer) génère les versions optimisées dans /public/fonts/. Configurable via un fichier PHP ou composer.json, il supporte aussi les polices variables et les Unicode personnalisés. Un must pour booster les performances Lighthouse ! 🚀
L’article explique que le système de réactivité de Vue 3, basé sur des Proxy ES6, devient un goulot d’étranglement avec de gros volumes de données car il transforme récursivement chaque objet et propriété en élément réactif, ce qui peut créer des centaines de milliers de proxies, bloquer le thread principal et faire exploser l’usage mémoire (par exemple un JSON de quelques Mo pouvant être multiplié en mémoire). Il en résulte des gels du navigateur et des performances dégradées, notamment lors du rendu de grandes listes, et l’article propose d’éviter la réactivité profonde par défaut en adoptant des stratégies comme la réactivité partielle, le stockage non réactif de données volumineuses ou des patterns de chargement et transformation plus ciblés afin de limiter le coût CPU et mémoire.
Maxime Colin partage son retour d'expérience sur 4 méthodes pour paralléliser des tâches répétitives (comme le mapping de flux de données) avec Claude Code : séquentielle, batch parallèle, Agent Teams et Dynamic Worker Pool. L’auteur explique pourquoi un LLM comme Claude Code est plus adapté qu’un script classique pour interpréter des logs d’erreur et corriger des mappings sémantiques (ex: "CDI de chantier" → PermanentContract). Chaque approche est illustrée par un fichier .claude/commands/ personnalisé, avec un focus sur l’optimisation de la parallélisation pour gagner en productivité. Un article pratique pour automatiser des workflows IA complexes.
L'article analyse la consommation mémoire d'Ubuntu 25.10 avec GNOME, détaillant les processus lancés au démarrage et leur rôle. Avec 15,8 Go de RAM, 2,1 Go sont utilisés après l'authentification. Les processus sont classés en catégories : environnement graphique, services système, gestion des périphériques, services GNOME et applications utilisateur. L'auteur souligne l'importance d'optimiser les logiciels face à la hausse des coûts de la RAM.
Un quadtree est une structure de données arborescente utilisée pour organiser des données dans un espace bidimensionnel en le subdivisant récursivement en quatre quadrants, ce qui permet de localiser ou filtrer rapidement des éléments selon leur position. L’article propose une explication interactive qui part d’une recherche spatiale naïve puis montre comment la partition hiérarchique réduit le nombre de comparaisons en explorant seulement les zones pertinentes, avec des démonstrations visuelles pour des opérations comme la recherche de points, les requêtes par zone ou le plus proche voisin. Cette approche illustre comment les quadtrees améliorent l’efficacité d’algorithmes liés à la détection de collisions, à la compression d’images ou au traitement de données spatiales.
L'article présente PDM et uv, deux outils modernes pour la gestion de projets Python, offrant des avantages significatifs par rapport à pipenv et poetry. PDM gère les dépendances, les environnements virtuels et la publication de paquets sur PyPI, tandis que uv accélère l'installation des dépendances et optimise l'utilisation du disque grâce à des liens matériels. L'auteur explique comment installer et configurer ces outils, soulignant leur efficacité et leur simplicité d'utilisation, notamment pour les intégrations continues (CI/CD). Un résumé des avantages et des étapes d'installation est fourni, mettant en avant la supériorité de cette combinaison pour les développeurs Python.
Antoine Caron partage son expérience d'optimisation de son application open source de poker planning. Initialement, l'application pesait environ 123 Ko (JS + CSS) avec React 19, TanStack Router et Query, et Tailwind 4. En passant à Preact, en pré-compressant les fichiers avec Brotli, Zstd et Zopfli, et en optimisant Tailwind CSS, il a réduit le poids de l'application à environ 40 Ko, soit une réduction de 67%. Un excellent exemple d'optimisation web.
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 propose 10 étapes éprouvées pour gérer efficacement son énergie et atteindre ses objectifs de développement personnel. Contrairement à la gestion du temps, il s'agit de reconnaître les fluctuations de nos ressources physiques, mentales et émotionnelles. Les conseils incluent le suivi de ses cycles d'énergie naturels, l'alignement des tâches avec son type d'énergie, l'optimisation du sommeil et de la nutrition, la protection de son énergie cognitive et émotionnelle, et la mise en place de rituels de récupération. Ces stratégies permettent de travailler plus intelligemment, de récupérer plus rapidement et de maintenir sa clarté durant les périodes exigeantes.
Ce billet explique l'impact souvent méconnu des délimiteurs Twig sur l'espace blanc dans le HTML généré, causant des problèmes de mise en page, des diffs Git bruyants et des réponses HTTP plus lourdes. L'auteur partage son expérience et détaille comment maîtriser ces délimiteurs ({{-}, {%-}, etc.) pour contrôler précisément l'espace blanc et améliorer la qualité du code. Une lecture essentielle pour les développeurs Symfony souhaitant optimiser leurs templates.
L'auteur propose une alternative à la "Ralph loop", appelée "Eric loop", inspirée par le personnage calculateur et manipulateur d'Eric Cartman de South Park. Contrairement à la Ralph loop, la boucle Eric implique une séparation des tâches en plusieurs étapes (planification, exécution, vérification, review) et une formalisation des tâches par une IA. L'auteur illustre ce concept en créant un projet nommé Tiny-till, une application de caisse simple pour marchands ambulants, en utilisant un outil appelé Task-o-matic. L'idée est de mieux contrôler et optimiser l'utilisation des modèles d'IA en séparant les préoccupations et en adaptant les prompts à chaque phase de l'exécution des tâches.
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.
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 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.
Cet article met en lumière l'utilisation excessive de JavaScript pour résoudre des problèmes qui pourraient être mieux gérés par CSS. L'auteur, Chizaram Ken, souligne que les lacunes de connaissances poussent souvent les développeurs à sur-ingénieriser des solutions, ce qui impacte négativement les performances. Par exemple, des fonctionnalités CSS comme content-visibility: auto et les unités de vue modernes (dvh, svh, lvh) offrent des solutions efficaces sans JavaScript, mais les développeurs continuent de privilégier des solutions JavaScript par habitude. L'article explore des problèmes spécifiques comme la virtualisation dans React, les requêtes de conteneur et les animations de défilement, en proposant des alternatives CSS et en discutant des cas où JavaScript reste pertinent. Un appel est lancé pour éviter d'utiliser useEffect et useState pour des problèmes de rendu, en insistant sur l'importance de comprendre les capacités natives du navigateur avant de recourir à des bibliothèques JavaScript.
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.
Nadia Makarevich, experte en React et performance web, introduit les composants serveur React (RSC) et leur impact sur les performances. Elle explique que les RSC déplacent une partie du travail vers le serveur, réduisant ainsi la quantité de JavaScript à envoyer au client et améliorant le temps de chargement initial. L'article explore les différences entre le rendu côté client et les RSC, en mesurant des métriques comme le LCP et le temps d'affichage des données dynamiques. Makarevich a construit une SPA pour illustrer ces concepts, disponible sur GitHub.