Daily Weekly Monthly

Monthly Shaarli

All links of one month in a single page.

April, 2025

VERT.sh

Un convertisseur d'image, d'audio et de documents qui fonctionnement totalement dans le navigateur.

Via https://sebsauvage.net/links/?es8DAg

The tools I love are made by awful people — Ankur Sethi

Réflexion sur ce que signifie utiliser les technologies construites par des gens peu scrupuleux.

Boost Node.js with V8 GC Optimization

Régler finement l'utilisation de la mémoire par Node pour améliorer les performances du Garbage Collector.

Anubis: self hostable scraper defense software | Anubis

Un outil qui permet de limiter les requêtes des robots IA sur vos serveurs.

Via https://sebsauvage.net/links/?slbASA

Implications of Global Privacy Control | MDN Blog

Global Privacy Control ou GPC vise plus ou moins à remplacer le Do Not Track (DNT) qui permet d'indiquer aux sites web vos préférences en terme d'usage de vos données personnelles.

Mouais, je reste sceptique sur l'efficacité.

QR Code Scanner - ScanApp

Un scanner de QR code web et qui fonctionne exclusivement dans votre navigateur.

Via https://sebsauvage.net/links/?YdrNow

uaplus.css | fokus

Une sorte de reset CSS un peu différent, qui se focalise sur l'amélioration de certains styles manquants par défaut dans les navigateurs, notamment pour l'accessibilité.

How to write error messages that actually help users rather than frustrate them - Piccalilli

Prenez le temps nécessaire pour concevoir une bonne expérience utilisateur en matière d'erreurs. Quand quelque chose foire (et ça finit toujours par foirer), c'est déjà assez frustrant comme ça.

The Post-Developer Era • Josh W. Comeau

2 ans après l'avènement de ChatGPT et consorts, qu'en est-il des besoins des entreprises en développeurs humains ?

Securing Your Github Actions

Quelques bonnes pratiques pour sécuriser vos GitHub actions.

Faster String Sorting with Intl.Collator | ClarityDev blog

Je ne connaissais pas localeCompare qui permet d'ordonner des chaînes de caractères sans tenir compte de la casse et des accents, mais Intl.Collator permet de le faire encore plus efficacement.

Fine-tuning Text Inputs

Les attributs oubliés de l'élément HTML input.

Checkbox Race!

Une course de checkboxes ! 🏁

How Rolldown Works: Module Loading, Dependency Graphs, and Optimization Explained | Atriiy

Sous le coude pour lecture ultérieure.

Une explication de comment fonctionne Rolldown, un bundler développé en Rust pour remplacer Rollup.

The CSS shape() function | WebKit

La fonction CSS shape() permet de définir des formes avec la même logique que SVG mais au lieu de M, L etc. on utilise des mots clés CSS comme top, bottom, 50%, ce qui permet de rendre les formes responsives !

Deploying TypeScript: recent advances and possible future directions

Publier un package TypeScript implique pas mal de complexité quant aux fichiers qu'il convient d'inclure dans le package. Ça pourrait bien se simplifier dans les années à venir.

Why I stopped using AI code editors · Luciano Nooijen

Une très saine lecture si vous êtes développeur ou développeuse et êtes tenté(e) par les fausses promesses des outils de développement qui utilisent massivement l'intelligence artificielle.

Fixing JavaScript Date – Web Compatibility and Reality – Maggie's Blog

Pourquoi la règle simple Don't break the web est une casse-tête qui conduit à conserver certaines APIs buguées parce que les réparer conduirait à "casser" de nombreux sites web. Illustration avec les dates JavaScript.

A set of posters on how to design for accessibility - accessibility-posters.pdf

Un support visuel qui résume très bien les choses à faire et ne pas faire en matière d'accessibilité.

LLMs can't stop making up software dependencies and sabotaging everything • The Register

L'IA invente parfois des noms de packages qui n'existent pas et essayent de les télécharger (vibe coding, tout ça). Alors des gens ont créé ces packages sous forme de malware. Évidemment.

Default styles for h1 elements are changing | MDN Blog

Je ne savais pas que le style par défaut de la balise <h1> peut varier si elle est contenue à l'intérieur d'une ou plusieurs <section> par exemple. Cette particularité disparaîtra bientôt.

JSON Schema | Zod Docs

La v4 de Zod supporte l'export sous forme de schéma JSON, c'est intéressant 🤔

Ça permet de générer une documentation type Swagger ou OpenAPI assez facilement par exemple.

Compression Dictionary Transport - HTTP | MDN

Compression Dictionary Transport is a way of using a shared compression dictionary to dramatically reduce the transport size of HTTP responses.

GitHub - ldapts/ldapts: LDAP client written in typescript

Un client LDAP pour Node.js.

Some features that every JavaScript developer should know in 2025

Des fonctionnalités du JavaScript moderne qu'il est utile de connaître.