Ce billet explique comment contourner le blocage des lecteurs RSS par Cloudflare, qui les considère comme des bots. L'auteur, Nicolas Simond, détaille la création d'une règle personnalisée dans l'interface Cloudflare pour exclure les flux RSS de la protection anti-bot, permettant ainsi aux lecteurs d'accéder normalement aux flux. Il mentionne aussi une limite : les adresses IP blacklistées ne pourront pas bénéficier de ce contournement.
Andrea Verlicchi, expert en performance web, aborde dans cet article l’optimisation du Cumulative Layout Shift (CLS) pour les pages utilisant le défilement infini ou le bouton « Charger plus ». Il identifie deux causes majeures de CLS : les bannières promotionnelles retardées et le chargement dynamique de contenu (typique des sites e-commerce), qui déplace le pied de page hors de la vue et dégrade l’expérience utilisateur.
Pour le défilement infini, la solution consiste à insérer des squelettes (placeholders) dès le début de la requête, réservant ainsi l’espace nécessaire avant l’affichage du contenu réel, évitant tout saut de mise en page. Pour le bouton « Charger plus », bien qu’un délai de 500 ms après le clic soit toléré, il recommande aussi d’utiliser des squelettes pour garantir une stabilité visuelle, quel que soit le temps de réponse du réseau.
La règle d’or ? Ne jamais déplacer le contenu visible pendant le défilement et toujours réserver l’espace à l’avance, sauf après une interaction utilisateur explicite (clic), en respectant la fenêtre de 500 ms. Une approche simple mais efficace pour améliorer les Core Web Vitals et l’expérience utilisateur. 🎄✨
Le BFG Repo-Cleaner est un outil en Scala, plus rapide et plus simple que git-filter-branch, conçu pour nettoyer les dépôts Git en supprimant les gros fichiers ou les données sensibles comme les mots de passe. Il permet de cloner un dépôt, de le nettoyer avec des commandes spécifiques, puis de pousser les modifications. Exemples d'utilisation : suppression de fichiers spécifiques, suppression de blobs volumineux, remplacement de texte sensible. Le BFG ne modifie pas le dernier commit pour éviter les problèmes de déploiement.
L'article explore l'importance souvent sous-estimée du titre de page (
En octobre 2025, une panne majeure de l'hébergeur AWS a perturbé de nombreux services Internet, relançant la question de la dépendance du Web à ces géants. Bien que la panne soit localisée et logicielle, ses conséquences ont été amplifiées par la complexité et l'interconnexion des services. L'article analyse les réactions médiatiques, souvent sensationnalistes, et souligne la difficulté de gérer des infrastructures aussi vastes. Il invite à une réflexion sur les compromis entre robustesse et diversité des services offerts.
Ce billet de blog explique pourquoi l'auteur a remplacé les Makefiles par Castor, un task runner développé par JoliCode, pour automatiser ses projets PHP. Castor permet d'utiliser du PHP au lieu de scripts shell fragiles, offrant une meilleure expérience développeur avec autocomplétion, documentation et refactoring. L'auteur détaille comment Castor gère le démarrage du projet, en attendant intelligemment que la base de données soit prête, et montre un exemple de code pour illustrer ses propos.
ALTCHA propose une solution de protection contre les bots et le spam, conforme au RGPD et à d'autres réglementations internationales, sans suivi, cookies ou fingerprinting. Leur système, auto-hébergé et open source, utilise une vérification basée sur le Proof-of-Work (PoW) pour une expérience utilisateur fluide, avec une option de défi par code pour les cas à haut risque. ALTCHA Sentinel offre une protection adaptative et discrète, idéale pour les entreprises et les sites web, disponible également sous forme de plugin pour WordPress.
Cordon est un outil open-source qui utilise des embeddings de transformateurs et des scores de densité pour identifier des anomalies sémantiques dans de grands fichiers de logs, réduisant ainsi les logs massifs aux sections les plus anormales pour une analyse plus facile. Il filtre les motifs répétitifs et met en avant les événements inhabituels ou regroupés. Cordon supporte plusieurs backends comme sentence-transformers, llama.cpp, et des APIs distantes (OpenAI, Gemini, etc.). Il peut être installé via PyPI ou depuis la source, et offre une utilisation en ligne de commande ainsi qu'une API Python. Pour une explication détaillée de la méthodologie, un article sur Red Hat Developer est disponible.
Steve Yegge partage six nouvelles astuces pour mieux coder avec des agents, basées sur ses expériences récentes. Parmi celles-ci, il souligne que le logiciel est désormais jetable, avec une durée de vie inférieure à un an, rendant les réécritures plus faciles et intelligentes que les corrections. Cette approche remet en question les conseils traditionnels, comme ceux de Joel Spolsky, et ouvre la voie à des architectures modernes et maintenables, posant un défi aux fournisseurs de SaaS tiers.
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.
AGENTS.md est un format ouvert et simple pour guider les agents de codage, utilisé par plus de 60 000 projets open source. Il sert de complément au README.md en fournissant des instructions spécifiques pour les agents, comme les étapes de construction, les tests et les conventions, tout en gardant le README concis et axé sur les contributeurs humains. Le fichier AGENTS.md est compatible avec divers agents de codage et outils, et peut être adopté librement par quiconque trouve cela utile.
Cet article raconte l'expérience d'un développeur qui, après des années de confort dans son travail, se retrouve confronté à un collègue plus expérimenté qui remet en question ses méthodes et ses choix. Initialement frustré, il finit par accepter cette "claque" comme une opportunité d'apprentissage, ce qui lui permet de progresser et d'acquérir une compétence essentielle : se remettre en question sans le vivre comme un échec. L'auteur souligne l'importance d'accepter les critiques et de partager les connaissances pour évoluer dans ce métier.
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.
Nicolas Jourdan explique comment combiner trois patterns de conception (Specification, Rule et Chain of Responsibility) pour gérer efficacement les règles métier complexes en PHP. L'article détaille d'abord le pattern Specification, qui transforme les conditions métier en objets réutilisables et testables, évitant ainsi les if imbriqués et le code dupliqué. Il présente ensuite une implémentation moderne de ce pattern avec une interface de base et des classes pour les opérations logiques (AND, OR, NOT). Cette approche permet de construire des conditions métier claires et modulaires, facilitant ainsi la maintenance et l'extensibilité du code.
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 critique la gestion des formulaires en HTML, soulignant leur conception incomplète et leurs comportements inconsistants. Bien que de nouveaux éléments de formulaire aient été introduits, comme les champs email, téléphone, date et curseur de plage, ceux-ci restent basiques et ne couvrent pas des cas d'utilisation courants comme les comboboxes ou les curseurs de plage pour plusieurs valeurs. La validation intégrée, bien que pratique, manque de flexibilité, nécessitant souvent des solutions JavaScript personnalisées. L'auteur déplore le manque de standardisation pour des éléments combinés et des améliorations de style, pointant du doigt les lacunes persistantes malgré plus de dix ans depuis la recommandation HTML5.
Cet article remet en question le slogan souvent répandu "La conformité n’est pas de l’accessibilité". Les auteurs expliquent que, bien que ce slogan soit séduisant et partiellement vrai, il est réducteur et peut prêter à confusion. Ils soulignent que la conformité aux référentiels comme le RGAA est essentielle pour garantir une base d'accessibilité minimale, permettant aux personnes handicapées d'accéder aux services en ligne sans difficultés majeures. L'article illustre également, à travers une expérience vécue, que l'expérience utilisateur peut parfois contredire les évaluations d'experts, mais cela ne remet pas en cause l'importance des normes d'accessibilité.
Cet article partage l'expérience de SNCF Connect dans la mise en place d'une stratégie de service numérique responsable. Il définit un service numérique responsable comme une solution utile, sobre, accessible et respectueuse, reposant sur quatre piliers : accessibilité, sobriété, confidentialité et respect des libertés. L'article souligne l'importance de ces principes, soutenus par des référentiels concrets comme le RGAA, le RGPD et le RGESN, et illustre comment SNCF Connect aligne ses actions sur ces enjeux pour promouvoir des mobilités durables et accessibles. Il présente également des bonnes pratiques pour déployer une telle stratégie, comme la labellisation numérique responsable.