Daily Weekly Monthly

Monthly Shaarli

All links of one month in a single page.

March, 2025

UI Algorithms: A Tiny Undo Stack | Julik Tarkhanov

Un système de undo, redo basique mais robuste.

Wary of US surveillance? Try these European alternatives to Big Tech | Proton

Quelques alternatives européennes à certaines applications et certains services américains.

GitHub - errsole/errsole.js: Collect, Store, and Visualize Logs with a Single Module

Un agrégateur de log que vous pouvez ajouter directement dans votre application et exposer en parallèle.

Ça ne suffira pas si vous avez 50 applications, mais pour des petites architectures c'est intéressant !

Why I recommend against Brave

Pourquoi Brave est à éviter.

Home | C4 model

Un modèle de représentation d'une architecture logicielle.

The C4 model is:

  1. A set of hierarchical abstractions (software systems, containers, components, and code).
  2. A set of hierarchical diagrams (system context, containers, components, and code).
  3. Notation independent.
  4. Tooling independent.
Representing XML | Swagger Docs

Représenter du XML dans une documentation Swagger/OpenAPI/OAS.

I Love Monorepos—Except When They Are Annoying | bret.io

Réflexions intéressantes sur les monorepos et les problèmes qu'ils ne résolvent pas.

For general-purpose libraries especially, isolating code into separate repositories with well-defined boundaries often leads to better design decisions and more maintainable code over time. Reaching for monorepos to avoid these challenges can sometimes mask architectural problems rather than solve them.

[...]

Sometimes the answer isn’t more tooling or more packages—it’s thoughtful design and careful consideration of the downstream experience.

Du désir profond de se faire arnaquer

Une réflexion intéressante sur les effets de mode en informatique : SEO, Cloud, maintenant l'IA.

Building Robust Data Synchronization Code in Node.js | AppSignal Blog

De l'apport immense de bons tests end-to-end lors du développement d'une application complexe — plusieurs clients à synchroniser les uns avec les autres dans ce cas.

Build a Container Image from Scratch — Danish Prakash

Deep dive dans les entrailles de ce qu'est une image de container. Super intéressant et finalement pas si sorcier que ça.

Quelques exemples contiennent des coquilles, mais rien de gênant pour la compréhension.

The Great ESLint v9 Migration Adventure: A Developer's Survival Guide 🧗‍♂️ | Neoxs

De la difficulté que peut représenter la migration de ESLint 8 vers ESLint 9.

Make Bookmarklets | Make it easy

Un outil qui facilite la création de bookmarklets, ces petits morceaux de JavaScript que vous pouvez exécuter sur n'importe quelle page depuis vos favoris.

CSS Form Control Styling Level 1

Premier draft pour les spécifications CSS qui permettront de styliser les composants natifs.

NAPS2 - Scan documents to PDF and more

Un outil libre et relativement léger pour remplacer les 537 Mo du logiciel bancal fourni par le constructeur de votre scanner.

Via https://sebsauvage.net/links/?mFEP4A et https://korben.info/naps2-logiciel-scanner-gratuit-open-source.html

Find Bugs Without Writing Tests | PHPStan

Une sorte de linter pour PHP. Cet outil analyse votre code et vous permet de détecter certains problèmes sans même avoir à l'exécuter.

L'un des aspects intéressant c'est l'approche par niveaux (levels) qui permet de choisir son niveau d'agressivité. Vous pouvez commencer au level 0, corriger les soucis "faciles", puis augmenter à mesure que votre code gagne en qualité et en robustesse.

Un article en français chez Alsacreations

How Core Git Developers Configure Git

Un petit listing de quelques options Git intéressantes.

M/Monit

Un outil de monitoring qui a l'air très bien fait et léger.

BorgBackup [Wiki de sebsauvage.net]

Guide et astuces sur l'usage de BorgBackup qui est un excellent outil pour faire des sauvegardes.

GitHub - JoshuaKGoldberg/create-typescript-app: Quickstart-friendly TypeScript template with comprehensive, configurable, opinionated tooling. 🎁

Un starter TypeScript qui contient beaucoup de choses mais qui peut servir d'inspiration partielle.

How to Favicon in 2025: Three files that fit most needs—Martian Chronicles, Evil Martians’ team blog

Les favicons, c'est toute une galère.

L'article résume tout en 3 fichiers qui couvrent 95% des usages.

URL Pattern API - Web APIs | MDN

Une nouvelle API (pas encore dispo dans Safari et Firefox) qui permet de définir un schéma d'URL (par exemple /books/:id) et de tester une URL donnée pour voir si elle correspond.

Creating effective technical documentation | MDN Blog

Pas mal de conseils pour écrire des documentations techniques utiles et efficaces.

Clear-Site-Data - HTTP | MDN

Ce header HTTP permet au serveur de demander au navigateur web de supprimer certaines données stockées en local (cookies, cache, et stockage).

Invalider un cache de manière fiable n'est jamais facile donc à connaître.

Node.js Process Exit Strategies: Signals, Errors, and Graceful Shutdowns | Leapcell

A guide to handling Node.js process exits, preventing crashes, and ensuring smooth recovery.

JavaScript Game Tutorials

Tutorial Three.js pour développer un clone du célèbre jeu Crossy Road.

To Parse an Int | Aleksandr Hovhannisyan

Saviez-vous qu'en JavaScript parseInt('2️⃣)` retourne 2 ?

Il y a une raison logique à cela.

C'est une combinaison de la composition de cet emoji et du fonctionnement de parseInt et cet article l'explique très bien.

Node.js Writable Streams: A Practical Guide

Utilisation des flux d'écriture (writable streams) avec Node.js.

Human-readable date formatting with vanilla JavaScript | Henry From Online

L'usage de Date.toLocaleDateString() et ses dérivés permet déjà pas mal de chose pour formater une date.

En attendant que l'API Temporal se démocratise.