Add newsletter #7

This commit is contained in:
Pascal Le Merrer 2026-01-16 17:19:41 +01:00
parent d04d523bdf
commit 36ea0dd3f7
2 changed files with 73 additions and 2 deletions

View file

@ -0,0 +1,70 @@
Title: Lettre n°7 - 19 janvier 2026
Date: 2026-01-19 09:00
Category: Newsletter
JsonLD: <script type="application/ld+json"> { "@context": "https://schema.org", "@type": "BlogPosting", "name": "Lettre n°7", "description": "Lettre de veille technologique en développement logiciel", "image": [ "https://www.craftletter.fr/images/craftletter.svg" ], "datePublished": "Mon Jan 19 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">
# Lettre N°7
Voici quelques articles qui mont marqué ces derniers jours.
Bonne lecture !
---
## DataStar
Vous avez probablement déjà entendu parler de [HTMX](https://htmx.org/). Cest un framework JS léger, qui vise à fournir une expérience proche de celle des Single Page Applications, mais en écrivant pas ou peu de JavaScript. Les interactions avec lapplication déclenchent lenvoi de fragments HTML par le serveur, de façon à mettre à jour la page. Il ny a pas déchange de JSON comme avec React, Vue, Angular, Elm ou équivalent. Létat de lapplication, et sa logique, sont gérés côté serveur, dans un langage au choix (Java, PHP, Go…)
[DataStar](https://data-star.dev/) a le même objectif, mais corrige les défauts de HTMX. En effet, ce dernier montre ses limites quand les fonctionnalités des applications senrichissent. Il faut ajouter du JavaScript, et la complexité du code HTMX augmente significativement. DataStar résout ces problèmes : le code back-end seul suffit à la réalisation dapplications riches. De plus, en se basant sur les SSE (Server Side Events), il simplifie le développement dapplications collaboratives. Cerise sur le gâteau, il cumule légèreté et performances, ce qui est parfait pour une démarche déco-conception et résulte en une bonne expérience utilisateur.
## Les frameworks Python en production
Dans [ce podcast](https://talkpython.fm/episodes/show/533/web-frameworks-in-prod-by-their-creators), les créateurs de framerworks Python (Flask, Django, FastAPI, Litestat et Quart) partagent leurs recommandations en terme de stack, de performances, dasynchronisme, . dauto-hébergement… Une synthèse écrite est disponible.
Quelques points en particulier ont retenu mon attention :
* [uvloop](https://github.com/MagicStack/uvloop) fournit une boucle dévénements deux fois plus rapide que celle dasyncio ;
* [orjson](https://github.com/ijl/orjson) est plus rapide que le module JSON de la bibliothèque standard de Python, tout en assurant la sérialisation de types non supportés par ce dernier ;
* un unique appel de fonction bloquant suffit à bloquer lintégralité dune application pendant son exécution. En pratique, il ne faut déclarer comme asynchrone que les fonctions dont nous sommes certains quelles ne comportent que des appels non-bloquants.
Les participants mentionnent aussi leur intérêt pour certaines technos dont je vous ai parlé récemment : HTMX, DataStar et [Sqlite](https://www.craftletter.fr/lettre-ndeg2-15-decembre-2025.html).
## SoCraTes Rennes
*Pour être transparent, je me dois de préciser que je suis organisateur de cet évènement.*
La sixième édition de [SoCraTes Rennes](https://socrates-rennes.github.io/) aura lieu le 31 mars 2026. Il sagit de la déclinaison, sur une journée, des non-conférences SoCraTes telles que [SoCraTes France](https://socrates-fr.github.io/). SoCraTes signifie "SOftware Craft and Testing". Le néologisme "non-conférence" retranscrit le fait que ce nest pas léquipe dorganisation qui définit le programme. Ce sont les participant·e·s qui ont la possibilité de proposer des sujets, sur place. Ce que jaime dans ce type dévènement cest la richesse des échanges, bien supérieure à celle des conférences traditionnelles.
Si vous souhaitez donner de la visibilité à votre entreprise, il est encore possible de [sponsoriser cette journée](https://socrates-rennes.frama.space/s/oGgqEkSADLBYaX8). Parlez-en à votre employeur 😉
## Comment fonctionne un terminal ?
Si vous voulez savoir comment fonctionne un terminal, voici [la réponse](https://how-terminals-work.vercel.app/), sous forme interactive.
## Se lancer dans lopen source
[Contrib.FYI](https://k-dash.github.io/contrib-fyi/) liste des tâches à réaliser sur des projets open-source Ces tâches sont adaptées à une première contribution. Elles sont affichées par ordre chronologique, dans le but de faciliter des découvertes par sérendipité.
## Lefficacité du pair-programming
Thierry De Pauw [débunke un post critique à légard du pair-programming](https://thinkinglabs.io/articles/2026/01/13/on-the-effectiveness-of-pair-programming.html). Il explique pourquoi, contrairement à une croyance répandue, il coûte moins cher de travailler à deux plutôt que seul sur les sujets exploratoires. Il évoque aussi des avantages comme la diffusion de la connaissance et limpact positif sur le moral de léquipe. Il conclut en mentionnant que le Software Teaming (aussi appelé Mob Programming ou Ensemble Programming) est encore plus efficace que le Pair Programming.
Ce sujet me parle, puisque jai donné [une conférence](https://devconf.net/talk/pair-programming-et-si-on-gagnait-du-temps-pascal-le-merrer) qui développait des arguments similaires.
## Combien y a-t-il de moteurs JavaScript ?
Le nombre de [moteurs qui permettent dexécuter du code JavaScript](https://zoo.js.org/) est étonnant.
## Stratégie européenne pour un écosystème numérique ouvert
La Commission Européenne commence enfin à prendre conscience de limportance de lOpen Source, et de notre dépendance excessive aux solutions États-Uniennes. Si ces sujets vous préoccupent, vous pouvez [donner votre avis](https://ec.europa.eu/info/law/better-regulation/have-your-say/initiatives/16213-Ecosystemes-numeriques-ouverts-europeens_fr), en espérant quil sera pris en compte dans de futures lois.
## Docker veut simplifier les déploiements en production
Docker Compose est adapté au développement dapplications, pas à leur déploiement en production. Ce dernier passe souvent par des outils complexes, tels que Helm ou Kustomize, configurés à grand renfort de fichiers YAML.
Docker a lancé [un nouvel outil nommé Kanvas](https://www.infoq.com/news/2026/01/docker-kanvas-cloud-deployment/), qui utilise la syntaxe familière de Docker Compose, et revendique une plus grande simplicité que ses concurrents. Il génère aussi une représentation graphique détaillée de larchitecture, qui peut savérer utile aussi bien pour communiquer que pour débugger.
----
Cest tout pour cette semaine !

View file

@ -1,9 +1,9 @@
Title: Accueil Title: Accueil
Date: 2026-01-12 09:00 Date: 2026-01-19 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 Jan 12 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 Jan 19 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">
@ -34,6 +34,7 @@ Pour savoir qui je suis, ou pourquoi j'écris cette lettre, je vous invite à vo
# Archives # Archives
* [Lettre n°7]({filename}/newsletter/craft-letter-7.md)
* [Lettre n°6]({filename}/newsletter/craft-letter-6.md) * [Lettre n°6]({filename}/newsletter/craft-letter-6.md)
* [Lettre n°5]({filename}/newsletter/craft-letter-5.md) * [Lettre n°5]({filename}/newsletter/craft-letter-5.md)
* [Lettre n°4]({filename}/newsletter/craft-letter-4.md) * [Lettre n°4]({filename}/newsletter/craft-letter-4.md)