<?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://elienehme.fr/en/</loc><xhtml:link rel="alternate" hreflang="en" href="https://elienehme.fr/en/"/><xhtml:link rel="alternate" hreflang="fr" href="https://elienehme.fr/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://elienehme.fr/"/></url><url><loc>https://elienehme.fr/en/about/</loc><xhtml:link rel="alternate" hreflang="en" href="https://elienehme.fr/en/about/"/><xhtml:link rel="alternate" hreflang="fr" href="https://elienehme.fr/about/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://elienehme.fr/about/"/></url><url><loc>https://elienehme.fr/en/writing/</loc><xhtml:link rel="alternate" hreflang="en" href="https://elienehme.fr/en/writing/"/><xhtml:link rel="alternate" hreflang="fr" href="https://elienehme.fr/writing/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://elienehme.fr/writing/"/></url><url><loc>https://elienehme.fr/en/ideas/</loc><xhtml:link rel="alternate" hreflang="en" href="https://elienehme.fr/en/ideas/"/><xhtml:link rel="alternate" hreflang="fr" href="https://elienehme.fr/ideas/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://elienehme.fr/ideas/"/></url><url><loc>https://elienehme.fr/en/projects/</loc><xhtml:link rel="alternate" hreflang="en" href="https://elienehme.fr/en/projects/"/><xhtml:link rel="alternate" hreflang="fr" href="https://elienehme.fr/projects/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://elienehme.fr/projects/"/></url><url><loc>https://elienehme.fr/en/career/</loc><xhtml:link rel="alternate" hreflang="en" href="https://elienehme.fr/en/career/"/><xhtml:link rel="alternate" hreflang="fr" href="https://elienehme.fr/career/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://elienehme.fr/career/"/></url><url><loc>https://elienehme.fr/en/contact/</loc><xhtml:link rel="alternate" hreflang="en" href="https://elienehme.fr/en/contact/"/><xhtml:link rel="alternate" hreflang="fr" href="https://elienehme.fr/contact/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://elienehme.fr/contact/"/></url><url><loc>https://elienehme.fr/en/writing/plus-le-projet-grossit-plus-l-ia-se-trompe/</loc><lastmod>2026-10-02</lastmod><xhtml:link rel="alternate" hreflang="en" href="https://elienehme.fr/en/writing/plus-le-projet-grossit-plus-l-ia-se-trompe/"/><xhtml:link rel="alternate" hreflang="fr" href="https://elienehme.fr/writing/plus-le-projet-grossit-plus-l-ia-se-trompe/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://elienehme.fr/writing/plus-le-projet-grossit-plus-l-ia-se-trompe/"/></url><url><loc>https://elienehme.fr/en/writing/corriger-ou-attenuer-le-cra-ne-laisse-que-deux-reponses/</loc><lastmod>2026-09-25</lastmod><xhtml:link rel="alternate" hreflang="en" href="https://elienehme.fr/en/writing/corriger-ou-attenuer-le-cra-ne-laisse-que-deux-reponses/"/><xhtml:link rel="alternate" hreflang="fr" href="https://elienehme.fr/writing/corriger-ou-attenuer-le-cra-ne-laisse-que-deux-reponses/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://elienehme.fr/writing/corriger-ou-attenuer-le-cra-ne-laisse-que-deux-reponses/"/></url><url><loc>https://elienehme.fr/en/writing/from-legacy-artifacts-to-served-context-my-six-stage-method/</loc><lastmod>2026-09-18</lastmod><xhtml:link rel="alternate" hreflang="en" href="https://elienehme.fr/en/writing/from-legacy-artifacts-to-served-context-my-six-stage-method/"/><xhtml:link rel="alternate" hreflang="fr" href="https://elienehme.fr/writing/from-legacy-artifacts-to-served-context-my-six-stage-method/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://elienehme.fr/writing/from-legacy-artifacts-to-served-context-my-six-stage-method/"/></url><url><loc>https://elienehme.fr/en/writing/ontology-based-context-engineering-when-rag-is-not-enough/</loc><lastmod>2026-09-12</lastmod><xhtml:link rel="alternate" hreflang="en" href="https://elienehme.fr/en/writing/ontology-based-context-engineering-when-rag-is-not-enough/"/><xhtml:link rel="alternate" hreflang="fr" href="https://elienehme.fr/writing/ontology-based-context-engineering-when-rag-is-not-enough/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://elienehme.fr/writing/ontology-based-context-engineering-when-rag-is-not-enough/"/></url><url><loc>https://elienehme.fr/en/writing/i-tried-bmad-on-a-real-feature/</loc><lastmod>2026-08-24</lastmod><xhtml:link rel="alternate" hreflang="en" href="https://elienehme.fr/en/writing/i-tried-bmad-on-a-real-feature/"/><xhtml:link rel="alternate" hreflang="fr" href="https://elienehme.fr/writing/i-tried-bmad-on-a-real-feature/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://elienehme.fr/writing/i-tried-bmad-on-a-real-feature/"/></url><url><loc>https://elienehme.fr/en/writing/the-living-specification-how-i-keep-ai-written-code-correct/</loc><lastmod>2026-08-23</lastmod><xhtml:link rel="alternate" hreflang="en" href="https://elienehme.fr/en/writing/the-living-specification-how-i-keep-ai-written-code-correct/"/><xhtml:link rel="alternate" hreflang="fr" href="https://elienehme.fr/writing/the-living-specification-how-i-keep-ai-written-code-correct/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://elienehme.fr/writing/the-living-specification-how-i-keep-ai-written-code-correct/"/></url><url><loc>https://elienehme.fr/en/writing/ai-writes-the-code-so-what-is-the-engineers-job-now/</loc><lastmod>2026-08-23</lastmod><xhtml:link rel="alternate" hreflang="en" href="https://elienehme.fr/en/writing/ai-writes-the-code-so-what-is-the-engineers-job-now/"/><xhtml:link rel="alternate" hreflang="fr" href="https://elienehme.fr/writing/ai-writes-the-code-so-what-is-the-engineers-job-now/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://elienehme.fr/writing/ai-writes-the-code-so-what-is-the-engineers-job-now/"/></url><url><loc>https://elienehme.fr/en/writing/quand-false-ne-veut-rien-dire/</loc><lastmod>2025-12-18</lastmod><xhtml:link rel="alternate" hreflang="en" href="https://elienehme.fr/en/writing/quand-false-ne-veut-rien-dire/"/><xhtml:link rel="alternate" hreflang="fr" href="https://elienehme.fr/writing/quand-false-ne-veut-rien-dire/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://elienehme.fr/writing/quand-false-ne-veut-rien-dire/"/></url><url><loc>https://elienehme.fr/en/writing/kill-feature-branching-or-die-trying/</loc><lastmod>2025-05-12</lastmod><xhtml:link rel="alternate" hreflang="en" href="https://elienehme.fr/en/writing/kill-feature-branching-or-die-trying/"/><xhtml:link rel="alternate" hreflang="fr" href="https://elienehme.fr/writing/kill-feature-branching-or-die-trying/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://elienehme.fr/writing/kill-feature-branching-or-die-trying/"/></url><url><loc>https://elienehme.fr/en/writing/la-cicd-nest-pas-une-priorite/</loc><lastmod>2025-05-07</lastmod><xhtml:link rel="alternate" hreflang="en" href="https://elienehme.fr/en/writing/la-cicd-nest-pas-une-priorite/"/><xhtml:link rel="alternate" hreflang="fr" href="https://elienehme.fr/writing/la-cicd-nest-pas-une-priorite/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://elienehme.fr/writing/la-cicd-nest-pas-une-priorite/"/></url><url><loc>https://elienehme.fr/en/writing/justifier-le-craftsmanship-aupres-des-dsi-roi-contexte-et-impact-reel/</loc><lastmod>2025-05-01</lastmod><xhtml:link rel="alternate" hreflang="en" href="https://elienehme.fr/en/writing/justifier-le-craftsmanship-aupres-des-dsi-roi-contexte-et-impact-reel/"/><xhtml:link rel="alternate" hreflang="fr" href="https://elienehme.fr/writing/justifier-le-craftsmanship-aupres-des-dsi-roi-contexte-et-impact-reel/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://elienehme.fr/writing/justifier-le-craftsmanship-aupres-des-dsi-roi-contexte-et-impact-reel/"/></url><url><loc>https://elienehme.fr/en/writing/building-a-resilient-site-aware-synchronization/</loc><lastmod>2025-07-02</lastmod><xhtml:link rel="alternate" hreflang="en" href="https://elienehme.fr/en/writing/building-a-resilient-site-aware-synchronization/"/><xhtml:link rel="alternate" hreflang="fr" href="https://elienehme.fr/writing/building-a-resilient-site-aware-synchronization/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://elienehme.fr/writing/building-a-resilient-site-aware-synchronization/"/></url><url><loc>https://elienehme.fr/en/writing/strategie-de-deploiement-bluegreen/</loc><lastmod>2023-08-27</lastmod><xhtml:link rel="alternate" hreflang="en" href="https://elienehme.fr/en/writing/strategie-de-deploiement-bluegreen/"/><xhtml:link rel="alternate" hreflang="fr" href="https://elienehme.fr/writing/strategie-de-deploiement-bluegreen/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://elienehme.fr/writing/strategie-de-deploiement-bluegreen/"/></url><url><loc>https://elienehme.fr/en/writing/java-functional-programming-to-leverage-polymorphism/</loc><lastmod>2022-11-08</lastmod><xhtml:link rel="alternate" hreflang="en" href="https://elienehme.fr/en/writing/java-functional-programming-to-leverage-polymorphism/"/><xhtml:link rel="alternate" hreflang="fr" href="https://elienehme.fr/writing/java-functional-programming-to-leverage-polymorphism/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://elienehme.fr/writing/java-functional-programming-to-leverage-polymorphism/"/></url><url><loc>https://elienehme.fr/en/writing/apache-kafka-along-with-rxjs-operators/</loc><lastmod>2022-03-24</lastmod><xhtml:link rel="alternate" hreflang="en" href="https://elienehme.fr/en/writing/apache-kafka-along-with-rxjs-operators/"/><xhtml:link rel="alternate" hreflang="fr" href="https://elienehme.fr/writing/apache-kafka-along-with-rxjs-operators/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://elienehme.fr/writing/apache-kafka-along-with-rxjs-operators/"/></url><url><loc>https://elienehme.fr/en/writing/deploy-quarkus-application-with-gitlab-ci-to-heroku-paas/</loc><lastmod>2021-04-12</lastmod><xhtml:link rel="alternate" hreflang="en" href="https://elienehme.fr/en/writing/deploy-quarkus-application-with-gitlab-ci-to-heroku-paas/"/><xhtml:link rel="alternate" hreflang="fr" href="https://elienehme.fr/writing/deploy-quarkus-application-with-gitlab-ci-to-heroku-paas/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://elienehme.fr/writing/deploy-quarkus-application-with-gitlab-ci-to-heroku-paas/"/></url><url><loc>https://elienehme.fr/en/writing/frontend-jwt-token-storage/</loc><lastmod>2021-04-05</lastmod><xhtml:link rel="alternate" hreflang="en" href="https://elienehme.fr/en/writing/frontend-jwt-token-storage/"/><xhtml:link rel="alternate" hreflang="fr" href="https://elienehme.fr/writing/frontend-jwt-token-storage/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://elienehme.fr/writing/frontend-jwt-token-storage/"/></url><url><loc>https://elienehme.fr/en/writing/refactoring-from-strategy-to-interpreter-pattern-with-jest-testing-tool/</loc><lastmod>2021-04-05</lastmod><xhtml:link rel="alternate" hreflang="en" href="https://elienehme.fr/en/writing/refactoring-from-strategy-to-interpreter-pattern-with-jest-testing-tool/"/><xhtml:link rel="alternate" hreflang="fr" href="https://elienehme.fr/writing/refactoring-from-strategy-to-interpreter-pattern-with-jest-testing-tool/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://elienehme.fr/writing/refactoring-from-strategy-to-interpreter-pattern-with-jest-testing-tool/"/></url><url><loc>https://elienehme.fr/en/writing/refactoring-how-to-avoid-nested-or-several-conditionals-within-a-function/</loc><lastmod>2021-04-05</lastmod><xhtml:link rel="alternate" hreflang="en" href="https://elienehme.fr/en/writing/refactoring-how-to-avoid-nested-or-several-conditionals-within-a-function/"/><xhtml:link rel="alternate" hreflang="fr" href="https://elienehme.fr/writing/refactoring-how-to-avoid-nested-or-several-conditionals-within-a-function/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://elienehme.fr/writing/refactoring-how-to-avoid-nested-or-several-conditionals-within-a-function/"/></url><url><loc>https://elienehme.fr/en/writing/object-calisthenics-one-level-but-how-can-we-manage-to-exit-a-loop/</loc><lastmod>2021-04-05</lastmod><xhtml:link rel="alternate" hreflang="en" href="https://elienehme.fr/en/writing/object-calisthenics-one-level-but-how-can-we-manage-to-exit-a-loop/"/><xhtml:link rel="alternate" hreflang="fr" href="https://elienehme.fr/writing/object-calisthenics-one-level-but-how-can-we-manage-to-exit-a-loop/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://elienehme.fr/writing/object-calisthenics-one-level-but-how-can-we-manage-to-exit-a-loop/"/></url><url><loc>https://elienehme.fr/en/ideas/when-everyone-ships-a-site/</loc><lastmod>2026-09-28</lastmod><xhtml:link rel="alternate" hreflang="en" href="https://elienehme.fr/en/ideas/when-everyone-ships-a-site/"/><xhtml:link rel="alternate" hreflang="fr" href="https://elienehme.fr/ideas/when-everyone-ships-a-site/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://elienehme.fr/ideas/when-everyone-ships-a-site/"/></url><url><loc>https://elienehme.fr/en/ideas/a-vision-that-is-not-executed-is-not-one/</loc><lastmod>2026-09-23</lastmod><xhtml:link rel="alternate" hreflang="en" href="https://elienehme.fr/en/ideas/a-vision-that-is-not-executed-is-not-one/"/><xhtml:link rel="alternate" hreflang="fr" href="https://elienehme.fr/ideas/a-vision-that-is-not-executed-is-not-one/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://elienehme.fr/ideas/a-vision-that-is-not-executed-is-not-one/"/></url><url><loc>https://elienehme.fr/en/ideas/reinventing-what-already-exists/</loc><lastmod>2026-09-14</lastmod><xhtml:link rel="alternate" hreflang="en" href="https://elienehme.fr/en/ideas/reinventing-what-already-exists/"/><xhtml:link rel="alternate" hreflang="fr" href="https://elienehme.fr/ideas/reinventing-what-already-exists/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://elienehme.fr/ideas/reinventing-what-already-exists/"/></url><url><loc>https://elienehme.fr/en/ideas/if-ai-replaces-developers-who-decides/</loc><lastmod>2026-08-30</lastmod><xhtml:link rel="alternate" hreflang="en" href="https://elienehme.fr/en/ideas/if-ai-replaces-developers-who-decides/"/><xhtml:link rel="alternate" hreflang="fr" href="https://elienehme.fr/ideas/if-ai-replaces-developers-who-decides/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://elienehme.fr/ideas/if-ai-replaces-developers-who-decides/"/></url><url><loc>https://elienehme.fr/en/ideas/code-is-a-means-not-an-end/</loc><lastmod>2026-08-16</lastmod><xhtml:link rel="alternate" hreflang="en" href="https://elienehme.fr/en/ideas/code-is-a-means-not-an-end/"/><xhtml:link rel="alternate" hreflang="fr" href="https://elienehme.fr/ideas/code-is-a-means-not-an-end/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://elienehme.fr/ideas/code-is-a-means-not-an-end/"/></url><url><loc>https://elienehme.fr/en/ideas/competitive-advantage-when-ai-writes-the-code/</loc><lastmod>2026-08-10</lastmod><xhtml:link rel="alternate" hreflang="en" href="https://elienehme.fr/en/ideas/competitive-advantage-when-ai-writes-the-code/"/><xhtml:link rel="alternate" hreflang="fr" href="https://elienehme.fr/ideas/competitive-advantage-when-ai-writes-the-code/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://elienehme.fr/ideas/competitive-advantage-when-ai-writes-the-code/"/></url><url><loc>https://elienehme.fr/en/ideas/patterns-never-make-up-for-a-fragile-foundation/</loc><lastmod>2026-06-02</lastmod><xhtml:link rel="alternate" hreflang="en" href="https://elienehme.fr/en/ideas/patterns-never-make-up-for-a-fragile-foundation/"/><xhtml:link rel="alternate" hreflang="fr" href="https://elienehme.fr/ideas/patterns-never-make-up-for-a-fragile-foundation/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://elienehme.fr/ideas/patterns-never-make-up-for-a-fragile-foundation/"/></url><url><loc>https://elienehme.fr/en/ideas/what-ai-changes-and-what-it-doesnt/</loc><lastmod>2026-02-02</lastmod><xhtml:link rel="alternate" hreflang="en" href="https://elienehme.fr/en/ideas/what-ai-changes-and-what-it-doesnt/"/><xhtml:link rel="alternate" hreflang="fr" href="https://elienehme.fr/ideas/what-ai-changes-and-what-it-doesnt/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://elienehme.fr/ideas/what-ai-changes-and-what-it-doesnt/"/></url><url><loc>https://elienehme.fr/en/ideas/moving-to-the-cloud-is-not-moving-the-servers/</loc><lastmod>2024-03-02</lastmod><xhtml:link rel="alternate" hreflang="en" href="https://elienehme.fr/en/ideas/moving-to-the-cloud-is-not-moving-the-servers/"/><xhtml:link rel="alternate" hreflang="fr" href="https://elienehme.fr/ideas/moving-to-the-cloud-is-not-moving-the-servers/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://elienehme.fr/ideas/moving-to-the-cloud-is-not-moving-the-servers/"/></url><url><loc>https://elienehme.fr/en/ideas/a-user-story-is-not-a-technical-task-list/</loc><lastmod>2023-10-10</lastmod><xhtml:link rel="alternate" hreflang="en" href="https://elienehme.fr/en/ideas/a-user-story-is-not-a-technical-task-list/"/><xhtml:link rel="alternate" hreflang="fr" href="https://elienehme.fr/ideas/a-user-story-is-not-a-technical-task-list/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://elienehme.fr/ideas/a-user-story-is-not-a-technical-task-list/"/></url><url><loc>https://elienehme.fr/en/ideas/why-architecture-reviews-often-fail/</loc><lastmod>2023-02-06</lastmod><xhtml:link rel="alternate" hreflang="en" href="https://elienehme.fr/en/ideas/why-architecture-reviews-often-fail/"/><xhtml:link rel="alternate" hreflang="fr" href="https://elienehme.fr/ideas/why-architecture-reviews-often-fail/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://elienehme.fr/ideas/why-architecture-reviews-often-fail/"/></url><url><loc>https://elienehme.fr/en/ideas/the-hidden-cost-of-technical-decisions/</loc><lastmod>2021-11-11</lastmod><xhtml:link rel="alternate" hreflang="en" href="https://elienehme.fr/en/ideas/the-hidden-cost-of-technical-decisions/"/><xhtml:link rel="alternate" hreflang="fr" href="https://elienehme.fr/ideas/the-hidden-cost-of-technical-decisions/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://elienehme.fr/ideas/the-hidden-cost-of-technical-decisions/"/></url><url><loc>https://elienehme.fr/en/ideas/what-makes-a-codebase-evolvable/</loc><lastmod>2020-04-02</lastmod><xhtml:link rel="alternate" hreflang="en" href="https://elienehme.fr/en/ideas/what-makes-a-codebase-evolvable/"/><xhtml:link rel="alternate" hreflang="fr" href="https://elienehme.fr/ideas/what-makes-a-codebase-evolvable/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://elienehme.fr/ideas/what-makes-a-codebase-evolvable/"/></url><url><loc>https://elienehme.fr/</loc><xhtml:link rel="alternate" hreflang="en" href="https://elienehme.fr/en/"/><xhtml:link rel="alternate" hreflang="fr" href="https://elienehme.fr/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://elienehme.fr/"/></url><url><loc>https://elienehme.fr/about/</loc><xhtml:link rel="alternate" hreflang="en" href="https://elienehme.fr/en/about/"/><xhtml:link rel="alternate" hreflang="fr" href="https://elienehme.fr/about/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://elienehme.fr/about/"/></url><url><loc>https://elienehme.fr/writing/</loc><xhtml:link rel="alternate" hreflang="en" href="https://elienehme.fr/en/writing/"/><xhtml:link rel="alternate" hreflang="fr" href="https://elienehme.fr/writing/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://elienehme.fr/writing/"/></url><url><loc>https://elienehme.fr/ideas/</loc><xhtml:link rel="alternate" hreflang="en" href="https://elienehme.fr/en/ideas/"/><xhtml:link rel="alternate" hreflang="fr" href="https://elienehme.fr/ideas/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://elienehme.fr/ideas/"/></url><url><loc>https://elienehme.fr/projects/</loc><xhtml:link rel="alternate" hreflang="en" href="https://elienehme.fr/en/projects/"/><xhtml:link rel="alternate" hreflang="fr" href="https://elienehme.fr/projects/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://elienehme.fr/projects/"/></url><url><loc>https://elienehme.fr/career/</loc><xhtml:link rel="alternate" hreflang="en" href="https://elienehme.fr/en/career/"/><xhtml:link rel="alternate" hreflang="fr" href="https://elienehme.fr/career/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://elienehme.fr/career/"/></url><url><loc>https://elienehme.fr/contact/</loc><xhtml:link rel="alternate" hreflang="en" href="https://elienehme.fr/en/contact/"/><xhtml:link rel="alternate" hreflang="fr" href="https://elienehme.fr/contact/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://elienehme.fr/contact/"/></url><url><loc>https://elienehme.fr/writing/plus-le-projet-grossit-plus-l-ia-se-trompe/</loc><lastmod>2026-10-02</lastmod><xhtml:link rel="alternate" hreflang="en" href="https://elienehme.fr/en/writing/plus-le-projet-grossit-plus-l-ia-se-trompe/"/><xhtml:link rel="alternate" hreflang="fr" href="https://elienehme.fr/writing/plus-le-projet-grossit-plus-l-ia-se-trompe/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://elienehme.fr/writing/plus-le-projet-grossit-plus-l-ia-se-trompe/"/></url><url><loc>https://elienehme.fr/writing/corriger-ou-attenuer-le-cra-ne-laisse-que-deux-reponses/</loc><lastmod>2026-09-25</lastmod><xhtml:link rel="alternate" hreflang="en" href="https://elienehme.fr/en/writing/corriger-ou-attenuer-le-cra-ne-laisse-que-deux-reponses/"/><xhtml:link rel="alternate" hreflang="fr" href="https://elienehme.fr/writing/corriger-ou-attenuer-le-cra-ne-laisse-que-deux-reponses/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://elienehme.fr/writing/corriger-ou-attenuer-le-cra-ne-laisse-que-deux-reponses/"/></url><url><loc>https://elienehme.fr/writing/from-legacy-artifacts-to-served-context-my-six-stage-method/</loc><lastmod>2026-09-18</lastmod><xhtml:link rel="alternate" hreflang="en" href="https://elienehme.fr/en/writing/from-legacy-artifacts-to-served-context-my-six-stage-method/"/><xhtml:link rel="alternate" hreflang="fr" href="https://elienehme.fr/writing/from-legacy-artifacts-to-served-context-my-six-stage-method/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://elienehme.fr/writing/from-legacy-artifacts-to-served-context-my-six-stage-method/"/></url><url><loc>https://elienehme.fr/writing/ontology-based-context-engineering-when-rag-is-not-enough/</loc><lastmod>2026-09-12</lastmod><xhtml:link rel="alternate" hreflang="en" href="https://elienehme.fr/en/writing/ontology-based-context-engineering-when-rag-is-not-enough/"/><xhtml:link rel="alternate" hreflang="fr" href="https://elienehme.fr/writing/ontology-based-context-engineering-when-rag-is-not-enough/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://elienehme.fr/writing/ontology-based-context-engineering-when-rag-is-not-enough/"/></url><url><loc>https://elienehme.fr/writing/i-tried-bmad-on-a-real-feature/</loc><lastmod>2026-08-24</lastmod><xhtml:link rel="alternate" hreflang="en" href="https://elienehme.fr/en/writing/i-tried-bmad-on-a-real-feature/"/><xhtml:link rel="alternate" hreflang="fr" href="https://elienehme.fr/writing/i-tried-bmad-on-a-real-feature/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://elienehme.fr/writing/i-tried-bmad-on-a-real-feature/"/></url><url><loc>https://elienehme.fr/writing/the-living-specification-how-i-keep-ai-written-code-correct/</loc><lastmod>2026-08-23</lastmod><xhtml:link rel="alternate" hreflang="en" href="https://elienehme.fr/en/writing/the-living-specification-how-i-keep-ai-written-code-correct/"/><xhtml:link rel="alternate" hreflang="fr" href="https://elienehme.fr/writing/the-living-specification-how-i-keep-ai-written-code-correct/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://elienehme.fr/writing/the-living-specification-how-i-keep-ai-written-code-correct/"/></url><url><loc>https://elienehme.fr/writing/ai-writes-the-code-so-what-is-the-engineers-job-now/</loc><lastmod>2026-08-23</lastmod><xhtml:link rel="alternate" hreflang="en" href="https://elienehme.fr/en/writing/ai-writes-the-code-so-what-is-the-engineers-job-now/"/><xhtml:link rel="alternate" hreflang="fr" href="https://elienehme.fr/writing/ai-writes-the-code-so-what-is-the-engineers-job-now/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://elienehme.fr/writing/ai-writes-the-code-so-what-is-the-engineers-job-now/"/></url><url><loc>https://elienehme.fr/writing/quand-false-ne-veut-rien-dire/</loc><lastmod>2025-12-18</lastmod><xhtml:link rel="alternate" hreflang="en" href="https://elienehme.fr/en/writing/quand-false-ne-veut-rien-dire/"/><xhtml:link rel="alternate" hreflang="fr" href="https://elienehme.fr/writing/quand-false-ne-veut-rien-dire/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://elienehme.fr/writing/quand-false-ne-veut-rien-dire/"/></url><url><loc>https://elienehme.fr/writing/kill-feature-branching-or-die-trying/</loc><lastmod>2025-05-12</lastmod><xhtml:link rel="alternate" hreflang="en" href="https://elienehme.fr/en/writing/kill-feature-branching-or-die-trying/"/><xhtml:link rel="alternate" hreflang="fr" href="https://elienehme.fr/writing/kill-feature-branching-or-die-trying/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://elienehme.fr/writing/kill-feature-branching-or-die-trying/"/></url><url><loc>https://elienehme.fr/writing/la-cicd-nest-pas-une-priorite/</loc><lastmod>2025-05-07</lastmod><xhtml:link rel="alternate" hreflang="en" href="https://elienehme.fr/en/writing/la-cicd-nest-pas-une-priorite/"/><xhtml:link rel="alternate" hreflang="fr" href="https://elienehme.fr/writing/la-cicd-nest-pas-une-priorite/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://elienehme.fr/writing/la-cicd-nest-pas-une-priorite/"/></url><url><loc>https://elienehme.fr/writing/justifier-le-craftsmanship-aupres-des-dsi-roi-contexte-et-impact-reel/</loc><lastmod>2025-05-01</lastmod><xhtml:link rel="alternate" hreflang="en" href="https://elienehme.fr/en/writing/justifier-le-craftsmanship-aupres-des-dsi-roi-contexte-et-impact-reel/"/><xhtml:link rel="alternate" hreflang="fr" href="https://elienehme.fr/writing/justifier-le-craftsmanship-aupres-des-dsi-roi-contexte-et-impact-reel/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://elienehme.fr/writing/justifier-le-craftsmanship-aupres-des-dsi-roi-contexte-et-impact-reel/"/></url><url><loc>https://elienehme.fr/writing/building-a-resilient-site-aware-synchronization/</loc><lastmod>2025-07-02</lastmod><xhtml:link rel="alternate" hreflang="en" href="https://elienehme.fr/en/writing/building-a-resilient-site-aware-synchronization/"/><xhtml:link rel="alternate" hreflang="fr" href="https://elienehme.fr/writing/building-a-resilient-site-aware-synchronization/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://elienehme.fr/writing/building-a-resilient-site-aware-synchronization/"/></url><url><loc>https://elienehme.fr/writing/strategie-de-deploiement-bluegreen/</loc><lastmod>2023-08-27</lastmod><xhtml:link rel="alternate" hreflang="en" href="https://elienehme.fr/en/writing/strategie-de-deploiement-bluegreen/"/><xhtml:link rel="alternate" hreflang="fr" href="https://elienehme.fr/writing/strategie-de-deploiement-bluegreen/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://elienehme.fr/writing/strategie-de-deploiement-bluegreen/"/></url><url><loc>https://elienehme.fr/writing/java-functional-programming-to-leverage-polymorphism/</loc><lastmod>2022-11-08</lastmod><xhtml:link rel="alternate" hreflang="en" href="https://elienehme.fr/en/writing/java-functional-programming-to-leverage-polymorphism/"/><xhtml:link rel="alternate" hreflang="fr" href="https://elienehme.fr/writing/java-functional-programming-to-leverage-polymorphism/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://elienehme.fr/writing/java-functional-programming-to-leverage-polymorphism/"/></url><url><loc>https://elienehme.fr/writing/apache-kafka-along-with-rxjs-operators/</loc><lastmod>2022-03-24</lastmod><xhtml:link rel="alternate" hreflang="en" href="https://elienehme.fr/en/writing/apache-kafka-along-with-rxjs-operators/"/><xhtml:link rel="alternate" hreflang="fr" href="https://elienehme.fr/writing/apache-kafka-along-with-rxjs-operators/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://elienehme.fr/writing/apache-kafka-along-with-rxjs-operators/"/></url><url><loc>https://elienehme.fr/writing/deploy-quarkus-application-with-gitlab-ci-to-heroku-paas/</loc><lastmod>2021-04-12</lastmod><xhtml:link rel="alternate" hreflang="en" href="https://elienehme.fr/en/writing/deploy-quarkus-application-with-gitlab-ci-to-heroku-paas/"/><xhtml:link rel="alternate" hreflang="fr" href="https://elienehme.fr/writing/deploy-quarkus-application-with-gitlab-ci-to-heroku-paas/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://elienehme.fr/writing/deploy-quarkus-application-with-gitlab-ci-to-heroku-paas/"/></url><url><loc>https://elienehme.fr/writing/frontend-jwt-token-storage/</loc><lastmod>2021-04-05</lastmod><xhtml:link rel="alternate" hreflang="en" href="https://elienehme.fr/en/writing/frontend-jwt-token-storage/"/><xhtml:link rel="alternate" hreflang="fr" href="https://elienehme.fr/writing/frontend-jwt-token-storage/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://elienehme.fr/writing/frontend-jwt-token-storage/"/></url><url><loc>https://elienehme.fr/writing/refactoring-from-strategy-to-interpreter-pattern-with-jest-testing-tool/</loc><lastmod>2021-04-05</lastmod><xhtml:link rel="alternate" hreflang="en" href="https://elienehme.fr/en/writing/refactoring-from-strategy-to-interpreter-pattern-with-jest-testing-tool/"/><xhtml:link rel="alternate" hreflang="fr" href="https://elienehme.fr/writing/refactoring-from-strategy-to-interpreter-pattern-with-jest-testing-tool/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://elienehme.fr/writing/refactoring-from-strategy-to-interpreter-pattern-with-jest-testing-tool/"/></url><url><loc>https://elienehme.fr/writing/refactoring-how-to-avoid-nested-or-several-conditionals-within-a-function/</loc><lastmod>2021-04-05</lastmod><xhtml:link rel="alternate" hreflang="en" href="https://elienehme.fr/en/writing/refactoring-how-to-avoid-nested-or-several-conditionals-within-a-function/"/><xhtml:link rel="alternate" hreflang="fr" href="https://elienehme.fr/writing/refactoring-how-to-avoid-nested-or-several-conditionals-within-a-function/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://elienehme.fr/writing/refactoring-how-to-avoid-nested-or-several-conditionals-within-a-function/"/></url><url><loc>https://elienehme.fr/writing/object-calisthenics-one-level-but-how-can-we-manage-to-exit-a-loop/</loc><lastmod>2021-04-05</lastmod><xhtml:link rel="alternate" hreflang="en" href="https://elienehme.fr/en/writing/object-calisthenics-one-level-but-how-can-we-manage-to-exit-a-loop/"/><xhtml:link rel="alternate" hreflang="fr" href="https://elienehme.fr/writing/object-calisthenics-one-level-but-how-can-we-manage-to-exit-a-loop/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://elienehme.fr/writing/object-calisthenics-one-level-but-how-can-we-manage-to-exit-a-loop/"/></url><url><loc>https://elienehme.fr/ideas/when-everyone-ships-a-site/</loc><lastmod>2026-09-28</lastmod><xhtml:link rel="alternate" hreflang="en" href="https://elienehme.fr/en/ideas/when-everyone-ships-a-site/"/><xhtml:link rel="alternate" hreflang="fr" href="https://elienehme.fr/ideas/when-everyone-ships-a-site/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://elienehme.fr/ideas/when-everyone-ships-a-site/"/></url><url><loc>https://elienehme.fr/ideas/a-vision-that-is-not-executed-is-not-one/</loc><lastmod>2026-09-23</lastmod><xhtml:link rel="alternate" hreflang="en" href="https://elienehme.fr/en/ideas/a-vision-that-is-not-executed-is-not-one/"/><xhtml:link rel="alternate" hreflang="fr" href="https://elienehme.fr/ideas/a-vision-that-is-not-executed-is-not-one/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://elienehme.fr/ideas/a-vision-that-is-not-executed-is-not-one/"/></url><url><loc>https://elienehme.fr/ideas/reinventing-what-already-exists/</loc><lastmod>2026-09-14</lastmod><xhtml:link rel="alternate" hreflang="en" href="https://elienehme.fr/en/ideas/reinventing-what-already-exists/"/><xhtml:link rel="alternate" hreflang="fr" href="https://elienehme.fr/ideas/reinventing-what-already-exists/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://elienehme.fr/ideas/reinventing-what-already-exists/"/></url><url><loc>https://elienehme.fr/ideas/if-ai-replaces-developers-who-decides/</loc><lastmod>2026-08-30</lastmod><xhtml:link rel="alternate" hreflang="en" href="https://elienehme.fr/en/ideas/if-ai-replaces-developers-who-decides/"/><xhtml:link rel="alternate" hreflang="fr" href="https://elienehme.fr/ideas/if-ai-replaces-developers-who-decides/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://elienehme.fr/ideas/if-ai-replaces-developers-who-decides/"/></url><url><loc>https://elienehme.fr/ideas/code-is-a-means-not-an-end/</loc><lastmod>2026-08-16</lastmod><xhtml:link rel="alternate" hreflang="en" href="https://elienehme.fr/en/ideas/code-is-a-means-not-an-end/"/><xhtml:link rel="alternate" hreflang="fr" href="https://elienehme.fr/ideas/code-is-a-means-not-an-end/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://elienehme.fr/ideas/code-is-a-means-not-an-end/"/></url><url><loc>https://elienehme.fr/ideas/competitive-advantage-when-ai-writes-the-code/</loc><lastmod>2026-08-10</lastmod><xhtml:link rel="alternate" hreflang="en" href="https://elienehme.fr/en/ideas/competitive-advantage-when-ai-writes-the-code/"/><xhtml:link rel="alternate" hreflang="fr" href="https://elienehme.fr/ideas/competitive-advantage-when-ai-writes-the-code/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://elienehme.fr/ideas/competitive-advantage-when-ai-writes-the-code/"/></url><url><loc>https://elienehme.fr/ideas/patterns-never-make-up-for-a-fragile-foundation/</loc><lastmod>2026-06-02</lastmod><xhtml:link rel="alternate" hreflang="en" href="https://elienehme.fr/en/ideas/patterns-never-make-up-for-a-fragile-foundation/"/><xhtml:link rel="alternate" hreflang="fr" href="https://elienehme.fr/ideas/patterns-never-make-up-for-a-fragile-foundation/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://elienehme.fr/ideas/patterns-never-make-up-for-a-fragile-foundation/"/></url><url><loc>https://elienehme.fr/ideas/what-ai-changes-and-what-it-doesnt/</loc><lastmod>2026-02-02</lastmod><xhtml:link rel="alternate" hreflang="en" href="https://elienehme.fr/en/ideas/what-ai-changes-and-what-it-doesnt/"/><xhtml:link rel="alternate" hreflang="fr" href="https://elienehme.fr/ideas/what-ai-changes-and-what-it-doesnt/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://elienehme.fr/ideas/what-ai-changes-and-what-it-doesnt/"/></url><url><loc>https://elienehme.fr/ideas/moving-to-the-cloud-is-not-moving-the-servers/</loc><lastmod>2024-03-02</lastmod><xhtml:link rel="alternate" hreflang="en" href="https://elienehme.fr/en/ideas/moving-to-the-cloud-is-not-moving-the-servers/"/><xhtml:link rel="alternate" hreflang="fr" href="https://elienehme.fr/ideas/moving-to-the-cloud-is-not-moving-the-servers/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://elienehme.fr/ideas/moving-to-the-cloud-is-not-moving-the-servers/"/></url><url><loc>https://elienehme.fr/ideas/a-user-story-is-not-a-technical-task-list/</loc><lastmod>2023-10-10</lastmod><xhtml:link rel="alternate" hreflang="en" href="https://elienehme.fr/en/ideas/a-user-story-is-not-a-technical-task-list/"/><xhtml:link rel="alternate" hreflang="fr" href="https://elienehme.fr/ideas/a-user-story-is-not-a-technical-task-list/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://elienehme.fr/ideas/a-user-story-is-not-a-technical-task-list/"/></url><url><loc>https://elienehme.fr/ideas/why-architecture-reviews-often-fail/</loc><lastmod>2023-02-06</lastmod><xhtml:link rel="alternate" hreflang="en" href="https://elienehme.fr/en/ideas/why-architecture-reviews-often-fail/"/><xhtml:link rel="alternate" hreflang="fr" href="https://elienehme.fr/ideas/why-architecture-reviews-often-fail/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://elienehme.fr/ideas/why-architecture-reviews-often-fail/"/></url><url><loc>https://elienehme.fr/ideas/the-hidden-cost-of-technical-decisions/</loc><lastmod>2021-11-11</lastmod><xhtml:link rel="alternate" hreflang="en" href="https://elienehme.fr/en/ideas/the-hidden-cost-of-technical-decisions/"/><xhtml:link rel="alternate" hreflang="fr" href="https://elienehme.fr/ideas/the-hidden-cost-of-technical-decisions/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://elienehme.fr/ideas/the-hidden-cost-of-technical-decisions/"/></url><url><loc>https://elienehme.fr/ideas/what-makes-a-codebase-evolvable/</loc><lastmod>2020-04-02</lastmod><xhtml:link rel="alternate" hreflang="en" href="https://elienehme.fr/en/ideas/what-makes-a-codebase-evolvable/"/><xhtml:link rel="alternate" hreflang="fr" href="https://elienehme.fr/ideas/what-makes-a-codebase-evolvable/"/><xhtml:link rel="alternate" hreflang="x-default" href="https://elienehme.fr/ideas/what-makes-a-codebase-evolvable/"/></url></urlset>