Add newsletter #16

This commit is contained in:
Pascal Le Merrer 2026-03-24 14:05:35 +01:00
parent 50c920929f
commit 6c4500bfd9
3 changed files with 68 additions and 4 deletions

View file

@ -0,0 +1,63 @@
Title: Lettre n°16 — 23 mars 2026
Date: 2026-03-23 09:00
Category: Newsletter
JsonLD: <script type="application/ld+json"> { "@context": "https://schema.org", "@type": "BlogPosting", "name": "Lettre n°16", "description": "Lettre de veille technologique en développement logiciel", "image": [ "https://www.craftletter.fr/images/craftletter.svg" ], "datePublished": "Mon Mar 23 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">
## Python 3.15 introduit les Imports paresseux
La prochaine version de Python apportera une nouveauté attendue plusieurs années&nbsp;: [le chargement des dépendances au moment où elles sont requises](https://techlife.blog/posts/the-story-of-pythons-lazy-imports-why-it-took-three-years-and-two-attempts/)🇬🇧 pour lexécution, et pas au lancement de lapplication. Cela peut améliorer significativement le temps de démarrage des applications. Pour comprendre à quel point cest important, je vous invite à relire larticle que je mentionnais dans la [Craft Letter n°6](https://www.craftletter.fr/lettre-ndeg6-12-janvier-2026.html)🇫🇷 dans "Les chiffres que devraient connaître les développeurs Python".
## Apprivoiser le ramasse-miette de Python
Le [comportement du ramasse-miettes de Python](https://making.close.com/posts/taming-the-python-gc/)🇬🇧 peut facilement être amélioré, et cela a des conséquences significatives sur les performances.
## Chaos Engineering
Adar Hilsenrat explique les bases du [Chaos Engineering](https://engineering.monday.com/chaos-engineering-practices-to-increase-confidence-and-reliability/)🇬🇧, cette pratique qui consiste à introduire volontairement des incidents sur une plateforme afin de vérifier comment elle se comporte dans ce cas.
## Apprendre le terminal avec WebTerm
[WebTerm](https://www.webterm.app/en/tutorials/beginner)🇬🇧 est un outil dinitiation à lutilisation dun émulateur de terminal. Il en simule un dans un navigateur. Il propose des tutoriels dinitiation aux commandes
## Gram Code Editor
[Gram](https://codeberg.org/GramEditor/gram)🇬🇧 est un fork de [Zed](https://zed.dev/)🇬🇧, un éditeur de code similaire à VSCode, mais réputé pour sa rapidité. Les auteurs du fork le justifient notamment par lincompatibilité des termes de la licence avec certains principes de lopen source. La version de base de Zed est gratuite, mais les fonctionnalités liées au IA génératives requièrent un abonnement.
Les auteurs du fork ont supprimé les fonctionnalités IA, les liens avec les serveurs de lentreprise qui développe Zed, et les restrictions dans les conditions dutilisation. Cest un hard fork, cest-à-dire que Gram nest pas compatible avec Zed.
À linverse, il offre quelques nouvelles fonctionnalités, comme la doc intégrée, le support de base pour Gleam, Zig et Odin, et une complétion inspirée du plugin Supertab de Vim.
Il ny a pas de binaire pour Windows téléchargeable pour linstant, seulement pour Linux et MacOs.
## Helix
Puisque je parle déditeur de code, je vais en profiter pour glisser un mot à propos de celui que jutilise depuis deux ans&nbsp;: [Helix](https://helix-editor.com/)🇬🇧.
Helix est un éditeur qui fonctionne dans le terminal, comme VIM. À limage de ce dernier, il fonctionne selon une logique modale, et repose sur lutilisation des raccourcis claviers —lusage de la souris est optionnel, et limité au déplacement du curseur et à la sélection de texte. Vous pouvez tout à fait vous en passer.
Un appui sur une touche permet de changer de mode&nbsp;: Normal, Selection, Window, GoTo, etc. Dans chacun, un ensemble de raccourcis clavier spécifique est disponible. Il y en a des dizaines, ce qui peut faire peur, mais cest là où Helix se distingue de certains de ses concurrents&nbsp;: pour les modes dit "mineurs", une fenêtre contextuelle indique les raccourcis clavier disponibles. Cela facilite grandement lapprentissage, qui se fait petit à petit.
De plus, il existe pour débuter un tutoriel intégré. Il suffit de lancer Helix avec le flag `--tutor`.
Ce tutoriel suffit pour apprendre les commandes indispensables à un usage minimal dHelix. les fenêtres daide intégrées, et la doc parfois, permettent de poursuivre cet apprentissage à votre rythme. En peu de temps, jai été bien plus à laise quavec VI/Vim, dont javais un usage basique depuis une vingtaine dannées —je ne lutilisais que lorsque jétais connecté à un environnement sur lequel il était le seul éditeur disponible.
Helix supporte [plusieurs dizaines de langages et frameworks](https://github.com/helix-editor/helix/wiki/Language-Server-Configurations)🇬🇧 grâce à leurs LSP et formateurs. Il est rapide, notamment parce quil est codé en Rust. Il nest pas encore extensible, mais il propose de base de nombreuses fonctionnalités qui requièrent des plugins et/ou de la configuration sur NeoVIM. Il est donc bien plus facile à mettre en oeuvre.
Helix a réussi à me faire passer dun éditeur graphique comme éditeur principal à un éditeur basé sur le clavier. Jutilise encore Pycharm pour lédition de code Python, quand jai une machine assez puissante pour cela, car il offre des fonctionnalités de refactoring bien plus puissantes que celles dun LSP. Mais pour tout le reste, mon premier réflexe cest dutiliser Helix.
## Ghostty 1.3 est sorti
[Ghostty](https://ghostty.org/)🇬🇧, cest cest émulateur de terminal créé par Mitchell Hashimoto (Fondateur de Hashicorp). Il est multiplateforme (Linux, MacOs et Windows), et utilise des composants graphiques natifs afin de mieux sintégrer à lOS. Il est écrit en Zig et utilise laccélération graphique matérielle pour procurer des performances optimales.
Et ça marche&nbsp;! Je trouvais iTerm2 lent, aussi je suis passé à Kitty. Cétait mieux, mais lui aussi souffrait de quelques lenteurs, ce que je ne ressens pas sous Ghostty.
De plus, japprécie particulièrement le fait de pouvoir passer chaque session en plein écran, puis sortir de ce mode avec le même raccourci clavier (CMD + SHIFT + Entrée sur Mac).
## JReleaser et GoReleaser
[JReleaser](https://jreleaser.org)🇬🇧 est un outil qui simplifie la distribution dapplications via différents canaux, pour Linux, Windows et MacOS. Il permet de préparer des packages pour Homebrew, Winget, Chocolatey, Scoop, Snapcraft et des images Docker par exemple. Il va générer préparer les fichiers requis, en fournissant des valeurs par défaut, puis les signer, ce qui va éliminer de nombreuses tâches manuelles et éviter de devoir se familiariser en détail avec chacun des outils. Malgré son nom, il nest pas limité à Java. Des exemples sont fournis pour Ballerina, Bun, C++, Crystal, C#, Deno, Elixir, F#, Go, Haskell, Nim, OCaml, Odin, Pascal, Perl, Rust, Swift et Zig.
Il est inspiré de [GoReleaser](https://goreleaser.com/)🇬🇧, dont il a repris la mauvaise idée dinclure le nom de la techno dans le nom du produit. Car les auteurs de GoReleaser sont eux aussi obligés dexpliquer quil ne se limite pas au packaging dapplications Go. GoReleaser supporte en effet Rust, TypeScript, Python et Zig, en plus de Go bien entendu.
## Revenir à Rails en 2026
Mark Dastmalchi Round raconte sa [redécouverte de Ruby On Rails](https://www.markround.com/blog/2026/03/05/returning-to-rails-in-2026/)🇬🇧, plus dune douzaine dannées après sen être éloigné. Il explique ce qui a fait que ce framework a connu un grand succès il y a 20 ans, et pourquoi il est encore utilisé aujourdhui, malgré une perte de popularité importante.
## Packager du TypeScript en 2026
Toujours à propos de packaging, François Best décrit les pratiques pour [packager du TypeScript en 2026](https://www.youtube.com/watch?v=h5TKlpRZPzI)🇫🇷. Qui ne seront sans doute plus valables en 2027 😉.

View file

@ -1,14 +1,14 @@
Title: Accueil Title: Accueil
Date: 2026-03-16 09:00 Date: 2026-03-23 09:00
URL: URL:
save_as: index.html save_as: index.html
Category: Home 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 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/" } } 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 23 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"> <img class="logo" alt="Logo Craft Letter" src="{static}/images/craftletter.svg">
# La [lettre n°15]({filename}/newsletter/craft-letter-15.md) est parue ! # La [lettre n°16]({filename}/newsletter/craft-letter-16.md) est parue !
La Craft Letter est une newsletter hebdomadaire dans laquelle je partage des articles 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... 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 # Archives
* [Lettre n°16]({filename}/newsletter/craft-letter-16.md)
* [Lettre n°15]({filename}/newsletter/craft-letter-15.md) * [Lettre n°15]({filename}/newsletter/craft-letter-15.md)
* [Lettre n°14]({filename}/newsletter/craft-letter-14.md) * [Lettre n°14]({filename}/newsletter/craft-letter-14.md)
* [Lettre n°13]({filename}/newsletter/craft-letter-13.md) * [Lettre n°13]({filename}/newsletter/craft-letter-13.md)

View file

@ -74,7 +74,7 @@
<tbody style="font-size: 13px; line-height: 1.5; color: #666666; padding: 0"> <tbody style="font-size: 13px; line-height: 1.5; color: #666666; padding: 0">
<tr> <tr>
<td align="center" style="padding: 20px 40px;"> <td align="center" style="padding: 20px 40px;">
<a href="https://www.craftletter.fr">Craft Letter</a> © 2025 - {{YEAR}} par <a href="https://www.linkedin.com/in/pascal-le-merrer/">Pascal Le Merrer</a><br>est sous licence <a href="https://creativecommons.org/licenses/by-nc-nd/4.0/">CC BY-NC-ND 4.0</a></p><div><img alt="" src="https://mirrors.creativecommons.org/presskit/icons/cc.svg" style="max-width:1em;max-height:1em;margin-left:.2em"><img alt="" src="https://mirrors.creativecommons.org/presskit/icons/by.svg" style="max-width:1em;max-height:1em;margin-left:.2em"><img alt="" src="https://mirrors.creativecommons.org/presskit/icons/nc.svg" style="max-width:1em;max-height:1em;margin-left:.2em"><img alt="" src="https://mirrors.creativecommons.org/presskit/icons/nd.svg" style="max-width:1em;max-height:1em;margin-left:.2em"> <a href="https://www.craftletter.fr">Craft Letter</a> © 2025 {{YEAR}} par <a href="https://www.linkedin.com/in/pascal-le-merrer/">Pascal Le Merrer</a><br>est sous licence <a href="https://creativecommons.org/licenses/by-nc-nd/4.0/">CC BY-NC-ND 4.0</a></p><div><img alt="" src="https://mirrors.creativecommons.org/presskit/icons/cc.svg" style="max-width:1em;max-height:1em;margin-left:.2em"><img alt="" src="https://mirrors.creativecommons.org/presskit/icons/by.svg" style="max-width:1em;max-height:1em;margin-left:.2em"><img alt="" src="https://mirrors.creativecommons.org/presskit/icons/nc.svg" style="max-width:1em;max-height:1em;margin-left:.2em"><img alt="" src="https://mirrors.creativecommons.org/presskit/icons/nd.svg" style="max-width:1em;max-height:1em;margin-left:.2em">
</td> </td>
</tr> </tr>
<tr> <tr>