Add newsletter #3

This commit is contained in:
Pascal Le Merrer 2025-12-24 09:35:11 +01:00
parent 575c76d7e7
commit 241e4fb91b
4 changed files with 200 additions and 2 deletions

View file

@ -0,0 +1,97 @@
Title: Lettre n°3 - 22 Décembre 2025
Date: 2025-12-22 08:20
Category: Newsletter
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "BlogPosting",
"name": "Lettre n°3 - 22 Decembre 2025",
"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/"
}
}
</script>
<img class="logo" alt="Logo Craft Letter" src="{static}/images/craftletter.svg">
## Édito
Cette semaine nous allons parler de Kotlin, de tests, de Rust dans le noyau Linux, de chargement rapide de CSS, de sécurisation des déploiements, d'utilisation de Python pour le scripting, de SEO et de GraphQL... Et ce n'est pas tout !
A propos de Kotlin, je suis surpris que [ce langage ne soit pas utilisé](https://www.zdnet.fr/actualites/le-grand-classement-2025-des-langages-de-programmation-les-plus-populaires-et-ce-que-cela-signifie-412068.htm) plus souvent à la place de Java côté back-end, tellement il a de qualités par rapport à son aîné —comme la concision, une meilleure lisibilité, ou la gestion des valeurs nulles—, tout en restant compatible et mixable avec Java. Faut-il y voir du conservatisme de la part des développeurs Java ou de leur encadrement ? Une croyance erronée qu'il s'agit d'un langage réservé au développement mobile ? Ou une réticence liée à la propension de JetBrains à y ajouter des fonctionnalités, donc de la complexité, au fil des ans ? Cela me laisse perplexe... N'hésitez pas à me contacter si vous avez une réponse à cette question.
Voici les articles qui m'ont marqué ces derniers jours, j'espère qu'ils vous intéresseront aussi.
Bonne lecture !
## Bonnes pratiques en Kotlin
José Luis González décrit des [pratiques en Kotlin](https://blog.jetbrains.com/kotlin/2025/12/how-backend-development-teams-use-kotlin-in-2025/) 🇬🇧 : patterns, anti-patterns, et comment chercher le coupable d'une consommation mémoire excessive.
## Votez pour vos fonctionnalités préférées
[Votez 🇫🇷](https://web.dev/blog/upvote-features?hl=fr) pour les fonctionnalités que vous aimeriez voir arriver prochainement dans votre navigateur. Ces votes alimenteront les réflexions du [Web Developer Experience (WebDX) Community Group](https://www.w3.org/community/webdx/) 🇬🇧, un groupe de travail au sein du W3C.
## Améliorez la sécurité de vos déploiements avec Trivy
Stéphane Robert, qui publie un [parcours gratuit d'initiation DevSecOps](https://blog.stephane-robert.info/docs/) 🇫🇷, nous explique [ce qu'est Trivy, et comment l'utiliser](https://blog.stephane-robert.info/docs/securiser/outils/trivy/) 🇫🇷 pour détecter des problèmes de configuration dans l'Infra As Code, les secrets exposés, les dépendances vulnérables dans les images Docker, etc.
## Qu'est-ce qu'un bon test ?
Emilie bache a synthétisé les réponses d'un sondage qu'elle a organisé, dans lequel elle demandait quelles sont [les propriétés désirables d'un test](https://coding-is-like-cooking.info/2025/12/test-desiderata-2-0/) 🇬🇧 automatisé.
## Les tests générés ne valent pas les tests écrits par des humains
Après avoir analysé 1.7 Millions de cas de tests dans des projets open-source, un groupe de chercheurs est arrivé à la conclusion que [les tests écrits par des humains présentent des caractéristiques que l'on ne retrouve pas dans les tests générés automatiquement](https://arxiv.org/abs/2509.26204) 🇬🇧. Ils font cette observation sur plusieurs techniques de génération de tests automatisés, pas seulement les plus récentes comme les LLM. Autrement dit, aucun outil de génération de test n'arrive au niveau des développeurs à ce jour.
## Rust n'est plus une expérimentation dans le noyau Linux
[Rust quitte son statut d'expérimentation](https://thenewstack.io/rust-goes-mainstream-in-the-linux-kernel/) 🇬🇧 et sera de plus en plus utilisé dans le noyau Linux, même si ce n'est que sur une partie infime, face aux millions de lignes de code C existantes —qu'il n'est pas question de réécrire à ce jour. En particulier, des mainteneurs du noyau espèrent que de nouveaux drivers se baseront sur Rust, afin de réduire les failles de sécurités potentielles.
## Améliorer le référencement d'un site Web avec JSON-LD
[JSON for Linked Data](https://json-ld.org/) est un format de données qui permet notamment de décrire le contenu d'une page Web afin d'améliorer son référencement par les moteurs de recherche. Ce format qui date de 2008 est devenu un standard W3C en 2014. [Ce tutoriel](https://laconsole.dev/blog/booster-seo-jsonld) 🇫🇷 vous initiera à sa mise en oeuvre, qui est plutôt simple.
## Rendre explicite la politique d'un site web vis-à-vis des crawlers d'IA
Depuis l'avènement des IA génératives, de nombreux sites Web subissent un pillage systématique de leur contenu, sans aucune contrepartie. [RSL (Really Simple Licence)](https://rslstandard.org/guide/what-is-rsl) 🇬🇧 est une tentative de rééquilibrage de la balance, portée notamment par Cloudflare et Akamai, deux fournisseurs de CDN. Il s'agit d'un mécanisme inspiré de celui des flux RSS, qui permet à chaque site d'exposer une licence d'utilisation décrivant ce qui est permis —ou pas— en matière d'entrainement d'IA, avec le contenu du site. La [mise en en oeuvre de RSL](https://rslstandard.org/guide/getting-started) 🇬🇧 est simple : il suffit de déployer un court fichier XML et de le référencer dans *robot.txt*.
Il est probablement trop tôt pour juger de l'efficacité de ce nouveau mécanisme.
## Comment charger des CSS rapidement ?
[Yoav Weiss](https://blog.yoav.ws/about/) explique que l'utilisation d'une technique classique de compression, [les dictionnaires](https://developer.mozilla.org/en-US/docs/Web/HTTP/Guides/Compression_dictionary_transport) 🇬🇧, peut [réduire drastiquement la taille des fichiers CSS](https://calendar.perfplanet.com/2025/how-to-load-css-fast/) 🇬🇧 lors de leur transport. Mais cette technologie expérimentale n'est supportée pour l'instant que par les navigateurs basés sur Chromium.
L'idée n'est pas mauvaise, mais il existe une autre technique plus efficace, et déjà disponible pour tous les navigateurs : plutôt que d'utiliser des frameworks CSS lourds, vous pouvez écrire vos propres feuilles de style, avec le strict nécessaire pour votre site ou application. Car en plus du transport, il y le coût de la décompression et celui du parsing par le navigateur, qui [vont impacter les performances](https://dev.to/leapcell/does-css-block-parsing-and-rendering-a-detailed-analysis-1hhe) **🇬🇧.**
## Écrivez des scripts en Python, pas en bash
[Jean Niklas Lorange](https://hypirion.com/about-me) explique que les scripts Bash sont plus difficiles à lire que le code Python ; de plus, ils ne sont pas toujours portables, alors que Python est présent, d'après lui, sur la machine de la plupart des développeurs, et que la plupart d'entre eux ont écrit du Python. C'est pourquoi [il conseille d'utiliser ce langage](https://hypirion.com/musings/use-python-for-scripting) 🇬🇧 dès que les scripts atteignent une certaine taille ou ne sont pas triviaux à comprendre.
## Comment augmenter vos chances lors d'un CFP ?
Sarah Verdier fournit une série de recommandations afin d'[améliorer vos chances de voir votre proposition retenue pour une conférence](https://blog.humancoders.com/conferences-10-conseils-pour-etre-selectionne%C2%B7e-a-un-cfp-3993/) 🇫🇷. Je contribue à la sélection des sessions pour le [Breizhcamp](https://www.breizhcamp.org/) 🇫🇷, dont le CFP est sur le point d'ouvrir, et je ne peux que confirmer la pertinence des conseils de cet article. Le Breizhcamp 2026 aura lieu du 24 au 26 juin**.**
## GraphQL : la lune de miel est finie
[John James](https://johnjames.blog/) explique pourquoi, après avoir utilisé cette technologie pendant plusieurs années, [sa lune de miel avec GraphQL est terminée](https://johnjames.blog/posts/graphql-the-enterprise-honeymoon-is-over) 🇬🇧, et pourquoi il pense c'est une technologie que l'on devrait réserver à de rares contextes. Selon lui, les coûts sont souvent supérieurs aux bénéfices, aussi il recommande de s'en tenir à REST dans la plupart des cas.
## Snowcamp : la conférence qui envoie de la noix
La 10ᵉ édition du [Snowcamp](https://snowcamp.io/snowcamp/) 🇫🇷 aura lieu du 14 au 17 janvier prochain. A l'heure où j'écris ces lignes, il est encore possible de [prendre un billet](https://snowcamp.io/tickets/). Snowcamp est un événement original qui combine une journée d'ateliers, deux jours de conférences et une journée sur les pistes de ski.
---
Et voilà, c'est tout pour cette semaine !

View file

@ -51,5 +51,6 @@ Pour savoir qui je suis, ou pourquoi j'écris cette lettre, je vous invite à vo
# Archives # Archives
* [Lettre n°3]({filename}/newsletter/craft-letter-3.md)
* [Lettre n°2]({filename}/newsletter/craft-letter-2.md) * [Lettre n°2]({filename}/newsletter/craft-letter-2.md)
* [Lettre n°1]({filename}/newsletter/craft-letter-1.md) * [Lettre n°1]({filename}/newsletter/craft-letter-1.md)

View file

@ -1,6 +1,6 @@
AUTHOR = 'Pascal Le Merrer' AUTHOR = 'Pascal Le Merrer'
SITENAME = 'Craft Letter' SITENAME = 'Craft Letter'
SITEURL = "" #https://www.craftletter.fr" SITEURL = "https://www.craftletter.fr"
SITEDESCRIPTION = "Newsletter hebdomadaire de veille technologique, consacrée au développement logiciel." SITEDESCRIPTION = "Newsletter hebdomadaire de veille technologique, consacrée au développement logiciel."
PATH = "content" PATH = "content"

View file

@ -13,6 +13,106 @@
<section> <section>
<article>
<div class="article-header">
<h2>lettre-ndeg3-22-decembre-2025.html</h2>
<span>2025-12-22 08:20</span>
</div>
<h3>Page title analysis</h3>
<table>
<tr>
<th class="green">Good</th>
<td>You have declared a title. Nice job!</td>
</tr>
<tr>
<th class="orange">To improve</th>
<td>Your title is too short. The recommended length is 70 characters.</td>
</tr>
</table>
<h3>Page description analysis</h3>
<table>
<tr>
<th class="red">Problems</th>
<td>You need to declare a description to improve SEO.</td>
</tr>
</table>
<h3>Content title analysis</h3>
<table>
<tr>
<th class="red">Problems</th>
<td>You're missing a content title.</td>
</tr>
</table>
<h3>Internal link analysis</h3>
<table>
<tr>
<th class="red">Problems</th>
<td>It's better to include internal links.</td>
</tr>
</table>
</article>
<article> <article>
<div class="article-header"> <div class="article-header">
@ -298,7 +398,7 @@
<tr> <tr>
<th class="green">Good</th> <th class="green">Good</th>
<td>You've included 3 internal links. Nice job!</td> <td>You've included 4 internal links. Nice job!</td>
</tr> </tr>