L'article explore une approche proactive pour intégrer la performance web dès le début du développement, évitant ainsi le cycle de dégradation des performances. Odell, ingénieur chez Canva, propose d'impliquer toute l'équipe et de rendre la performance visible tôt, plutôt que de la traiter comme un problème à résoudre a posteriori. Il explique comment les problèmes de performance s'accumulent silencieusement et pourquoi les corrections tardives sont souvent inefficaces. La solution proposée est de créer des systèmes et des processus qui favorisent naturellement les décisions rapides et performantes.
L'article souligne l'importance cruciale de l'attribut lang dans la balise <html> pour l'accessibilité web. Cet attribut indique la langue du contenu aux navigateurs et lecteurs d'écran, évitant ainsi des erreurs de prononciation et améliorant l'expérience utilisateur pour les personnes malvoyantes ou dyslexiques. Malgré son importance, l'omission de cet attribut reste un problème récurrent, comme le montre le rapport WebAIM Million. L'auteur insiste sur la nécessité d'une meilleure éducation en accessibilité pour les développeurs.
L'article explique comment associer explicitement des éléments HTML, comme les labels et les champs de formulaire, en utilisant des IDREFs. Il souligne l'importance de cette pratique pour améliorer l'accessibilité, notamment pour les technologies d'assistance. L'auteur détaille les bonnes pratiques, telles que l'unicité et l'existence des IDs, et propose des outils pour détecter les références brisées. Un exemple concret illustre l'utilisation de l'attribut for dans une balise <label> pour référencer l'ID d'un champ <input>.
L'article "Referencing HTML elements inside Shadow DOM" de HTMHell aborde les défis liés à l'accessibilité des composants Web utilisant le Shadow DOM. Il explique comment référencer des éléments HTML encapsulés dans le Shadow DOM, en particulier pour les composants comme les cases à cocher. Le problème principal est que les éléments à l'intérieur du Shadow DOM ne peuvent pas être directement référencés, ce qui pose des problèmes d'accessibilité. L'auteur propose une solution en deux phases, avec la Phase 1 déjà disponible dans Chrome Canary. Cette phase introduit l'attribut shadowRootReferenceTarget pour permettre aux éléments comme les étiquettes (<label>) de référencer correctement les éléments internes du Shadow DOM, améliorant ainsi l'accessibilité et la fonctionnalité des composants Web.
Andy Clarke explore l'importance de "la mesure" en typographie, qui désigne la longueur d'une ligne de texte. Il explique comment cette notion, issue de l'imprimerie traditionnelle, peut influencer la mise en page web. En définissant la mesure comme une propriété CSS personnalisée (--measure: 60ch), il montre comment elle peut guider la conception de mises en page, de grilles et même de requêtes de conteneur, pour améliorer la lisibilité et l'adaptabilité des sites web. Des exemples pratiques sont disponibles dans son laboratoire.
Cet article explique comment utiliser mitmproxy pour intercepter et analyser les flux HTTP(s) de manière simple et efficace. L'outil, installé via une archive, permet de se placer en "Man In The Middle" pour écouter le trafic entre votre code et le monde extérieur. L'interface web mitmweb facilite l'analyse des requêtes et réponses. Le tutoriel couvre l'installation, l'exécution, et l'utilisation de mitmproxy pour le HTTP et le HTTPS, en abordant les problèmes de certificats SSL et les solutions possibles.
Cet article explique le parcours d'un paquet de données dans le noyau Linux, depuis l'appel à la fonction write() jusqu'à la réception par l'application destinataire. Il décrit les étapes clés du processus, notamment la segmentation des données par TCP, la détermination de la route par IP, la résolution de l'adresse MAC via ARP, la mise en file d'attente par le qdisc, et l'envoi via le pilote de la carte réseau. Le texte est illustré par des exemples pratiques et des explications simplifiées des concepts clés comme les sockets, la poignée de main TCP et le routage politique. Une partie du processus de réception est également abordée.
Cet article explique comment rédiger un bon fichier CLAUDE.md pour optimiser l'utilisation de l'IA Claude dans un projet de code. Il souligne que les modèles de langage (LLMs) sont sans état et ne connaissent rien du codebase au début de chaque session, d'où l'importance de CLAUDE.md pour les informer. Le fichier doit couvrir le "quoi", le "pourquoi" et le "comment" du projet, mais sans surcharger d'informations non pertinentes, car Claude pourrait les ignorer. Des conseils pratiques sont donnés pour créer un fichier efficace, en suivant les bonnes pratiques d'ingénierie de contexte.
mise-en-place est un outil polyvalent pour la gestion des environnements de développement. Il permet de gérer les versions des outils (remplaçant asdf, nvm, etc.), de basculer entre différents ensembles de variables d'environnement (remplaçant direnv) et d'exécuter des tâches (remplaçant make ou les scripts npm). Licencié sous MIT, il est maintenu par @jdx et d'autres contributeurs.
Un "someday shelf" est un espace dédié (physique, numérique ou mental) pour stocker des projets, idées et objectifs importants mais non urgents, libérant ainsi l'esprit de l'obligation d'agir immédiatement. Il se distingue d'une liste "maybe" (idées incertaines) et fonctionne avec une liste "someday" (projets futurs souhaités). Ce système, appelé procrastination productive, permet une meilleure gestion des priorités sans culpabilité ni épuisement. L'article met en garde contre cinq erreurs courantes : mélanger tâches urgentes et idées futures, ne jamais revoir la liste, confondre les deux listes, inclure des idées futures dans la to-do list quotidienne, et utiliser le "someday shelf" comme excuse pour ne jamais agir.
Ethan Gardner explore dans cet article l'utilisation de l'apprentissage automatique pour modéliser le trafic web. Il se demande comment les variations des données synthétiques (lab) impactent les métriques réelles (field), comme le Largest Contentful Paint (LCP). En suivant un cours sur le machine learning, il découvre XGBoost, un outil de gradient boosting efficace pour les prédictions. Il décrit ensuite son expérience où il utilise XGBoost pour prédire la valeur du LCP p75 à partir de données synthétiques, en détaillant les étapes de collecte, de nettoyage et de préparation des données, ainsi que la mise en œuvre du modèle.
rqlite est une base de données relationnelle distribuée, légère et tolérante aux pannes, construite sur SQLite. Elle offre une disponibilité élevée avec un effort minimal, supportant le SQL complet, les extensions SQLite et les requêtes atomiques. Facile à déployer et à utiliser, elle permet des sauvegardes automatiques et une clustering dynamique. Idéale pour stocker des données critiques avec une disponibilité constante. Plus d'infos et guide de démarrage rapide sur le dépôt GitHub.
L’article présente le mind-mapping comme une méthode visuelle, flexible et profondément alignée sur le fonctionnement naturel du cerveau — au lieu d’une pensée linéaire, l’information est organisée autour d’une idée centrale, avec des branches qui révèlent liens, priorités, émotions et sous-thèmes.
Il s'agit du site référençant toutes les fuites de données connues... ça fait peur :
L'article explique avec clarté comment fonctionne réellement une gomme : les gommes souples retirent le graphite du papier en l’absorbant, tandis que les gommes bleues, plus abrasives, arrachent une fine couche du support grâce à des grains minéraux. L’article détaille aussi le cas des stylos effaçables, dont l’encre disparaît sous l’effet de la chaleur produite par la gomme — trois technologies différentes pour un même geste du quotidien.
Scott H Young partage ses stratégies pour apprendre efficacement avec l'IA, tout en évitant les pièges courants. Il souligne que l'IA peut recommander des livres pertinents, mais ne remplace pas la lecture complète pour une compréhension approfondie. L'IA excelle dans la suggestion d'alternatives et d'idées extérieures à votre domaine d'expertise, mais il est crucial de vérifier les informations critiques et de faire preuve de pensée critique. L'auteur met en garde contre la dépendance excessive à l'IA, qui peut réduire les compétences cognitives, tout en encourageant une utilisation judicieuse pour accélérer l'apprentissage.
L'article de Julia Evans explique comment Kubernetes peut causer des problèmes à etcd, un système de stockage de clés-valeurs utilisé pour la coordination des clusters.
Matt Zeunert explore les raisons pour lesquelles certaines pages web contiennent des documents HTML volumineux, souvent en raison de l'intégration de ressources comme des images, des CSS ou des polices de caractères en Base64. Il analyse divers cas, tels que les images intégrées via des data URLs, les CSS inline avec des sélecteurs complexes, et les polices de caractères embarquées, qui peuvent impacter les performances. L'article met en lumière les avantages et inconvénients de ces pratiques, notamment l'absence de mise en cache indépendante et la priorisation des ressources. Un outil, le DebugBear HTML Size Analyzer, a été amélioré pour gérer ces structures complexes.
Ce guide pratique de l'OWASP Top 10, destiné aux développeurs web, détaille dix erreurs courantes et comment les éviter. Il aborde des sujets comme le contrôle d'accès brisé (A01), les échecs cryptographiques (A02), et les injections (A03), avec des exemples concrets et des solutions pour les prévenir dès l'écriture du code. Un outil précieux pour améliorer la sécurité des applications web.
Using the Ancient Evils for Debugging présente l’usage du tag HTML obsolète <plaintext> comme outil ponctuel de débogage. L’article du calendrier HTMHell explique comment ce mécanisme, qui force l’affichage du reste du document en texte brut, peut aider à analyser rapidement la sortie d’un script serveur ou à comprendre un comportement inattendu dans une page. Une lecture concise qui revient sur un héritage méconnu du HTML tout en montrant une approche simple – bien que non destinée à la production – pour faciliter certaines étapes de diagnostic.