<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
        xmlns:image="http://www.google.com/schemas/sitemap-image/1.1">        <url>
            <loc>https://lecodeestdanslepre.fr/</loc>                <lastmod>2026-07-19</lastmod>        </url>        <url>
            <loc>https://lecodeestdanslepre.fr/billets</loc>                <lastmod>2026-07-19</lastmod>        </url>        <url>
            <loc>https://lecodeestdanslepre.fr/categories</loc>                <lastmod>2026-07-19</lastmod>        </url>        <url>
            <loc>https://lecodeestdanslepre.fr/colophon</loc>                <lastmod>2026-07-19</lastmod>        </url>        <url>
            <loc>https://lecodeestdanslepre.fr/a-propos</loc>                <lastmod>2026-05-12</lastmod>        </url>        <url>
            <loc>https://lecodeestdanslepre.fr/contact</loc>                <lastmod>2026-06-14</lastmod>        </url>        <url>
            <loc>https://lecodeestdanslepre.fr/mentions-legales</loc>                <lastmod>2026-06-28</lastmod>        </url>        <url>
            <loc>https://lecodeestdanslepre.fr/politique-de-confidentialite</loc>                <lastmod>2026-06-26</lastmod>        </url>        <url>
            <loc>https://lecodeestdanslepre.fr/categories/symfony</loc>                <lastmod>2026-04-25</lastmod>        </url>        <url>
            <loc>https://lecodeestdanslepre.fr/categories/php</loc>                <lastmod>2026-04-25</lastmod>        </url>        <url>
            <loc>https://lecodeestdanslepre.fr/categories/devops</loc>                <lastmod>2026-04-25</lastmod>        </url>        <url>
            <loc>https://lecodeestdanslepre.fr/categories/securite</loc>                <lastmod>2026-04-25</lastmod>        </url>        <url>
            <loc>https://lecodeestdanslepre.fr/categories/dx</loc>                <lastmod>2026-04-25</lastmod>        </url>        <url>
            <loc>https://lecodeestdanslepre.fr/categories/seo</loc>                <lastmod>2026-07-05</lastmod>        </url>        <url>
            <loc>https://lecodeestdanslepre.fr/categories/ux</loc>                <lastmod>2026-04-25</lastmod>        </url>        <url>
            <loc>https://lecodeestdanslepre.fr/categories/devlog</loc>                <lastmod>2026-04-25</lastmod>        </url>        <url>
            <loc>https://lecodeestdanslepre.fr/categories/code-quality</loc>                <lastmod>2026-04-25</lastmod>        </url>        <url>
            <loc>https://lecodeestdanslepre.fr/categories/ecoconception</loc>                <lastmod>2026-06-26</lastmod>        </url>        <url>
            <loc>https://lecodeestdanslepre.fr/categories/symfony-ai</loc>                <lastmod>2026-06-29</lastmod>        </url>        <url>
            <loc>https://lecodeestdanslepre.fr/categories/cafe</loc>                <lastmod>2026-06-29</lastmod>        </url>        <url>
            <loc>https://lecodeestdanslepre.fr/categories/tech</loc>                <lastmod>2026-06-27</lastmod>        </url>        <url>
            <loc>https://lecodeestdanslepre.fr/categories/tests</loc>                <lastmod>2026-04-25</lastmod>        </url>        <url>
            <loc>https://lecodeestdanslepre.fr/billets/seo-ia-guerre-des-chiffres</loc>                <lastmod>2026-07-18</lastmod>                <image:image>
                    <image:loc>https://lecodeestdanslepre.fr/og/billets/seo-ia-guerre-des-chiffres.png?v=fc5b509cec0ff688</image:loc>                        <image:caption>Le SEO tué par l&#039;IA ? Les chiffres ne mesurent pas la même chose</image:caption>                </image:image>        </url>        <url>
            <loc>https://lecodeestdanslepre.fr/billets/page-exception-symfony-redesign-copy-as-text</loc>                <lastmod>2026-07-18</lastmod>                <image:image>
                    <image:loc>https://lecodeestdanslepre.fr/og/billets/page-exception-symfony-redesign-copy-as-text.png?v=5b65ec9ef9b995aa</image:loc>                        <image:caption>Une timeline et un bouton « Copy as text » : la page d&#039;exception Symfony se redessine</image:caption>                </image:image>        </url>        <url>
            <loc>https://lecodeestdanslepre.fr/billets/macros-twig</loc>                <lastmod>2026-07-18</lastmod>                <image:image>
                    <image:loc>https://lecodeestdanslepre.fr/og/billets/macros-twig.png?v=0f23cbb63aacd507</image:loc>                        <image:caption>Les macros Twig : des fonctions qui ne voient rien</image:caption>                </image:image>        </url>        <url>
            <loc>https://lecodeestdanslepre.fr/billets/rag-editorial-relire-corpus</loc>                <lastmod>2026-07-18</lastmod>                <image:image>
                    <image:loc>https://lecodeestdanslepre.fr/og/billets/rag-editorial-relire-corpus.png?v=f0da3d4796aadd83</image:loc>                        <image:caption>Un RAG sur son propre blog : pour me relire, pas pour écrire</image:caption>                </image:image>        </url>        <url>
            <loc>https://lecodeestdanslepre.fr/billets/cyber-resilience-act-mainteneur-steward-dev-php</loc>                <lastmod>2026-07-13</lastmod>                <image:image>
                    <image:loc>https://lecodeestdanslepre.fr/og/billets/cyber-resilience-act-mainteneur-steward-dev-php.png?v=1adf8d491074eadb</image:loc>                        <image:caption>Cyber Resilience Act : mainteneur, steward ou simple passant ?</image:caption>                </image:image>        </url>        <url>
            <loc>https://lecodeestdanslepre.fr/billets/images-og-dessinees-en-php</loc>                <lastmod>2026-07-18</lastmod>                <image:image>
                    <image:loc>https://lecodeestdanslepre.fr/og/billets/images-og-dessinees-en-php.png?v=cc5b19bf331b14d5</image:loc>                        <image:caption>L&#039;affiche avant le film : des images OG dessinées en PHP, sans Chromium</image:caption>                </image:image>        </url>        <url>
            <loc>https://lecodeestdanslepre.fr/billets/json-ld-ere-agentique</loc>                <lastmod>2026-07-18</lastmod>                <image:image>
                    <image:loc>https://lecodeestdanslepre.fr/og/billets/json-ld-ere-agentique.png?v=bbbe45cd4c9748f8</image:loc>                        <image:caption>JSON-LD et schema.org : baliser pour l&#039;ère des agents</image:caption>                </image:image>        </url>        <url>
            <loc>https://lecodeestdanslepre.fr/billets/backup-schrodinger-restaurer-pg-dump</loc>                <lastmod>2026-07-18</lastmod>                <image:image>
                    <image:loc>https://lecodeestdanslepre.fr/og/billets/backup-schrodinger-restaurer-pg-dump.png?v=426698e6d8fa057b</image:loc>                        <image:caption>Le backup de Schrödinger : rejouer son pg_dump avant d&#039;en avoir besoin</image:caption>                </image:image>        </url>        <url>
            <loc>https://lecodeestdanslepre.fr/billets/easyadmin-securiser-un-admin-sans-toucher-a-setpermission</loc>                <lastmod>2026-07-18</lastmod>                <image:image>
                    <image:loc>https://lecodeestdanslepre.fr/og/billets/easyadmin-securiser-un-admin-sans-toucher-a-setpermission.png?v=83d5482e76fccf29</image:loc>                        <image:caption>EasyAdmin : sécuriser un admin sans toucher à setPermission()</image:caption>                </image:image>        </url>        <url>
            <loc>https://lecodeestdanslepre.fr/billets/easyadmin-ecrire-un-filtre-custom-du-filterinterface-au-filtertype</loc>                <lastmod>2026-07-18</lastmod>                <image:image>
                    <image:loc>https://lecodeestdanslepre.fr/og/billets/easyadmin-ecrire-un-filtre-custom-du-filterinterface-au-filtertype.png?v=804872ccb7471c48</image:loc>                        <image:caption>EasyAdmin : écrire un filtre custom du FilterInterface au FilterType</image:caption>                </image:image>        </url>        <url>
            <loc>https://lecodeestdanslepre.fr/billets/doctrine-postgresql-explain-n-plus-1</loc>                <lastmod>2026-07-05</lastmod>                <image:image>
                    <image:loc>https://lecodeestdanslepre.fr/og/billets/doctrine-postgresql-explain-n-plus-1.png?v=a82348897d3364d4</image:loc>                        <image:caption>Doctrine sous EXPLAIN : profiler ce blog jusqu&#039;à l&#039;index</image:caption>                </image:image>        </url>        <url>
            <loc>https://lecodeestdanslepre.fr/billets/webmcp-symfony-stimulus</loc>                <lastmod>2026-07-18</lastmod>                <image:image>
                    <image:loc>https://lecodeestdanslepre.fr/og/billets/webmcp-symfony-stimulus.png?v=ab1989cbbe14c900</image:loc>                        <image:caption>WebMCP : exposer un site aux agents</image:caption>                </image:image>        </url>        <url>
            <loc>https://lecodeestdanslepre.fr/billets/mesurer-trafic-ia-logs-crawlers</loc>                <lastmod>2026-07-04</lastmod>                <image:image>
                    <image:loc>https://lecodeestdanslepre.fr/og/billets/mesurer-trafic-ia-logs-crawlers.png?v=28ada8f24229046f</image:loc>                        <image:caption>Mesurer le trafic IA dans ses logs</image:caption>                </image:image>        </url>        <url>
            <loc>https://lecodeestdanslepre.fr/billets/release-automatisee-git-cliff-github-actions</loc>                <lastmod>2026-07-18</lastmod>                <image:image>
                    <image:loc>https://lecodeestdanslepre.fr/og/billets/release-automatisee-git-cliff-github-actions.png?v=903ab40bd60e9c5a</image:loc>                        <image:caption>La release qui ne comptait plus</image:caption>                </image:image>        </url>        <url>
            <loc>https://lecodeestdanslepre.fr/billets/core-web-vitals-mecanique-pieges</loc>                <lastmod>2026-07-04</lastmod>                <image:image>
                    <image:loc>https://lecodeestdanslepre.fr/og/billets/core-web-vitals-mecanique-pieges.png?v=77b59545f0fb3378</image:loc>                        <image:caption>Core Web Vitals : mécanique de mesure et pièges à éviter</image:caption>                </image:image>        </url>        <url>
            <loc>https://lecodeestdanslepre.fr/billets/optimiser-pour-les-ia-qui-repondent</loc>                <lastmod>2026-07-05</lastmod>                <image:image>
                    <image:loc>https://lecodeestdanslepre.fr/og/billets/optimiser-pour-les-ia-qui-repondent.png?v=2b1623ead20d0107</image:loc>                        <image:caption>AI Overviews arrive en France : faut-il vraiment optimiser ?</image:caption>                </image:image>        </url>        <url>
            <loc>https://lecodeestdanslepre.fr/billets/symfony-mcp</loc>                <lastmod>2026-07-18</lastmod>                <image:image>
                    <image:loc>https://lecodeestdanslepre.fr/og/billets/symfony-mcp.png?v=9bebd0d34027f3e2</image:loc>                        <image:caption>Créer un serveur MCP avec Symfony</image:caption>                </image:image>        </url>        <url>
            <loc>https://lecodeestdanslepre.fr/billets/budget-poids-page</loc>                <lastmod>2026-07-04</lastmod>                <image:image>
                    <image:loc>https://lecodeestdanslepre.fr/og/billets/budget-poids-page.png?v=a711f07d1039a1d4</image:loc>                        <image:caption>Un budget de poids de page : la sobriété qui ne tient plus à la chance</image:caption>                </image:image>        </url>        <url>
            <loc>https://lecodeestdanslepre.fr/billets/symfony-8-1-http-less-pour-un-projet-neuf-pas-pour-un-worker-existant</loc>                <lastmod>2026-06-28</lastmod>                <image:image>
                    <image:loc>https://lecodeestdanslepre.fr/og/billets/symfony-8-1-http-less-pour-un-projet-neuf-pas-pour-un-worker-existant.png?v=2a6b0d6bbaefc130</image:loc>                        <image:caption>Symfony 8.1 HTTP-less : pour un projet neuf, pas pour un worker existant</image:caption>                </image:image>        </url>        <url>
            <loc>https://lecodeestdanslepre.fr/billets/igor-php-worker-mode</loc>                <lastmod>2026-07-01</lastmod>                <image:image>
                    <image:loc>https://lecodeestdanslepre.fr/og/billets/igor-php-worker-mode.png?v=f0f9531d2307d93c</image:loc>                        <image:caption>Igor PHP : voir ce que PHPStan ne voit pas en worker mode</image:caption>                </image:image>        </url>        <url>
            <loc>https://lecodeestdanslepre.fr/billets/vibe-coding-erreur-ia</loc>                <lastmod>2026-06-27</lastmod>                <image:image>
                    <image:loc>https://lecodeestdanslepre.fr/og/billets/vibe-coding-erreur-ia.png?v=a94366e8e9cd3036</image:loc>                        <image:caption>Vibe coding : le crash dont vous êtes le héros</image:caption>                </image:image>        </url>        <url>
            <loc>https://lecodeestdanslepre.fr/billets/ia-generative-magicien-oz</loc>                <lastmod>2026-07-18</lastmod>                <image:image>
                    <image:loc>https://lecodeestdanslepre.fr/og/billets/ia-generative-magicien-oz.png?v=65257fada4e5955b</image:loc>                        <image:caption>L&#039;IA générative joue-t-elle au magicien d&#039;Oz ?</image:caption>                </image:image>        </url>        <url>
            <loc>https://lecodeestdanslepre.fr/billets/sobriete-numerique-developpeur</loc>                <lastmod>2026-07-18</lastmod>                <image:image>
                    <image:loc>https://lecodeestdanslepre.fr/og/billets/sobriete-numerique-developpeur.png?v=35016187e703e92e</image:loc>                        <image:caption>La sobriété, c&#039;est un métier du « ne pas »</image:caption>                </image:image>        </url>        <url>
            <loc>https://lecodeestdanslepre.fr/billets/vibe-coding-garde-fou</loc>                <lastmod>2026-07-18</lastmod>                <image:image>
                    <image:loc>https://lecodeestdanslepre.fr/og/billets/vibe-coding-garde-fou.png?v=32e4a7763bdc7e97</image:loc>                        <image:caption>Vibe coding : le garde-fou n&#039;est pas là où on l&#039;a mis</image:caption>                </image:image>        </url>        <url>
            <loc>https://lecodeestdanslepre.fr/billets/une-ia-a-trouve-les-failles-que-ma-qa-ne-voyait-plus</loc>                <lastmod>2026-07-18</lastmod>                <image:image>
                    <image:loc>https://lecodeestdanslepre.fr/og/billets/une-ia-a-trouve-les-failles-que-ma-qa-ne-voyait-plus.png?v=0aa2cbc1ec34f447</image:loc>                        <image:caption>Une IA a trouvé les failles que ma QA ne voyait plus</image:caption>                </image:image>        </url>        <url>
            <loc>https://lecodeestdanslepre.fr/billets/easyadmin-quand-un-seul-trait-configure-quatre-cruds</loc>                <lastmod>2026-07-04</lastmod>                <image:image>
                    <image:loc>https://lecodeestdanslepre.fr/og/billets/easyadmin-quand-un-seul-trait-configure-quatre-cruds.png?v=5f6e72d4108583be</image:loc>                        <image:caption>EasyAdmin : quand un seul trait configure trois CRUDs</image:caption>                </image:image>        </url>        <url>
            <loc>https://lecodeestdanslepre.fr/billets/frankenphp-en-dev-un-worker-chaud-trois-watch-empiles-et-un-cert-qui-ne-demande-rien</loc>                <lastmod>2026-07-18</lastmod>                <image:image>
                    <image:loc>https://lecodeestdanslepre.fr/og/billets/frankenphp-en-dev-un-worker-chaud-trois-watch-empiles-et-un-cert-qui-ne-demande-rien.png?v=5ba55a063f0de347</image:loc>                        <image:caption>FrankenPHP en dev : un worker chaud, trois --watch empilés, et un cert qui ne demande rien</image:caption>                </image:image>        </url>        <url>
            <loc>https://lecodeestdanslepre.fr/billets/jakzal-phpqa-sortir-la-qa-symfony-de-son-vendor</loc>                <lastmod>2026-07-18</lastmod>                <image:image>
                    <image:loc>https://lecodeestdanslepre.fr/og/billets/jakzal-phpqa-sortir-la-qa-symfony-de-son-vendor.png?v=d7d077976ff73bcd</image:loc>                        <image:caption>jakzal/phpqa : sortir la QA Symfony de son vendor/</image:caption>                </image:image>        </url>        <url>
            <loc>https://lecodeestdanslepre.fr/billets/symfony-8-1-vos-commands-passent-en-mode-controller</loc>                <lastmod>2026-07-18</lastmod>                <image:image>
                    <image:loc>https://lecodeestdanslepre.fr/og/billets/symfony-8-1-vos-commands-passent-en-mode-controller.png?v=df7bdfdeb1a8d268</image:loc>                        <image:caption>Symfony 8.1 : vos Commands passent en mode Controller</image:caption>                </image:image>        </url>        <url>
            <loc>https://lecodeestdanslepre.fr/billets/frankenphp-en-prod-un-binaire-quatre-sous-domaines-un-seul-worker</loc>                <lastmod>2026-07-18</lastmod>                <image:image>
                    <image:loc>https://lecodeestdanslepre.fr/og/billets/frankenphp-en-prod-un-binaire-quatre-sous-domaines-un-seul-worker.png?v=5b322328fb55a71d</image:loc>                        <image:caption>FrankenPHP en prod : un binaire, quatre sous-domaines, un seul worker</image:caption>                </image:image>        </url>        <url>
            <loc>https://lecodeestdanslepre.fr/billets/symfony-scheduler-en-prod-j-ai-attendu-d-avoir-redis-pour-migrer-et-j-ai-bien-fait</loc>                <lastmod>2026-07-18</lastmod>                <image:image>
                    <image:loc>https://lecodeestdanslepre.fr/og/billets/symfony-scheduler-en-prod-j-ai-attendu-d-avoir-redis-pour-migrer-et-j-ai-bien-fait.png?v=95e138a3ca44750b</image:loc>                        <image:caption>Symfony Scheduler en prod : j&#039;ai attendu d&#039;avoir Redis pour migrer, et j&#039;ai bien fait</image:caption>                </image:image>        </url>        <url>
            <loc>https://lecodeestdanslepre.fr/billets/easyadmin-son-premier-crudcontroller</loc>                <lastmod>2026-07-18</lastmod>                <image:image>
                    <image:loc>https://lecodeestdanslepre.fr/og/billets/easyadmin-son-premier-crudcontroller.png?v=da3069537cd677fe</image:loc>                        <image:caption>EasyAdmin : son premier CrudController</image:caption>                </image:image>        </url>        <url>
            <loc>https://lecodeestdanslepre.fr/billets/php-8-6-ce-qui-est-dans-le-pot-ce-qui-se-joue-encore</loc>                <lastmod>2026-07-18</lastmod>                <image:image>
                    <image:loc>https://lecodeestdanslepre.fr/og/billets/php-8-6-ce-qui-est-dans-le-pot-ce-qui-se-joue-encore.png?v=bfddc2e6f710f713</image:loc>                        <image:caption>PHP 8.6 : ce qui est acté, ce qui se joue encore</image:caption>                </image:image>        </url>        <url>
            <loc>https://lecodeestdanslepre.fr/billets/crowdsec-la-defense-reseau-communautaire-expliquee</loc>                <lastmod>2026-07-18</lastmod>                <image:image>
                    <image:loc>https://lecodeestdanslepre.fr/og/billets/crowdsec-la-defense-reseau-communautaire-expliquee.png?v=147ecd2a9e710319</image:loc>                        <image:caption>CrowdSec : la défense réseau communautaire expliquée</image:caption>                </image:image>        </url>        <url>
            <loc>https://lecodeestdanslepre.fr/billets/faire-tourner-des-llm-gratuitement-avec-ollama</loc>                <lastmod>2026-07-18</lastmod>                <image:image>
                    <image:loc>https://lecodeestdanslepre.fr/og/billets/faire-tourner-des-llm-gratuitement-avec-ollama.png?v=0edb6db713445f06</image:loc>                        <image:caption>Faire tourner des LLM gratuitement avec Ollama</image:caption>                </image:image>        </url>        <url>
            <loc>https://lecodeestdanslepre.fr/billets/un-widget-tui-custom-trois-bugs-et-un-chat-degoute</loc>                <lastmod>2026-07-18</lastmod>                <image:image>
                    <image:loc>https://lecodeestdanslepre.fr/og/billets/un-widget-tui-custom-trois-bugs-et-un-chat-degoute.png?v=db01e49eb5a30254</image:loc>                        <image:caption>Un widget Tui custom : trois bugs et un chat dégoûté</image:caption>                </image:image>        </url>        <url>
            <loc>https://lecodeestdanslepre.fr/billets/easyadmin-construire-un-menu-admin-qui-tient-la-route</loc>                <lastmod>2026-07-18</lastmod>                <image:image>
                    <image:loc>https://lecodeestdanslepre.fr/og/billets/easyadmin-construire-un-menu-admin-qui-tient-la-route.png?v=888c02ea6c7bc8b7</image:loc>                        <image:caption>EasyAdmin : construire un menu admin qui tient la route</image:caption>                </image:image>        </url>        <url>
            <loc>https://lecodeestdanslepre.fr/billets/une-boucle-for-contre-11-7-millions-de-francais-autopsie-d-une-faille-idor</loc>                <lastmod>2026-07-05</lastmod>                <image:image>
                    <image:loc>https://lecodeestdanslepre.fr/og/billets/une-boucle-for-contre-11-7-millions-de-francais-autopsie-d-une-faille-idor.png?v=7455e1860be079f6</image:loc>                        <image:caption>Une boucle for contre 11,7 millions de Français : autopsie d&#039;une faille IDOR</image:caption>                </image:image>        </url>        <url>
            <loc>https://lecodeestdanslepre.fr/billets/symfony-ai-mate-un-troisieme-port-d-entree-pour-votre-app-symfony</loc>                <lastmod>2026-07-18</lastmod>                <image:image>
                    <image:loc>https://lecodeestdanslepre.fr/og/billets/symfony-ai-mate-un-troisieme-port-d-entree-pour-votre-app-symfony.png?v=6e790ebc437a5308</image:loc>                        <image:caption>Symfony AI Mate : un troisième port d&#039;entrée pour votre app Symfony</image:caption>                </image:image>        </url>        <url>
            <loc>https://lecodeestdanslepre.fr/billets/c-est-parti-pour-installer-easyadmin</loc>                <lastmod>2026-07-18</lastmod>                <image:image>
                    <image:loc>https://lecodeestdanslepre.fr/og/billets/c-est-parti-pour-installer-easyadmin.png?v=da615ed4d480abf2</image:loc>                        <image:caption>C&#039;est parti pour installer EasyAdmin</image:caption>                </image:image>        </url>        <url>
            <loc>https://lecodeestdanslepre.fr/billets/heritage-doctrine-la-troisieme-porte-que-personne-ne-montre</loc>                <lastmod>2026-07-18</lastmod>                <image:image>
                    <image:loc>https://lecodeestdanslepre.fr/og/billets/heritage-doctrine-la-troisieme-porte-que-personne-ne-montre.png?v=63d71f36a0d37018</image:loc>                        <image:caption>Héritage Doctrine : la troisième porte que personne ne montre</image:caption>                </image:image>        </url>        <url>
            <loc>https://lecodeestdanslepre.fr/billets/fibers-php-anatomie-d-une-primitive-mal-aimee</loc>                <lastmod>2026-07-18</lastmod>                <image:image>
                    <image:loc>https://lecodeestdanslepre.fr/og/billets/fibers-php-anatomie-d-une-primitive-mal-aimee.png?v=4af3a1176f9e6f6a</image:loc>                        <image:caption>Fibers PHP : anatomie d&#039;une primitive mal aimée</image:caption>                </image:image>        </url>        <url>
            <loc>https://lecodeestdanslepre.fr/billets/generer-son-seo-avec-symfony-ai-et-gemini</loc>                <lastmod>2026-07-18</lastmod>                <image:image>
                    <image:loc>https://lecodeestdanslepre.fr/og/billets/generer-son-seo-avec-symfony-ai-et-gemini.png?v=fd7d49b8b082f81e</image:loc>                        <image:caption>Générer son SEO avec Symfony AI et Gemini</image:caption>                </image:image>        </url>        <url>
            <loc>https://lecodeestdanslepre.fr/billets/construire-un-systeme-de-redirections-http-complet-avec-symfony</loc>                <lastmod>2026-07-05</lastmod>                <image:image>
                    <image:loc>https://lecodeestdanslepre.fr/og/billets/construire-un-systeme-de-redirections-http-complet-avec-symfony.png?v=c1644a36583b105d</image:loc>                        <image:caption>Construire un système de redirections HTTP complet avec Symfony</image:caption>                </image:image>        </url>        <url>
            <loc>https://lecodeestdanslepre.fr/billets/historique-de-versions-dans-easyadmin-capturer-comparer-et-restaurer-chaque-modification</loc>                <lastmod>2026-07-18</lastmod>                <image:image>
                    <image:loc>https://lecodeestdanslepre.fr/og/billets/historique-de-versions-dans-easyadmin-capturer-comparer-et-restaurer-chaque-modification.png?v=279b041f4880fad7</image:loc>                        <image:caption>Historique de versions dans EasyAdmin : capturer, comparer et restaurer chaque modification</image:caption>                </image:image>        </url>        <url>
            <loc>https://lecodeestdanslepre.fr/billets/recommandations-de-contenu-avec-meilisearch</loc>                <lastmod>2026-07-18</lastmod>                <image:image>
                    <image:loc>https://lecodeestdanslepre.fr/og/billets/recommandations-de-contenu-avec-meilisearch.png?v=26f57eb8f91484a4</image:loc>                        <image:caption>Recommandations de contenu avec Meilisearch</image:caption>                </image:image>        </url>        <url>
            <loc>https://lecodeestdanslepre.fr/billets/comment-j-ai-transforme-easyadmin-en-tableur-intelligent</loc>                <lastmod>2026-07-18</lastmod>                <image:image>
                    <image:loc>https://lecodeestdanslepre.fr/og/billets/comment-j-ai-transforme-easyadmin-en-tableur-intelligent.png?v=c2c210b3eb748a99</image:loc>                        <image:caption>Comment j&#039;ai transformé EasyAdmin en tableur intelligent</image:caption>                </image:image>        </url>        <url>
            <loc>https://lecodeestdanslepre.fr/billets/les-delimiteurs-twig-le-probleme-d-espace-blanc-que-personne-ne-maitrise-vraiment</loc>                <lastmod>2026-07-18</lastmod>                <image:image>
                    <image:loc>https://lecodeestdanslepre.fr/og/billets/les-delimiteurs-twig-le-probleme-d-espace-blanc-que-personne-ne-maitrise-vraiment.png?v=98f62a3671d1f9c4</image:loc>                        <image:caption>Les délimiteurs Twig : ce problème d&#039;espace blanc que vous ignorez</image:caption>                </image:image>        </url>        <url>
            <loc>https://lecodeestdanslepre.fr/billets/php-8-4-rattrapage-de-retard-ou-veritable-modernisation</loc>                <lastmod>2026-07-05</lastmod>                <image:image>
                    <image:loc>https://lecodeestdanslepre.fr/og/billets/php-8-4-rattrapage-de-retard-ou-veritable-modernisation.png?v=b81011056acede95</image:loc>                        <image:caption>PHP 8.4 : rattrapage de retard ou véritable modernisation ?</image:caption>                </image:image>        </url>        <url>
            <loc>https://lecodeestdanslepre.fr/billets/php-8-5-pipe-operator-et-nouvelles-fonctionnalites</loc>                <lastmod>2026-05-16</lastmod>                <image:image>
                    <image:loc>https://lecodeestdanslepre.fr/og/billets/php-8-5-pipe-operator-et-nouvelles-fonctionnalites.png?v=436d8f984116a72b</image:loc>                        <image:caption>PHP 8.5 : pipe operator et nouvelles fonctionnalités</image:caption>                </image:image>        </url>        <url>
            <loc>https://lecodeestdanslepre.fr/billets/php-8-3-le-renforcement-du-typage-renforce-et-coherence-du-langage</loc>                <lastmod>2026-07-18</lastmod>                <image:image>
                    <image:loc>https://lecodeestdanslepre.fr/og/billets/php-8-3-le-renforcement-du-typage-renforce-et-coherence-du-langage.png?v=f2f2857a8cef2008</image:loc>                        <image:caption>PHP 8.3 : typage renforcé et nouvelles fonctionnalités</image:caption>                </image:image>        </url>        <url>
            <loc>https://lecodeestdanslepre.fr/billets/php-8-2-la-consolidation-du-systeme-de-types-et-modernisation-de-l-api</loc>                <lastmod>2026-07-05</lastmod>                <image:image>
                    <image:loc>https://lecodeestdanslepre.fr/og/billets/php-8-2-la-consolidation-du-systeme-de-types-et-modernisation-de-l-api.png?v=936f190f65b0fd77</image:loc>                        <image:caption>PHP 8.2 : la consolidation du système de types et modernisation de l’API</image:caption>                </image:image>        </url>        <url>
            <loc>https://lecodeestdanslepre.fr/billets/comment-tailwind-merge-resout-les-conflits-de-classes-dans-twig</loc>                <lastmod>2026-07-05</lastmod>                <image:image>
                    <image:loc>https://lecodeestdanslepre.fr/og/billets/comment-tailwind-merge-resout-les-conflits-de-classes-dans-twig.png?v=c0fafb8faf8c0ff8</image:loc>                        <image:caption>Comment tailwind_merge résout les conflits de classes dans Twig</image:caption>                </image:image>        </url>        <url>
            <loc>https://lecodeestdanslepre.fr/billets/php-8-1-l-expression-apres-la-revolution</loc>                <lastmod>2026-07-18</lastmod>                <image:image>
                    <image:loc>https://lecodeestdanslepre.fr/og/billets/php-8-1-l-expression-apres-la-revolution.png?v=1300a3ce085b5cc7</image:loc>                        <image:caption>PHP 8.1 : l’expression après la révolution</image:caption>                </image:image>        </url>        <url>
            <loc>https://lecodeestdanslepre.fr/billets/php-8-0-la-revolution-qui-a-tout-change</loc>                <lastmod>2026-07-18</lastmod>                <image:image>
                    <image:loc>https://lecodeestdanslepre.fr/og/billets/php-8-0-la-revolution-qui-a-tout-change.png?v=056b453f7620fedd</image:loc>                        <image:caption>PHP 8.0 : la révolution qui a tout changé</image:caption>                </image:image>        </url>        <url>
            <loc>https://lecodeestdanslepre.fr/billets/meilisearch-l-art-de-la-recherche-instantanee</loc>                <lastmod>2026-07-18</lastmod>                <image:image>
                    <image:loc>https://lecodeestdanslepre.fr/og/billets/meilisearch-l-art-de-la-recherche-instantanee.png?v=59717f6452e0a6fb</image:loc>                        <image:caption>Ce qui se passe entre la barre de recherche et l&#039;index</image:caption>                </image:image>        </url>        <url>
            <loc>https://lecodeestdanslepre.fr/billets/owasp-zap-comment-implementer-un-audit-dast-automatise-avec-symfony-et-docker</loc>                <lastmod>2026-07-05</lastmod>                <image:image>
                    <image:loc>https://lecodeestdanslepre.fr/og/billets/owasp-zap-comment-implementer-un-audit-dast-automatise-avec-symfony-et-docker.png?v=e52518a8fefa4b5d</image:loc>                        <image:caption>OWASP ZAP : comment implémenter un audit DAST automatisé avec Symfony et Docker</image:caption>                </image:image>        </url>        <url>
            <loc>https://lecodeestdanslepre.fr/billets/le-fouc-n-est-pas-un-bug-graphique-c-est-une-faille-d-architecture</loc>                <lastmod>2026-07-18</lastmod>                <image:image>
                    <image:loc>https://lecodeestdanslepre.fr/og/billets/le-fouc-n-est-pas-un-bug-graphique-c-est-une-faille-d-architecture.png?v=d21bdb96ee7cc911</image:loc>                        <image:caption>Le FOUC n&#039;est pas un bug graphique, c&#039;est une faille d&#039;architecture !</image:caption>                </image:image>        </url>        <url>
            <loc>https://lecodeestdanslepre.fr/billets/symfony-ux-icons-200-000-icones-svg-sans-cdn-sans-sprite-sans-prise-de-tete</loc>                <lastmod>2026-07-18</lastmod>                <image:image>
                    <image:loc>https://lecodeestdanslepre.fr/og/billets/symfony-ux-icons-200-000-icones-svg-sans-cdn-sans-sprite-sans-prise-de-tete.png?v=c3fa641f7b304366</image:loc>                        <image:caption>Symfony UX Icons : 200 000 icônes SVG sans CDN, sans sprite, sans prise de tête</image:caption>                </image:image>        </url>        <url>
            <loc>https://lecodeestdanslepre.fr/billets/symfony-ux-toolkit-quand-le-frontend-devient-enfin-un-plaisir</loc>                <lastmod>2026-07-18</lastmod>                <image:image>
                    <image:loc>https://lecodeestdanslepre.fr/og/billets/symfony-ux-toolkit-quand-le-frontend-devient-enfin-un-plaisir.png?v=84f09fe9346d4ab7</image:loc>                        <image:caption>Symfony UX Toolkit : quand le frontend devient (enfin) un plaisir</image:caption>                </image:image>        </url>        <url>
            <loc>https://lecodeestdanslepre.fr/billets/comment-frankenphp-a-relegue-php-fpm-et-nginx-au-stade-de-reliques</loc>                <lastmod>2026-07-18</lastmod>                <image:image>
                    <image:loc>https://lecodeestdanslepre.fr/og/billets/comment-frankenphp-a-relegue-php-fpm-et-nginx-au-stade-de-reliques.png?v=0977a8673764ac43</image:loc>                        <image:caption>Comment FrankenPHP a relégué PHP-FPM et Nginx au stade de reliques</image:caption>                </image:image>        </url>        <url>
            <loc>https://lecodeestdanslepre.fr/billets/assetmapper-le-frontend-pour-ceux-qui-detestent-vraiment-le-frontend</loc>                <lastmod>2026-07-18</lastmod>                <image:image>
                    <image:loc>https://lecodeestdanslepre.fr/og/billets/assetmapper-le-frontend-pour-ceux-qui-detestent-vraiment-le-frontend.png?v=200941050a071465</image:loc>                        <image:caption>AssetMapper : le frontend de Symfony sans Node ni bundler</image:caption>                </image:image>        </url>        <url>
            <loc>https://lecodeestdanslepre.fr/billets/live-components-javascript-moi-non-plus</loc>                <lastmod>2026-07-18</lastmod>                <image:image>
                    <image:loc>https://lecodeestdanslepre.fr/og/billets/live-components-javascript-moi-non-plus.png?v=c2627c7cbba1fc18</image:loc>                        <image:caption>Live Components : JavaScript, moi non plus</image:caption>                </image:image>        </url>        <url>
            <loc>https://lecodeestdanslepre.fr/billets/twig-components-la-puissance-du-backend-dans-le-frontend</loc>                <lastmod>2026-07-18</lastmod>                <image:image>
                    <image:loc>https://lecodeestdanslepre.fr/og/billets/twig-components-la-puissance-du-backend-dans-le-frontend.png?v=66cb552d4f8b892c</image:loc>                        <image:caption>Twig Components : la puissance du Backend dans le Frontend</image:caption>                </image:image>        </url>        <url>
            <loc>https://lecodeestdanslepre.fr/billets/php-8-4-property-hooks-quand-doctrine-3-4-revolutionne-vos-getters-setters</loc>                <lastmod>2026-07-18</lastmod>                <image:image>
                    <image:loc>https://lecodeestdanslepre.fr/og/billets/php-8-4-property-hooks-quand-doctrine-3-4-revolutionne-vos-getters-setters.png?v=9d62aca9b1ca7702</image:loc>                        <image:caption>PHP 8.4 Property Hooks : quand Doctrine 3.4 révolutionne vos Getters/Setters</image:caption>                </image:image>        </url>        <url>
            <loc>https://lecodeestdanslepre.fr/billets/securite-2fa-la-forteresse-numerique</loc>                <lastmod>2026-07-18</lastmod>                <image:image>
                    <image:loc>https://lecodeestdanslepre.fr/og/billets/securite-2fa-la-forteresse-numerique.png?v=8312bd074ec28e81</image:loc>                        <image:caption>Sécurité &amp; 2FA : la forteresse numérique</image:caption>                </image:image>        </url>        <url>
            <loc>https://lecodeestdanslepre.fr/billets/les-dtos-arretez-de-transformer-vos-donnees-en-kebab</loc>                <lastmod>2026-07-18</lastmod>                <image:image>
                    <image:loc>https://lecodeestdanslepre.fr/og/billets/les-dtos-arretez-de-transformer-vos-donnees-en-kebab.png?v=2edae6bf5a8c30fc</image:loc>                        <image:caption>Les DTOs : arrêtez de transformer vos données en kebab</image:caption>                </image:image>        </url>        <url>
            <loc>https://lecodeestdanslepre.fr/billets/attributs-php-metadonnees-natives-et-fin-de-la-magie</loc>                <lastmod>2026-07-18</lastmod>                <image:image>
                    <image:loc>https://lecodeestdanslepre.fr/og/billets/attributs-php-metadonnees-natives-et-fin-de-la-magie.png?v=7801dcba9640efb7</image:loc>                        <image:caption>Attributs PHP : métadonnées natives et fin de la magie</image:caption>                </image:image>        </url>        <url>
            <loc>https://lecodeestdanslepre.fr/billets/linjection-de-dependance-ou-comment-etre-faineant-avec-elegance</loc>                <lastmod>2026-07-18</lastmod>                <image:image>
                    <image:loc>https://lecodeestdanslepre.fr/og/billets/linjection-de-dependance-ou-comment-etre-faineant-avec-elegance.png?v=b92643578e9b3e66</image:loc>                        <image:caption>L&#039;injection de dépendance, ou comment être fainéant avec élégance</image:caption>                </image:image>        </url>        <url>
            <loc>https://lecodeestdanslepre.fr/billets/design-patterns-en-php-les-heros-de-l-ombre</loc>                <lastmod>2026-07-18</lastmod>                <image:image>
                    <image:loc>https://lecodeestdanslepre.fr/og/billets/design-patterns-en-php-les-heros-de-l-ombre.png?v=209384866fcfa148</image:loc>                        <image:caption>Les design patterns supposent que le process va mourir</image:caption>                </image:image>        </url>        <url>
            <loc>https://lecodeestdanslepre.fr/billets/arretez-les-god-controllers-passez-a-l-adr</loc>                <lastmod>2026-07-18</lastmod>                <image:image>
                    <image:loc>https://lecodeestdanslepre.fr/og/billets/arretez-les-god-controllers-passez-a-l-adr.png?v=c3b9470f72721792</image:loc>                        <image:caption>Arrêtez les God Controllers, passez à l&#039;ADR</image:caption>                </image:image>        </url>        <url>
            <loc>https://lecodeestdanslepre.fr/billets/mvc-comment-separer-proprement-ce-quon-va-de-toute-facon-melanger-ensuite</loc>                <lastmod>2026-07-18</lastmod>                <image:image>
                    <image:loc>https://lecodeestdanslepre.fr/og/billets/mvc-comment-separer-proprement-ce-quon-va-de-toute-facon-melanger-ensuite.png?v=264f99663a0c7c20</image:loc>                        <image:caption>MVC : comment séparer proprement ce qu&#039;on va de toute façon mélanger ensuite</image:caption>                </image:image>        </url>        <url>
            <loc>https://lecodeestdanslepre.fr/billets/composer-le-manifeste-du-developpeur-moderne</loc>                <lastmod>2026-07-13</lastmod>                <image:image>
                    <image:loc>https://lecodeestdanslepre.fr/og/billets/composer-le-manifeste-du-developpeur-moderne.png?v=2bd310f037b33b24</image:loc>                        <image:caption>Composer : le manifeste du développeur moderne</image:caption>                </image:image>        </url>        <url>
            <loc>https://lecodeestdanslepre.fr/billets/anatomie-dun-projet-symfony</loc>                <lastmod>2026-07-18</lastmod>                <image:image>
                    <image:loc>https://lecodeestdanslepre.fr/og/billets/anatomie-dun-projet-symfony.png?v=edac852a2aba732f</image:loc>                        <image:caption>Anatomie d’un projet Symfony</image:caption>                </image:image>        </url>        <url>
            <loc>https://lecodeestdanslepre.fr/billets/csp-le-gilet-pare-balles-de-votre-site-web</loc>                <lastmod>2026-07-18</lastmod>                <image:image>
                    <image:loc>https://lecodeestdanslepre.fr/og/billets/csp-le-gilet-pare-balles-de-votre-site-web.png?v=0041ff85157655ae</image:loc>                        <image:caption>CSP : le gilet pare-balles de votre site web</image:caption>                </image:image>        </url>        <url>
            <loc>https://lecodeestdanslepre.fr/billets/les-tests-comment-bien-jouer-au-cluedo</loc>                <lastmod>2026-07-18</lastmod>                <image:image>
                    <image:loc>https://lecodeestdanslepre.fr/og/billets/les-tests-comment-bien-jouer-au-cluedo.png?v=08f73830edba8e02</image:loc>                        <image:caption>Les tests : comment bien jouer au Cluedo</image:caption>                </image:image>        </url>        <url>
            <loc>https://lecodeestdanslepre.fr/billets/docker-et-les-containers-parce-quil-faut-expliquer-avec-des-pancakes</loc>                <lastmod>2026-07-18</lastmod>                <image:image>
                    <image:loc>https://lecodeestdanslepre.fr/og/billets/docker-et-les-containers-parce-quil-faut-expliquer-avec-des-pancakes.png?v=1042115199a915c1</image:loc>                        <image:caption>Docker et les containers : parce qu&#039;il faut expliquer avec des pancakes</image:caption>                </image:image>        </url></urlset>
