Title: Lettre n°2 - 15 Décembre 2025
Date: 2025-12-15 09:00
Category: Newsletter
JsonLD:  { "@context": "https://schema.org", "@type": "BlogPosting", "name": "Lettre n°2", "description": "Lettre de veille technologique en développement logiciel", "image": [ "https://www.craftletter.fr/images/craftletter.svg" ], "datePublished": "Mon Dec 08 2025 09:00:00 GMT+0200 (Coordinated Universal Time)", "author": { "@type": "Person", "name": "Pascal Le Merrer", "url": "https://www.linkedin.com/in/pascal-le-merrer/" } }


<img class="logo" alt="Logo Craft Letter" src="{static}/images/craftletter.svg">





## Édito

Alors que je publie ce second numéro de la Craft Letter, il s'est écoulé moins de deux semaines depuis j'ai eu l'idée de publier une newsletter. Dans un état d'esprit marqué par l'Agile des origines —pas l'adoption superfielle qualifiée de [Faux Agile](https://www.zdnet.fr/actualites/le-developpement-agile-plus-une-pretention-qu-une-realite-39870168.htm) 🇫🇷— et par Getting Real —dont je parle ci-dessous—, j'ai publié le premier numéro rapidement, avec le strict nécessaire. Le logo que j'ai créé ne me satisfait pas complètement ? Ce n'est pas grave, j'en changerai plus tard. Je n'avais pas le temps de créer [un site Web](https://www.craftletter.fr) ? Je l'ai fait après la publication du premier numéro. L'essentiel était là : j'avais du contenu intéressant à partager avec vous.

Voici les articles et projets qui m'ont marqué cette semaine, agrémentés parfois de quelques réflexions issues de mon expérience ou des recherches que j'ai faites.

﻿Bonne lecture !

﻿

## Bebop

Dans le premier numéro de la Craft Letter était citées des alternatives à Json, telles que Protobuf et Apache Avro. Ce sont des protocoles binaires et typés, donc plus compacts et performants que Json. Le typage permet une expérience développeur sympathique. [Bebop](https://bebop.sh), dont la première version date de 2020, se présente comme une version plus moderne de Protobuf, sorti en 2001 —mais [qui continue d'évoluer](https://protobuf.dev/news/).

## Une comparaison de Go, Rust et Zig

[Sinclair Target compare Go, Rust et Zig](https://sinclairtarget.com/blog/2025/08/thoughts-on-go-vs.-rust-vs.-zig/) 🇬🇧, après quelques quelques mois d'expérimentation sur ces trois langages. Ses réflexions sont intéressantes, bien qu'il n'ait pas pratiqué ces langages dans un cadre professionnel ni sur une longue durée. Il explique notamment ce qui rend Rust si compliqué à apprendre d'après lui : ce ne serait pas la gestion de la mémoire, mais la multplicité des concepts du langage.

## Un algorithme de calcul de date hyper rapide

Ben Joffe est un passionné d'algorithmie, et plus particulièrement d'algorithmes de calcul de date. Il vient de présenter un nouvel algorithme nettement plus rapide que l'état de l'art, pour calculer la date à partir du nombre de jours écoulés depuis le 1er Janvier 1970.

Dans [A Very Fast 64–Bit Date Algorithm: 30–40% faster](https://www.benjoffe.com/fast-date-64) 🇬🇧, il décrit en détail le fonctionnement de ce nouvel algorithme, les nouveautés qui le distinguent des précédents, et ce qui le rend aussi rapide.

## Pourquoi quitter Github ?

Un billet sur le blog d'[Iroco](https://iroco.co/), un service mail Français éthique, nous explique pourquoi ils pensent qu'[il faut quitter Github](https://blog.iroco.co/pourquoi-quitter-github/) **:** ça parle d'IA générative, de souveraineté numérique, de colonialisme, de techno-autoritarisme...

## Aerospace, un gestionnaire de fenêtre pour MacOS

Si comme moi vous n'appréciez pas le gestionnaire de fenêtres de MacOS, vous serez peut-être intéressé·e par cet article de Seg6 qui explique, selon lui, comment [rendre MacOS supportable](https://seg6.space/posts/making-macos-bearable/) 🇬🇧. Seg6 y présente plusieurs outils pour se passer de la souris dans de nombreux cas, comme Aerospace et Vimium. [Aerospace](https://github.com/nikitabobko/AeroSpace) est inspiré de [i3](https://i3wm.org/), un gestionnaire de fenêtres pour Linux**.** [Vimium](https://vimium.github.io/) est une extension pour navigateur qui permet de naviguer presque uniquement au clavier.

## Retour d'expérience sur Shape-up

Shape-up est une alternative aux méthodes Agiles telles que Scrum, Kanban ou XP. Elle a été imaginée chez [37Signals](https://37signals.com) 🇬🇧, l'entreprise derrière Basecamp, et décrite dans un [livre disponible en ligne](https://basecamp.com/shapeup) 🇬🇧, gratuitement. Ce [résumé](https://www.le-ticket.fr/resume-shape-up-basecamp/2821/) 🇫🇷 vous donnera un aperçu, avant de découvrir le [retour d'expérience de Scale X](https://scalex.dev/blog/2-years-with-shape-up/) 🇬🇧.

Un ouvrage de 37Signals qui m'a beaucoup influencé est [Getting Real](https://basecamp.com/books#gettingreal) 🇬🇧, le premier livre qui décrivait leur façon de travailler, bien avant qu'ils inventent Shape-Up. Les chapitres sont très courts, chacun présentant une idée souvent aussi iconoclaste que radicale, sur des sujets aussi divers que le financement d'une start-up, la priorisation des fonctionnalités, le recrutement, l'UX, etc. Contrairement à Shape-Up, ce n'est pas une méthode. Il s'agit plutôt une collection de trucs et astuces dont chacun peut être adopté indépendamment, et utilisé en complément de Scrum, XP ou autre.

[Rework](https://basecamp.com/books#rework) 🇬🇧, paru quelques années après, reprend une grande partie du contenu de Getting Real, et n'y apporte pas grand chose de nouveau sur le fond.

## Vous n'avez pas besoin de framework CSS

Si vous n'avez pas suivi les évolutions du langage CSS ces dernières années, vous risquez d'être surpris·e par cette analyse de trois sites développés par 37Signals (oui, ceux qui ont créé Shape-up, mais ça n'a rien à voir les articles cités ci-dessus).  Dans [Vanilla CSS is all you need](https://www.zolkos.com/2025/12/03/vanilla-css-is-all-you-need) 🇬🇧, Rob Zolkos montre comment 37Signals utilise les fonctionnalités récentes de CSS pour se passer de framework, de pré-processeur, et parfois de JavaScript ou d'images.

La première question qui m'est venue à l'esprit à la lecture de cet article, c'est celle du support de ces fonctionnalités par les navigateurs. Une rapide recherche sur [Can I Use](https://caniuse.com) m'a permis d'identifier depuis quand elles sont supportées par les principaux navigateurs :

- Native [custom properties](https://developer.mozilla.org/en-US/docs/Web/CSS/Using_CSS_custom_properties) (variables) : 2017
- Native [nesting](https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_nesting) : 2023
- [Container queries](https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_container_queries) : 2023
- [:has()](https://developer.mozilla.org/en-US/docs/Web/CSS/:has) : 2023
- [CSS Layers](https://developer.mozilla.org/en-US/docs/Web/CSS/@layer) : 2022
- [color-mix()](https://developer.mozilla.org/en-US/docs/Web/CSS/color_value/color-mix) : 2023
- [clamp()](https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Values/clamp), [min()](https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Values/min), [max()](https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Values/max) : 2020

## 100 000 transactions par seconde : l'efficacité déraisonnable de Sqlite

Anders Murphy a réalisé un benchmark dans lequel il montre que [Sqlite peut être d'une efficacité redoutable](https://andersmurphy.com/2025/12/02/100000-tps-over-a-billion-rows-the-unreasonable-effectiveness-of-sqlite.html) 🇬🇧 par rapport aux SGBD traditionnels, du fait de l'absence de communications réseau. Il faut cependant garder à l'esprit que [Sqlite](https://sqlite.org/index.html), bien que ce soit [la base de donnée la plus utilisée au monde](https://sqlite.org/mostdeployed.html) 🇬🇧, n'est pas adaptée à tous les cas d'usage, et n'offre pas exactement les mêmes fonctionnalités. Juste à titre d'exemple, vous n'y trouverez pas d'ID auto-incrémenté.
