Add newsletter #19

This commit is contained in:
Pascal Le Merrer 2026-03-29 11:44:06 +02:00
parent a0c83a7d21
commit 5c95f1a08b
2 changed files with 80 additions and 3 deletions

View file

@ -0,0 +1,76 @@
Title: Lettre n°19 — 13 avril 2026
Date: 2026-04-13 09:00
Category: Newsletter
JsonLD: <script type="application/ld+json"> { "@context": "https://schema.org", "@type": "BlogPosting", "name": "Lettre n°19", "description": "Lettre de veille technologique en développement logiciel", "image": [ "https://www.craftletter.fr/images/craftletter.svg" ], "datePublished": "Mon Apr 13 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">
## Maestro
[Maestro](https://github.com/mobile-dev-inc/Maestro)🇬🇧 est un framework de tests E2E, pour les navigateurs et applications mobiles.
Il est open source, contrairement à lIDE visuel associé, qui peut servir à lécriture et lexécution des tests.
La description des tests se fait en YAML. Maestro attend la disponibilité des éléments dinterface utilisateur sans quon lui demande explicitement, et relance automatiquement les tests qui échouent.
Comme souvent avec ce genre doutil, une offre cloud payante est proposée.
## Passer de 40 à 4 minutes pour lexécution des tests
Ariel Juodziukynas explique comme son équipe a [divisé par 10 le temps dexécution dune suite de 10 000 tests](https://www.fastruby.io/blog/speed-up-tests-from-40-to-4-minutes.html)🇬🇧. Même sil parle de Ruby, la démarche générale serait valide avec un autre langage.
Ariel liste les impacts positifs de ces changements sur lexpérience développeur, ainsi que la réduction des coûts qui en a découlé. Il aurait pu mentionner limpact environnemental de ces améliorations.
La première étape a été la mise à jour de la version de Ruby&nbsp;; elle a été suivie par le changement du test runner. Ces points ont déjà apporté des améliorations pour un effort minime.
Ensuite, beaucoup de factories ont été remplacées par des fixtures, qui ont lavantage dêtre réutilisables dun test à lautre bien quelles comportent quelques limitations.
Létape suivante a consisté à identifier puis corriger les tests les plus lents.
Cest alors quils ont effectué le changement le plus compliqué&nbsp;: paralléliser lexécution des tests. Un prérequis à cela est de sassurer que les tests peuvent être exécutés dans un ordre aléatoire. Cest seulement si cette condition est remplie que lon peut activer la parallélisation, qui doit être gérée par le test runner.
Il leur a fallu alors gérer des problèmes daccès concurrents à des ressources, comme deux tests qui veulent modifier simultanément un même fichier. Cette étape a été la plus compliquée.
## Devenir un pro de Vim
[VIM_GYM](https://www.vimgym.app/)🇬🇧 est un jeu en ligne pour apprendre les raccourcis clavier de Vim. Il propose des challenges (modifier un extrait de code) à accomplir le plus rapidement possible, en solo ou contre des adversaires.
## Apache Superset
[Apache Superset](https://superset.apache.org)🇬🇧 est une plateforme de visualisation et dexploration de données. Il comporte un éditeur visuel pour créer des dashboards, alimentés par une base de données. Il fournit des drivers pour 80 sources de données différentes, mais les fonctionnalités supportées varient.
*Le bouton getting started dans la page daccueil est cassé, mais celui du haut fonctionne.*
Cet outil me rappelle [Metabase](https://www.metabase.com/)🇬🇧.
Un moyen de gagner du temps sur un projet est de rendre autonomes les équipes qui utilisent ces dashboards au quotidien. Elles peuvent créer leurs propres requêtes pour afficher les métriques qui les intéressent, sans passer par léquipe de développement, qui est soulagée de cette charge. Mais cela va introduire de la rigidité&nbsp;: les développeurs ne pourront plus faire évoluer le modèle de données sans impacter les requêtes écrites par les autres équipes. Si ce problème nest pas géré, la structure de la base de données peut devenir incohérente avec celles des données quelle stocke. Exemple vécu&nbsp;: pas moyen dajouter un état pour dire quun paiement est annulé, et le distinguer dun paiement qui a échoué.
## Les fonctionnalités de Sqlite dont vous ignorez (peut-être) lexistence
[Sqlite supporte des fonctionnalités](https://slicker.me/sqlite/features.htm)🇬🇧 comme le JSON, les colonnes générées, la recherche full-text, le typage strict, les logs Write Ahead (qui améliorent la concurrence et les performances), les expressions de table communes (CTE) et les fonctions de fenêtrage (window functions).
[Les CTE](https://learnsql.fr/blog/sql-ctes-une-vue-d-ensemble-complete-des-expressions-de-table-communes/)🇫🇷 sont une fonctionnalité récente de SQL, qui permet de décomposer les requêtes complexes sans stocker de données intermédiaires dans la base. Elles sont plus faciles à lire et interpréter que les sous-requêtes.
[Les fonctions de fenêtrage](https://learnsql.fr/blog/que-sont-les-fonctions-sql-window/)🇫🇷 sont des fonctions qui effectuent des calculs sur lensemble des lignes liées à la ligne courante.
## Utiliser PostgreSQL pour tout
Je vous parle régulièrement de PostgreSQL, car cette base open source est devenue au fil des ans la base relationnelle de référence. Cest, de mon point de vue, le choix par défaut à faire, à moins que votre projet ait un besoin spécifique, qui ne serait pas couvert par PostgreSQL.
Stephan Schmidt va plus loin que moi, puisquil propose d[utiliser PostgreSQL dans une vingtaine de cas](https://www.amazingcto.com/postgres-for-everything)🇬🇧 pour lesquels, habituellement, on utilise un autre service, tel que Redis, MongoDB, Kafka, Elastic Search, des webhooks, des cron jobs, etc. La plupart du temps, il suggère dutiliser une extension à la place.
## Common Expression Language
Le [Common Expression Language (CEL)](https://cel.dev/?hl=en)🇬🇧 est un langage simple pour décrire des règles ou des configurations, qui peuvent être appliquées, par exemple, à chaque appel dun endpoint dAPI, pour vérifier les droits de lutilisateur.
Cest un langage open source créé par Google. Il en existe des implémentations pour Java, C++, Go, Python, C#, Rust et Kotlin (je ne suis pas certain que cette liste soit exhaustive). Google met en avant la rapidité dexécution de CEL, et son système de types, basé sur celui de Protocol Buffer.
## Comment je suis devenu manager malgré moi
Axel raconte [comment il est passé du rôle de développeur à celui de manager](https://codeheroes.fr/blog/devenu-manager-malgre-moi/)🇫🇷, tout en continuant à coder. Il explique quelles pratiques il a adoptées initialement, et pourquoi elles nont pas été suffisantes pour redresser une situation dégradée par un environnement toxique. Il décrit ensuite comment il a pu restaurer la confiance de léquipe envers lentreprise, confiance dont la perte était le vrai problème.
Si vous nêtes pas manager, ou nenvisagez pas de le devenir, ce retour dexpérience peut vous être utile pour identifier ce que votre manager pourrait faire de mieux. Dautant plus que Axel mentionne, humblement, les erreurs quil a commises.
## TechWork
Le 18 juin 2026 aura lieu la conférence [TechWork](https://techwork.events/)🇫🇷, à Lyon. Ses centres dintérêts sont la Data, le Craft, le Cloud, lAgilité et le Networking. La billetterie est ouverte et la quasi-totalité du programme est déjà annoncée.
## Nantes Craft 2026
[Nantes Craft](https://www.nantes-craft.fr/)🇫🇷 sera de retour pour une seconde édition les 10 et 11 septembre prochains. La première, à laquelle jai participé, était très réussie, que ce soit au niveau du programme ou de lorganisation. Je vous recommande donc cet événement&nbsp;! Le CFP est ouvert.

View file

@ -1,14 +1,14 @@
Title: Accueil
Date: 2026-04-06 09:00
Date: 2026-04-13 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 Apr 06 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 Apr 13 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°18]({filename}/newsletter/craft-letter-18.md) est parue !
# La [lettre n°19]({filename}/newsletter/craft-letter-19.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°19]({filename}/newsletter/craft-letter-19.md)
* [Lettre n°18]({filename}/newsletter/craft-letter-18.md)
* [Lettre n°17]({filename}/newsletter/craft-letter-17.md)
* [Lettre n°16]({filename}/newsletter/craft-letter-16.md)