Daily Weekly Monthly

Monthly Shaarli

All links of one month in a single page.

October, 2025

Quetsche – Compression de photos

Outil de redimensionnement et d'optimisation d'images 100% côté navigateur (donc sans envoyer vos photos sur un quelconque serveur).

AWS to Bare Metal Two Years Later: Answering Your Toughest Questions About Leaving AWS

Témoignage d'une migration du cloud vers l'auto-hébergé, et des économies que ça a engendré.

Data Breach Observatory: Recent data breaches | Proton for Business

Proton liste les fuites de données personnelles majeures.

How to do distributed locking — Martin Kleppmann’s blog

Cet article explique en détails comment éviter les accès concurrents sur des ressources partagées dans un système distribué (plusieurs serveurs).

C'est une problématique assez rare mais épineuse. Ça requiert une grande rigueur pour aboutir à une solution fiable et totalement automatisée.

JavaScript async iterators

Démystification des itérateurs JavaScript.

L'article aborde essentiellement les itérables, les itérateurs et les générateurs.

Garage - An open-source distributed object storage service

Un service de stockage de fichiers compatible S3 à auto-héberger.

uv is the best thing to happen to the Python ecosystem in a decade - Blog - Dr. Emily L. Hunt

Je trouve ça fou qu'avec le succès phénoménal de Python il n'y ait jamais eu de manière plus simple et intégré de gérer les versions et les dépendances. virtualenv semble ne satisfaire personne.

Start implementing view transitions on your websites today - Piccalilli

L'utilisation des view transitions CSS n'est pas exactement triviale pour le moment, mais cet article en détricote quelques détails.

Node.js — Node.js v24.11.0 (LTS)

Node 24.11.0 devient la nouvelle LTS, après une année avec Node 22.

Helium Browser

Un navigateur web alternatif, basé sur Chromium, mais qui met l'accent sur la légèreté, le respect de la vie privée et l'absence de requêtes intempestives en arrière-plan sans votre consentement.

Il en est à ses débuts mais semble prometteur.

Contrairement à Chrome, il supporte encore les extensions au format MV2 comme uBlock Origin (qui est d'ailleurs installé par défaut).

Vibing a Non-Trivial Ghostty Feature – Mitchell Hashimoto

Un retour relativement honnête et transparent sur le développement d'une fonctionnalité à l'aide de l'IA.

L'auteur dépeint assez bien ce qui fonctionne bien et ce qui fonctionne beaucoup moins bien, loin de la hype habituelle qui nous assume à coup de superlatifs.

Old man yells at cloud: a mini-book on AWS networking

Comprendre la configuration réseau dans le cloud. Ici avec AWS, mais c'est grosso modo pareil chez Azure ou GCP.

🌬 Vento

Un language de templating pour JavaScript qui vise à rester très simple tout en corrigeant certaines faiblesse des alternatives que sont EJS, Eta, Nunjucks, Mustache, etc.

Why NaN !== NaN in JavaScript (and the IEEE 754 story behind it) | Piotr Zarycki - Programming Blog

Si vous vous êtes déjà demandé d'où vient le nombre NaN, qui signifie Not a Number.

Devdle

Le Wordle du développeur : tous les jour, une question à choix multiples liée à la programmation.

Anti-Cheat Compatibility List for Steam Deck, Linux, SteamOS | GamingOnLinux

Liste des logiciels anti triche des jeux vidéos qui sont compatibles ou non avec Linux.

Liste alternative, plus complète : https://areweanticheatyet.com/

Keep Android Open | Web site for keepandroidopen.org

Plaidoyer pour empêcher Google d'imposer aux développeurs d'être enregistrés pour permettre aux utilisateurs d'Android d'installer leurs applications.

Octoverse: A new developer joins GitHub every second as AI leads TypeScript to #1 - The GitHub Blog

Quelques statistiques sur l'évolution de l'usage de GitHub, en matière de langages, technologies, etc.

A tempérer comme d'habitude, le mot "AI" apparaît 187 fois sur la page. C'est aussi un moyen pour Microsoft de nous fourrer tout ça de force dans la gorge.

Nearly 90% of Windows Games now run on Linux, latest data shows — as Windows 10 dies, gaming on Linux is more viable than ever | Tom's Hardware

Jouer sous Linux semble de plus en plus pertinent. Si ça continue dans ce sens, on n'est pas à l'abri d'un renversement majeur.

GitHub - docusealco/docuseal: Open source DocuSign alternative. Create, fill, and sign digital documents ✍️

Une solution alternative à DocuSign pour gérer la signature de documents électroniques.

Autre alternative : https://documenso.com/

Via https://sebsauvage.net/links/?027KQA

2025 NIST password guidelines: key updates for businesses | Proton

Les dernières recommandations du NIST en matière de choix de mot de passe.

En résumé :

  1. Utiliser des phrases de passe suffisamment longues
  2. Ne plus demander de complexité type 1 lettre, 1 numéro, 1 caractère spécial, etc.
  3. Ne plus imposer de renouveler son mot de passe régulièrement, sauf en cas compromission identifiée bien sûr
  4. Empêcher les mots de passe connus pour être faibles (coucou "123456") ou figurant sur des listes de comptes compromis
  5. Ne plus utiliser les méthodes de récupération de type questions personnelles ("Quel est le nom de votre premier animal de compagnie ?") dont les réponses sont trop facilement trouvables
  6. Encourager l'usage méthodes du MFA (authentification multi-facteur) et des gestionnaires de mot de passe
WebDAV Isn't Dead Yet – Makefile.feld

Le "protocole" S3 ne devrait pas être la solution par défaut pour échanger des fichiers.

Why I code as a CTO

Sous le coude comme témoignage qu'il est possible de continuer à coder même lorsqu'on a un rôle managérial.

From XML to JSON to CBOR - The CBOR, dCBOR, and Gordian Envelope Book

Une alternative binaire au JSON pour l'échange de données structurées.

Sploitus

Un moteur de recherche pour trouver rapidement des exploits, des proof-of-concepts et des outils de hacking.

Via https://korben.info/sploitus-google-exploits-outils-hacking.html

Starship Prompt: Customize Your Linux Shell with Ease - OSTechNix

Un outil pour customiser facilement le prompt de votre terminal, cette petite ligne qui apparaît avant les commandes que vous tapez et qui vous renseigne sur le contexte dans lequel votre terminal se trouve.

bash: set a trap to log errors | ¬ just serendipity 🍀

Savoir où se trouve l'erreur dans un script bash.

Ce système permet également de faire une sorte de try catch, dans le sens où une commande peut être exécutée en cas d'erreur, avant de sortir du script.

Intercept, debug & build with HTTP

Un outil pour debugger les requêtes HTTP, dans le cadre de développement d'intégrations.

Via https://korben.info/decouvrez-http-toolkit-outil-parfait-deboguer-applications-web-mobiles.html

Valetudo | Cloud replacement for vacuum robots enabling local-only operation

Une solution pour remplacer la dépendance au cloud des robots aspirateurs, et les faire marcher en local.

35 modèles supportés pour le moment. Développé par une seule personne.

A beginner-friendly guide to view transitions in CSS

Introduction à view-transition en CSS. Pas encore supporté pleinement dans Firefox mais ça arrive tout doucement.

Make Graph - Online Free Graph Maker

Créer un graphique rapidement à partir de vos jeux de données et sans quitter votre navigateur (donc sans passer par Excel 👌).

field-sizing isn't only about growing textareas | Stefan Judis Web Development

La propriété CSS field-sizing: content permet d'ajuster la taille d'un <textarea> en fonction de son contenu, mais elle fonctionne également sur les <input> et <select>.

Cache-Control for Civilians – CSS Wizardry

Article qui détaille comment utiliser le header HTTP Cache-Control pour mettre en cache les ressources qui peuvent l'être, tout en gérant finement la façon dont elles seront rafraîchies une fois le cache expiré.

Zod: Type-Safe Schema Validation for TypeScript

Comment utiliser Zod en pratique pour valider les variables d'environnement, les configurations, les payloads reçues de vos utilisateurs, etc.

Migration Guide | Guide | Vitest

Vitest 4 est de sortie, avec son lot de breaking changes.

PARLONS DES MICRO TRANSACTIONS

Une bonne explication de toutes les faiblesses de notre cerveau que les producteurs de jeux vidéos peu scrupuleux exploitent pour encaisser un maximum de fric.

Build Your Own Database

Comprendre comment les bases de données sont optimisées, avec l'exemple d'une base de données de type clé-valeur.

HTML Sanitizer API - Web APIs | MDN

Une API native arrive pour "nettoyer" une chaîne de caractères non-sure avant de l'injecter dans une page web. Les librairies de type DOMPurify seront bientôt optionnelles.

SmoothCSV - The ultimate CSV editor for macOS & Windows

Une sorte d'IDE du CSV. Un éditeur bien plus performant que Excel pour ouvrir et afficher un fichier CSV sous forme de tableau et effectuer des requêtes type SQL pour en extraire ou filtrer les données.

Via https://korben.info/smoothcsv-editeur-csv-rapide-vs-excel.html

Vous cherchez des films pour cinéphiles en herbe ?

De courts films pour enfants de 3 à 11 ans, souvent sans paroles.

Node.js race conditions

Gestion des accès concurrents en Node.js à l'aide d'un mutex, entre autres.

Et oui, le fait que Node tourne sur un seul thread n'empêche pas les race conditions.

The CSS Reset, again | pawelgrzybek.com

Un CSS reset léger et simple, expliqué en détail par son auteur.

Reading and Writing Files in Node.js - The Complete Modern Guide

Un excellent article qui détaille les multiples méthodes qui existent avec Node.js pour lire un fichier, et surtout quand les utiliser.

Une très saine lecture pour tous les développeurs qui utilisent JavaScript côté serveur, tant les concepts abordés sont cruciaux pour la robustesse de vos applications.

Lazy Fields for 30x speedup without Decorators or Transforms | Joist

Une optimisation intéressante pour charger "à la demande" les propriétés d'un objet, et non pas lorsque son constructeur est appelé. Ici dans le cas d'un ORM TypeScript.

Signature PDF - Signer et manipuler des PDF en ligne librement

Outil en ligne de manipulation de fichier PDF, hébergé par Framasoft.

Why we're leaving serverless | Unkey

Un article critique vis-à-vis du serverless.

Portail des médias indépendants

Aggregation de médias indépendants (= pas possédés par un milliardaire).

Windows 11 embarque désormais Edit, un outil d’édition en ligne de commande - Next

Le terminal Windows se dote de son propre éditeur de texte dans le terminal (type Vim ou Nano).

Node.js Performance: Processing 14GB Files 78% Faster with Buffer Optimization

Le fameux challenge du milliard de lignes à traiter (14 Go quand même !) vu sous un nouvel angle.

Lighthouse - The feed reader for finding actionable content

Tour d'horizon des différents lecteurs de flux RSS classés en fonction de leur prix et de leur modèle d'exécution (local VS auto-hébergé VS SaaS).

A cartoonist's review of AI art - The Oatmeal

Lettre d'amour de The Oatmeal aux artistes.

Et gros doigt d'honneur à la gerbe générative que nous servent GPT et consorts.

A pragmatic guide to modern CSS colours - part one - Piccalilli

Un guide sur les couleurs en CSS, et tout l'éventail d'outils qu'on a pour les manipuler et les configurer.

Il est loin le temps du choix binaire entre l'hexadecimal et la fonction rgb !

e18e (Ecosystem Performance) - Publishing Packages | e18e

Des bonnes pratiques pour publier des packages JavaScript sur npm.

An Illustrated Introduction to Linear Algebra

Introduction à l'algèbre linéaire avec pédagogie et exemples concrets.

Qui sait, c'est peut-être l'occasion d'enfin comprendre ce qui me passait totalement au dessus pendant mes études 😅

What Can We Actually Do With corner-shape? | CSS-Tricks

Exemples d'utilisation créative de la nouvelle propriété CSS corner-shape.

Seulement dans Chromium pour le moment.

Solid.js vs. React: A Developer's Perspective

Témoignage d'un développeur React avec 8 ans d'expérience après avoir utilisé Solid pendant 1 mois. Spoiler : il y a pas mal de complexité dans React que les devs acceptent par habitude mais qui n'est pas irrémédiable.

TypeScript is Like C#

Initiation à C# pour les développeurs TypeScript.

Why do software developers love complexity? | Kyrylo Silin

L'atrait de la complexité est en partie le fruit du marketing, du discours de gens qui veulent vous convaincre que vos problèmes sont trop profonds pour être résolus par des solutions simples.

Open Printer, une imprimante open source simple et réparable - MacGeneration

Une imprimante qui marche ? Il faudra que je le vois pour le croire 🤔

CSS-only floating focus with anchor positioning | Polypane

Utilisation ingenieuse de anchor positioning CSS (positionnement par ancre) pour créer un indicateur de focus qui "flotte" d'un élément à l'autre quand vous appuyez sur TAB.

Where It's at:// — overreacted

Explication de la façon dont les "adresses" at:// fonctionnent et de comment trouver à quel hébergement elles correspondent.

fetch-kit/ffetch: TypeScript-first fetch wrapper with configurable timeouts, retries, and circuit-breaker baked in.

Un client HTTP construit comme un wrapper autour du fetch() natif de JavaScript, qui ajoute des fonctionnalités telles que retry, timeout, circuit-breaker, lifecycle hooks, etc.

Similaire à ofetch.

Handling routes in JavaScript projects | Sean C Davis

Différentes façons de gérer les routes dans votre application JavaScript, pour éviter de les hardcoder un peu partout et de rendre le refactoring plus délicat.

A guide to creating accessible PDFs using free tools - Piccalilli

Comment créer des PDF accessibles sans nécessairement passer par Adobe Reader.

muspy – Get Notified on New Album Release Dates

Un outil qui permet (après avoir créé un compte) de savoir quand ses artistes favoris publient un nouvel album, le tout sous forme de flux RSS.

I Tried Designing My FIRST Linux UI

Si vous vous demandiez à quel point l'interface de Linux est customisable.

Fin de Windows 10 : faisons le point – Framablog

Pistes pour gérer la fin de vie de Windows 10 sans euthanasier votre ordi.