<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" xml:lang="fr"><generator uri="https://jekyllrb.com/" version="3.10.0">Jekyll</generator><link href="https://www.marcwrobel.fr/feed.xml" rel="self" type="application/atom+xml" /><link href="https://www.marcwrobel.fr/" rel="alternate" type="text/html" hreflang="fr" /><updated>2026-02-10T19:27:16+01:00</updated><id>https://www.marcwrobel.fr/feed.xml</id><title type="html">Marc Wrobel</title><subtitle>Un bloc-note personnel qui me permet de consigner et partager mes trucs et astuces, pratiques et découvertes liés à mon métier de développeur.</subtitle><author><name>Marc Wrobel</name><email>marc.wrobel@gmail.com</email></author><entry><title type="html">Sortie de jbanking 4.3.0</title><link href="https://www.marcwrobel.fr/sortie-de-jbanking-4-3-0" rel="alternate" type="text/html" title="Sortie de jbanking 4.3.0" /><published>2025-11-10T00:00:00+01:00</published><updated>2025-11-10T00:00:00+01:00</updated><id>https://www.marcwrobel.fr/sortie-de-jbanking-4-3-0</id><content type="html" xml:base="https://www.marcwrobel.fr/sortie-de-jbanking-4-3-0"><![CDATA[<p>La version 4.3.0 de <a href="https://github.com/marcwrobel/jbanking">jbanking</a> est sortie. Les modifications
suivantes sont incluses dans cette version :</p>

<ul>
  <li>Support des caractères numeriques dans les <em>institution codes</em> des codes <abbr title="Bank Identifier Code">BIC</abbr>,
conformément à la norme <a href="https://cdn.standards.iteh.ai/samples/84108/21078408ed25469391d0cf6c5d1b6ca9/ISO-9362-2022.pdf"><abbr title="International Organization for Standardization">ISO</abbr> 9362:2022</a>,</li>
  <li>Modification de <code class="language-plaintext highlighter-rouge">IsoCurrency</code> suite aux amendements numéro 175 / 177 /178 / 179 de la norme <abbr title="International Organization for Standardization">ISO</abbr> 4217 :
    <ul>
      <li>Support des devises <a href="https://fr.wikipedia.org/wiki/Dinar_arabe">XAD (Dinar comptable arabe)</a>
et <a href="https://fr.wikipedia.org/wiki/Or_du_Zimbabwe">ZWG (or du Zimbabwe)</a>,</li>
      <li>Dépreciation des devises <a href="https://fr.wikipedia.org/wiki/Peso_cubain_convertible">CUC (peso cubain convertible)</a>,
<a href="https://fr.wikipedia.org/wiki/Dollar_du_Zimbabwe">ZWL (Dollar du Zimbabwe)</a> et
<a href="https://fr.wikipedia.org/wiki/Leone_(monnaie)">SLL (leone)</a>.</li>
    </ul>
  </li>
</ul>

<p>Pour utiliser cette nouvelle version rien de plus simple : téléchargez-la
depuis <a href="https://central.sonatype.com/artifact/fr.marcwrobel/jbanking/4.3.0">Maven Central</a> ou,
plus simplement, déclarez une nouvelle dépendance dans votre POM de la manière suivante :</p>

<div class="language-xml highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt">&lt;dependency&gt;</span>
  <span class="nt">&lt;groupId&gt;</span>fr.marcwrobel<span class="nt">&lt;/groupId&gt;</span>
  <span class="nt">&lt;artifactId&gt;</span>jbanking<span class="nt">&lt;/artifactId&gt;</span>
  <span class="nt">&lt;version&gt;</span>4.3.0<span class="nt">&lt;/version&gt;</span>
<span class="nt">&lt;/dependency&gt;</span>
</code></pre></div></div>

<p>Et si vous avez des questions, <a href="https://github.com/marcwrobel/jbanking/discussions/507">rendez-vous sur GitHub</a> !</p>

<!-- prettier-ignore-start -->
<!-- prettier-ignore-end -->]]></content><author><name>Marc Wrobel</name><email>marc.wrobel@gmail.com</email></author><category term="développement" /><summary type="html"><![CDATA[Support de ISO 9362:2022, ajout des devises XAD et ZWG.]]></summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://www.marcwrobel.fr/assets/img/default-twitter-card.png" /><media:content medium="image" url="https://www.marcwrobel.fr/assets/img/default-twitter-card.png" xmlns:media="http://search.yahoo.com/mrss/" /></entry><entry><title type="html">Sortie de jbanking 4.2.0</title><link href="https://www.marcwrobel.fr/sortie-de-jbanking-4-2-0" rel="alternate" type="text/html" title="Sortie de jbanking 4.2.0" /><published>2023-11-13T00:00:00+01:00</published><updated>2023-11-13T00:00:00+01:00</updated><id>https://www.marcwrobel.fr/sortie-de-jbanking-4-2-0</id><content type="html" xml:base="https://www.marcwrobel.fr/sortie-de-jbanking-4-2-0"><![CDATA[<p>La version 4.2.0 de <a href="https://github.com/marcwrobel/jbanking">jbanking</a> est sortie. Les modifications
suivantes sont incluses dans cette version :</p>

<ul>
  <li>Support officiel de Java 21.</li>
  <li>Ajout de la possibilité de générer aléatoirement des BIC.</li>
  <li>Amélioration de la génération aléatoire d’IBAN.</li>
</ul>

<p>Pour utiliser cette nouvelle version rien de plus simple : téléchargez-la
depuis <a href="https://central.sonatype.com/artifact/fr.marcwrobel/jbanking/4.2.0">Maven Central</a> ou,
plus simplement, déclarez une nouvelle dépendance dans votre <abbr title="Project Object Model">POM</abbr> de la manière suivante :</p>

<div class="language-xml highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt">&lt;dependency&gt;</span>
  <span class="nt">&lt;groupId&gt;</span>fr.marcwrobel<span class="nt">&lt;/groupId&gt;</span>
  <span class="nt">&lt;artifactId&gt;</span>jbanking<span class="nt">&lt;/artifactId&gt;</span>
  <span class="nt">&lt;version&gt;</span>4.2.0<span class="nt">&lt;/version&gt;</span>
<span class="nt">&lt;/dependency&gt;</span>
</code></pre></div></div>

<p>Et si vous avez des questions, <a href="https://github.com/marcwrobel/jbanking/discussions/372">rendez-vous sur GitHub</a> !</p>

<!-- prettier-ignore-start -->
<!-- prettier-ignore-end -->]]></content><author><name>Marc Wrobel</name><email>marc.wrobel@gmail.com</email></author><category term="développement" /><summary type="html"><![CDATA[Support de Java 21, génération aléatoire de BIC et amélioration de la génération aléatoire d'IBAN.]]></summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://www.marcwrobel.fr/assets/img/default-twitter-card.png" /><media:content medium="image" url="https://www.marcwrobel.fr/assets/img/default-twitter-card.png" xmlns:media="http://search.yahoo.com/mrss/" /></entry><entry><title type="html">Liens en vrac — Avril 2023</title><link href="https://www.marcwrobel.fr/liens-en-vrac-avril-2023" rel="alternate" type="text/html" title="Liens en vrac — Avril 2023" /><published>2023-05-14T00:00:00+02:00</published><updated>2023-05-14T00:00:00+02:00</updated><id>https://www.marcwrobel.fr/liens-en-vrac-avril-2023</id><content type="html" xml:base="https://www.marcwrobel.fr/liens-en-vrac-avril-2023"><![CDATA[<p>Nouvelles, articles, podcasts, vidéos et découvertes intéressantes du mois de mars 2023.</p>

<h2 id="nouvelles">Nouvelles</h2>

<ul>
  <li><a href="https://www.infoworld.com/article/3689880/jdk-21-the-new-features-in-java-21.html">JDK 21: The new features in Java 21</a>
— Virtual Threads, Record Patterns, String Templates, Sequenced collections… : cette prochaine
version <abbr title="Long Term Support">LTS</abbr> de Java va être sympa !</li>
  <li><a href="https://quarkus.io/blog/quarkus-3-0-final-released/">Quarkus 3.0, our new major release, is here!</a>
— après Spring Boot, c’est au tour de Quarkus de sortir une nouvelle version majeure. Au menu :
dépréciation de Java 11, des mises à jour majeures de librairie (Jakarta <abbr title="Enterprise Edition">EE</abbr> 10…) et, comme à
l’accoutumée, plein d’améliorations diverses et variées. En bonus, l’arrivée prochaine de versions
<abbr title="Long Term Support">LTS</abbr> a été annoncée.</li>
  <li><a href="https://nodejs.org/en/blog/announcements/v20-release-announce">Node.js 20 is now available!</a>
— Node.js 14 est désormais <a href="https://endoflife.date/nodejs"><abbr title="End-Of-Life">EOL</abbr></a> et, pour rappel, la fin de Node.js
16 <a href="https://nodejs.org/en/blog/announcements/nodejs16-eol">a été annoncée pour le 11/09/2023</a>.
Donc, si vous devez vous mettre à jour, autant directement passer à Node.js 18 qui sera supporté
jusqu’au 30/04/2025.</li>
  <li><a href="https://www.sonarsource.com/products/sonarqube/whats-new/sonarqube-10-0/">Announcing SonarQube 10.0</a>
— avec, entre autres, l’ajout du <em><abbr title="Common Weakness Enumeration">CWE</abbr> Top 25 2022 security risk report</em> et l’analyse des
Dockerfiles.</li>
  <li><a href="https://www.phoronix.com/news/Debian-12.0-Release-Date">Debian 12.0 “Bookworm” Planned For Release On 10 June</a>
— pensez à jeter un coup d’oeil <a href="https://www.debian.org/releases/bookworm/amd64/release-notes/">aux notes de version</a>.</li>
  <li><a href="https://www.elastic.co/blog/ecs-elastic-common-schema-otel-opentelemetry-announcement">Elastic contributes Elastic Common Schema (<abbr title="Elastic Common Schema">ECS</abbr>) to OpenTelemetry (<abbr title="Open Telemetry">OTel</abbr>)</a>
— un peu de standardisation à ce niveau ne peut faire que du bien.</li>
  <li><a href="https://security.googleblog.com/2023/04/google-authenticator-now-supports.html">Google Authenticator now supports Google Account synchronization</a>,
— il était temps… Et pour ceux qui n’en veulent pas, cela reste optionnel.</li>
  <li><a href="https://www.programmez.com/actualites/amazon-codewhisperer-est-disponible-et-gratuit-pour-les-particuliers-35220">Amazon CodeWhisperer est disponible et gratuit pour les particuliers</a>
— une alternative si vous aviez aimé GitHub Copilot mais <a href="https://github.com/features/copilot#pricing">que vous ne souhaitez pas payer pour
l’utiliser</a>.</li>
  <li><a href="https://home.web.cern.ch/fr/node/187836">30 years of a free and open Web</a>
— le World Wide Web a 30 ans, ça n’est pas si vieux quand on y pense !</li>
</ul>

<h2 id="articles-podcasts-et-vidéos">Articles, podcasts et vidéos</h2>

<ul>
  <li><a href="https://blog.picnic.nl/picnic-loves-error-prone-producing-high-quality-and-consistent-java-code-b8a566be6886">Picnic loves Error Prone: producing high-quality and consistent Java code</a>
— je ne savais pas qu’<a href="https://errorprone.info/">Error Prone</a> était si puissant. <a href="https://error-prone.picnic.tech/">Error Prone
Support</a> me fait pas mal penser à <a href="https://docs.openrewrite.org/">OpenRewrite</a>,
mais spécialisé sur la qualité de code.</li>
  <li><a href="https://betterprogramming.pub/graphql-from-excitement-to-deception-f81f7c95b7cf">GraphQL: From Excitement to Deception</a>
— un très bon retour d’expérience sur le sujet.</li>
  <li><a href="https://blog.mrhaki.com/2023/04/mastering-maven-adding-maven-extensions.html">Mastering Maven: Adding Maven Extensions Using extensions.xml</a>
— tiens, il est possible d’utiliser Maven Enforcer sous forme d’extension.</li>
  <li><a href="https://lescastcodeurs.com/2023/04/06/lcc-293-interview-maven-et-builds-reproductibles-avec-herve-boutemy/"><abbr title="Les Cast Codeurs">LCC</abbr> 293 - Interview Maven et builds reproductibles avec Hervé Boutemy (podcast)</a>
— très bonne interview sur le futur de Maven et l’intérêt de rendre ses builds reproductibles.</li>
  <li><a href="https://www.infoq.com/articles/testing-pyramid-slow-fast-tests/">A Simpler Testing Pyramid: Getting the Most out of Your Tests</a>
— séparer ses tests entre ceux qui sont rapides et ceux qui sont lents est en effet beaucoup plus
simple et moins sujet à débat.</li>
  <li><a href="https://postgres.fm/episodes/queues-in-postgres">Queues in Postgres (podcast)</a>
— on peut trouver beaucoup d’articles sur le sujet, mais peu qui décortiquent aussi bien le
problème.</li>
  <li><a href="https://www.redhat.com/sysadmin/ansible-vault-bash-encrypt">How to encrypt Bash shell variables with Ansible Vault</a>
— une idée intéressante pour stocker ses secrets, même si vous n’utilisez pas Ansible.</li>
</ul>

<h2 id="découvertes">Découvertes</h2>

<ul>
  <li><a href="https://osv.dev/">OSV</a>
— <em>A distributed vulnerability database for Open Source</em>.</li>
  <li><a href="https://error-prone.picnic.tech/">Error Prone Support</a>
— <em>A Picnic-opinionated extension of Google’s Error Prone. It aims to improve code quality,
focussing on maintainability, consistency and avoidance of common pitfalls</em>.</li>
  <li><a href="https://rework.withgoogle.com">re:Work</a>
— <em>Practices, research, and tools from Google to improve your people processes</em>.</li>
</ul>

<p><a href="https://www.youtube.com/watch?v=PzCmr43L4hQ" title="Kyrie Kristmanson - A Garden Song" target="_blank">That’s all folks</a> !</p>

<!-- prettier-ignore-start -->
<!-- prettier-ignore-end -->]]></content><author><name>Marc Wrobel</name><email>marc.wrobel@gmail.com</email></author><category term="liens" /><summary type="html"><![CDATA[Nouvelles, articles, podcasts, vidéos et découvertes intéressantes du mois de mars 2023.]]></summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://www.marcwrobel.fr/assets/img/default-twitter-card.png" /><media:content medium="image" url="https://www.marcwrobel.fr/assets/img/default-twitter-card.png" xmlns:media="http://search.yahoo.com/mrss/" /></entry><entry><title type="html">Liens en vrac — Mars 2023</title><link href="https://www.marcwrobel.fr/liens-en-vrac-mars-2023" rel="alternate" type="text/html" title="Liens en vrac — Mars 2023" /><published>2023-04-11T00:00:00+02:00</published><updated>2023-04-11T00:00:00+02:00</updated><id>https://www.marcwrobel.fr/liens-en-vrac-mars-2023</id><content type="html" xml:base="https://www.marcwrobel.fr/liens-en-vrac-mars-2023"><![CDATA[<p>Nouvelles, articles, podcasts, vidéos et découvertes intéressantes du mois de mars 2023.</p>

<h2 id="nouvelles">Nouvelles</h2>

<ul>
  <li><a href="https://foojay.io/today/its-java-20-release-day-heres-whats-new/">It’s Java 20 Release Day! Here’s What’s New</a>
— au menu : maturation des <abbr title="JDK Enhancement-Proposal">JEP</abbr> autours du <em>pattern matching</em> (Pattern Matching for switch, Record
Patterns), de la concurrence (Virtual Threads, Scoped Values, Structured Concurrency) et du natif
(Foreign Function &amp; Memory <abbr title="Application Programming Interface">API</abbr>, Vector <abbr title="Application Programming Interface">API</abbr>). <a href="https://seanjmullan.org/blog/2023/03/22/jdk20">Côté sécurité</a>
<abbr title="Datagram Transport Layer Security">DTLS</abbr> 1.0 et les cipher suites <abbr title="Elliptic-curve Diffie-Hellman">ECDH</abbr> sont désormais désactivés par défaut. À noter aussi : les
méthodes <code class="language-plaintext highlighter-rouge">suspend</code>, <code class="language-plaintext highlighter-rouge">resume</code> et <code class="language-plaintext highlighter-rouge">stop</code> de la classe <code class="language-plaintext highlighter-rouge">Thread</code> déclenchent dorénavant une
<code class="language-plaintext highlighter-rouge">UnsupportedOperationException</code> quand elles sont utilisées, et le support de Java 7 a été retiré
de <code class="language-plaintext highlighter-rouge">javac</code>.</li>
  <li><a href="https://devblogs.microsoft.com/typescript/announcing-typescript-5-0/">Announcing TypeScript 5.0</a>
— beaucoup de changements internes, permettant des gains importants en performance / taille.
Pour les utilisateurs, la migration ne devrait pas être beaucoup plus compliquée que d’habitude.
De plus des améliorations sympas ont été faites, telle que la modernisation des decorators.</li>
  <li><a href="https://blog.sonatype.com/new-design-new-features-maven-central-improvements-for-developers">New Design, New Features: Maven Central Improvements for Developers</a>
— la nouvelle version de <a href="https://search.maven.org/">search.maven.org</a> est désormais officiellement
sortie.</li>
  <li><a href="https://github.blog/changelog/2023-03-28-generate-an-sbom-from-the-dependency-graph/">Generate an <abbr title="Software Bill Of Materials">SBOM</abbr> from the dependency graph</a>
— il est désormais possible de générer un <abbr title="Software Bill Of Materials">SBOM</abbr> au format <abbr title="Software Package Data Exchange">SPDX</abbr> pour un projet GitHub.</li>
  <li><a href="https://www.docker.com/blog/new-docker-compose-v2-and-v1-deprecation/">Docker Compose: What’s New, What’s Changing, What’s Next</a>
— Compose V1 ne sera plus supporté à partir de Juin 2023.</li>
  <li><a href="https://news.gandi.net/en/2023/03/your-online-gandi-continues-its-development/">Your.Online: Gandi continues its development</a>
— Gandi fusionne avec <abbr title="Total Web Solutions">TWS</abbr> (un hébergeur néerlandais). <abbr title="Total Web Solutions">TWS</abbr> est renommé au passage Your.Online, mais
Gandi reste autonome, en tout cas pour le moment.</li>
  <li><a href="https://www.forbes.com/sites/calumchace/2023/03/30/gpt-4-commotion-and-controversy/?sh=2d9a449251fd"><abbr title="Generative Pre-trained Transformer 4">GPT-4</abbr>: Commotion And Controversy</a>,
<a href="https://blog.mozilla.org/en/mozilla/introducing-mozilla-ai-investing-in-trustworthy-ai/">Introducing Mozilla.ai: Investing in trustworthy <abbr title="Artificial Intelligence">AI</abbr></a>,
<a href="https://www.france24.com/en/europe/20230331-italy-blocks-openai-s-chatgpt-opens-probe-over-privacy-failings">Italy blocks OpenAI’s ChatGPT, opens probe over privacy failings</a>
— ça bouge toujours autant côté <abbr title="Intelligence Artificielle">IA</abbr> !</li>
</ul>

<h2 id="articles-podcasts-et-vidéos">Articles, podcasts et vidéos</h2>

<ul>
  <li><a href="https://phauer.com/2022/leveling-up-job-interviews/">Leveling Up in Job Interviews for Software Engineers</a>
— de bons conseils, j’aurais aimé avoir vu ce lien il y a quelques mois.</li>
  <li><a href="https://medium.com/@konstde00/spring-boot-multi-tenant-architecture-overview-88198ea3991f">Spring Boot Multi-tenant Architecture Overview</a>
— un article très complet sur le sujet, et pour une fois avec des exemples détaillés.</li>
  <li><a href="https://scotthelme.co.uk/boosting-account-security-pwned-passwords-and-zxcvbn/">Boosting password security! Pwned Passwords, zxcvbn, and more!</a>
— excellent article qui donne beaucoup d’idées sur les choses à mettre en place pour améliorer la
sécurité des mots de passe d’une application.</li>
  <li><a href="https://blog.picnic.nl/how-to-find-dead-code-in-your-java-services-d167c8f22838">How to find dead code in your Java services</a>
— une utilisation très originale de JaCoCo sur une application Java en production.</li>
  <li><a href="https://foojay.io/today/5-great-reasons-to-use-jooq/">5 Great Reasons to use <abbr title="Java Object-Oriented Querying">jOOQ</abbr></a>
— je vais avoir l’occasion d’utiliser cette librairie dans le cadre de mon nouveau job : ça m’a
l’air prometteur !</li>
  <li><a href="https://pboyd.io/posts/cargo-cult-of-good-code/">The Cargo Cult of Good Code</a>
— une jolie reflexion sur l’écriture de “bon code”.</li>
  <li><a href="https://www.infoworld.com/article/3690319/the-problem-with-development-speed.html">The problem with development speed</a>
— <abbr title="too long; didn’t read">tl;dr</abbr> : cherchez plutôt à maximiser l’impact que la vitesse.</li>
  <li><a href="https://www.cybertec-postgresql.com/en/pagination-problem-total-result-count/">Pagination and the problem of the total result count</a>
— un bon résumé de différentes techniques de pagination.</li>
  <li><a href="https://www.crunchydata.com/blog/is-your-postgres-ready-for-production">Is your Postgres ready for production?</a>
— une petite liste de contrôle des choses à vérifier côté PostgreSQL avant de passer en production.</li>
  <li><a href="https://www.bitestring.com/posts/2023-03-19-web-fingerprinting-is-worse-than-I-thought.html">Web fingerprinting is worse than I thought</a>
— <abbr title="too long; didn’t read">tl;dr</abbr> : utilisez Tor Browser ou Firefox (avec <code class="language-plaintext highlighter-rouge">resistFingerprinting=true</code>).</li>
  <li><a href="https://www.nolimitsecu.fr/pentest-aspects-juridiques/">Pentest : Aspects juridiques (podcast)</a>
— expliqués par un avocat, <a href="https://technique-et-droit-du-numerique.fr/ledieu-avocats-technique-et-droit-du-numerique/">Marc-Antoine Ledieu</a>,
contributeur de longue date à NoLimitSecu.</li>
  <li><a href="https://blog.stephane-robert.info/post/ansible-collections-hardening/">Ansible - Durcissez vos rôles avec OpenScap</a>
— intelligent comme approche !</li>
</ul>

<h2 id="découvertes">Découvertes</h2>

<ul>
  <li><a href="https://diataxis.fr/">Diátaxis</a>
— <em>A systematic framework for technical documentation authoring</em>.</li>
  <li><a href="https://postgrest.org/">PostgREST</a>
— <em>Serve a RESTful <abbr title="Application Programming Interface">API</abbr> from any Postgres database</em>.</li>
  <li><a href="https://www.infoworld.com/article/3688921/ballerina-a-programming-language-for-the-cloud.html">Ballerina</a>
— <em>A programming language for the cloud</em>.</li>
</ul>

<p><a href="https://www.youtube.com/watch?v=zzHQQEFCyX0" title="Plini - Electric Sunrise" target="_blank">That’s all folks</a> !</p>

<!-- prettier-ignore-start -->
<!-- prettier-ignore-end -->]]></content><author><name>Marc Wrobel</name><email>marc.wrobel@gmail.com</email></author><category term="liens" /><summary type="html"><![CDATA[Nouvelles, articles, podcasts, vidéos et découvertes intéressantes du mois de mars 2023.]]></summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://www.marcwrobel.fr/assets/img/default-twitter-card.png" /><media:content medium="image" url="https://www.marcwrobel.fr/assets/img/default-twitter-card.png" xmlns:media="http://search.yahoo.com/mrss/" /></entry><entry><title type="html">Liens en vrac — Février 2023</title><link href="https://www.marcwrobel.fr/liens-en-vrac-fevrier-2023" rel="alternate" type="text/html" title="Liens en vrac — Février 2023" /><published>2023-03-19T00:00:00+01:00</published><updated>2023-03-19T00:00:00+01:00</updated><id>https://www.marcwrobel.fr/liens-en-vrac-fevrier-2023</id><content type="html" xml:base="https://www.marcwrobel.fr/liens-en-vrac-fevrier-2023"><![CDATA[<p>Nouvelles, articles, podcasts, vidéos et découvertes intéressantes du mois de février 2023.</p>

<h2 id="nouvelles">Nouvelles</h2>

<ul>
  <li><a href="https://www.programmez.com/actualites/incendie-de-strasbourg-ovh-ecope-dune-premiere-condamnation-34956">Incendie de Strasbourg : OVH écope d’une première condamnation</a>
— logique !</li>
  <li><a href="https://maven.apache.org/docs/3.9.0/release-notes.html">Maven 3.9.0</a>
— attention, ça n’est pas du tout une version mineure : la version minimale de Java devient la 8
et il y a plusieurs <em>breaking changes</em> potentiels.</li>
  <li><a href="https://www.sonarsource.com/blog/sonarqube-9-9-lts/">Announcing SonarQube 9.9 <abbr title="Long Term Support">LTS</abbr>!</a>
— la version <abbr title="Long Term Support">LTS</abbr> précédente (8.9) n’est désormais plus maintenue, pensez à vous
<a href="https://docs.sonarqube.org/latest/setup-and-upgrade/lts-to-lts-release-upgrade-notes/">mettre à jour</a>.
Côté nouveautés, l’amélioration des performances d’analyse est plus que bienvenue !</li>
  <li><a href="https://blog.ninja-squad.com/2023/02/23/what-is-new-angular-15.2/">What’s new in Angular 15.2?</a>
— principalement la mise à disposition de <em>schematics</em> qui facilitent la <a href="https://blog.ninja-squad.com/2023/02/21/migrate-an-angular-application-to-standalone/">migration vers les
<em>standalone components</em></a>.</li>
  <li><a href="https://www.phoronix.com/news/Debian-12-Installer-Alpha-2">Debian 12 Bookworm’s Installer Updated To Better Handle Non-Free Firmware</a>
— on pourra enfin se passer des <a href="https://cdimage.debian.org/cdimage/unofficial/non-free/cd-including-firmware/"><em>unofficial non-free images including firmware
packages</em></a>. Autre
bonne nouvelle : Debian 12 utilisera bien le noyau <a href="https://www.phoronix.com/news/Linux-6.1-LTS-Official">Linux 6.1 <abbr title="Long Term Support">LTS</abbr></a>.</li>
</ul>

<h2 id="articles-podcasts-et-vidéos">Articles, podcasts et vidéos</h2>

<ul>
  <li><a href="https://www.joshwcomeau.com/css/interactive-guide-to-flexbox/">An Interactive Guide to Flexbox</a>
— une mise à jour de l’excellent guide de Josh Comeau sur <abbr title="Cascading Style Sheets">CSS</abbr> Flexbox. Et si vous ne connaissiez
pas <a href="https://www.joshwcomeau.com/">Josh Comeau</a>, je vous invite à parcourir ses autres articles.</li>
  <li><a href="https://stuartmarks.wordpress.com/2023/02/22/the-importance-of-writing-stuff-down/">The Importance of Writing Stuff Down</a>
— tout à fait d’accord !</li>
  <li><a href="https://vladmihalcea.com/basejparepository-hypersistence-utils/">The awesome <code class="language-plaintext highlighter-rouge">BaseJpaRepository</code> from Hypersistence Utils</a>
— à considérer pour votre prochain projet avec Spring Data <abbr title="Java Persistence API">JPA</abbr> ?</li>
  <li><a href="https://madaidans-insecurities.github.io/index.html">Security &amp; Privacy Evaluations</a>
— de bonnes documentations sur la vie privée et la sécurité (notamment des systèmes Linux).
C’est complexe et ça ne se lit pas en une fois, mais ça vaut l’investissement.</li>
  <li><a href="https://initialcommit.com/blog/python-web-scraping">An Overview of Web Scraping in Python</a>
— au-delà de l’article en lui-même, qui est intéressant, <a href="https://scrapy.org/">Scrapy</a> a vraiment
l’air sympa.</li>
  <li><a href="https://bootifulpodcast.podbean.com/e/moderne-founder-jon-schneider-on-openrewrite-continuously-modernizing-code-bases-freedom-and-responsibility-and-more/">Moderne founder Jon Schneider on OpenRewrite, continuously modernizing code bases, freedom and
responsibility, and more (podcast)</a>
— j’avais redécouvert <a href="https://docs.openrewrite.org/">OpenRewrite</a> à l’occasion de la sortie de
Spring Boot 3. Ça pourrait être beaucoup plus utile que ce que je pensais !</li>
  <li><a href="https://ifttd.io/video-processing-2/">Traitement vidéo, complications et complexités (podcast)</a>
— écouter <a href="https://jbkempf.com/">Jean-baptiste Kempf</a> est toujours passionnant.</li>
  <li><a href="https://www.youtube.com/watch?v=oHyaRvnX2G8">Senior Engineer Breaks Down Systems Design Interview (vidéo)</a>
— <a href="https://alexgolec.dev/about/">Alex Golec</a> décortique un entretien <em>Systems Design</em>, très
instructif.</li>
  <li><a href="https://www.hellowork.com/fr-fr/guides/questions-entretien-embauche.html">Les questions en entretien d’embauche : l’ultime check-list</a>
— une bonne ressource pour se faire une idée des questions que l’on pourrait vous poser en
entretien.</li>
  <li><a href="https://www.youtube.com/watch?v=Pb5oIIPO62g">John Cleese on Creativity In Management (vidéo)</a>
— d’après l’artiste : <em>Creativity is not a talent. It’s a way of operating.</em></li>
</ul>

<h2 id="découvertes">Découvertes</h2>

<ul>
  <li><a href="https://wave.webaim.org/">WAVE Web Accessibility Evaluation Tools</a>
— c’est l’outil de ce genre le plus sympa que j’ai pu utiliser jusqu’à présent.</li>
  <li><a href="https://unsplash.com/">Unsplash - The internet’s source for visuals</a>
— une source de photos libre d’utilisation, même <a href="https://unsplash.com/license">dans un contexte commercial</a>.</li>
  <li><a href="https://pwned.substack.com/">Pwned - la newsletter de Gabriel Thierry sur le cybercrime</a>
— dans la même veine que <a href="https://darknetdiaries.com/">Darknet Diaries</a>, mais à l’écrit et en
français.</li>
</ul>

<p><a href="https://www.youtube.com/watch?v=D4cuND89Uug" title="Madeleine Peyroux - Don’t Wait Too Long" target="_blank">That’s all folks</a> !</p>

<!-- prettier-ignore-start -->
<!-- prettier-ignore-end -->]]></content><author><name>Marc Wrobel</name><email>marc.wrobel@gmail.com</email></author><category term="liens" /><summary type="html"><![CDATA[Nouvelles, articles, podcasts, vidéos et découvertes intéressantes du mois de février 2023.]]></summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://www.marcwrobel.fr/assets/img/default-twitter-card.png" /><media:content medium="image" url="https://www.marcwrobel.fr/assets/img/default-twitter-card.png" xmlns:media="http://search.yahoo.com/mrss/" /></entry><entry><title type="html">Liens en vrac — Janvier 2023</title><link href="https://www.marcwrobel.fr/liens-en-vrac-janvier-2023" rel="alternate" type="text/html" title="Liens en vrac — Janvier 2023" /><published>2023-02-06T00:00:00+01:00</published><updated>2023-02-06T00:00:00+01:00</updated><id>https://www.marcwrobel.fr/liens-en-vrac-janvier-2023</id><content type="html" xml:base="https://www.marcwrobel.fr/liens-en-vrac-janvier-2023"><![CDATA[<p>Nouvelles, articles, podcasts, vidéos et découvertes intéressantes du mois de janvier 2023.</p>

<h2 id="nouvelles">Nouvelles</h2>

<ul>
  <li><a href="https://thehackernews.com/2023/01/hackers-distributing-malicious-visual.html">Hackers Can Abuse Visual Studio Marketplace to Target Developers with Malicious Extensions</a>
— rien de vraiment étonnant, le risque est similaire peu importe le système de plug-ins ou de
paquets. Mais j’ai l’impression que le manque de fonctionnalités intégrées de base dans VS Code
(que ce soit en natif ou via des plug-ins “officiels”) rend cet <abbr title="Integrated Development Environment">IDE</abbr> plus sensible à ce genre
d’attaques.</li>
  <li><a href="https://inside.java/2023/01/19/newscast-40/">Java’s Plans for 2023 (vidéo)</a>
— un rapide tour d’horizon de ce qui s’est passé en 2022 et de ce qui devrait se passer 2023.</li>
  <li><a href="https://www.infoq.com/news/2023/01/mockito-5/">Mockito 5 Supports Mocking Constructors, Static Methods and Final Classes out of the Box</a>
— le support des <code class="language-plaintext highlighter-rouge">varargs</code> a été grandement amélioré, par contre Java 8 n’est plus supporté.</li>
  <li><a href="https://blog.ninja-squad.com/2023/01/11/what-is-new-angular-15.1/">What’s new in Angular 15.1?</a> et
<a href="https://blog.ninja-squad.com/2023/01/11/angular-cli-15.1/">What’s new in Angular <abbr title="Command Line Interface">CLI</abbr> 15.1?</a>
— on peut enfin écrire <code class="language-plaintext highlighter-rouge">&lt;my-component /&gt;</code> !</li>
  <li><a href="https://github.blog/changelog/2023-02-02-add-more-social-links-to-your-user-profile/">Add more social links to your GitHub user profile</a>
— ça n’est pas grand-chose, mais ça manquait.</li>
  <li><a href="https://www.azul.com/blog/oracles-new-pricing-model-is-like-cold-coffee-send-it-back/">Oracle’s New Pricing Model Is Like Cold Coffee – Send It Back</a>
— vraiment étrange cette nouvelle tarification “à l’employé” qui fait fortement monter les prix.
Mais bon, je ne pense pas que ce soit un gros problème étant donné <a href="https://whichjdk.com/" title="Which Version of JDK Should I Use?">l’offre pléthorique autour
d’OpenJDK</a>.</li>
  <li><a href="https://scholarlykitchen.sspnet.org/2023/01/05/github-is-sued-and-we-may-learn-something-about-creative-commons-licensing/">GitHub is Sued, and We May Learn Something About Creative Commons Licensing</a>
— les débuts d’une bataille judiciaire qui sera passionnante à suivre. Le verdict pourrait changer
pas mal la donne sur le modèle commercial des sociétés telles
qu’<a href="https://openai.com/blog/openai-lp/">OpenAI LP</a>.</li>
  <li><a href="https://www.clever-cloud.com/blog/press/2023/01/17/clever-cloud-and-scaleway-join-forces-to-unveil-a-sovereign-european-paas-offering/">Clever Cloud and Scaleway join forces to unveil a sovereign, European, PaaS offering</a>,
<a href="https://blog.ovhcloud.com/very-tech-trip-laventure-ne-fait-que-commencer/">Very Tech Trip, l’aventure ne fait que commencer !</a>
— plein d’annonces et de nouveautés chez les fournisseurs d’informatique en nuage français, cool !</li>
</ul>

<h2 id="articles-podcasts-et-vidéos">Articles, podcasts et vidéos</h2>

<ul>
  <li><a href="https://blogs.newardassociates.com/blog/2023/you-want-modules-not-microservices.html">You Want Modules, Not Microservices</a>
— un des meilleurs articles que j’ai pu lire sur le sujet.</li>
  <li><a href="https://dev.to/wuz/stop-trying-to-be-so-dry-instead-write-everything-twice-wet-5g33">Stop trying to be so <abbr title="Don’t Repeat Yourself">DRY</abbr>, instead Write Everything Twice (<abbr title="Write Everything Twice">WET</abbr>)</a>
— <abbr title="Write Everything Twice">WET</abbr>, un très bon principe pour ceux qui ont tendance à vouloir généraliser les choses trop tôt.</li>
  <li><a href="https://filip-prochazka.com/blog/database-branching-in-postgresql">Database branching (just like with git) in PostgreSQL</a>
— Autre possibilité qui est plus simple quand vous avez la possibilité de la mettre en œuvre :
utiliser des snapshots ou des clones <abbr title="Z File System">ZFS</abbr>. Mais bon, ce serait bien qu’il y ait nativement des
<a href="https://postgres.fm/episodes/database-branching" title="Postgres FM - Database branching (podcast)">fonctionnalités de ce genre</a>
dans les bases de données.</li>
  <li><a href="https://www.simplethread.com/20-things-ive-learned-in-my-20-years-as-a-software-engineer/">20 Things I’ve Learned in my 20 Years as a Software Engineer</a>
— plus on apprend, plus on se rend compte qu’on ne sait pas grand-chose et qu’<a href="https://airhacks.fm/#episode_224" title="airhacks.fm - What does it mean to be a professional
programmer? (podcast)">on est loin de tout
bien faire</a>.</li>
  <li><a href="https://protonvpn.com/blog/great-firewalll-china/">What is the Great Firewall of China and how does it work?</a>
— intéressant !</li>
  <li><a href="https://rmannibucau.metawerx.net/simple-retry-with-wget.html">Simple retry until with WGet</a>
— <abbr title="too long; didn’t read">tl;dr</abbr> : <code class="language-plaintext highlighter-rouge">wget --no-check-certificate --read-timeout=30 --timeout=30 --retry-connrefused --waitretry=5 --tries=60 "https://$MY_SERVICE_HOST:$MY_SERVICE_PORT/some/resource"</code>.</li>
  <li><a href="https://www.scribbr.fr/elements-linguistiques/les-listes/">Les listes : mise en page et forme</a>
— si vous aussi vous galérez avec la ponctuation dans les listes, cet article peut aider.</li>
</ul>

<h2 id="découvertes">Découvertes</h2>

<ul>
  <li><a href="https://just.maciejwalkowiak.com/">just - Command Line toolkit for developing Spring Boot applications</a>
— je n’ai pas testé, mais ça m’a l’air pratique.</li>
  <li><a href="https://sli.dev/">Slidev - Presentation Slides for Developers</a>
— désormais il y a aussi le <em>slide as code</em> !</li>
  <li><a href="https://www.merci-app.com/">MerciApp - Le meilleur correcteur d’orthographe francophone</a>
— je ne sais pas si c’est le meilleur, mais il fonctionne très bien. Ils ont en plus une offre
gratuite (qui nécessite de s’inscrire).</li>
  <li><a href="https://www.deepl.com/translator">DeepL Translator - AI translation that sounds human</a>
— j’ai l’impression que ça fonctionne mieux que Google Traduction.</li>
  <li><a href="https://www.edclub.com/library/expedition-dactylo">Expédition dactylo</a>
— un très bon cours de dactylographie en ligne. Il n’est jamais trop tard pour s’y mettre !</li>
</ul>

<p><a href="https://www.youtube.com/watch?v=Uavys_AN9K8" title="Sarah McCoy - Boogieman" target="_blank">That’s all folks</a> !</p>

<!-- prettier-ignore-start -->
<!-- prettier-ignore-end -->]]></content><author><name>Marc Wrobel</name><email>marc.wrobel@gmail.com</email></author><category term="liens" /><summary type="html"><![CDATA[Nouvelles, articles, podcasts, vidéos et découvertes intéressantes du mois de janvier 2023.]]></summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://www.marcwrobel.fr/assets/img/default-twitter-card.png" /><media:content medium="image" url="https://www.marcwrobel.fr/assets/img/default-twitter-card.png" xmlns:media="http://search.yahoo.com/mrss/" /></entry><entry><title type="html">Liens en vrac — Décembre 2022</title><link href="https://www.marcwrobel.fr/liens-en-vrac-decembre-2022" rel="alternate" type="text/html" title="Liens en vrac — Décembre 2022" /><published>2023-01-08T00:00:00+01:00</published><updated>2023-01-08T00:00:00+01:00</updated><id>https://www.marcwrobel.fr/liens-en-vrac-decembre-2022</id><content type="html" xml:base="https://www.marcwrobel.fr/liens-en-vrac-decembre-2022"><![CDATA[<p>Nouvelles, articles, podcasts, vidéos et découvertes intéressantes du mois de décembre 2022.</p>

<h2 id="nouvelles">Nouvelles</h2>

<ul>
  <li><a href="https://fr.sonatype.com/resources/log4j-vulnerability-resource-center">Tableau de bord des téléchargements vulnérables de Log4j</a>
— un an après Log4Shell, l’utilisation de versions vulnérables de Log4j reste très élevée (~25 %).
Ça ne veut pas dire qu’un quart des applications utilisant Log4j sont vulnérables, mais le chiffre
reste étonnant !</li>
  <li><a href="https://about.gitlab.com/releases/2022/12/22/gitlab-15-7-released/">GitLab 15.7 released introducing the GitLab <abbr title="Command Line Interface">CLI</abbr> and with browser based <abbr title="Dynamic Application Security Testing">DAST</abbr> <abbr title="General Availability">GA</abbr></a>
— c’est au tour de GitLab de proposer une <abbr title="Command Line Interface">CLI</abbr> officielle : <code class="language-plaintext highlighter-rouge">glab</code>. Comme celle de GitHub, ça peut
rendre certaines actions plus simples (comme le <em>checkout</em> d’une <em>merge request</em> provenant d’un
dépôt <em>forké</em>), et c’est pratique pour du scripting. Il y a aussi pas mal d’autres choses sympas,
comme l’amélioration de la recherche globale (qui en avait bien besoin !), la possibilité de
spécifier la taille d’une image en Markdown ou la version bêta du nouvel <abbr title="Integrated Development Environment">IDE</abbr> Web basé sur <abbr title="Visual Studio">VS</abbr> Code.</li>
  <li><a href="https://github.blog/2022-12-15-leaked-a-secret-check-your-github-alerts-for-free/">Leaked a secret? Check your GitHub alerts…for free</a>
— bonne nouvelle, même si je croyais que c’était déjà le cas. Attention cette fonctionnalité doit
être activée manuellement pour chaque projet (cherchez <em>Code security and analysis &gt; Secret
scanning</em> dans les paramètres).</li>
  <li><a href="https://github.blog/changelog/2022-12-05-docs-are-being-translated-to-french-german-korean-and-russian/">Docs are being translated to French, German, Korean, and Russian</a>
— la documentation de GitHub est en train d’être traduite en français. Ça doit être l’effet
Microsoft :-).</li>
  <li><a href="https://github.blog/2022-12-12-highlights-from-git-2-39/">Highlights from Git 2.39</a>
— c’est une bonne lecture si vous ne connaissez pas <code class="language-plaintext highlighter-rouge">git shortlog</code>.</li>
  <li><a href="https://www.sonarsource.com/products/sonarqube/whats-new/sonarqube-9-8/">SonarQube 9.8 is here!</a>
— avec le support de Java 17 et enfin une meilleure prise en charge des renommages de fichiers.</li>
  <li><a href="https://medium.com/graalvm/graalvm-galahad-and-a-new-release-schedule-d081d1031bba">GraalVM, Galahad, and a New Release Schedule</a>
— des détails sur Galahad, le projet d’intégration de certaines parties de GraalVM à OpenJDK.</li>
</ul>

<h2 id="articles-podcasts-et-vidéos">Articles, podcasts et vidéos</h2>

<ul>
  <li><a href="https://calebhearth.com/sign-git-with-ssh">Signing Git Commits with Your SSH Key</a>
— je ne savais même pas que c’était possible ! Et c’est supporté par GitHub et, depuis la version
15.7, par GitLab.</li>
  <li><a href="https://www.gentlydownthe.stream/">Gently Down the Stream</a>, <a href="https://a.walktothe.cloud/">A walk to the Cloud</a>
— des introductions à Apache Kafka et au Cloud sous forme de bande dessinée. C’est très agréable
à lire.</li>
  <li><a href="https://www.youtube.com/watch?v=JVPHSdHViMg">7 Awesome Libraries for Java Unit &amp; Integration Testing (vidéo)</a>
— une présentation succincte de sept super librairies Java pour les tests :
<a href="https://assertj.github.io/doc/">AssertJ</a>, <a href="http://www.awaitility.org/">Awaitility</a>,
<a href="https://site.mockito.org/">Mockito</a>, <a href="https://wiremock.org/">Wiremock</a>,
<a href="https://github.com/voodoodyne/subethasmtp/blob/master/Wiser.md">Wiser</a>,
<a href="https://github.com/marschall/memoryfilesystem">Memoryfilesystem</a> et
<a href="https://www.testcontainers.org/">Testcontainers</a>. À regarder si vous ne les connaissez pas déjà
toutes.</li>
  <li><a href="https://medium.com/geekculture/the-wild-world-of-unique-identifiers-uuid-ulid-etc-17cfb2a38fce">The Wild World of Unique Identifiers (<abbr title="Universal Unique IDentifier">UUID</abbr>, <abbr title="Unique Lexicographically IDentifier">ULID</abbr>, Snowflake, etc)</a>
— je n’en connaissais même pas la moitié !</li>
  <li><a href="https://vladmihalcea.com/uuid-database-primary-key/">The best <abbr title="Universal Unique IDentifier">UUID</abbr> type for a database Primary Key</a>
— c’est <a href="https://github.com/f4b6a3/tsid-creator"><abbr title="Time-Sorted unique IDentifier">TSID</abbr></a> d’après l’auteur (que je ne connaissais pas
non plus). Et il possède bien des avantages par rapport aux <abbr title="Universal Unique IDentifier">UUID</abbr>, notamment le fait qu’ils soient
triés par heure et beaucoup plus petits.</li>
  <li><a href="https://snyk.io/blog/create-sboms-java-maven-gradle/">How to create <abbr title="Software Bill Of Materials">SBOM</abbr> in Java with Maven and Gradle</a>
— un bon article sur le sujet. Il y a deux standards principaux : <abbr title="Software Package Data Exchange">SPDX</abbr> (Fondation Linux) et
CycloneDX (<abbr title="Open Web Application Security Project">OWASP</abbr>). Pour des questions d’outillage, il semble préférable de choisir CycloneDX. En
effet, le projet <a href="https://github.com/spdx/spdx-maven-plugin"><code class="language-plaintext highlighter-rouge">spdx-maven-plugin</code></a> n’est pas très
actif en comparaison de <a href="https://github.com/CycloneDX/cyclonedx-maven-plugin"><code class="language-plaintext highlighter-rouge">cyclonedx-maven-plugin</code></a>.
De plus il existe un plugin Gradle pour CycloneDX (<code class="language-plaintext highlighter-rouge">cyclonedx-gradle-plugin</code>) mais pas pour <abbr title="Software Package Data Exchange">SPDX</abbr>.</li>
  <li><a href="https://stackoverflow.blog/2022/12/26/why-the-number-input-is-the-worst-input/">Why the number input is the worst input</a>
— et en plus l’article n’évoque même pas les problèmes d’internationalisation.</li>
  <li><a href="https://stackoverflow.com/a/21246457/374236">Define multiple languages in <abbr title="HyperText Markup Language">HTML</abbr> root element’s lang attribute?</a>
— ça n’est pas malheureusement pas possible, dommage.</li>
  <li><a href="https://blog.wesleyac.com/posts/why-not-javascript-cdn">Reasons to avoid Javascript <abbr title="Content Delivery Networks">CDNs</abbr></a>
— <abbr title="too long; didn’t read">tl;dr</abbr> : risque systémique, vie privée, sécurité et… vitesse de chargement !</li>
  <li><a href="https://boleary.dev/what-i-learned-at-gitlab-that-i-dont-want-to-forget/">What I learned at GitLab that I don’t want to forget</a>
— l’organisation chez GitLab à l’air vachement sympa.</li>
  <li><a href="https://foojay.io/today/why-picnic-picked-java/">Why Picnic Picked Java</a>
— quoiqu’on pense du choix et des arguments, ce genre de retour d’expérience est toujours
intéressant à lire.</li>
  <li><a href="https://blog.davidlibeau.fr/le-rgpd-en-10-minutes/">Le <abbr title="Règlement Général sur la Protection des Données">RGPD</abbr> en 10 minutes</a>
— un article utile pour ceux qui n’ont jamais lu le texte de la <abbr title="Règlement Général sur la Protection des Données">RGPD</abbr> (et ne le liront peut-être
jamais).</li>
  <li><a href="https://devjourney.info/Guests/232-KevinTrethewey.html">#232 Kevin Trethewey on his extreme programming journey (podcast)</a>
— j’ai beaucoup aimé son histoire et sa façon de voir les choses. Il faudra que je creuse cette
histoire de <a href="https://spinemodel.info/documentation.html">Spine Model</a>.</li>
  <li><a href="https://www.bortzmeyer.org/chatgpt-programmation.html">ChatGPT remplacera-t-il les programmeuses et programmeurs ?</a>
— on dirait bien que non. Par contre, à l’instar de Copilot, ça pourrait bien radicalement changer
notre manière de travailler.</li>
</ul>

<h2 id="découvertes">Découvertes</h2>

<ul>
  <li><a href="https://hewlettpackard.github.io/monkeyble/">Monkeyble — End-to-end testing framework for Ansible</a>
— enfin un framework qui permet de tester le code ansible lui-même, et non pas l’état du système
après exécution d’un playbook. <a href="https://linuxfr.org/news/presentation-de-monkeyble-framework-de-test-bout-en-bout-pour-ansible">Une très bonne présentation en français est disponible sur
LinuxFR</a>.</li>
  <li><a href="https://github.com/khmarbaise/maven-test-profiler">maven-test-profiler — Maven extension to get information about tests</a>
— pratique pour identifier facilement les tests qui prennent le plus de temps.</li>
  <li><a href="https://www.youtube.com/channel/UCaNX_EGXBgJYyrsRrziKnDQ">PieterExplainsTech — Visual guides on various technology topics like computer networking and programming</a>
— une super chaîne Youtube, c’est toujours bien expliqué et on apprend souvent des choses même sur
les sujets les plus basiques.</li>
  <li><a href="https://db-engines.com/en/ranking_trend">DB-Engines Ranking — Trend Popularity</a>
— pour se faire une idée de la popularité des différents moteurs de base de données.</li>
</ul>

<p><a href="https://www.youtube.com/watch?v=Lb8Yw7mhEbo" title="Rover — Rising High" target="_blank">That’s all folks</a> !</p>

<!-- prettier-ignore-start -->
<!-- prettier-ignore-end -->]]></content><author><name>Marc Wrobel</name><email>marc.wrobel@gmail.com</email></author><category term="liens" /><summary type="html"><![CDATA[Nouvelles, articles, podcasts, vidéos et découvertes intéressantes du mois de décembre 2022.]]></summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://www.marcwrobel.fr/assets/img/default-twitter-card.png" /><media:content medium="image" url="https://www.marcwrobel.fr/assets/img/default-twitter-card.png" xmlns:media="http://search.yahoo.com/mrss/" /></entry><entry><title type="html">Sortie de jbanking 4.1.0</title><link href="https://www.marcwrobel.fr/sortie-de-jbanking-4-1-0" rel="alternate" type="text/html" title="Sortie de jbanking 4.1.0" /><published>2023-01-07T00:00:00+01:00</published><updated>2023-01-07T00:00:00+01:00</updated><id>https://www.marcwrobel.fr/sortie-de-jbanking-4-1-0</id><content type="html" xml:base="https://www.marcwrobel.fr/sortie-de-jbanking-4-1-0"><![CDATA[<p>La version 4.1.0 de <a href="https://github.com/marcwrobel/jbanking">jbanking</a> est sortie. Les modifications
suivantes sont incluses dans cette version :</p>

<ul>
  <li>Dépréciation du kuna croate (HRK) suite à l’adoption par la Croatie de l’euro (EUR) comme monnaie
unique (cf. <a href="https://www.six-group.com/dam/download/financial-information/data-center/iso-currrency/amendments/dl-currency-iso-amendment-174.pdf">ISO 4217 Currency Code Service - Amendment number 174</a>).</li>
  <li>Ajout du 08/05/2023 (couronnement du roi Charles III) à la liste des jours fériés du calendrier
prédéfini <code class="language-plaintext highlighter-rouge">LONDON</code>.</li>
</ul>

<p>Quelques modifications d’ordre technique ont aussi été réalisées :</p>

<ul>
  <li>La construction de jbanking est désormais <a href="https://reproducible-builds.org/">reproductible</a>. Cela
signifie qu’il est dorénavant possible de vérifier facilement que le code ayant servi à construire
une version donnée de jbanking est bien celui publié <a href="https://github.com/marcwrobel/jbanking/">sur GitHub</a>.</li>
  <li>jbanking publie désormais un <abbr title="Software Bill Of Materials">SBOM</abbr> au format <a href="https://cyclonedx.org/">CycloneDX</a> sur Maven Central.
Un <abbr title="Software Bill Of Materials">SBOM</abbr> permet de documenter, de manière structurée, les dépendances utilisées dans un projet.
jbanking n’a aucune dépendance, mais ça ne fait pas de mal de le déclarer :-).</li>
</ul>

<p>Pour utiliser cette nouvelle version rien de plus simple : téléchargez-la
depuis <a href="https://search.maven.org/artifact/fr.marcwrobel/jbanking/4.1.0/jar">Maven Central</a> ou,
plus simplement, déclarez une nouvelle dépendance dans votre <abbr title="Project Object Model">POM</abbr> de la manière suivante :</p>

<div class="language-xml highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt">&lt;dependency&gt;</span>
  <span class="nt">&lt;groupId&gt;</span>fr.marcwrobel<span class="nt">&lt;/groupId&gt;</span>
  <span class="nt">&lt;artifactId&gt;</span>jbanking<span class="nt">&lt;/artifactId&gt;</span>
  <span class="nt">&lt;version&gt;</span>4.1.0<span class="nt">&lt;/version&gt;</span>
<span class="nt">&lt;/dependency&gt;</span>
</code></pre></div></div>

<p>Et si vous avez des questions, <a href="https://github.com/marcwrobel/jbanking/discussions/282">rendez-vous sur GitHub</a> !</p>

<!-- prettier-ignore-start -->
<!-- prettier-ignore-end -->]]></content><author><name>Marc Wrobel</name><email>marc.wrobel@gmail.com</email></author><category term="développement" /><summary type="html"><![CDATA[Intégration de l'amendement 174 du ISO 4217 Currency Code Service et ajout du couronnement du roi Charles III à la liste des jours fériés du calendrier prédéfini LONDON.]]></summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://www.marcwrobel.fr/assets/img/default-twitter-card.png" /><media:content medium="image" url="https://www.marcwrobel.fr/assets/img/default-twitter-card.png" xmlns:media="http://search.yahoo.com/mrss/" /></entry><entry><title type="html">Liens en vrac — Novembre 2022</title><link href="https://www.marcwrobel.fr/liens-en-vrac-novembre-2022" rel="alternate" type="text/html" title="Liens en vrac — Novembre 2022" /><published>2022-12-02T00:00:00+01:00</published><updated>2022-12-02T00:00:00+01:00</updated><id>https://www.marcwrobel.fr/liens-en-vrac-novembre-2022</id><content type="html" xml:base="https://www.marcwrobel.fr/liens-en-vrac-novembre-2022"><![CDATA[<p>Nouvelles, articles, podcasts, vidéos et découvertes intéressantes du mois de novembre 2022.</p>

<h2 id="nouvelles">Nouvelles</h2>

<ul>
  <li><a href="https://www.postgresql.org/about/news/postgresql-jdbc-4251-4243-4238-42227jre7-security-update-for-cve-2022-41946-2551/">PostgreSQL <abbr title="Java DataBase Connectivity">JDBC</abbr> 42.5.1, 42.4.3, 42.3.8, 42.2.27.jre7 Security update for CVE-2022-41946</a>,
<a href="https://quarkus.io/blog/quarkus-2-14-2-final-released/">Quarkus 2.14.2.Final and 2.13.5.Final released - Fix for CVE-2022-4116</a>
— pensez à vous mettre à jour !</li>
  <li><a href="https://spring.io/blog/2022/11/24/spring-boot-3-0-goes-ga">Spring Boot 3.0 Goes <abbr title="General Availability">GA</abbr></a>
— avec Java 17 en version minimale, l’ajout de la compilation <abbr title="Ahead-Of-Time">AOT</abbr>, le support de la compilation native, un support
amélioré de l’observabilité, et surtout une tétrachiée de mises à jour, notamment :
<a href="https://spring.io/blog/2022/11/16/spring-framework-6-0-goes-ga">Spring Framework 6.0</a>,
<a href="https://jakarta.ee/release/10/">Jakarta <abbr title="Enterprise Edition">EE</abbr> 10</a>,
<a href="https://in.relation.to/2022/06/24/hibernate-orm-61-features/">Hibernate <abbr title="Object-Relational Mapping">ORM</abbr> 6.1</a>,
<a href="https://spring.io/blog/2022/11/21/spring-security-5-8-and-6-0-are-now-ga">Spring Security 6.0</a>,
<a href="https://spring.io/blog/2022/11/18/spring-data-2022-0-goes-ga">Spring Data 2022.0</a>,
<a href="https://flywaydb.org/documentation/learnmore/releaseNotes#9.0.0">Flyway 9</a>,
<a href="https://groovy-lang.org/releasenotes/groovy-4.0.html">Groovy 4.0</a>… Quelques liens pour faciliter la migration :
    <ul>
      <li><a href="https://spring.io/blog/2022/05/24/preparing-for-spring-boot-3-0">Preparing for Spring Boot 3.0</a>,</li>
      <li><a href="https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-3.0-Migration-Guide">Spring Boot 3.0 Migration Guide</a>,</li>
      <li><a href="https://vladmihalcea.com/spring-6-migration/">The best way to do the Spring 6 migration</a>.</li>
    </ul>
  </li>
  <li><a href="https://quarkus.io/blog/road-to-quarkus-3/">Starting Quarkus 3</a>
— une nouvelle version majeure est en préparation chez Quarkus. Elle a l’air beaucoup moins impactante que celle de
Spring Boot 3.0, mais on y retrouve certains sujets tels que la migration vers Jakarta <abbr title="Enterprise Edition">EE</abbr> 10 / Hibernate <abbr title="Object-Relational Mapping">ORM</abbr> 6.</li>
  <li><a href="https://blog.angular.io/angular-v15-is-now-available-df7be7f2f4c8">Angular v15 is now available!</a>
— les <em>standalone components</em> et la directive <code class="language-plaintext highlighter-rouge">NgOptimizedImage</code> sont désormais considérés stables, et <code class="language-plaintext highlighter-rouge">angular-cli</code>
supporte officiellement NodeJS v18. Comme d’habitude Ninja Squad nous résume tout ça dans ses articles
<a href="https://blog.ninja-squad.com/2022/11/16/what-is-new-angular-15.0/">What’s new in Angular 15?</a> et
<a href="https://blog.ninja-squad.com/2022/11/16/angular-cli-15.0/">What’s new in Angular CLI 15.0?</a>, et nous fait au passage
découvrir <a href="https://github.com/cexbrayat/angular-cli-diff/">angular-cli-diff</a>.</li>
  <li><a href="https://github.com/ansible-community/ansible-build-data/blob/main/7/CHANGELOG-v7.rst#release-summary">Ansible 7</a>
— avec <a href="https://github.com/ansible/ansible/blob/stable-2.14/changelogs/CHANGELOG-v2.14.rst">ansible-core 2.14</a>.
Attention cette version impose de nouvelles contraintes sur les <em>control node</em> : Python 3.9 au minimum, <abbr title="Universal character set Transformation Format - 8 bits">UTF-8</abbr> comme
locale et <abbr title="Universal character set Transformation Format - 8 bits">UTF-8</abbr> comme encoding du système de fichier (pour plus d’informations, jetez un coup d’œil au
<a href="https://docs.ansible.com/ansible/devel/porting_guides/porting_guide_7.html">guide de migration</a>).</li>
  <li><a href="https://about.gitlab.com/releases/2022/11/22/gitlab-15-6-released/">GitLab 15.6 released with improvements to security policies, <abbr title="Continuous Integration">CI</abbr>/<abbr title="Continuous Delivery">CD</abbr> variables, and <abbr title="Dynamic Application Security Testing">DAST</abbr> <abbr title="Application Programming Interface">API</abbr></a>
— des petites améliorations sympas, mais rien de majeur (dans la version gratuite).</li>
  <li><a href="https://www.lunasec.io/docs/blog/what-is-epss/">What is <abbr title="Exploit Prediction Scoring System">EPSS</abbr>? A new rating system for vulnerabilities to replace <abbr title="Common Vulnerability Scoring System">CVSS</abbr>.</a>
— le machine learning semble de plus en plus utilisé <a href="https://blog.sonatype.com/how-is-the-sonatype-safety-rating-determined">dans des indicateurs de
sécurité</a>.</li>
  <li><a href="https://www.touteleurope.eu/economie-et-social/numerique-que-sont-le-dma-et-le-dsa-les-reglements-europeens-qui-veulent-reguler-internet/">Numérique : que sont le <abbr title="Digital Markets Act">DMA</abbr> et le <abbr title="Digital Services Act">DSA</abbr>, les règlements européens qui veulent réguler internet ?</a>
— ces directives ont été publiées ce mois-ci et s’appliqueront en 2023-2024.
<a href="https://www.programmez.com/actualites/meta-ne-serait-pas-capable-de-comprendre-comment-les-donnees-de-facebook-sont-traitees-34653">Il va y avoir du boulot chez Facebook !</a></li>
  <li><a href="https://lescastcodeurs.com/2022/11/21/lcc-288-l-episode-marathon-mastodonien/"><abbr title="Les Cast Codeurs">LCC</abbr> 288 - L’épisode marathon mastodonien</a>
— l’épisode où on cite <a href="https://github.com/marcwrobel/jbanking">jbanking</a> !</li>
</ul>

<h2 id="articles-podcasts-et-vidéos">Articles, podcasts et vidéos</h2>

<ul>
  <li><a href="https://whichjdk.com/">Which Version of <abbr title="Java Development Kit">JDK</abbr> Should I Use?</a>
— une page très bien faite pour vous aider à choisir votre <abbr title="Java Development Kit">JDK</abbr> en fonction de vos contraintes.</li>
  <li><a href="https://inside.java/2022/10/17/clean-code-with-amber/">Clean Code with Records, Sealed Classes and Pattern Matching</a>
— José Paumard présente les possibilités actuelles et futures du <em>pattern matching</em> en Java. Intéressant !</li>
  <li><a href="https://www.marcobehler.com/guides/java-project-loom">Understanding Java’s Project Loom</a>
— Marco Behler démystifie, de manière concise, les <em>virtual threads</em>.</li>
  <li><a href="https://vladmihalcea.com/spring-data-jpa-findbyid/">The Spring Data <abbr title="Java Persistence API">JPA</abbr> findById Anti-Pattern</a>
— Vlad Mihalcea nous explique pourquoi l’utilisation de <code class="language-plaintext highlighter-rouge">findById</code> peut être contre-productive.</li>
  <li><a href="https://blog.frankel.ch/spring-modulith-modularity-maturity/">Spring Modulith: have we reached modularity maturity?</a>,
<a href="https://www.infoq.com/news/2022/11/spring-modulith-launch/">Spring Modulith Structures Spring Boot 3 Applications with Modules and Events</a>
— quelques articles sur ce projet que je trouve prometteur.</li>
  <li><a href="https://github.com/quarkusio/quarkus/discussions/29161">What is the Quarkus support policy?</a>
— bon à savoir : il est possible d’avoir du support sur Quarkus en utilisant les
<a href="https://access.redhat.com/products/quarkus">Red Hat builds of Quarkus</a>.</li>
  <li><a href="https://www.youtube.com/watch?v=QyJZzq0v7Z4">Why Isn’t Functional Programming the Norm?</a>
— excellente présentation de Richard Feldman sur l’histoire des langages, ce qui a fait leur popularité et pourquoi
il n’y a pas de langage “purement fonctionnel” dans les langages les plus populaires. Dans la même veine, vous pouvez
aussi lire l’article de Ties van de Ven : <a href="https://foojay.io/today/the-problem-with-functional-programming/">The Problem with Functional
Programming</a>.</li>
  <li><a href="https://blog.frankel.ch/poor-man-api/">A poor man’s <abbr title="Application Programming Interface">API</abbr></a>
— très bonne idée ! Sinon, si votre <abbr title="Application Programming Interface">API</abbr> est statique (par exemple si elle retourne des informations sur les pays),
vous pouvez aussi envisager de la publier en combinant votre <abbr title="Continuous Integration">CI</abbr>/<abbr title="Continuous Delivery">CD</abbr> et un générateur de sites statiques. Pour un
exemple voir <a href="https://github.com/endoflife-date/endoflife.date/blob/master/_plugins/create-json-files.rb">endoflife.date</a>.</li>
  <li><a href="https://blog.codecentric.de/my-keycloak-learning-journey">My Keycloak learning journey</a>
— comment bien débuter avec Keycloak.</li>
  <li><a href="https://mydbanotebook.org/post/how-to-do-proper-backups/">How to do proper backups (with PostgreSQL)</a>
— <abbr title="too long; didn’t read">tl;dr</abbr> : <em>use <code class="language-plaintext highlighter-rouge">pgBackRest</code> and relax</em>.</li>
  <li><a href="https://www.javacodegeeks.com/2022/11/convert-json-file-to-yaml-using-jq.html">Convert <abbr title="JavaScript Object Notation">JSON</abbr> file to <abbr title="Yet Another Markup Language">YAML</abbr> using JQ</a>
— ça fait aussi le café <code class="language-plaintext highlighter-rouge">jq</code> ?</li>
  <li><a href="https://ifttd.io/ia-a-grande-echelle/">#180 — Olivier Koch — Des <abbr title="Intelligence Artificielle">IA</abbr> plus grandes, plus efficaces et plus rapidement</a>
— très intéressant si comme moi vous n’y connaissez pas grand-chose en <abbr title="Intelligence Artificielle">IA</abbr> ou en machine learning.</li>
  <li><a href="https://www.nolimitsecu.fr/re-utiliser-un-leak-cest-legal-ou-cest-penal/">Réutiliser un leak, c’est légal ou c’est pénal ?</a>
— en tout cas, comme tout ce qui touche au droit, c’est compliqué.</li>
  <li><a href="https://medium.com/teaxyz/tea-brew-478a9e736638">tea.xyz - Something new is brewing</a>,
<a href="https://github.blog/2022-11-09-an-open-source-economy-built-by-developers-for-developers/">GitHub Accelerator - An open source economy–built by developers, for developers</a>
— de nouvelles idées pour financer l’open source apparaissent : sympa !</li>
</ul>

<h2 id="découvertes">Découvertes</h2>

<ul>
  <li><a href="https://junit-pioneer.org/docs/">junit-pioneer — JUnit 5 extension pack, pushing the frontiers on Jupiter</a>
— pleins de petites annotations qui peuvent faciliter l’écriture de certains types de tests.</li>
  <li><a href="https://cheat.sh">cheat.sh — the only cheat sheet you need</a>
— <a href="https://tldr.sh/">tldr</a> sous stéroïde.</li>
  <li><a href="https://github.com/kellyjonbrazil/jc"><code class="language-plaintext highlighter-rouge">jc</code> — CLI tool that converts the output of popular command line tools to <abbr title="JavaScript Object Notation">JSON</abbr></a>
— un outil qui permet de manipuler facilement la sortie de nombreuses de commandes (<code class="language-plaintext highlighter-rouge">crontab</code>, <code class="language-plaintext highlighter-rouge">dig</code>, <code class="language-plaintext highlighter-rouge">date</code>,
<code class="language-plaintext highlighter-rouge">sysctl</code>…) dans des scripts ou des playbooks Ansible.</li>
  <li><a href="https://developer.microsoft.com/en-us/microsoft-edge/tools/vms/"><abbr title="Internet Explorer">IE</abbr> Virtual Machines — Test <abbr title="Internet Explorer 11">IE11</abbr> and Microsoft Edge Legacy using free Windows 10 virtual machines you download and manage locally</a>
— si vous avez ponctuellement besoin d’une <abbr title="Virtual Machine">VM</abbr> Windows (les images sont malheureusement un peu anciennes).</li>
</ul>

<p><a href="https://www.youtube.com/watch?v=NiwqRSCWw2g" title="Sepultura - Ratamahatta" target="_blank">That’s all folks</a> !</p>

<!-- prettier-ignore-start -->
<!-- prettier-ignore-end -->]]></content><author><name>Marc Wrobel</name><email>marc.wrobel@gmail.com</email></author><category term="liens" /><summary type="html"><![CDATA[Nouvelles, articles, podcasts, vidéos et découvertes intéressantes du mois de novembre 2022.]]></summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://www.marcwrobel.fr/assets/img/default-twitter-card.png" /><media:content medium="image" url="https://www.marcwrobel.fr/assets/img/default-twitter-card.png" xmlns:media="http://search.yahoo.com/mrss/" /></entry><entry><title type="html">marcwrobel.fr s’améliore !</title><link href="https://www.marcwrobel.fr/marcwrobel-fr-ameliore" rel="alternate" type="text/html" title="marcwrobel.fr s’améliore !" /><published>2022-11-15T00:00:00+01:00</published><updated>2022-11-15T00:00:00+01:00</updated><id>https://www.marcwrobel.fr/marcwrobel-fr-ameliore</id><content type="html" xml:base="https://www.marcwrobel.fr/marcwrobel-fr-ameliore"><![CDATA[<p>À tort ou à raison, je ne suis pas un grand utilisateur des réseaux sociaux. Ce site est donc finalement l’endroit sur
internet sur lequel je suis le plus actif. Or cela fait quelques années qu’il n’a pas changé : il méritait donc que je
m’occupe un peu de lui.</p>

<p>Je m’y suis attelé ces derniers jours et c’est désormais chose faite ! Voici ce qui a changé :</p>

<ul>
  <li>migration vers Bootstrap 5 (il était temps),</li>
  <li>migration de Font Awesome 4 vers Bootstrap Icons (j’ai un <a href="https://fontawesome.com/license">doute sur la licence</a>
depuis la version 5),</li>
  <li>internalisation des dépendances <abbr title="Cascading Style Sheets">CSS</abbr> et JavaScript (pour des questions de <a href="https://www.jsdelivr.com/blog/how-the-german-courts-ruling-on-google-fonts-affects-jsdelivr-and-why-it-is-safe-to-use/">conformité au
<abbr title="Règlement Général sur la Protection des Données">RGPD</abbr></a>),</li>
  <li>démarrage d’une page <a href="/a-propos">À propos</a> (il faut bien se vendre un peu non !?),</li>
  <li>et de nombreuses petites améliorations liées au style visuel, au <abbr title="Search Engine Optimisation">SEO</abbr>, au contenu, à la maintenance du site…</li>
</ul>

<p>La date de dernière modification a été mise à jour sur l’ensemble des articles. Ça ne devrait pas être un problème pour
vos lecteurs de flux <abbr title="Really Simple Syndication">RSS</abbr> dans la mesure où les dates de publication et les titres des articles n’ont pas changé. Mais si
tel était le cas vous m’en voyez désolé !</p>

<!-- prettier-ignore-start -->
<!-- prettier-ignore-end -->]]></content><author><name>Marc Wrobel</name><email>marc.wrobel@gmail.com</email></author><category term="nouvelles" /><summary type="html"><![CDATA[Le site marcwrobel.fr a bénéficié d'un petit rafraîchissement, je vous dis tout.]]></summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://www.marcwrobel.fr/assets/img/default-twitter-card.png" /><media:content medium="image" url="https://www.marcwrobel.fr/assets/img/default-twitter-card.png" xmlns:media="http://search.yahoo.com/mrss/" /></entry></feed>