Hebdomadaire Shaarli
Semaine 52 (December 22, 2025)
Ce guide pratique explique comment créer des microservices hexagonaux performants en PHP avec Symfony et gRPC. Il détaille les avantages de gRPC, comme la communication efficace entre microservices grâce à un format binaire compact et le support de HTTP/2 pour le multiplexage et le streaming bidirectionnel. Le tutoriel couvre l'installation de Symfony avec Docker et Roadrunner, la configuration de Docker Compose, et l'implémentation d'un serveur gRPC avec RoadRunner. Il inclut également des étapes pour créer un projet Symfony, installer les dépendances nécessaires, et configurer un conteneur Docker avec PHP et Roadrunner. Enfin, il montre comment exécuter la première application Symfony via Roadrunner et commencer à implémenter un serveur gRPC.
Dans cet article de HTMHell, Darice de Cuba explique l'importance de nommer les classes CSS de manière générique et indépendante du design. Elle souligne que les noms de classes doivent refléter le contenu et non la présentation, afin de faciliter les modifications futures du CSS sans toucher au HTML. Elle donne des exemples de bonnes et mauvaises pratiques, et conclut en insistant sur l'importance de maintenir un code lisible et facile à modifier.
Cet article explore le potentiel du streaming HTML pour améliorer les performances des sites web modernes. Sébastien Mischler, développeur chez Infomaniak, revisite cette technique inspirée d'un article de Chris Coyier, en s'appuyant sur un projet expérimental appelé HTMS. L'article souligne que les problèmes de performance actuels proviennent souvent du rendu retardé par l'hydration côté client et les pipelines JavaScript lourds, plutôt que de la vitesse du réseau. Le streaming HTML permet de rendre le contenu progressivement dès son arrivée, améliorant ainsi les métriques clés comme le First Contentful Paint et l'expérience utilisateur. Bien que les solutions comme le SSR (Server-Side Rendering) et le SSG (Static Site Generation) existent, elles présentent des limites, notamment avec les données dynamiques. Le streaming HTML offre une alternative prometteuse pour concilier SEO, accessibilité et performances.
DarkChyper partage son expérience après un an d'utilisation d'un casque à conduction osseuse Shokz, offert à Noël 2024. Motivé par la préservation de son audition et le confort, il a surmonté ses craintes initiales concernant la qualité sonore. Bien que la technologie soit moins répandue, il souhaite apporter un avis personnel et répondre aux questions qu'il se posait avant l'achat, comme la gêne à long terme ou la fatigue liée aux vibrations. La conduction osseuse, initialement utilisée dans le domaine médical, permet d'entendre sans passer par le conduit auditif, offrant ainsi une écoute tout en restant attentif à l'environnement.
L'article explore la notion de sémantique en HTML. Il explique que chaque élément HTML a une signification définie dans le HTML Living Standard, et que cette sémantique est cruciale pour les utilisateurs, notamment pour l'accessibilité. L'auteur distingue trois types de sémantique : celle pour les utilisateurs, pour les développeurs et pour les machines. Il illustre ses propos avec des exemples concrets, montrant comment choisir les bons éléments HTML améliore la compréhension du contenu et l'accessibilité. L'article souligne l'importance de la sémantique pour rendre le Web plus inclusif et fonctionnel.
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.
L'article propose 10 conseils pour maximiser ses chances d'être sélectionné·e lors d'un Call for Papers (CFP) pour des conférences. Il explique l'importance d'un titre clair et accrocheur, de la pertinence du sujet, et recommande de commencer par des formats courts comme les lightning talks. D'autres conseils incluent la préparation d'un résumé détaillé, l'adaptation du contenu au public, et la mise en avant de son expérience personnelle. L'article complète un épisode de podcast avec des conseils d'organisateur·rice·s.
Cet article discute de l'utilisation de l'élément HTML <abbr> pour les abréviations et des problèmes d'accessibilité qu'il peut poser. Bien que <abbr> semble être la solution parfaite avec son attribut title, celui-ci se comporte de manière incohérente selon les navigateurs et les technologies d'assistance, rendant certaines informations inaccessibles à certains utilisateurs. L'article propose une solution simple et conforme aux WCAG : écrire l'abréviation suivie de sa signification entre parenthèses lors de sa première occurrence, puis utiliser uniquement l'abréviation par la suite. Cette méthode garantit une meilleure accessibilité sans nécessiter de modifications HTML complexes.
L'Atlas des flux est un annuaire RSS qui référence plus de 19 000 flux dans 394 rubriques, permettant de regrouper et de lire des contenus variés (podcasts, blogs, YouTube, etc.) via des lecteurs personnalisés comme ProtoPage. Le site propose également des fonctionnalités d'export, des articles sur la syndication et la possibilité de soumettre de nouveaux flux. Il couvre divers domaines tels que la technologie, l'économie, la culture et les territoires.
Maxence Maireaux partage une méthode efficace pour déboguer intelligemment en suivant une approche de l'extérieur vers l'intérieur. Plutôt que de se jeter directement dans le code, il recommande d'analyser d'abord les symptômes observés, les traces distribuées, les logs filtrés et les métriques avant d'examiner le code. Cette méthode permet de réduire progressivement le périmètre de l'investigation et d'identifier rapidement la source du problème. L'auteur insiste sur l'importance de bien définir le problème avant de commencer à déboguer et de mettre en place un tracing distribué pour faciliter le processus.
L'Arcep (Autorité de régulation des communications électroniques) a adopté de nouvelles règles pour lutter contre le spoofing téléphonique, une technique de fraude consistant à usurper un numéro de téléphone. Dès le 1er janvier 2026, les appels émis depuis l'étranger avec un numéro mobile français non authentifié seront affichés comme "numéro masqué". Cette mesure vise à réduire les escroqueries et les usurpations d'identité, mais présente certaines limites. Le blog explique également comment se protéger et les actions concrètes pour les entreprises.
Découvrez comment une "anti-to-do list" peut révolutionner votre productivité en vous concentrant sur ce que vous ne ferez pas plutôt que sur ce que vous devez accomplir. Cet article explore 7 façons dont cette approche peut transformer votre relation avec la productivité, en protégeant votre énergie, en fixant des limites claires et en créant de l'espace pour l'essentiel. Une méthode radicale pour lutter contre le surmenage et se recentrer sur ce qui compte vraiment.
Cet article explore les éléments HTML oubliés et obsolètes, en rappelant que la technologie a 32 ans et a connu des évolutions. L'auteur, Declan Chidlow, évoque des balises comme
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.
Anton Zaides remet en question cinq dogmes courants en ingénierie logicielle dans un article intitulé "5 engineering dogmas it's time to retire". Il aborde des pratiques comme "ne pas réinventer la roue" en utilisant des packages existants, l'obligation de revue de code pour chaque changement, les sprints de 2-4 semaines, l'utilisation systématique de feature flags et la croyance que le code nécessitant des commentaires est trop complexe. Zaides explore les avantages et inconvénients de ces pratiques, en soulignant les risques de dépendances externes, les lenteurs des revues de code obligatoires et les alternatives comme le pair programming. Il encourage une réflexion critique sur ces normes établies.
Cet article explique comment résoudre un problème courant avec les Value Objects en tant qu'identifiants d'entités dans Symfony et Doctrine. L'auteur propose une solution pour éviter la répétition de classes de types DBAL personnalisés en implémentant un type générique DBAL qui supporte ces objets de valeur ID. Le post détaille les étapes pour créer une entité identifiée par un Value Object, résoudre les erreurs de mapping, et enregistrer un type DBAL personnalisé pour gérer ces identifiants de manière efficace.
L'auteur explique dans cet article comment utiliser la validation des entrées HTML côté client comme une amélioration progressive pour l'expérience utilisateur, en complément de la validation côté serveur. Il montre comment utiliser les attributs natifs HTML comme pattern, minlength, maxlength, et title pour valider et styliser les entrées, tout en soulignant les limites d'accessibilité de ces méthodes. L'article propose ensuite d'améliorer l'accessibilité en utilisant l'API de validation des contraintes JavaScript pour personnaliser l'affichage des erreurs. Un exemple interactif est disponible sur CodePen.
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.
Cet article explique comment vérifier simplement si deux plages horaires se chevauchent, un problème courant dans la gestion du temps. En illustrant les six possibilités de chevauchement avec un schéma, l'auteur montre que deux plages se chevauchent si la fin de la première est supérieure au début de la seconde et inversement. Un exemple de code PHP est fourni pour implémenter cette logique.
L'auteur partage son expérience après quatre mois d'utilisation intensive de Python dans un nouveau rôle professionnel. Il apprécie la flexibilité et la syntaxe claire du langage, notamment avec l'outil de typage mypy, qu'il trouve supérieur à celui de Go. Il souligne également l'amélioration de la gestion des paquets avec uv, qui a résolu des problèmes antérieurs. Après avoir utilisé divers langages au cours de sa carrière, il trouve Python plaisant et maintenable, surtout avec l'aide d'outils comme Claude Code. Il utilise VSCode comme IDE, ayant abandonné Emacs pour des raisons de configuration complexe.
L'article explore l'élément HTML <details> et son partenaire <summary>, souvent sous-estimé mais puissant. Cet élément sémantique permet de créer des widgets de divulgation (disclosure) sans nécessiter de CSS ou de JavaScript, offrant ainsi des avantages en termes de SEO, d'accessibilité, de performance et d'interactivité. L'auteur explique comment styliser et animer cet élément, ainsi que les possibilités d'interaction via JavaScript. De plus, il souligne des fonctionnalités natives comme le lien profond (deep linking) qui ouvre automatiquement les détails lorsque l'utilisateur navigue vers une ancre. Une ressource précieuse pour mieux comprendre et utiliser cet élément HTML.
Cet article explique de manière vulgarisée ce qu'est un VPN (Virtual Private Network) et si son utilisation est vraiment nécessaire. Il commence par définir le VPN comme une technologie permettant de relier deux ordinateurs distants comme s'ils étaient sur le même réseau, souvent avec chiffrement pour des raisons de sécurité. L'auteur détaille ensuite les cas d'utilisation traditionnels des VPN, tels que la connexion de machines ou de réseaux distants. Il aborde également les arguments marketing des fournisseurs de VPN grand public, comme la sécurité, la protection de la vie privée et la délocalisation de l'adresse IP, tout en les analysant de manière critique. Enfin, il évalue différents scénarios pour déterminer si un VPN est vraiment utile, comme l'utilisation d'un WiFi public, la protection contre les pirates ou l'accès à des contenus géo-restreints. Un article complet et informatif pour comprendre les VPN et leurs véritables utilités.
Le Hollandais Volant dresse une liste actualisée des pratiques web qui irritent en 2025, soulignant que beaucoup de problèmes persistent malgré les années. Il critique les sites trop lourds, le retour forcé de la publicité, les sites souvent inopérants comme ceux de la SNCF ou de La Poste, et les interfaces confuses où l'on tourne en rond. Il dénonce aussi les sites qui cachent des informations essentielles ou redirigent vers des réseaux sociaux, comme ceux de l'URSSAF ou de Dell. Un constat amer sur l'évolution du web.
Kairos est un système d'exploitation immutable open-source conçu pour déployer des clusters Kubernetes de manière simple et efficace. Contrairement à Talos, qui est minimaliste et sans SSH ni Systemd, Kairos adopte une approche plus classique en permettant de bâtir un système immuable à partir de distributions existantes comme openSUSE, Ubuntu, Debian ou Rocky Linux. Kairos offre des mises à jour atomiques A/B via des images signées, un OS en lecture seule pour éviter les dérives de configuration, et des workflows d'automatisation basés sur Cloud-Init (via Yip) et les pipelines OCI. Cela en fait une option intéressante pour les équipes souhaitant bénéficier de l'immutabilité sans renoncer à l'usage d'une distribution Linux déjà maîtrisée.
L'article explique pourquoi choisir Alpine Linux, comment télécharger et configurer l'image spécifique pour Raspberry Pi, et comment préparer le système pour un accès headless via SSH en WiFi. Il aborde également des optimisations techniques comme la gestion de la RAM GPU et la configuration du swap avec zswap.
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.
Dans ce tutoriel DomoPi, l’auteur montre comment mettre en place une redondance simple pour un broker MQTT Mosquitto : en utilisant Keepalived pour une IP virtuelle partagée entre deux serveurs (un Mosquitto en Docker comme principal et un Mosquitto natif sur Raspberry Pi comme secondaire). Si le serveur principal tombe, l’IP virtuelle bascule automatiquement vers le secondaire, permettant aux clients MQTT de continuer à fonctionner sans interruption (bien que l’état ne soit pas synchronisé car Mosquitto n’a pas de clustering natif).
L'auteur explore dans cet article les défis liés à la modération des plateformes de contenu, en particulier les blogs, face à la concurrence des réseaux sociaux visuels comme YouTube, TikTok et Instagram. Il souligne que malgré la popularité croissante des vidéos, les blogs restent pertinents et largement lus, avec des avantages comme la facilité de mise à jour et la rapidité de création. Cependant, il met en lumière le problème de la découvrabilité, où les algorithmes de suggestion de contenu jouent un rôle crucial mais posent des questions complexes de modération et de responsabilité des plateformes. L'article aborde également les alternatives et les solutions potentielles pour améliorer la découvrabilité des blogs tout en gérant efficacement la modération.
Scott H Young explore la technique de productivité la plus sous-estimée, en se basant sur l'auto-évaluation et les priorités plutôt que sur les tâches. Il souligne que la plupart des conseils de productivité se concentrent sur la gestion des tâches, alors que les gens ont plus de difficultés avec les priorités. En se référant au livre "First Things First" de Stephen Covey, il explique que la productivité ne devrait pas être une obsession pour accomplir le plus de tâches possible, mais plutôt une quête pour se sentir satisfait de l'utilisation de son temps. La métaphore du compas et de l'horloge illustre cette idée : il est plus important de savoir si l'on va dans la bonne direction que de mesurer chaque minute de son temps.
Cet article explique comment transformer des événements de domaine en webhooks HTTP pour une intégration avec des systèmes externes dans un ERP, en utilisant Symfony. L'auteur décrit l'utilisation d'une interface DomainEvent pour définir des événements, avec un attribut #[TriggerWebhook] pour marquer ceux qui doivent déclencher des webhooks. Les événements sont ensuite traités par un gestionnaire de messages qui envoie les webhooks correspondants, en utilisant les fonctionnalités de Symfony comme les tags de ressources et le composant Webhook. L'article simplifie le processus pour en faciliter la compréhension.
L'article explore comment remplacer certaines fonctionnalités JavaScript par des solutions natives HTML et CSS. Il met en avant des exemples concrets comme les accordéons avec les éléments <details> et <summary>, les champs de saisie avec suggestions filtrées via <datalist>, et d'autres composants web. L'objectif est de réduire la dépendance au JavaScript pour des tâches simples, améliorant ainsi les performances et l'expérience utilisateur. L'article inclut des exemples de code et des ressources pour approfondir.
Pangolin est une solution open-source pour un accès distant sécurisé, combinant reverse proxy et VPN basé sur WireGuard. Cet article détaille son installation, sa configuration et sa maintenance, incluant la création de ressources publiques et privées, ainsi que la mise à jour. Pangolin permet de sécuriser l'accès à des applications web et des services internes sans exposer l'ensemble du réseau, offrant une alternative maîtrisée aux solutions tierces comme Cloudflare Tunnel.
Tim Ferriss propose une alternative aux résolutions du Nouvel An : la "révision de l'année passée" (PYR). Cette méthode consiste à analyser son calendrier annuel pour identifier les personnes, activités et engagements ayant provoqué des émotions positives ou négatives. Ensuite, il s'agit de planifier davantage des activités positives et d'éviter celles négatives. Une méthode simple et efficace pour mieux orienter sa nouvelle année.
Astuce pour obtenir une revue de code par IA en 10 secondes : ajoutez ".diff" à la fin de l'URL d'une PR GitHub, copiez le diff et collez-le dans un LLM comme Claude ou ChatGPT pour une première analyse rapide. Cela permet de détecter des problèmes évidents et d'améliorer le code avant une revue humaine, réduisant ainsi les temps de cycle et facilitant le travail des réviseurs. Une méthode simple et efficace sans besoin d'outils spécifiques.
Cet article explore quatre styles architecturaux d'APIs : REST, webhooks, gRPC et HATEOAS. Il explique l'importance cruciale du choix de l'architecture pour la réussite d'une API, impactant l'intégration, la performance et la scalabilité. REST, le plus populaire, est simple, stateless et cacheable, idéal pour les services web standards. Les webhooks, en deuxième position, permettent une communication asynchrone et sont souvent utilisés pour l'automatisation. L'article fournit des exemples concrets et des raisons de choisir chaque style.
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.
Dans ce billet, Stephanie Booth partage ses réflexions sur les échecs quotidiens, notamment en matière de gestion de la maison, en s'inspirant des concepts de "failure modes" utilisés en ingénierie. Elle explique comment des petites choses, comme ne pas sortir les poubelles à temps ou manger trop tard, peuvent déclencher une spirale de désordre et de procrastination. En identifiant les causes concrètes de ces échecs, plutôt que de se juger moralement, elle propose des solutions pratiques pour améliorer la situation, comme réorganiser le rangement de la vaisselle ou faire la vaisselle le matin.
L'article souligne l'importance de tester les instructions de son README comme le ferait un utilisateur. L'auteur recommande de suivre les étapes du README sur une machine virtuelle fraîchement installée pour identifier et corriger les problèmes de dépendances ou de configurations manquantes. Cela permet d'éviter des tickets d'erreurs répétitifs et de rendre le processus d'installation plus fluide pour les utilisateurs finaux. Une approche simple mais efficace pour améliorer l'expérience utilisateur de vos projets.
Ce billet de blog décrit la mise en place d'un cluster Kubernetes full IPv6 avec Talos OS, un système d'exploitation minimaliste et sécurisé. L'auteur, ayant un /60 IPv6 fourni par son FAI, explique comment configurer Talos pour utiliser uniquement des adresses IPv6, en planifiant des plages IPv6 pour les nodes, les pods et les services. Il détaille les étapes de configuration initiale avec talhelper, un outil facilitant la création de fichiers de configuration Talos, et aborde les problèmes potentiels de DHCPv6 et de résolution de noms. L'article se conclut par des pistes pour améliorer la configuration et des liens vers des ressources supplémentaires.
L'article explique comment l'apprentissage des adultes diffère de celui des enfants, en mettant l'accent sur la pertinence personnelle et l'autonomie. Il propose des techniques comme la compréhension des principes d'apprentissage adulte, la création d'un environnement propice, l'utilisation de la neuroplasticité, des méthodes d'étude efficaces, la gestion des émotions, le soin du corps et la transformation de l'apprentissage en habitude de vie. Un guide pratique pour optimiser votre capacité d'apprentissage.
Cet article propose des stratégies pour adopter une relation plus saine avec les réseaux sociaux, notamment Instagram. Il souligne que seulement 7% du temps passé sur ces plateformes est consacré à voir le contenu de nos proches, le reste étant capté par des publicités et des algorithmes. L'auteur suggère de reprendre le contrôle en ajustant les paramètres de confidentialité, en limitant les notifications, en consommant avec modération, et en utilisant des bloqueurs de pubs. Il encourage aussi à favoriser les interactions sociales réelles et à former des communautés. Des conseils pratiques sont donnés pour chaque étape, avec des captures d'écran et des explications détaillées. L'objectif est de récupérer le temps perdu et de profiter des réseaux sociaux de manière plus consciente et bénéfique.
Carl Chenet souligne l'importance cruciale de prendre en compte les coûts dès le début des projets cloud. Il critique l'absence fréquente d'évaluation des coûts, ce qui peut mener à des surprises financières désagréables et à des compromis sur la qualité de l'infrastructure. Il recommande d'utiliser les outils de calcul de prix des fournisseurs cloud pour estimer les coûts avec précision dès la phase de conception, en incluant les niveaux de service et de redondance souhaités.
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.
Dans cet article, Andy Clarke, pionnier du design web, partage ses techniques pour créer des titres de style cartoon (Toon Text) en utilisant CSS et SVG modernes. Il explore l'histoire des cartes de titres des films et des dessins animés, depuis les années 1920 jusqu'aux années 1960, en mettant en lumière l'évolution du design typographique et visuel. Clarke montre comment ces éléments graphiques peuvent inspirer les designers web pour transmettre la personnalité d'une marque, créer une première impression et définir les attentes des utilisateurs. L'article fait partie d'une série intitulée "Smashing Animations" et s'inscrit dans une réflexion plus large sur l'animation web inspirée par les classiques du cinéma d'animation.