Quotidien Shaarli
Hier - December 28, 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.
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.
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.