<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:xhtml="http://www.w3.org/1999/xhtml">
<url>
<loc>https://riadhmnasri.fr/fr</loc>
<xhtml:link rel="alternate" hreflang="fr" href="https://riadhmnasri.fr/fr" />
<xhtml:link rel="alternate" hreflang="en" href="https://riadhmnasri.fr/en" />
<lastmod>2026-07-29T10:14:53.290Z</lastmod>
<changefreq>monthly</changefreq>
<priority>1</priority>
</url>
<url>
<loc>https://riadhmnasri.fr/en</loc>
<xhtml:link rel="alternate" hreflang="fr" href="https://riadhmnasri.fr/fr" />
<xhtml:link rel="alternate" hreflang="en" href="https://riadhmnasri.fr/en" />
<lastmod>2026-07-29T10:14:53.290Z</lastmod>
<changefreq>monthly</changefreq>
<priority>1</priority>
</url>
<url>
<loc>https://riadhmnasri.fr/fr/blog</loc>
<xhtml:link rel="alternate" hreflang="fr" href="https://riadhmnasri.fr/fr/blog" />
<xhtml:link rel="alternate" hreflang="en" href="https://riadhmnasri.fr/en/blog" />
<lastmod>2026-07-29T10:14:53.290Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://riadhmnasri.fr/en/blog</loc>
<xhtml:link rel="alternate" hreflang="fr" href="https://riadhmnasri.fr/fr/blog" />
<xhtml:link rel="alternate" hreflang="en" href="https://riadhmnasri.fr/en/blog" />
<lastmod>2026-07-29T10:14:53.290Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://riadhmnasri.fr/fr/notes</loc>
<xhtml:link rel="alternate" hreflang="fr" href="https://riadhmnasri.fr/fr/notes" />
<xhtml:link rel="alternate" hreflang="en" href="https://riadhmnasri.fr/en/notes" />
<lastmod>2026-07-29T10:14:53.290Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://riadhmnasri.fr/en/notes</loc>
<xhtml:link rel="alternate" hreflang="fr" href="https://riadhmnasri.fr/fr/notes" />
<xhtml:link rel="alternate" hreflang="en" href="https://riadhmnasri.fr/en/notes" />
<lastmod>2026-07-29T10:14:53.290Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://riadhmnasri.fr/fr/portfolio</loc>
<xhtml:link rel="alternate" hreflang="fr" href="https://riadhmnasri.fr/fr/portfolio" />
<xhtml:link rel="alternate" hreflang="en" href="https://riadhmnasri.fr/en/portfolio" />
<lastmod>2026-07-29T10:14:53.290Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://riadhmnasri.fr/en/portfolio</loc>
<xhtml:link rel="alternate" hreflang="fr" href="https://riadhmnasri.fr/fr/portfolio" />
<xhtml:link rel="alternate" hreflang="en" href="https://riadhmnasri.fr/en/portfolio" />
<lastmod>2026-07-29T10:14:53.290Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://riadhmnasri.fr/fr/blog/thread-dump-utilite-comment-faire-difference-avec-heap-dump</loc>
<xhtml:link rel="alternate" hreflang="fr" href="https://riadhmnasri.fr/fr/blog/thread-dump-utilite-comment-faire-difference-avec-heap-dump" />
<xhtml:link rel="alternate" hreflang="en" href="https://riadhmnasri.fr/en/blog/thread-dump-usefulness-how-to-and-difference-from-heap-dump" />
<lastmod>2026-08-11</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://riadhmnasri.fr/fr/blog/investiguer-un-blocage-jvm-avec-un-heap-dump</loc>
<xhtml:link rel="alternate" hreflang="fr" href="https://riadhmnasri.fr/fr/blog/investiguer-un-blocage-jvm-avec-un-heap-dump" />
<xhtml:link rel="alternate" hreflang="en" href="https://riadhmnasri.fr/en/blog/investigating-a-jvm-stall-with-a-heap-dump" />
<lastmod>2026-08-10</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://riadhmnasri.fr/fr/blog/organiser-un-coding-dojo-choisir-un-kata-et-le-derouler-en-tdd</loc>
<xhtml:link rel="alternate" hreflang="fr" href="https://riadhmnasri.fr/fr/blog/organiser-un-coding-dojo-choisir-un-kata-et-le-derouler-en-tdd" />
<xhtml:link rel="alternate" hreflang="en" href="https://riadhmnasri.fr/en/blog/running-a-coding-dojo-choosing-a-kata-and-driving-it-with-tdd" />
<lastmod>2026-08-09</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://riadhmnasri.fr/fr/blog/ce-que-mon-mba-a-polytechnique-m-a-appris</loc>
<xhtml:link rel="alternate" hreflang="fr" href="https://riadhmnasri.fr/fr/blog/ce-que-mon-mba-a-polytechnique-m-a-appris" />
<xhtml:link rel="alternate" hreflang="en" href="https://riadhmnasri.fr/en/blog/what-my-mba-at-polytechnique-taught-me" />
<lastmod>2026-08-08</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://riadhmnasri.fr/fr/blog/les-appariements-suisses-lalgorithme-derriere-lequite-dun-tournoi</loc>
<xhtml:link rel="alternate" hreflang="fr" href="https://riadhmnasri.fr/fr/blog/les-appariements-suisses-lalgorithme-derriere-lequite-dun-tournoi" />
<xhtml:link rel="alternate" hreflang="en" href="https://riadhmnasri.fr/en/blog/swiss-pairings-the-algorithm-behind-a-tournaments-fairness" />
<lastmod>2026-08-06</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://riadhmnasri.fr/fr/blog/sealed-classes-modeliser-un-ensemble-fini-de-cas</loc>
<xhtml:link rel="alternate" hreflang="fr" href="https://riadhmnasri.fr/fr/blog/sealed-classes-modeliser-un-ensemble-fini-de-cas" />
<xhtml:link rel="alternate" hreflang="en" href="https://riadhmnasri.fr/en/blog/sealed-classes-modeling-a-finite-set-of-cases" />
<lastmod>2026-08-05</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://riadhmnasri.fr/fr/blog/apache-spark-sur-kubernetes-et-azure-pour-le-calcul-de-risque</loc>
<xhtml:link rel="alternate" hreflang="fr" href="https://riadhmnasri.fr/fr/blog/apache-spark-sur-kubernetes-et-azure-pour-le-calcul-de-risque" />
<xhtml:link rel="alternate" hreflang="en" href="https://riadhmnasri.fr/en/blog/apache-spark-on-kubernetes-and-azure-for-risk-computation" />
<lastmod>2026-08-04</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://riadhmnasri.fr/fr/blog/optimiser-sa-consommation-de-tokens-avec-claude-et-copilot</loc>
<xhtml:link rel="alternate" hreflang="fr" href="https://riadhmnasri.fr/fr/blog/optimiser-sa-consommation-de-tokens-avec-claude-et-copilot" />
<xhtml:link rel="alternate" hreflang="en" href="https://riadhmnasri.fr/en/blog/optimizing-token-usage-with-claude-and-copilot" />
<lastmod>2026-08-03</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://riadhmnasri.fr/fr/blog/kubernetes-au-quotidien-pour-un-developpeur-java</loc>
<xhtml:link rel="alternate" hreflang="fr" href="https://riadhmnasri.fr/fr/blog/kubernetes-au-quotidien-pour-un-developpeur-java" />
<xhtml:link rel="alternate" hreflang="en" href="https://riadhmnasri.fr/en/blog/kubernetes-day-to-day-for-a-java-developer" />
<lastmod>2026-08-02</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://riadhmnasri.fr/fr/blog/faire-du-vrai-tdd-avec-claude-code</loc>
<xhtml:link rel="alternate" hreflang="fr" href="https://riadhmnasri.fr/fr/blog/faire-du-vrai-tdd-avec-claude-code" />
<xhtml:link rel="alternate" hreflang="en" href="https://riadhmnasri.fr/en/blog/real-tdd-with-claude-code" />
<lastmod>2026-08-01</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://riadhmnasri.fr/fr/blog/fixer-son-tjm-la-methode-au-dela-de-la-calculette</loc>
<xhtml:link rel="alternate" hreflang="fr" href="https://riadhmnasri.fr/fr/blog/fixer-son-tjm-la-methode-au-dela-de-la-calculette" />
<xhtml:link rel="alternate" hreflang="en" href="https://riadhmnasri.fr/en/blog/setting-your-day-rate-beyond-the-calculator" />
<lastmod>2026-07-31</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://riadhmnasri.fr/fr/blog/var-value-at-risk-ce-quelle-mesure-et-ce-quelle-ne-mesure-pas</loc>
<xhtml:link rel="alternate" hreflang="fr" href="https://riadhmnasri.fr/fr/blog/var-value-at-risk-ce-quelle-mesure-et-ce-quelle-ne-mesure-pas" />
<xhtml:link rel="alternate" hreflang="en" href="https://riadhmnasri.fr/en/blog/var-value-at-risk-what-it-measures-and-doesnt" />
<lastmod>2026-07-30</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://riadhmnasri.fr/fr/blog/schema-registry-versionner-kafka-sans-casser</loc>
<xhtml:link rel="alternate" hreflang="fr" href="https://riadhmnasri.fr/fr/blog/schema-registry-versionner-kafka-sans-casser" />
<xhtml:link rel="alternate" hreflang="en" href="https://riadhmnasri.fr/en/blog/schema-registry-versioning-kafka-without-breaking-consumers" />
<lastmod>2026-07-29</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://riadhmnasri.fr/fr/blog/comment-jai-construit-ce-blog-avec-claude-code</loc>
<xhtml:link rel="alternate" hreflang="fr" href="https://riadhmnasri.fr/fr/blog/comment-jai-construit-ce-blog-avec-claude-code" />
<xhtml:link rel="alternate" hreflang="en" href="https://riadhmnasri.fr/en/blog/how-i-built-this-blog-with-claude-code" />
<lastmod>2026-07-28</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://riadhmnasri.fr/fr/blog/architecture-hexagonale-en-pratique</loc>
<xhtml:link rel="alternate" hreflang="fr" href="https://riadhmnasri.fr/fr/blog/architecture-hexagonale-en-pratique" />
<xhtml:link rel="alternate" hreflang="en" href="https://riadhmnasri.fr/en/blog/hexagonal-architecture-in-practice" />
<lastmod>2026-07-27</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://riadhmnasri.fr/fr/blog/ia-partenaire-de-reflexion</loc>
<xhtml:link rel="alternate" hreflang="fr" href="https://riadhmnasri.fr/fr/blog/ia-partenaire-de-reflexion" />
<xhtml:link rel="alternate" hreflang="en" href="https://riadhmnasri.fr/en/blog/ai-as-a-thinking-partner" />
<lastmod>2026-07-20</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://riadhmnasri.fr/fr/blog/agent-harnais-skills-hooks</loc>
<xhtml:link rel="alternate" hreflang="fr" href="https://riadhmnasri.fr/fr/blog/agent-harnais-skills-hooks" />
<xhtml:link rel="alternate" hreflang="en" href="https://riadhmnasri.fr/en/blog/agent-harness-skills-hooks" />
<lastmod>2026-07-15</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://riadhmnasri.fr/fr/blog/developpeur-augmente-claude-code</loc>
<xhtml:link rel="alternate" hreflang="fr" href="https://riadhmnasri.fr/fr/blog/developpeur-augmente-claude-code" />
<xhtml:link rel="alternate" hreflang="en" href="https://riadhmnasri.fr/en/blog/augmented-developer-claude-code" />
<lastmod>2026-07-10</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://riadhmnasri.fr/fr/blog/documentation-vivante-skill-claude</loc>
<xhtml:link rel="alternate" hreflang="fr" href="https://riadhmnasri.fr/fr/blog/documentation-vivante-skill-claude" />
<xhtml:link rel="alternate" hreflang="en" href="https://riadhmnasri.fr/en/blog/living-documentation-claude-skill" />
<lastmod>2026-06-25</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://riadhmnasri.fr/fr/blog/risque-de-contrepartie-explique-a-un-developpeur</loc>
<xhtml:link rel="alternate" hreflang="fr" href="https://riadhmnasri.fr/fr/blog/risque-de-contrepartie-explique-a-un-developpeur" />
<xhtml:link rel="alternate" hreflang="en" href="https://riadhmnasri.fr/en/blog/counterparty-risk-explained-to-a-developer" />
<lastmod>2026-06-15</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://riadhmnasri.fr/fr/blog/tdd-sous-pression-de-deadline</loc>
<xhtml:link rel="alternate" hreflang="fr" href="https://riadhmnasri.fr/fr/blog/tdd-sous-pression-de-deadline" />
<xhtml:link rel="alternate" hreflang="en" href="https://riadhmnasri.fr/en/blog/tdd-under-deadline-pressure" />
<lastmod>2026-05-28</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://riadhmnasri.fr/fr/blog/pourquoi-kotlin-reste-mon-langage-jvm-prefere</loc>
<xhtml:link rel="alternate" hreflang="fr" href="https://riadhmnasri.fr/fr/blog/pourquoi-kotlin-reste-mon-langage-jvm-prefere" />
<xhtml:link rel="alternate" hreflang="en" href="https://riadhmnasri.fr/en/blog/why-kotlin-remains-my-jvm-language-of-choice" />
<lastmod>2026-05-05</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://riadhmnasri.fr/fr/blog/repetition-espacee-leitner-structure-de-donnees</loc>
<xhtml:link rel="alternate" hreflang="fr" href="https://riadhmnasri.fr/fr/blog/repetition-espacee-leitner-structure-de-donnees" />
<xhtml:link rel="alternate" hreflang="en" href="https://riadhmnasri.fr/en/blog/spaced-repetition-leitner-data-structure" />
<lastmod>2026-04-05</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://riadhmnasri.fr/fr/blog/stockfish-dans-le-navigateur-ce-que-wasm-change</loc>
<xhtml:link rel="alternate" hreflang="fr" href="https://riadhmnasri.fr/fr/blog/stockfish-dans-le-navigateur-ce-que-wasm-change" />
<xhtml:link rel="alternate" hreflang="en" href="https://riadhmnasri.fr/en/blog/stockfish-in-the-browser-what-wasm-changes" />
<lastmod>2026-03-01</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://riadhmnasri.fr/fr/blog/event-driven-avec-kafka-ce-quon-gagne-et-ce-quon-perd</loc>
<xhtml:link rel="alternate" hreflang="fr" href="https://riadhmnasri.fr/fr/blog/event-driven-avec-kafka-ce-quon-gagne-et-ce-quon-perd" />
<xhtml:link rel="alternate" hreflang="en" href="https://riadhmnasri.fr/en/blog/event-driven-with-kafka-what-you-gain-and-lose" />
<lastmod>2026-02-10</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://riadhmnasri.fr/fr/blog/commencer-et-apprendre-terraform</loc>
<xhtml:link rel="alternate" hreflang="fr" href="https://riadhmnasri.fr/fr/blog/commencer-et-apprendre-terraform" />
<xhtml:link rel="alternate" hreflang="en" href="https://riadhmnasri.fr/en/blog/getting-started-learning-terraform" />
<lastmod>2026-01-15</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://riadhmnasri.fr/en/blog/thread-dump-usefulness-how-to-and-difference-from-heap-dump</loc>
<xhtml:link rel="alternate" hreflang="fr" href="https://riadhmnasri.fr/fr/blog/thread-dump-utilite-comment-faire-difference-avec-heap-dump" />
<xhtml:link rel="alternate" hreflang="en" href="https://riadhmnasri.fr/en/blog/thread-dump-usefulness-how-to-and-difference-from-heap-dump" />
<lastmod>2026-08-11</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://riadhmnasri.fr/en/blog/investigating-a-jvm-stall-with-a-heap-dump</loc>
<xhtml:link rel="alternate" hreflang="fr" href="https://riadhmnasri.fr/fr/blog/investiguer-un-blocage-jvm-avec-un-heap-dump" />
<xhtml:link rel="alternate" hreflang="en" href="https://riadhmnasri.fr/en/blog/investigating-a-jvm-stall-with-a-heap-dump" />
<lastmod>2026-08-10</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://riadhmnasri.fr/en/blog/running-a-coding-dojo-choosing-a-kata-and-driving-it-with-tdd</loc>
<xhtml:link rel="alternate" hreflang="fr" href="https://riadhmnasri.fr/fr/blog/organiser-un-coding-dojo-choisir-un-kata-et-le-derouler-en-tdd" />
<xhtml:link rel="alternate" hreflang="en" href="https://riadhmnasri.fr/en/blog/running-a-coding-dojo-choosing-a-kata-and-driving-it-with-tdd" />
<lastmod>2026-08-09</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://riadhmnasri.fr/en/blog/what-my-mba-at-polytechnique-taught-me</loc>
<xhtml:link rel="alternate" hreflang="fr" href="https://riadhmnasri.fr/fr/blog/ce-que-mon-mba-a-polytechnique-m-a-appris" />
<xhtml:link rel="alternate" hreflang="en" href="https://riadhmnasri.fr/en/blog/what-my-mba-at-polytechnique-taught-me" />
<lastmod>2026-08-08</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://riadhmnasri.fr/en/blog/swiss-pairings-the-algorithm-behind-a-tournaments-fairness</loc>
<xhtml:link rel="alternate" hreflang="fr" href="https://riadhmnasri.fr/fr/blog/les-appariements-suisses-lalgorithme-derriere-lequite-dun-tournoi" />
<xhtml:link rel="alternate" hreflang="en" href="https://riadhmnasri.fr/en/blog/swiss-pairings-the-algorithm-behind-a-tournaments-fairness" />
<lastmod>2026-08-06</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://riadhmnasri.fr/en/blog/sealed-classes-modeling-a-finite-set-of-cases</loc>
<xhtml:link rel="alternate" hreflang="fr" href="https://riadhmnasri.fr/fr/blog/sealed-classes-modeliser-un-ensemble-fini-de-cas" />
<xhtml:link rel="alternate" hreflang="en" href="https://riadhmnasri.fr/en/blog/sealed-classes-modeling-a-finite-set-of-cases" />
<lastmod>2026-08-05</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://riadhmnasri.fr/en/blog/apache-spark-on-kubernetes-and-azure-for-risk-computation</loc>
<xhtml:link rel="alternate" hreflang="fr" href="https://riadhmnasri.fr/fr/blog/apache-spark-sur-kubernetes-et-azure-pour-le-calcul-de-risque" />
<xhtml:link rel="alternate" hreflang="en" href="https://riadhmnasri.fr/en/blog/apache-spark-on-kubernetes-and-azure-for-risk-computation" />
<lastmod>2026-08-04</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://riadhmnasri.fr/en/blog/optimizing-token-usage-with-claude-and-copilot</loc>
<xhtml:link rel="alternate" hreflang="fr" href="https://riadhmnasri.fr/fr/blog/optimiser-sa-consommation-de-tokens-avec-claude-et-copilot" />
<xhtml:link rel="alternate" hreflang="en" href="https://riadhmnasri.fr/en/blog/optimizing-token-usage-with-claude-and-copilot" />
<lastmod>2026-08-03</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://riadhmnasri.fr/en/blog/kubernetes-day-to-day-for-a-java-developer</loc>
<xhtml:link rel="alternate" hreflang="fr" href="https://riadhmnasri.fr/fr/blog/kubernetes-au-quotidien-pour-un-developpeur-java" />
<xhtml:link rel="alternate" hreflang="en" href="https://riadhmnasri.fr/en/blog/kubernetes-day-to-day-for-a-java-developer" />
<lastmod>2026-08-02</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://riadhmnasri.fr/en/blog/real-tdd-with-claude-code</loc>
<xhtml:link rel="alternate" hreflang="fr" href="https://riadhmnasri.fr/fr/blog/faire-du-vrai-tdd-avec-claude-code" />
<xhtml:link rel="alternate" hreflang="en" href="https://riadhmnasri.fr/en/blog/real-tdd-with-claude-code" />
<lastmod>2026-08-01</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://riadhmnasri.fr/en/blog/setting-your-day-rate-beyond-the-calculator</loc>
<xhtml:link rel="alternate" hreflang="fr" href="https://riadhmnasri.fr/fr/blog/fixer-son-tjm-la-methode-au-dela-de-la-calculette" />
<xhtml:link rel="alternate" hreflang="en" href="https://riadhmnasri.fr/en/blog/setting-your-day-rate-beyond-the-calculator" />
<lastmod>2026-07-31</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://riadhmnasri.fr/en/blog/var-value-at-risk-what-it-measures-and-doesnt</loc>
<xhtml:link rel="alternate" hreflang="fr" href="https://riadhmnasri.fr/fr/blog/var-value-at-risk-ce-quelle-mesure-et-ce-quelle-ne-mesure-pas" />
<xhtml:link rel="alternate" hreflang="en" href="https://riadhmnasri.fr/en/blog/var-value-at-risk-what-it-measures-and-doesnt" />
<lastmod>2026-07-30</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://riadhmnasri.fr/en/blog/schema-registry-versioning-kafka-without-breaking-consumers</loc>
<xhtml:link rel="alternate" hreflang="fr" href="https://riadhmnasri.fr/fr/blog/schema-registry-versionner-kafka-sans-casser" />
<xhtml:link rel="alternate" hreflang="en" href="https://riadhmnasri.fr/en/blog/schema-registry-versioning-kafka-without-breaking-consumers" />
<lastmod>2026-07-29</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://riadhmnasri.fr/en/blog/how-i-built-this-blog-with-claude-code</loc>
<xhtml:link rel="alternate" hreflang="fr" href="https://riadhmnasri.fr/fr/blog/comment-jai-construit-ce-blog-avec-claude-code" />
<xhtml:link rel="alternate" hreflang="en" href="https://riadhmnasri.fr/en/blog/how-i-built-this-blog-with-claude-code" />
<lastmod>2026-07-28</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://riadhmnasri.fr/en/blog/hexagonal-architecture-in-practice</loc>
<xhtml:link rel="alternate" hreflang="fr" href="https://riadhmnasri.fr/fr/blog/architecture-hexagonale-en-pratique" />
<xhtml:link rel="alternate" hreflang="en" href="https://riadhmnasri.fr/en/blog/hexagonal-architecture-in-practice" />
<lastmod>2026-07-27</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://riadhmnasri.fr/en/blog/ai-as-a-thinking-partner</loc>
<xhtml:link rel="alternate" hreflang="fr" href="https://riadhmnasri.fr/fr/blog/ia-partenaire-de-reflexion" />
<xhtml:link rel="alternate" hreflang="en" href="https://riadhmnasri.fr/en/blog/ai-as-a-thinking-partner" />
<lastmod>2026-07-20</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://riadhmnasri.fr/en/blog/agent-harness-skills-hooks</loc>
<xhtml:link rel="alternate" hreflang="fr" href="https://riadhmnasri.fr/fr/blog/agent-harnais-skills-hooks" />
<xhtml:link rel="alternate" hreflang="en" href="https://riadhmnasri.fr/en/blog/agent-harness-skills-hooks" />
<lastmod>2026-07-15</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://riadhmnasri.fr/en/blog/augmented-developer-claude-code</loc>
<xhtml:link rel="alternate" hreflang="fr" href="https://riadhmnasri.fr/fr/blog/developpeur-augmente-claude-code" />
<xhtml:link rel="alternate" hreflang="en" href="https://riadhmnasri.fr/en/blog/augmented-developer-claude-code" />
<lastmod>2026-07-10</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://riadhmnasri.fr/en/blog/living-documentation-claude-skill</loc>
<xhtml:link rel="alternate" hreflang="fr" href="https://riadhmnasri.fr/fr/blog/documentation-vivante-skill-claude" />
<xhtml:link rel="alternate" hreflang="en" href="https://riadhmnasri.fr/en/blog/living-documentation-claude-skill" />
<lastmod>2026-06-25</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://riadhmnasri.fr/en/blog/counterparty-risk-explained-to-a-developer</loc>
<xhtml:link rel="alternate" hreflang="fr" href="https://riadhmnasri.fr/fr/blog/risque-de-contrepartie-explique-a-un-developpeur" />
<xhtml:link rel="alternate" hreflang="en" href="https://riadhmnasri.fr/en/blog/counterparty-risk-explained-to-a-developer" />
<lastmod>2026-06-15</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://riadhmnasri.fr/en/blog/tdd-under-deadline-pressure</loc>
<xhtml:link rel="alternate" hreflang="fr" href="https://riadhmnasri.fr/fr/blog/tdd-sous-pression-de-deadline" />
<xhtml:link rel="alternate" hreflang="en" href="https://riadhmnasri.fr/en/blog/tdd-under-deadline-pressure" />
<lastmod>2026-05-28</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://riadhmnasri.fr/en/blog/why-kotlin-remains-my-jvm-language-of-choice</loc>
<xhtml:link rel="alternate" hreflang="fr" href="https://riadhmnasri.fr/fr/blog/pourquoi-kotlin-reste-mon-langage-jvm-prefere" />
<xhtml:link rel="alternate" hreflang="en" href="https://riadhmnasri.fr/en/blog/why-kotlin-remains-my-jvm-language-of-choice" />
<lastmod>2026-05-05</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://riadhmnasri.fr/en/blog/spaced-repetition-leitner-data-structure</loc>
<xhtml:link rel="alternate" hreflang="fr" href="https://riadhmnasri.fr/fr/blog/repetition-espacee-leitner-structure-de-donnees" />
<xhtml:link rel="alternate" hreflang="en" href="https://riadhmnasri.fr/en/blog/spaced-repetition-leitner-data-structure" />
<lastmod>2026-04-05</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://riadhmnasri.fr/en/blog/stockfish-in-the-browser-what-wasm-changes</loc>
<xhtml:link rel="alternate" hreflang="fr" href="https://riadhmnasri.fr/fr/blog/stockfish-dans-le-navigateur-ce-que-wasm-change" />
<xhtml:link rel="alternate" hreflang="en" href="https://riadhmnasri.fr/en/blog/stockfish-in-the-browser-what-wasm-changes" />
<lastmod>2026-03-01</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://riadhmnasri.fr/en/blog/event-driven-with-kafka-what-you-gain-and-lose</loc>
<xhtml:link rel="alternate" hreflang="fr" href="https://riadhmnasri.fr/fr/blog/event-driven-avec-kafka-ce-quon-gagne-et-ce-quon-perd" />
<xhtml:link rel="alternate" hreflang="en" href="https://riadhmnasri.fr/en/blog/event-driven-with-kafka-what-you-gain-and-lose" />
<lastmod>2026-02-10</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://riadhmnasri.fr/en/blog/getting-started-learning-terraform</loc>
<xhtml:link rel="alternate" hreflang="fr" href="https://riadhmnasri.fr/fr/blog/commencer-et-apprendre-terraform" />
<xhtml:link rel="alternate" hreflang="en" href="https://riadhmnasri.fr/en/blog/getting-started-learning-terraform" />
<lastmod>2026-01-15</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://riadhmnasri.fr/fr/notes/expliquer-largent-a-un-enfant-sans-mentir</loc>
<xhtml:link rel="alternate" hreflang="fr" href="https://riadhmnasri.fr/fr/notes/expliquer-largent-a-un-enfant-sans-mentir" />
<xhtml:link rel="alternate" hreflang="en" href="https://riadhmnasri.fr/en/notes/what-a-lost-game-teaches-me" />
<lastmod>2026-08-07</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://riadhmnasri.fr/fr/notes/ce-quune-partie-perdue-mapprend</loc>
<xhtml:link rel="alternate" hreflang="fr" href="https://riadhmnasri.fr/fr/notes/ce-quune-partie-perdue-mapprend" />
<xhtml:link rel="alternate" hreflang="en" href="https://riadhmnasri.fr/en/notes/what-a-lost-game-teaches-me" />
<lastmod>2026-08-07</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://riadhmnasri.fr/fr/notes/pourquoi-les-echecs</loc>
<xhtml:link rel="alternate" hreflang="fr" href="https://riadhmnasri.fr/fr/notes/pourquoi-les-echecs" />
<xhtml:link rel="alternate" hreflang="en" href="https://riadhmnasri.fr/en/notes/why-chess-takes-so-much-space" />
<lastmod>2026-07-27</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://riadhmnasri.fr/fr/notes/pourquoi-je-code-les-apps-de-mes-enfants</loc>
<xhtml:link rel="alternate" hreflang="fr" href="https://riadhmnasri.fr/fr/notes/pourquoi-je-code-les-apps-de-mes-enfants" />
<xhtml:link rel="alternate" hreflang="en" href="https://riadhmnasri.fr/en/notes/why-i-build-my-kids-education-apps" />
<lastmod>2026-06-01</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://riadhmnasri.fr/fr/notes/un-ecosysteme-par-an</loc>
<xhtml:link rel="alternate" hreflang="fr" href="https://riadhmnasri.fr/fr/notes/un-ecosysteme-par-an" />
<xhtml:link rel="alternate" hreflang="en" href="https://riadhmnasri.fr/en/notes/one-new-ecosystem-a-year" />
<lastmod>2026-05-10</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://riadhmnasri.fr/fr/notes/bourse-vocabulaire-avant-de-commencer</loc>
<xhtml:link rel="alternate" hreflang="fr" href="https://riadhmnasri.fr/fr/notes/bourse-vocabulaire-avant-de-commencer" />
<xhtml:link rel="alternate" hreflang="en" href="https://riadhmnasri.fr/en/notes/stock-market-vocabulary-before-starting" />
<lastmod>2026-04-25</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://riadhmnasri.fr/fr/notes/comprendre-avant-de-construire</loc>
<xhtml:link rel="alternate" hreflang="fr" href="https://riadhmnasri.fr/fr/notes/comprendre-avant-de-construire" />
<xhtml:link rel="alternate" hreflang="en" href="https://riadhmnasri.fr/en/notes/understand-before-you-build" />
<lastmod>2026-04-20</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://riadhmnasri.fr/fr/notes/pourquoi-je-suis-passe-freelance</loc>
<xhtml:link rel="alternate" hreflang="fr" href="https://riadhmnasri.fr/fr/notes/pourquoi-je-suis-passe-freelance" />
<xhtml:link rel="alternate" hreflang="en" href="https://riadhmnasri.fr/en/notes/why-i-went-freelance" />
<lastmod>2026-03-15</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://riadhmnasri.fr/en/notes/what-a-lost-game-teaches-me</loc>
<xhtml:link rel="alternate" hreflang="fr" href="https://riadhmnasri.fr/fr/notes/expliquer-largent-a-un-enfant-sans-mentir" />
<xhtml:link rel="alternate" hreflang="en" href="https://riadhmnasri.fr/en/notes/what-a-lost-game-teaches-me" />
<lastmod>2026-08-07</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://riadhmnasri.fr/en/notes/explaining-money-to-a-child-without-lying</loc>
<xhtml:link rel="alternate" hreflang="fr" href="https://riadhmnasri.fr/fr/notes/expliquer-largent-a-un-enfant-sans-mentir" />
<xhtml:link rel="alternate" hreflang="en" href="https://riadhmnasri.fr/en/notes/explaining-money-to-a-child-without-lying" />
<lastmod>2026-08-07</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://riadhmnasri.fr/en/notes/why-chess-takes-so-much-space</loc>
<xhtml:link rel="alternate" hreflang="fr" href="https://riadhmnasri.fr/fr/notes/pourquoi-les-echecs" />
<xhtml:link rel="alternate" hreflang="en" href="https://riadhmnasri.fr/en/notes/why-chess-takes-so-much-space" />
<lastmod>2026-07-27</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://riadhmnasri.fr/en/notes/why-i-build-my-kids-education-apps</loc>
<xhtml:link rel="alternate" hreflang="fr" href="https://riadhmnasri.fr/fr/notes/pourquoi-je-code-les-apps-de-mes-enfants" />
<xhtml:link rel="alternate" hreflang="en" href="https://riadhmnasri.fr/en/notes/why-i-build-my-kids-education-apps" />
<lastmod>2026-06-01</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://riadhmnasri.fr/en/notes/one-new-ecosystem-a-year</loc>
<xhtml:link rel="alternate" hreflang="fr" href="https://riadhmnasri.fr/fr/notes/un-ecosysteme-par-an" />
<xhtml:link rel="alternate" hreflang="en" href="https://riadhmnasri.fr/en/notes/one-new-ecosystem-a-year" />
<lastmod>2026-05-10</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://riadhmnasri.fr/en/notes/stock-market-vocabulary-before-starting</loc>
<xhtml:link rel="alternate" hreflang="fr" href="https://riadhmnasri.fr/fr/notes/bourse-vocabulaire-avant-de-commencer" />
<xhtml:link rel="alternate" hreflang="en" href="https://riadhmnasri.fr/en/notes/stock-market-vocabulary-before-starting" />
<lastmod>2026-04-25</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://riadhmnasri.fr/en/notes/understand-before-you-build</loc>
<xhtml:link rel="alternate" hreflang="fr" href="https://riadhmnasri.fr/fr/notes/comprendre-avant-de-construire" />
<xhtml:link rel="alternate" hreflang="en" href="https://riadhmnasri.fr/en/notes/understand-before-you-build" />
<lastmod>2026-04-20</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://riadhmnasri.fr/en/notes/why-i-went-freelance</loc>
<xhtml:link rel="alternate" hreflang="fr" href="https://riadhmnasri.fr/fr/notes/pourquoi-je-suis-passe-freelance" />
<xhtml:link rel="alternate" hreflang="en" href="https://riadhmnasri.fr/en/notes/why-i-went-freelance" />
<lastmod>2026-03-15</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
</urlset>
