Lazy Git semble vraiment intéressant, tant en matière de service rendu, qu'en matière d'UX.
Une excellente explication des structures sous-jacentes des schémas JSON, telles que dialect, vocabulary, etc.
Une analyse du ver qui a causé une importante attaque sur l'écosystème npm le 24 novembre.
Des algorithmes bien connus illustrés avec JavaScript.
Sous le coude.
Rate limiting simple avec Nginx.
Mesurer les performances d'un web component à l'aide de l'API User Timing.
Un bon point auquel je n'avais jamais fait attention. La notation Array<string> est un poil plus verbeuse que string[] mais bien plus lisible dans la majorité des cas.
Un projet qui vise à lister les jeux vidéos sans dark patterns, c'est à dire qui ne visent pas à vous manipuler pour engranger un maximum de thunes (Android et iOS uniquement pour l'instant).
Encore un bon exemple des risques que courent les développeurs qui utilisent des agents IA sans en comprendre les implications.
Le marché de l'IA se résume à une course sans queue ni tête dans laquelle l'éthique, la sécurité et le respect de la vie privée passent systématiquement au second plan.
Un autre navigateur (écosystème Apple uniquement pour l'instant) qui vise le respect de la vie privée, la sobriété, et la rapidité. Basé sur WebKit, le moteur de rendu de Safari.
Un utilisateur de plus écoeuré de la direction que prend Windows.
Explications détaillées de ce qui est arrivé à Cloudflare il y a quelques jours et qui a eu pour effet de casser une bonne partie d'internet.
Débat sur NestJS.
Une implémentation des signals tels que proposés dans la spec ECMAScript.
Comment utiliser esbuild pour packager les ressources de votre site Eleventy.
À propos des tooltips, ces petits morceaux d'information additionnelle souvent peu accessibles.
Un standard pour les lib de validation TypeScript (Zod, Valibot, etc.).
L'objectif est d'avoir une spec standardisée pour que les outils interagissant avec ces schémas fonctionnent quel que soit la lib de validation choisie. Un peu comme les PSR rn PHP.
Vitest supporte d'ailleurs ce format depuis la v4, pour rendre certaines assertions plus faciles à écrire.
Une sorte de Everything pour MacOS (un indexeur de fichier efficace et rapide).
Qu'est ce qu'un PNR.
GitHub décourage l'utilisation des toasts, ces petites notifications qui s'affichent en surimpression, souvent dans le coin d'une page pour informer d'un événement.
Très cool cette fonctionnalité native de Node qui permet de marquer une fonction comme dépréciée !
Cet article résume très précisément et très justement pourquoi l'art (avec de gros guillemets) produit par l'IA générative n'a absolument aucun intérêt.
Une approche intéressante pour héberger des containers (Podman en l'occurrence) : les gérer avec systemd, le gestionnaire de service de nombreuses distributions Linux.
C'est moins standard qu'un Docker Compose mais ça peut avoir un intérêt pour les admins sys pure souche qui retrouveront ainsi des outils familiers.
J'ignorais qu'il était techniquement possible d'exécuter des macros JavaScript dans LibreOffice Writer.
Bon, c'est tout sauf ergonomique mais ça a le mérite d'être là.
Comment et pourquoi signer ses commits avec GPG.
Des layouts communs intégrables facilement dans vos projets avec très peu de code CSS.
Un outil pour générer des fichiers génériques (images, videos, audio, documents de plusieurs types) pour vos tests pendant le développement d'une application par exemple.
Retour d'expérience sur une tentative de migration mitigée de Electron vers Tauri (2 technologies permettant de développer des applications de bureau avec les technos web).
Le top 10 2025 des vulnérabilités liées au web.
Explication visuelle de ce que sont les "Types" dans TypeScript.
Utilisation des Blob (Binary Large OBject) en JavaScript côté navigateur pour gérer des fichiers de grande taille sans exploser l'utilisation mémoire.
Ça permet même de déclencher un téléchargement purement côté client par exemple.
Une réflexion sur l'utilisation des ORMs.
Une sorte de ffmpeg en JavaScript, pour lire, écrire et convertir des fichiers médias (audio, vidéo) directement dans le navigateur.
Très pratique ça ! Des tout petits binaires pour mettre en place des healthchecks dans vos containers Docker qui exposent des services HTTP ou TCP.
Tout petits comme 75 ko au lieu de – par exemple – curl et ses ~10 Mo.
Un retour d'expérience intéressant sur la transformation d'une architecture bancale et ambiguë en architecture plus simple et pragmatique.
C'est vrai qu'on est constamment agressé, on ne s'en rend même plus compte.
Comment concevoir correctement un champ OTP (One-Time Password) uniquement avec HTML et CSS.
C'est vrai que la grande majorité de ces champs est une plaie à utiliser (copier/coller qui ne marche pas, curseur qui saute d'un champ à l'autre sans raison, impossibilité d'effacer facilement l'un des numéros, etc.).
Une carte collaborative qui regroupe les voies romaines telles qu'elles étaient à l'époque d'Astérix.
La "nouvelle" Navigation API vise à remplacer l'actuelle History API qui n'a jamais été très ergonomique.
Cette nouvelle API est assez massive, elle propose – notamment pour les SPA (Single Page Application) – de centraliser la gestion de la navigation à un seul endroit.
Bien évidemment, ça ouvre la porte aux sites qui vont vouloir en faire trop, qui vont vouloir outrepasser le comportement natif du navigateur, et ça peut finir en grand n'importe quoi comme à l'époque des popups.
Heureusement il semble y avoir quelques garde-fous pour, par exemple, empêcher un site de rendre le bouton de retour natif du navigateur inopérant et ainsi vous piéger dessus.
Par contre j'imagine que rien n'empêche un site de créer des navigations programmatiques artificielles lorsque vous arrivez dessus pour qu'il faille appuyer un grand nombre de fois sur "retour" pour s'en échapper. Mais c'est techniquement déjà possible avec l'History API de toute façon.
C'est pour l'instant uniquement supporté par les navigateurs basés sur Chromium.
La documentation MDN est également disponible.
Dans 99% des cas, le cloud est une fausse promesse qui vous coûtera cher.
Des "starter packs" de comptes à suivre sur le Fediverse, classés par thème.
Ces packs sont une fonctionnalité qui arrivera dans Mastodon 4.6, la prochaine version. Bluesky avait initié cette idée qui a très bien marché au début.
Un Web Component qui permet de choisir une couleur.
Il y a un color picker natif mais sur certaines plateformes le choix de couleur est limité.
Un outil qui permet de s'assurer qu'un package publié suit les bonnes pratiques.
Une liste de petites applications utilitaires qui ont la particularité de tourner intégralement dans le terminal, mais de proposer néanmoins une interface "graphique".
Un outil qui permet de gérer la synchronisation d'applications de type offline first, c'est à dire qu'elles stockent leurs données localement et les synchronisent par différents moyens supportés par cette lib (en local via le navigateur, via le réseau, etc.).
Gérer ce type de synchro soi-même peut sembler simple mais ça devient vite un cauchemar lorsqu'il y a des conflits entre 2 clients ou plus. D'où l'intérêt de ces outils optimisés.
Accessoirement j'adore le design de leur site !
Un parallèle que j'aime bien entre l'écriture et le fait d'être un bon manageur.
L'inverse n'est cependant pas vrai. Je connais des gens qui écrivent très bien mais sont de très mauvais manageurs.
Gestion de la navigation à travers une page web avec la touche de tabulation.
Un type d'attaque propre à JavaScript, et qu'il est important de comprendre pour écrire du code sécurisé.
Quelques pistes pour se protéger des supply chain attacks.
Une explication de ce qu'est OKLCH (utilisable notamment en CSS) accompagnée d'outils pour générer des palettes de couleurs.
Un retour d'expérience (à nuancer comme toujours) sur une migration de Python vers Node justifiée par la difficulté d'écrire du code asynchrone avec Python.
Une application de gestion et de partage de photos open source et à auto-héberger.
J'ai un peu le même ressenti que celui exprimé dans cet article. Dans l'idée j'adore ce qu'est NextCloud et c'est heureux qu'il existe pour offrir une véritable alternative ouverte aux GAFAMs, mais j'ai toujours eu cette impression de lourdeur qui me bloque un peu.
Les ADRs sont de simples documents, souvent au format texte, qui visent à documenter les prises de décision qui impactent la façon de développer une application.
L'idée est de justifier et d'expliquer les choix effectués.
Un système de commentaire à la Disqus, assez ingénieux, qui utilise le système de discussions de GitHub pour "stocker" et modérer les commentaires.
C'est visiblement facile à intégrer.
Via https://alfy.blog/2025/08/22/from-code-that-works-to-code-that-matters.md.html
Je ne pourrais pas être plus d'accord.
C'est encore une fonctionnalité native simple mais très puissante des navigateurs que certains frameworks ont encouragé à ignorer et à remplacer maladroitement.
Ça ne veut pas dire qu'il faut bannir le state en mémoire, mais simplement comprendre les avantages et inconvénients de chacun et les utiliser à bon escient. L'article illustre ça avec beaucoup de justesse.
Cet article suggère que PostgreSQL peut à peu près tout faire et représente donc une solution idéale pour la majorité des boîtes dont les besoins en scalabilité (évolution de la charge) ne seront jamais suffisants pour justifier une infra plus complexe.
C'est l'idée de MVI : minimum viable infrastructure.
J'aime bien le côté pragmatique, même si ça implique, de fait, une très grande maîtrise de PostgreSQL.
Une application qui semble faire du speech to text (reconnaissance vocale, vous parlez, l'outil écrit ce que vous dites) assez efficacement.
Un client HTTP (REST, GraphQL) et Websocket dans le navigateur.
Pas testé.
Un générateur de SVG qui simule un texte tapé au clavier, animé, avec le curseur.
Une autre plateforme pour le suivi des fuites de données personnelles, plus orienté sur les entreprises françaises.