Add newsletter #15

This commit is contained in:
Pascal Le Merrer 2026-03-18 15:06:09 +01:00
parent 214c8cc7b1
commit 50c920929f
3 changed files with 83 additions and 4 deletions

View file

@ -0,0 +1,78 @@
Title: Lettre n°15 — 16 mars 2026
Date: 2026-03-16 09:00
Category: Newsletter
JsonLD: <script type="application/ld+json"> { "@context": "https://schema.org", "@type": "BlogPosting", "name": "Lettre n°15", "description": "Lettre de veille technologique en développement logiciel", "image": [ "https://www.craftletter.fr/images/craftletter.svg" ], "datePublished": "Mon Mar 16 2026 09:00:00 GMT+0200 (Coordinated Universal Time)", "author": { "@type": "Person", "name": "Pascal Le Merrer", "url": "https://www.linkedin.com/in/pascal-le-merrer/" } } </script>
<img class="logo" alt="Logo Craft Letter" src="{static}/images/craftletter.svg">
## Pourquoi Web Assembly est-il un langage de seconde zone&nbsp;?
Daprès Ryan Hunt, [Web Assembly nest pas un langage de premier plan](https://hacks.mozilla.org/2026/02/making-webassembly-a-first-class-language-on-the-web/)🇬🇧, pour deux raisons&nbsp;:
* dabord, le chargement du code Web Assembly dans une page web nest pas aussi simple que celui du JavaScript&nbsp;; il existe plusieurs méthodes pour le faire, chacune avec des limitations&nbsp;;
* ensuite, Web Assembly ne peut accéder aux APIs Web quà travers JavaScript, et cela requiert un code assez compliqué.
Il explique comment les Web Assembly Components pourraient résoudre ces problèmes et procurer une meilleur expérience de développement.
## Unison
Beaucoup de nouveaux langages de programmation ne proposent que des évolutions incrémentales par rapport à lexistant. Ça ne veut pas dire quils soient dénués dintérêt, loin de là. Japprécie beaucoup Gleam, comme vous le savez si vous lisez régulièrement cette newsletter, mais il nest pas révolutionnaire&nbsp;: Louis Pilfold sest inspiré de ce quil appréciait dans Go, JavaScript, Ocaml, Rust, Erlang, Elixir, Elm et Alpaca, puis en a fait une synthèse, particulièrement réussie. Le seul concept un peu nouveau, il me semble, cest [le mot-clé `use`](https://gleam.run/news/v0.25-introducing-use-expressions/)🇬🇧, mais ce nest que du sucre syntaxique, qui évite le "callback hell".
[Unison](https://www.unison-lang.org/)🇬🇧 ne rentre pas dans cette catégorie&nbsp;: il propose une vraie innovation. Chaque fonction est référencée non pas par son nom, mais par le hash de son AST (Arbre Syntaxique Abstrait). Le nom nest quune métadonnée de la fonction. Ainsi, vous pouvez renommer une fonction sans que cela impacte le code qui lappelle. Cest utile quand vous le ne maîtrisez pas, par exemple si vous êtes lauteur dune librairie utilisée par des tiers.
Chaque fonction est compilée séparément, puis stockée dans une base de données spécialisée appelée Unison Code Manager —au lieu den stocker le code source dans Git ou un équivalent. De ce fait, les temps de compilation sont proches de 0. Cela permet également de faire cohabiter différentes versions dune fonction, pas seulement la dernière. UCM peut aussi détecter que limplémentation dune fonction que votre code utilise a changé, et vous en avertir.
[La présentation de Dejan Miličić](https://www.youtube.com/watch?v=mQHo2Csqs5w)🇬🇧 détaille les nombreuses conséquences de ces choix inhabituels et les possibilités quelles offrent.
Le revers de la médaille, cest que lusage à des fins commerciales de Unison est payant.
## Réduire la taille des binaires Go
Le compilateur du langage Go élimine le code mort… En général&nbsp;! Mais dans certaines conditions, il ne va pas le faire. Cela peut faire croître la taille dune application de façon injustifiée.
Sergio de Simone raconte comment des ingénieurs de chez Datadog ont réussi à [réduire la taille des binaires dune de leurs applications de 77%](https://www.infoq.com/news/2026/03/datadog-go-binary-optimization/)🇬🇧.
## State of Rust
Les résultats du sondage [State Of Rust 2025](https://blog.rust-lang.org/2026/03/02/2025-State-Of-Rust-Survey-results/)🇬🇧 sont disponibles. Je vous laisse les découvrir, je me contenterais de mettre laccent sur ce qui ma interpelé.
Le premier point concerne la complexité du langage. Sans surprise, elle est mentionnée comme un obstacle par un quart des 417 développeurs qui ont répondu au sondage, mais nutilisent pas Rust. Or les répondants au sondage ne sont pas représentatifs de la population des développeurs en général. Si lon faisait un sondage auprès dun public plus large, je soupçonne que ce pourcentage serait encore plus élevé —mais cest peut-être un biais de confirmation de ma part.
Le second point, ma plus surpris&nbsp;: la croissance de la complexité du langage dans les années à venir est lune des plus grandes craintes de 40% des répondants.
Cela me rappelle un article que jai cité dans [la lettre n°2](https://www.craftletter.fr/lettre-ndeg2-15-decembre-2025.html)🇫🇷, dans lequel Sinclair Target explique que ce qui rend Rust si difficile à apprendre, ce ne serait pas la gestion de la mémoire, mais la multiplicité des concepts du langage.
## State of Haskell
Hasard du calendrier, la Fondation Haskell vient de publier les résultats du sondage [State Of Haskell 2025](https://discourse.haskell.org/t/state-of-haskell-2025-results/13755)🇬🇧.
## Refonte de Curling IO
Dave Rapin détaille, dans une série de billets de blog, les choix techniques pour la [refonte du site Curling IO](https://curling.io/blog/the-next-version-of-curling-io)🇬🇧, principalement dédié à la gestion de clubs de curling (on ne rigole pas, cest un sport infiniment plus populaire au Canada quen France).
Il explique pourquoi ils abandonnent Rails, Elm et Postgresql au profit de Gleam et Sqlite&nbsp;; mais aussi les autres solutions considérées, et les gains attendus. Il mentionne également pourquoi ils passent dAWS à OVH pour lhébergement.
Dans les articles suivants, il détaille les choix darchitecture, les compromis et les limitations pour la localisation, lauthentification, la gestion des tâches asynchrones, la base de données, les tests… Il montre également comment le trio Beam (la machine virtuelle dErlang), Gleam, et Sqlite simplifie larchitecture, ce qui réduit significativement les coûts dhébergement et dexploitation.
## Software Delivery Stories
Le [podcast Software Delivery Stories](https://castbox.fm/channel/Software-Delivery-Stories-id5728025?country=fr)🇫🇷 propose à chaque épisode une interview dun expert qui parle de son expérience en déploiement de logiciels. Le fil conducteur de ce podcast, cest Accelerate. Lépisode 0 rappelle ce quest Accelerate.
Les épisodes durent entre une heure et une heure trente. Après un rythme mensuel au début, les épisodes se sont espacés.
## Générer automatiquement un changelog
[Git Cliff](https://github.com/orhun/git-cliff)🇬🇧 est un outil capable de générer automatiquement le changelog dun logiciel, à partir du moment où vous utilisez des messages de commits qui respectent le principe des [conventional commits](https://www.conventionalcommits.org/en/v1.0.0/)🇬🇧.
## Diff avec coloration syntaxique
[Deff](https://github.com/flamestro/deff)🇬🇧 est un outil de diff pour Git, qui fonctionne dans le terminal. Il supporte la coloration syntaxique, en se basant sur les fichiers de configuration de Sublime Text, quil faut copier dans un sous-répertoire du projet. Il affiche les fichiers modifiés dans leur intégralité, au sein dune interface qui utilise la totalité de la fenêtre, et dans laquelle on navigue avec des commandes similaires à celles de VI.
[Difftastic](https://difftastic.wilfred.me.uk/)🇬🇧 est aussi un outil de diff, qui utilise des LSP installés localement pour identifier et mettre en évidence les différences. Contrairement à Deff, il naffiche que les modifications et quelques lignes de contexte, comme Git diff, mais sur deux colonnes (par défaut). Il est compatible avec Jujutsu, Mercurial et Fossil.
## Créer des slides dans le terminal
[Ratride](https://amagi.dev/ratride/)🇬🇧 est un outil pour créer et afficher des slides à partir du terminal. Les slides sont décrits dans un fichier markdown.
[Presenterm](https://mfontanini.github.io/presenterm/introduction.html)🇬🇧 est un équivalent. Par rapport à Ratride, il propose des fonctionnalités comme lexécution dextraits de code, laffichage de diagrammes Mermaid, de diagrammes D2, et de formules Latex ou Typst. Il supporte également les notes du présentateur/de la présentatrice, quil affiche dans une seconde fenêtre.
Ratride se distingue de Presenterm par son support des animations et des transitions entre les slides, ainsi que sa capacité à afficher des titres en ASCII art dans diverses polices et couleurs.

View file

@ -1,14 +1,14 @@
Title: Accueil
Date: 2026-03-09 09:00
Date: 2026-03-16 09:00
URL:
save_as: index.html
Category: Home
JsonLD: { "@context": "https://schema.org", "@type": "WebPage", "name": "Accueil", "description": "Lettre de veille technologique en développement logiciel", "image": [ "https://www.craftletter.fr/images/craftletter.svg" ], "datePublished": "Mon Mar 09 2026 09:00:00 GMT+0200 (Coordinated Universal Time)", "author": { "@type": "Person", "name": "Pascal Le Merrer", "url": "https://www.linkedin.com/in/pascal-le-merrer/" } }
JsonLD: { "@context": "https://schema.org", "@type": "WebPage", "name": "Accueil", "description": "Lettre de veille technologique en développement logiciel", "image": [ "https://www.craftletter.fr/images/craftletter.svg" ], "datePublished": "Mon Mar 16 2026 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">
# La [lettre n°14]({filename}/newsletter/craft-letter-14.md) est parue !
# La [lettre n°15]({filename}/newsletter/craft-letter-15.md) est parue !
La Craft Letter est une newsletter hebdomadaire dans laquelle je partage des articles
issus de ma veille technologique. Vous y trouverez des articles relatifs au développement logiciel d'une façon générale, qu'il soit front-end, back-end ou autre. Mais aussi des articles consacrés à l'architecture logicielle, la méthodologie, les outils, des projets open source, des conférences...
@ -37,6 +37,7 @@ Pour savoir qui je suis, ou pourquoi j'écris cette lettre, je vous invite à vo
# Archives
* [Lettre n°15]({filename}/newsletter/craft-letter-15.md)
* [Lettre n°14]({filename}/newsletter/craft-letter-14.md)
* [Lettre n°13]({filename}/newsletter/craft-letter-13.md)
* [Lettre n°12]({filename}/newsletter/craft-letter-12.md)

View file

@ -38,7 +38,7 @@
<hr style=" display: block; height: 1px; border: 0; border-top: 1px solid #ccc; margin: 1em 0; padding: 0;">
Voilà, c'est tout pour cette semaine !
Voilà, cest tout pour cette semaine ! Si vous appréciez le contenu de la Craft Letter, parlez-en autour de vous 😉.
<!-- Signature -->
<table role="presentation" cellspacing="0" cellpadding="0" border="0" width="100%">