<?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"
        xmlns:xhtml="http://www.w3.org/1999/xhtml">
    <url>
        <loc>https://sunderdev.com/</loc>
        <lastmod>2026-10-15</lastmod>
        <changefreq>weekly</changefreq>
        <priority>1.0</priority>
        <xhtml:link rel="alternate" hreflang="fr" href="https://sunderdev.com/"/>
        <xhtml:link rel="alternate" hreflang="en" href="https://sunderdev.com/?lang=en"/>
        <xhtml:link rel="alternate" hreflang="x-default" href="https://sunderdev.com/"/>
        <image:image>
            <image:loc>https://sunderdev.com/assets/images/og-image.png</image:loc>
            <image:title>Ahmed Sanoko - Développeur Fullstack Web et Mobile - SunderDev</image:title>
            <image:caption>Portfolio de Ahmed Sanoko, développeur fullstack spécialisé en PHP, JavaScript, React Native et Node.js</image:caption>
        </image:image>
        <image:image>
            <image:loc>https://sunderdev.com/assets/images/logo_sunderdev.svg</image:loc>
            <image:title>Logo SunderDev</image:title>
            <image:caption>Logo officiel de SunderDev - Services de développement web et mobile</image:caption>
        </image:image>
    </url>
    <url>
        <loc>https://sunderdev.com/blog</loc>
        <lastmod>2026-10-16</lastmod>
        <changefreq>weekly</changefreq>
        <priority>0.9</priority>
        <xhtml:link rel="alternate" hreflang="fr" href="https://sunderdev.com/blog"/>
        <xhtml:link rel="alternate" hreflang="en" href="https://sunderdev.com/blog?lang=en"/>
        <xhtml:link rel="alternate" hreflang="x-default" href="https://sunderdev.com/blog"/>
    </url>
    <url>
        <loc>https://sunderdev.com/projets</loc>
        <lastmod>2026-10-15</lastmod>
        <changefreq>weekly</changefreq>
        <priority>0.9</priority>
    </url>
    <url>
        <loc>https://sunderdev.com/projets/zap</loc>
        <lastmod>2026-10-15</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.9</priority>
        <image:image>
            <image:loc>https://sunderdev.com/assets/images/projects/zap/video/presentation.webp</image:loc>
            <image:title>Zap — télécommande TV pour iPhone et Android</image:title>
            <image:caption>Onze styles de télécommande, applications, clavier et widgets</image:caption>
        </image:image>
    </url>
    <url>
        <loc>https://sunderdev.com/projets/zap/assistance</loc>
        <lastmod>2026-10-15</lastmod>
        <changefreq>yearly</changefreq>
        <priority>0.6</priority>
    </url>
    <url>
        <loc>https://sunderdev.com/projets/zap/confidentialite</loc>
        <lastmod>2026-10-15</lastmod>
        <changefreq>yearly</changefreq>
        <priority>0.5</priority>
    </url>
    <url>
        <loc>https://sunderdev.com/projets/zap/conditions</loc>
        <lastmod>2026-10-15</lastmod>
        <changefreq>yearly</changefreq>
        <priority>0.4</priority>
    </url>
    <url>
        <loc>https://sunderdev.com/projets/cubix</loc>
        <lastmod>2026-10-15</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.9</priority>
        <image:image>
            <image:loc>https://sunderdev.com/assets/images/projects/cubix/video/presentation.webp</image:loc>
            <image:title>Cubix — cube 3D sur iPhone et Android</image:title>
            <image:caption>300 niveaux dans 15 mondes, duels et Survie</image:caption>
        </image:image>
    </url>
    <url>
        <loc>https://sunderdev.com/projets/cubix/assistance</loc>
        <lastmod>2026-10-15</lastmod>
        <changefreq>yearly</changefreq>
        <priority>0.6</priority>
    </url>
    <url>
        <loc>https://sunderdev.com/projets/cubix/confidentialite</loc>
        <lastmod>2026-10-15</lastmod>
        <changefreq>yearly</changefreq>
        <priority>0.5</priority>
    </url>
    <url>
        <loc>https://sunderdev.com/projets/cubix/conditions</loc>
        <lastmod>2026-10-15</lastmod>
        <changefreq>yearly</changefreq>
        <priority>0.4</priority>
    </url>
    <url>
        <loc>https://sunderdev.com/projets/snake-survival</loc>
        <lastmod>2026-10-15</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.9</priority>
        <image:image>
            <image:loc>https://sunderdev.com/assets/images/projects/snake-survival/video/presentation.webp</image:loc>
            <image:title>Snake Survival — Snake en 3D sur iPhone et Android</image:title>
            <image:caption>Survie, 60 défis dans 6 mondes et 24 modes fous</image:caption>
        </image:image>
    </url>
    <url>
        <loc>https://sunderdev.com/projets/snake-survival/assistance</loc>
        <lastmod>2026-10-15</lastmod>
        <changefreq>yearly</changefreq>
        <priority>0.6</priority>
    </url>
    <url>
        <loc>https://sunderdev.com/projets/snake-survival/confidentialite</loc>
        <lastmod>2026-10-15</lastmod>
        <changefreq>yearly</changefreq>
        <priority>0.5</priority>
    </url>
    <url>
        <loc>https://sunderdev.com/projets/snake-survival/conditions</loc>
        <lastmod>2026-10-15</lastmod>
        <changefreq>yearly</changefreq>
        <priority>0.4</priority>
    </url>
    <url>
        <loc>https://sunderdev.com/projets/vooix</loc>
        <lastmod>2026-10-15</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.9</priority>
    </url>
    <url>
        <loc>https://sunderdev.com/blog/outil-devis-facturation-agence-immobiliere-etapes-delais</loc>
        <lastmod>2026-10-16</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
        <xhtml:link rel="alternate" hreflang="fr" href="https://sunderdev.com/blog/outil-devis-facturation-agence-immobiliere-etapes-delais"/>
        <xhtml:link rel="alternate" hreflang="en" href="https://sunderdev.com/blog/outil-devis-facturation-agence-immobiliere-etapes-delais?lang=en"/>
        <xhtml:link rel="alternate" hreflang="x-default" href="https://sunderdev.com/blog/outil-devis-facturation-agence-immobiliere-etapes-delais"/>
        <image:image>
            <image:loc>https://sunderdev.com/media/blog/outil-devis-facturation-agence-immobiliere-etapes-delais.webp?v=1792131104</image:loc>
            <image:title>Créer un outil de devis et facturation pour agence immobilière : étapes et délais</image:title>
            <image:caption>Découvrez les étapes clés, les règles juridiques et les délais pour créer un outil de devis et facturation sur mesure pour votre agence immobilière.</image:caption>
        </image:image>
    </url>
    <url>
        <loc>https://sunderdev.com/blog/ia-commande-materiel-medical-cabinet-comparatif</loc>
        <lastmod>2026-10-15</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
        <xhtml:link rel="alternate" hreflang="fr" href="https://sunderdev.com/blog/ia-commande-materiel-medical-cabinet-comparatif"/>
        <xhtml:link rel="alternate" hreflang="en" href="https://sunderdev.com/blog/ia-commande-materiel-medical-cabinet-comparatif?lang=en"/>
        <xhtml:link rel="alternate" hreflang="x-default" href="https://sunderdev.com/blog/ia-commande-materiel-medical-cabinet-comparatif"/>
        <image:image>
            <image:loc>https://sunderdev.com/media/blog/ia-commande-materiel-medical-cabinet-comparatif.webp?v=1792077116</image:loc>
            <image:title>IA pour la commande de matériel médical : comparatif des options</image:title>
            <image:caption>Découvrez comment l&apos;IA pour la commande de matériel médical simplifie le réassort de votre cabinet de santé, réduit les erreurs et libère du temps soignant.</image:caption>
        </image:image>
    </url>
    <url>
        <loc>https://sunderdev.com/blog/automatiser-avec-ia-commerce-proximite-erreurs-eviter</loc>
        <lastmod>2026-10-15</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
        <xhtml:link rel="alternate" hreflang="fr" href="https://sunderdev.com/blog/automatiser-avec-ia-commerce-proximite-erreurs-eviter"/>
        <xhtml:link rel="alternate" hreflang="en" href="https://sunderdev.com/blog/automatiser-avec-ia-commerce-proximite-erreurs-eviter?lang=en"/>
        <xhtml:link rel="alternate" hreflang="x-default" href="https://sunderdev.com/blog/automatiser-avec-ia-commerce-proximite-erreurs-eviter"/>
        <image:image>
            <image:loc>https://sunderdev.com/media/blog/automatiser-avec-ia-commerce-proximite-erreurs-eviter.webp?v=1792044687</image:loc>
            <image:title>Automatiser avec l&apos;IA dans un commerce : les erreurs à éviter</image:title>
            <image:caption>Découvrez les erreurs à éviter pour automatiser avec l&apos;IA dans votre commerce physique sans gaspiller votre budget ni perdre le contact avec vos clients.</image:caption>
        </image:image>
    </url>
    <url>
        <loc>https://sunderdev.com/blog/site-vitrine-artisan-batiment-questions-a-se-poser</loc>
        <lastmod>2026-10-14</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
        <xhtml:link rel="alternate" hreflang="fr" href="https://sunderdev.com/blog/site-vitrine-artisan-batiment-questions-a-se-poser"/>
        <xhtml:link rel="alternate" hreflang="en" href="https://sunderdev.com/blog/site-vitrine-artisan-batiment-questions-a-se-poser?lang=en"/>
        <xhtml:link rel="alternate" hreflang="x-default" href="https://sunderdev.com/blog/site-vitrine-artisan-batiment-questions-a-se-poser"/>
        <image:image>
            <image:loc>https://sunderdev.com/media/blog/site-vitrine-artisan-batiment-questions-a-se-poser.webp?v=1791958298</image:loc>
            <image:title>Créer un site vitrine pour artisan du bâtiment : les questions clés</image:title>
            <image:caption>Découvrez les questions clés pour concevoir un site vitrine d&apos;artisan du bâtiment rentable, rassurer vos prospects locaux et décrocher des chantiers qualifiés sans intermédiaire.</image:caption>
        </image:image>
    </url>
    <url>
        <loc>https://sunderdev.com/blog/automatiser-devis-factures-courtier-comparatif-options</loc>
        <lastmod>2026-10-13</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
        <xhtml:link rel="alternate" hreflang="fr" href="https://sunderdev.com/blog/automatiser-devis-factures-courtier-comparatif-options"/>
        <xhtml:link rel="alternate" hreflang="en" href="https://sunderdev.com/blog/automatiser-devis-factures-courtier-comparatif-options?lang=en"/>
        <xhtml:link rel="alternate" hreflang="x-default" href="https://sunderdev.com/blog/automatiser-devis-factures-courtier-comparatif-options"/>
        <image:image>
            <image:loc>https://sunderdev.com/media/blog/automatiser-devis-factures-courtier-comparatif-options.webp?v=1791871868</image:loc>
            <image:title>Automatiser devis et factures en courtage : comparatif des options</image:title>
            <image:caption>Comparez logiciels comptables, SaaS courtage et modules sur mesure pour automatiser devis, factures d&apos;honoraires et commissions sans ressaisie manuelle.</image:caption>
        </image:image>
    </url>
    <url>
        <loc>https://sunderdev.com/blog/extranet-organisme-formation-etapes-delais</loc>
        <lastmod>2026-10-12</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
        <xhtml:link rel="alternate" hreflang="fr" href="https://sunderdev.com/blog/extranet-organisme-formation-etapes-delais"/>
        <xhtml:link rel="alternate" hreflang="en" href="https://sunderdev.com/blog/extranet-organisme-formation-etapes-delais?lang=en"/>
        <xhtml:link rel="alternate" hreflang="x-default" href="https://sunderdev.com/blog/extranet-organisme-formation-etapes-delais"/>
        <image:image>
            <image:loc>https://sunderdev.com/media/blog/extranet-organisme-formation-etapes-delais.webp?v=1791817865</image:loc>
            <image:title>Créer un extranet pour organisme de formation : étapes et délais</image:title>
            <image:caption>Découvrez les étapes clés, les délais réels et le budget pour créer un extranet d&apos;organisme de formation sur mesure, sécurisé et conforme aux normes Qualiopi.</image:caption>
        </image:image>
    </url>
    <url>
        <loc>https://sunderdev.com/blog/checklist-publier-application-courtier-app-store-google-play</loc>
        <lastmod>2026-10-11</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
        <xhtml:link rel="alternate" hreflang="fr" href="https://sunderdev.com/blog/checklist-publier-application-courtier-app-store-google-play"/>
        <xhtml:link rel="alternate" hreflang="en" href="https://sunderdev.com/blog/checklist-publier-application-courtier-app-store-google-play?lang=en"/>
        <xhtml:link rel="alternate" hreflang="x-default" href="https://sunderdev.com/blog/checklist-publier-application-courtier-app-store-google-play"/>
        <image:image>
            <image:loc>https://sunderdev.com/media/blog/checklist-publier-application-courtier-app-store-google-play.webp?v=1791731466</image:loc>
            <image:title>Publier son application de courtage sur les stores : la checklist</image:title>
            <image:caption>Découvrez la checklist complète pour publier votre application de courtage sur l&apos;App Store et Google Play sans blocage : agréments, D-U-N-S et conformité.</image:caption>
        </image:image>
    </url>
    <url>
        <loc>https://sunderdev.com/blog/sauvegarde-plan-reprise-salle-de-sport-questions</loc>
        <lastmod>2026-10-10</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
        <xhtml:link rel="alternate" hreflang="fr" href="https://sunderdev.com/blog/sauvegarde-plan-reprise-salle-de-sport-questions"/>
        <xhtml:link rel="alternate" hreflang="en" href="https://sunderdev.com/blog/sauvegarde-plan-reprise-salle-de-sport-questions?lang=en"/>
        <xhtml:link rel="alternate" hreflang="x-default" href="https://sunderdev.com/blog/sauvegarde-plan-reprise-salle-de-sport-questions"/>
        <image:image>
            <image:loc>https://sunderdev.com/media/blog/sauvegarde-plan-reprise-salle-de-sport-questions.webp?v=1791645057</image:loc>
            <image:title>Sauvegarde et plan de reprise pour salle de sport : les bonnes questions</image:title>
            <image:caption>Portes closes, abonnements bloqués, prélèvements SEPA perdus : découvrez comment auditer et sécuriser les accès informatiques de votre salle de sport.</image:caption>
        </image:image>
    </url>
    <url>
        <loc>https://sunderdev.com/blog/prix-application-mobile-cabinet-comptable-budget</loc>
        <lastmod>2026-10-10</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
        <xhtml:link rel="alternate" hreflang="fr" href="https://sunderdev.com/blog/prix-application-mobile-cabinet-comptable-budget"/>
        <xhtml:link rel="alternate" hreflang="en" href="https://sunderdev.com/blog/prix-application-mobile-cabinet-comptable-budget?lang=en"/>
        <xhtml:link rel="alternate" hreflang="x-default" href="https://sunderdev.com/blog/prix-application-mobile-cabinet-comptable-budget"/>
        <image:image>
            <image:loc>https://sunderdev.com/media/blog/prix-application-mobile-cabinet-comptable-budget.webp?v=1791612686</image:loc>
            <image:title>Prix d&apos;une application mobile pour cabinet comptable : le guide budget</image:title>
            <image:caption>Découvrez le budget réel pour créer l&apos;application mobile de votre cabinet comptable : coûts de développement, frais annexes et comparatif entre sur-mesure et marque blanche.</image:caption>
        </image:image>
    </url>
    <url>
        <loc>https://sunderdev.com/blog/accessibilite-site-web-association-comment-choisir</loc>
        <lastmod>2026-10-09</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
        <xhtml:link rel="alternate" hreflang="fr" href="https://sunderdev.com/blog/accessibilite-site-web-association-comment-choisir"/>
        <xhtml:link rel="alternate" hreflang="en" href="https://sunderdev.com/blog/accessibilite-site-web-association-comment-choisir?lang=en"/>
        <xhtml:link rel="alternate" hreflang="x-default" href="https://sunderdev.com/blog/accessibilite-site-web-association-comment-choisir"/>
        <image:image>
            <image:loc>https://sunderdev.com/media/blog/accessibilite-site-web-association-comment-choisir.webp?v=1791558669</image:loc>
            <image:title>Accessibilité d&apos;un site web d&apos;association : comment bien choisir sa solution</image:title>
            <image:caption>Découvrez comment réussir l&apos;accessibilité du site web de votre association : comparez les solutions, évitez les pièges des widgets et appliquez le RGAA efficacement.</image:caption>
        </image:image>
    </url>
    <url>
        <loc>https://sunderdev.com/blog/assistant-ia-interne-startup-erreurs-eviter</loc>
        <lastmod>2026-10-08</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
        <xhtml:link rel="alternate" hreflang="fr" href="https://sunderdev.com/blog/assistant-ia-interne-startup-erreurs-eviter"/>
        <xhtml:link rel="alternate" hreflang="en" href="https://sunderdev.com/blog/assistant-ia-interne-startup-erreurs-eviter?lang=en"/>
        <xhtml:link rel="alternate" hreflang="x-default" href="https://sunderdev.com/blog/assistant-ia-interne-startup-erreurs-eviter"/>
        <image:image>
            <image:loc>https://sunderdev.com/media/blog/assistant-ia-interne-startup-erreurs-eviter.webp?v=1791472264</image:loc>
            <image:title>Créer un assistant IA interne pour startup : les pièges à éviter</image:title>
            <image:caption>Évitez les pièges classiques lors de la création d&apos;un assistant IA interne en startup : fausses réponses, fuites de données et rejet des équipes. La méthode concrète.</image:caption>
        </image:image>
    </url>
    <url>
        <loc>https://sunderdev.com/blog/logiciel-planning-reservation-cabinet-comptable-guide</loc>
        <lastmod>2026-10-08</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
        <xhtml:link rel="alternate" hreflang="fr" href="https://sunderdev.com/blog/logiciel-planning-reservation-cabinet-comptable-guide"/>
        <xhtml:link rel="alternate" hreflang="en" href="https://sunderdev.com/blog/logiciel-planning-reservation-cabinet-comptable-guide?lang=en"/>
        <xhtml:link rel="alternate" hreflang="x-default" href="https://sunderdev.com/blog/logiciel-planning-reservation-cabinet-comptable-guide"/>
        <image:image>
            <image:loc>https://sunderdev.com/media/blog/logiciel-planning-reservation-cabinet-comptable-guide.webp?v=1791439869</image:loc>
            <image:title>Créer un logiciel de planning et de réservation pour cabinet comptable</image:title>
            <image:caption>Découvrez comment créer un logiciel de planning pour cabinet comptable adapté à la période fiscale : règles métiers, gestion des pièces et synchronisation d&apos;agenda.</image:caption>
        </image:image>
    </url>
    <url>
        <loc>https://sunderdev.com/blog/formulaires-intervention-artisan-batiment-comment-choisir</loc>
        <lastmod>2026-10-07</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
        <xhtml:link rel="alternate" hreflang="fr" href="https://sunderdev.com/blog/formulaires-intervention-artisan-batiment-comment-choisir"/>
        <xhtml:link rel="alternate" hreflang="en" href="https://sunderdev.com/blog/formulaires-intervention-artisan-batiment-comment-choisir?lang=en"/>
        <xhtml:link rel="alternate" hreflang="x-default" href="https://sunderdev.com/blog/formulaires-intervention-artisan-batiment-comment-choisir"/>
        <image:image>
            <image:loc>https://sunderdev.com/media/blog/formulaires-intervention-artisan-batiment-comment-choisir.webp?v=1791385862</image:loc>
            <image:title>Formulaires d&apos;intervention pour artisan du bâtiment : comment bien choisir</image:title>
            <image:caption>Marre des fiches papier égarées ? Découvrez comment choisir vos formulaires d intervention bâtiment et structurer un workflow mobile efficace pour vos chantiers.</image:caption>
        </image:image>
    </url>
    <url>
        <loc>https://sunderdev.com/blog/budget-securiser-site-internet-hotel-gite</loc>
        <lastmod>2026-10-06</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
        <xhtml:link rel="alternate" hreflang="fr" href="https://sunderdev.com/blog/budget-securiser-site-internet-hotel-gite"/>
        <xhtml:link rel="alternate" hreflang="en" href="https://sunderdev.com/blog/budget-securiser-site-internet-hotel-gite?lang=en"/>
        <xhtml:link rel="alternate" hreflang="x-default" href="https://sunderdev.com/blog/budget-securiser-site-internet-hotel-gite"/>
        <image:image>
            <image:loc>https://sunderdev.com/media/blog/budget-securiser-site-internet-hotel-gite.webp?v=1791299514</image:loc>
            <image:title>Quel budget pour sécuriser le site internet d&apos;un hôtel ou d&apos;un gîte ?</image:title>
            <image:caption>Découvrez le budget pour sécuriser le site internet de votre hôtel ou gîte : coûts réels des audits, durcissement technique et astuces pour protéger vos paiements.</image:caption>
        </image:image>
    </url>
    <url>
        <loc>https://sunderdev.com/blog/migrer-fichiers-excel-vers-application-startup</loc>
        <lastmod>2026-10-06</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
        <xhtml:link rel="alternate" hreflang="fr" href="https://sunderdev.com/blog/migrer-fichiers-excel-vers-application-startup"/>
        <xhtml:link rel="alternate" hreflang="en" href="https://sunderdev.com/blog/migrer-fichiers-excel-vers-application-startup?lang=en"/>
        <xhtml:link rel="alternate" hreflang="x-default" href="https://sunderdev.com/blog/migrer-fichiers-excel-vers-application-startup"/>
        <image:image>
            <image:loc>https://sunderdev.com/media/blog/migrer-fichiers-excel-vers-application-startup.webp?v=1791267063</image:loc>
            <image:title>Migrer des fichiers Excel vers une application web : le guide pratique</image:title>
            <image:caption>Découvrez la méthode concrète pour migrer des fichiers Excel vers une application web sécurisée, fiabiliser vos flux de travail et libérer votre équipe.</image:caption>
        </image:image>
    </url>
    <url>
        <loc>https://sunderdev.com/blog/lecture-automatique-factures-startup-erreurs-eviter</loc>
        <lastmod>2026-10-05</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
        <xhtml:link rel="alternate" hreflang="fr" href="https://sunderdev.com/blog/lecture-automatique-factures-startup-erreurs-eviter"/>
        <xhtml:link rel="alternate" hreflang="en" href="https://sunderdev.com/blog/lecture-automatique-factures-startup-erreurs-eviter?lang=en"/>
        <xhtml:link rel="alternate" hreflang="x-default" href="https://sunderdev.com/blog/lecture-automatique-factures-startup-erreurs-eviter"/>
        <image:image>
            <image:loc>https://sunderdev.com/media/blog/lecture-automatique-factures-startup-erreurs-eviter.webp?v=1791213045</image:loc>
            <image:title>Lecture automatique de factures en startup : les erreurs à éviter</image:title>
            <image:caption>Évitez les pièges de la lecture automatique de factures en startup : limites de l&apos;OCR, coûts cachés et méthodes concrètes pour fiabiliser vos extractions par IA.</image:caption>
        </image:image>
    </url>
    <url>
        <loc>https://sunderdev.com/blog/piratage-organisme-formation-erreurs-eviter</loc>
        <lastmod>2026-10-05</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
        <xhtml:link rel="alternate" hreflang="fr" href="https://sunderdev.com/blog/piratage-organisme-formation-erreurs-eviter"/>
        <xhtml:link rel="alternate" hreflang="en" href="https://sunderdev.com/blog/piratage-organisme-formation-erreurs-eviter?lang=en"/>
        <xhtml:link rel="alternate" hreflang="x-default" href="https://sunderdev.com/blog/piratage-organisme-formation-erreurs-eviter"/>
        <image:image>
            <image:loc>https://sunderdev.com/media/blog/piratage-organisme-formation-erreurs-eviter.webp?v=1791180637</image:loc>
            <image:title>Piratage d&apos;un organisme de formation : les erreurs à éviter après l&apos;attaque</image:title>
            <image:caption>Votre plateforme LMS ou site de formation est piraté ? Découvrez les erreurs techniques et légales à éviter d&apos;urgence pour protéger vos données et vos stagiaires.</image:caption>
        </image:image>
    </url>
    <url>
        <loc>https://sunderdev.com/blog/logiciel-gestion-dossiers-archives-avocats-etapes-delais</loc>
        <lastmod>2026-10-04</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
        <xhtml:link rel="alternate" hreflang="fr" href="https://sunderdev.com/blog/logiciel-gestion-dossiers-archives-avocats-etapes-delais"/>
        <xhtml:link rel="alternate" hreflang="en" href="https://sunderdev.com/blog/logiciel-gestion-dossiers-archives-avocats-etapes-delais?lang=en"/>
        <xhtml:link rel="alternate" hreflang="x-default" href="https://sunderdev.com/blog/logiciel-gestion-dossiers-archives-avocats-etapes-delais"/>
        <image:image>
            <image:loc>https://sunderdev.com/media/blog/logiciel-gestion-dossiers-archives-avocats-etapes-delais.webp?v=1791126641</image:loc>
            <image:title>Logiciel de gestion des dossiers et archives pour cabinet d&apos;avocats : étapes et délais</image:title>
            <image:caption>Découvrez les étapes et délais pour concevoir un logiciel de gestion des dossiers et archives physiques pour cabinet d&apos;avocats adapté au secret professionnel.</image:caption>
        </image:image>
    </url>
    <url>
        <loc>https://sunderdev.com/blog/maintenance-hebergement-site-agence-voyage-questions</loc>
        <lastmod>2026-10-03</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
        <xhtml:link rel="alternate" hreflang="fr" href="https://sunderdev.com/blog/maintenance-hebergement-site-agence-voyage-questions"/>
        <xhtml:link rel="alternate" hreflang="en" href="https://sunderdev.com/blog/maintenance-hebergement-site-agence-voyage-questions?lang=en"/>
        <xhtml:link rel="alternate" hreflang="x-default" href="https://sunderdev.com/blog/maintenance-hebergement-site-agence-voyage-questions"/>
        <image:image>
            <image:loc>https://sunderdev.com/media/blog/maintenance-hebergement-site-agence-voyage-questions.webp?v=1791007838</image:loc>
            <image:title>Maintenance et hébergement d&apos;un site de voyage : les questions clés</image:title>
            <image:caption>Votre site d&apos;agence de voyage résiste-t-il aux pics de réservation ? Découvrez les questions clés pour évaluer votre hébergement et votre maintenance technique.</image:caption>
        </image:image>
    </url>
    <url>
        <loc>https://sunderdev.com/blog/application-reservation-pharmacie-comparatif-options</loc>
        <lastmod>2026-10-03</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
        <xhtml:link rel="alternate" hreflang="fr" href="https://sunderdev.com/blog/application-reservation-pharmacie-comparatif-options"/>
        <xhtml:link rel="alternate" hreflang="en" href="https://sunderdev.com/blog/application-reservation-pharmacie-comparatif-options?lang=en"/>
        <xhtml:link rel="alternate" hreflang="x-default" href="https://sunderdev.com/blog/application-reservation-pharmacie-comparatif-options"/>
        <image:image>
            <image:loc>https://sunderdev.com/media/blog/application-reservation-pharmacie-comparatif-options.webp?v=1790987173</image:loc>
            <image:title>Application de réservation en pharmacie : solution SaaS ou sur-mesure ?</image:title>
            <image:caption>SaaS mutualisé ou application sur-mesure ? Analysez le comparatif complet pour équiper votre pharmacie d&apos;un outil de réservation conforme, sécurisé et rentable.</image:caption>
        </image:image>
    </url>
    <url>
        <loc>https://sunderdev.com/blog/ia-developpement-revolution-silencieuse-2026</loc>
        <lastmod>2026-04-18</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
        <xhtml:link rel="alternate" hreflang="fr" href="https://sunderdev.com/blog/ia-developpement-revolution-silencieuse-2026"/>
        <xhtml:link rel="alternate" hreflang="en" href="https://sunderdev.com/blog/ia-developpement-revolution-silencieuse-2026?lang=en"/>
        <xhtml:link rel="alternate" hreflang="x-default" href="https://sunderdev.com/blog/ia-developpement-revolution-silencieuse-2026"/>
        <image:image>
            <image:loc>https://sunderdev.com/assets/images/blog/ia-developpement-revolution-silencieuse-2026.webp?v=1792062123</image:loc>
            <image:title>L&apos;IA et le développement : la révolution silencieuse de notre métier</image:title>
            <image:caption>De Copilot à Claude, les assistants IA ont radicalement transformé le métier de développeur en 2026. Retour d&apos;expérience concret sur leur utilisation en production.</image:caption>
        </image:image>
    </url>
    <url>
        <loc>https://sunderdev.com/blog/claude-vs-chatgpt-vs-gemini-meilleure-ia-coder-2026</loc>
        <lastmod>2026-04-15</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
        <xhtml:link rel="alternate" hreflang="fr" href="https://sunderdev.com/blog/claude-vs-chatgpt-vs-gemini-meilleure-ia-coder-2026"/>
        <xhtml:link rel="alternate" hreflang="en" href="https://sunderdev.com/blog/claude-vs-chatgpt-vs-gemini-meilleure-ia-coder-2026?lang=en"/>
        <xhtml:link rel="alternate" hreflang="x-default" href="https://sunderdev.com/blog/claude-vs-chatgpt-vs-gemini-meilleure-ia-coder-2026"/>
        <image:image>
            <image:loc>https://sunderdev.com/assets/images/blog/claude-vs-chatgpt-vs-gemini-meilleure-ia-coder-2026.webp?v=1792062123</image:loc>
            <image:title>Claude, ChatGPT ou Gemini : quelle IA choisir pour coder en 2026 ?</image:title>
            <image:caption>Comparatif sur des tâches concrètes : refactor, debug, génération d&apos;API, migration framework. Verdict sans complaisance entre les trois géants de l&apos;IA générative.</image:caption>
        </image:image>
    </url>
    <url>
        <loc>https://sunderdev.com/blog/mcp-model-context-protocol-comprendre-avenir-assistants-ia</loc>
        <lastmod>2026-04-10</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
        <xhtml:link rel="alternate" hreflang="fr" href="https://sunderdev.com/blog/mcp-model-context-protocol-comprendre-avenir-assistants-ia"/>
        <xhtml:link rel="alternate" hreflang="en" href="https://sunderdev.com/blog/mcp-model-context-protocol-comprendre-avenir-assistants-ia?lang=en"/>
        <xhtml:link rel="alternate" hreflang="x-default" href="https://sunderdev.com/blog/mcp-model-context-protocol-comprendre-avenir-assistants-ia"/>
        <image:image>
            <image:loc>https://sunderdev.com/assets/images/blog/mcp-model-context-protocol-comprendre-avenir-assistants-ia.webp?v=1792062123</image:loc>
            <image:title>MCP (Model Context Protocol) : comprendre l&apos;avenir des assistants IA</image:title>
            <image:caption>Lancé par Anthropic fin 2024, MCP est le protocole qui transforme les LLM en vrais agents connectés à votre stack. Voici pourquoi tout le monde y passe.</image:caption>
        </image:image>
    </url>
    <url>
        <loc>https://sunderdev.com/blog/php-8-4-nouveautes-changent-vraiment-code</loc>
        <lastmod>2026-04-08</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
        <xhtml:link rel="alternate" hreflang="fr" href="https://sunderdev.com/blog/php-8-4-nouveautes-changent-vraiment-code"/>
        <xhtml:link rel="alternate" hreflang="en" href="https://sunderdev.com/blog/php-8-4-nouveautes-changent-vraiment-code?lang=en"/>
        <xhtml:link rel="alternate" hreflang="x-default" href="https://sunderdev.com/blog/php-8-4-nouveautes-changent-vraiment-code"/>
        <image:image>
            <image:loc>https://sunderdev.com/assets/images/blog/php-8-4-nouveautes-changent-vraiment-code.webp?v=1792062123</image:loc>
            <image:title>PHP 8.4 : les 7 nouveautés qui changent vraiment votre code</image:title>
            <image:caption>Property hooks, asymmetric visibility, new() without parentheses — PHP 8.4 apporte des changements de syntaxe majeurs. Tour d&apos;horizon avec exemples concrets.</image:caption>
        </image:image>
    </url>
    <url>
        <loc>https://sunderdev.com/blog/javascript-2026-features-es2025-connaitre</loc>
        <lastmod>2026-04-05</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
        <xhtml:link rel="alternate" hreflang="fr" href="https://sunderdev.com/blog/javascript-2026-features-es2025-connaitre"/>
        <xhtml:link rel="alternate" hreflang="en" href="https://sunderdev.com/blog/javascript-2026-features-es2025-connaitre?lang=en"/>
        <xhtml:link rel="alternate" hreflang="x-default" href="https://sunderdev.com/blog/javascript-2026-features-es2025-connaitre"/>
        <image:image>
            <image:loc>https://sunderdev.com/assets/images/blog/javascript-2026-features-es2025-connaitre.webp?v=1792062123</image:loc>
            <image:title>JavaScript en 2026 : les features ES2025 à connaître absolument</image:title>
            <image:caption>Iterator helpers, Promise.try, Set methods, Regex /v flag. ES2025 est la mise à jour la plus dense depuis ES6. Tour complet avec cas d&apos;usage réels.</image:caption>
        </image:image>
    </url>
    <url>
        <loc>https://sunderdev.com/blog/integrer-api-claude-application-php-guide-complet</loc>
        <lastmod>2026-04-02</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
        <xhtml:link rel="alternate" hreflang="fr" href="https://sunderdev.com/blog/integrer-api-claude-application-php-guide-complet"/>
        <xhtml:link rel="alternate" hreflang="en" href="https://sunderdev.com/blog/integrer-api-claude-application-php-guide-complet?lang=en"/>
        <xhtml:link rel="alternate" hreflang="x-default" href="https://sunderdev.com/blog/integrer-api-claude-application-php-guide-complet"/>
        <image:image>
            <image:loc>https://sunderdev.com/assets/images/blog/integrer-api-claude-application-php-guide-complet.webp?v=1792062123</image:loc>
            <image:title>Intégrer l&apos;API Claude dans une application PHP : le guide complet</image:title>
            <image:caption>Authentification, streaming, prompt caching, tool use, gestion d&apos;erreurs — tout ce qu&apos;il faut pour brancher Claude proprement dans un projet PHP de production.</image:caption>
        </image:image>
    </url>
    <url>
        <loc>https://sunderdev.com/blog/prompt-engineering-developpeurs-techniques-qui-fonctionnent</loc>
        <lastmod>2026-03-28</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
        <xhtml:link rel="alternate" hreflang="fr" href="https://sunderdev.com/blog/prompt-engineering-developpeurs-techniques-qui-fonctionnent"/>
        <xhtml:link rel="alternate" hreflang="en" href="https://sunderdev.com/blog/prompt-engineering-developpeurs-techniques-qui-fonctionnent?lang=en"/>
        <xhtml:link rel="alternate" hreflang="x-default" href="https://sunderdev.com/blog/prompt-engineering-developpeurs-techniques-qui-fonctionnent"/>
        <image:image>
            <image:loc>https://sunderdev.com/assets/images/blog/prompt-engineering-developpeurs-techniques-qui-fonctionnent.webp?v=1792062123</image:loc>
            <image:title>Prompt engineering pour développeurs : les techniques qui fonctionnent vraiment</image:title>
            <image:caption>Au-delà du buzz, voici les 8 patterns de prompting qui doublent la qualité des réponses IA sur du code réel. Avec exemples avant/après.</image:caption>
        </image:image>
    </url>
    <url>
        <loc>https://sunderdev.com/blog/react-native-flutter-verdict-apres-quatre-ans-terrain</loc>
        <lastmod>2026-03-22</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
        <xhtml:link rel="alternate" hreflang="fr" href="https://sunderdev.com/blog/react-native-flutter-verdict-apres-quatre-ans-terrain"/>
        <xhtml:link rel="alternate" hreflang="en" href="https://sunderdev.com/blog/react-native-flutter-verdict-apres-quatre-ans-terrain?lang=en"/>
        <xhtml:link rel="alternate" hreflang="x-default" href="https://sunderdev.com/blog/react-native-flutter-verdict-apres-quatre-ans-terrain"/>
        <image:image>
            <image:loc>https://sunderdev.com/assets/images/blog/react-native-flutter-verdict-apres-quatre-ans-terrain.webp?v=1792062123</image:loc>
            <image:title>React Native vs Flutter : le comparatif sur le terrain</image:title>
            <image:caption>Forces, faiblesses et critères clés : voici comment trancher entre React Native et Flutter en 2026.</image:caption>
        </image:image>
    </url>
    <url>
        <loc>https://sunderdev.com/blog/10-outils-ia-indispensables-developpeur-freelance-2026</loc>
        <lastmod>2026-03-18</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
        <xhtml:link rel="alternate" hreflang="fr" href="https://sunderdev.com/blog/10-outils-ia-indispensables-developpeur-freelance-2026"/>
        <xhtml:link rel="alternate" hreflang="en" href="https://sunderdev.com/blog/10-outils-ia-indispensables-developpeur-freelance-2026?lang=en"/>
        <xhtml:link rel="alternate" hreflang="x-default" href="https://sunderdev.com/blog/10-outils-ia-indispensables-developpeur-freelance-2026"/>
        <image:image>
            <image:loc>https://sunderdev.com/assets/images/blog/10-outils-ia-indispensables-developpeur-freelance-2026.webp?v=1792062123</image:loc>
            <image:title>Les 10 outils IA indispensables pour un développeur freelance en 2026</image:title>
            <image:caption>Une stack IA complète, testée et budgétisée. Ce qui mérite d&apos;être financé et ce qui ne sert à rien malgré le buzz.</image:caption>
        </image:image>
    </url>
    <url>
        <loc>https://sunderdev.com/blog/stripe-php-systeme-abonnement-robuste-production</loc>
        <lastmod>2026-03-12</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
        <xhtml:link rel="alternate" hreflang="fr" href="https://sunderdev.com/blog/stripe-php-systeme-abonnement-robuste-production"/>
        <xhtml:link rel="alternate" hreflang="en" href="https://sunderdev.com/blog/stripe-php-systeme-abonnement-robuste-production?lang=en"/>
        <xhtml:link rel="alternate" hreflang="x-default" href="https://sunderdev.com/blog/stripe-php-systeme-abonnement-robuste-production"/>
        <image:image>
            <image:loc>https://sunderdev.com/assets/images/blog/stripe-php-systeme-abonnement-robuste-production.webp?v=1792062123</image:loc>
            <image:title>Stripe + PHP : implémenter un système d&apos;abonnement robuste en production</image:title>
            <image:caption>Checkout, webhooks, customer portal, gestion des downgrades — le guide complet basé sur une vraie implémentation déployée et facturée.</image:caption>
        </image:image>
    </url>
    <url>
        <loc>https://sunderdev.com/blog/rag-retrieval-augmented-generation-explique-simplement</loc>
        <lastmod>2026-03-08</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
        <xhtml:link rel="alternate" hreflang="fr" href="https://sunderdev.com/blog/rag-retrieval-augmented-generation-explique-simplement"/>
        <xhtml:link rel="alternate" hreflang="en" href="https://sunderdev.com/blog/rag-retrieval-augmented-generation-explique-simplement?lang=en"/>
        <xhtml:link rel="alternate" hreflang="x-default" href="https://sunderdev.com/blog/rag-retrieval-augmented-generation-explique-simplement"/>
        <image:image>
            <image:loc>https://sunderdev.com/assets/images/blog/rag-retrieval-augmented-generation-explique-simplement.webp?v=1792062123</image:loc>
            <image:title>RAG (Retrieval Augmented Generation) expliqué simplement</image:title>
            <image:caption>Comment donner à un LLM l&apos;accès à vos données sans fine-tuning. L&apos;architecture qui fait tourner 80 % des chatbots sérieux en 2026, décryptée.</image:caption>
        </image:image>
    </url>
    <url>
        <loc>https://sunderdev.com/blog/fine-tuning-vs-prompting-quand-entrainer-modele-ia</loc>
        <lastmod>2026-03-04</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
        <xhtml:link rel="alternate" hreflang="fr" href="https://sunderdev.com/blog/fine-tuning-vs-prompting-quand-entrainer-modele-ia"/>
        <xhtml:link rel="alternate" hreflang="en" href="https://sunderdev.com/blog/fine-tuning-vs-prompting-quand-entrainer-modele-ia?lang=en"/>
        <xhtml:link rel="alternate" hreflang="x-default" href="https://sunderdev.com/blog/fine-tuning-vs-prompting-quand-entrainer-modele-ia"/>
        <image:image>
            <image:loc>https://sunderdev.com/assets/images/blog/fine-tuning-vs-prompting-quand-entrainer-modele-ia.webp?v=1792062123</image:loc>
            <image:title>Fine-tuning vs prompting : quand vraiment entraîner un modèle IA ?</image:title>
            <image:caption>Beaucoup d&apos;équipes dépensent des milliers d&apos;euros en fine-tuning là où un bon prompt suffirait. Voici la grille de décision qui évite l&apos;erreur.</image:caption>
        </image:image>
    </url>
    <url>
        <loc>https://sunderdev.com/blog/agents-ia-autonomes-fantasme-realite-2026</loc>
        <lastmod>2026-03-01</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
        <xhtml:link rel="alternate" hreflang="fr" href="https://sunderdev.com/blog/agents-ia-autonomes-fantasme-realite-2026"/>
        <xhtml:link rel="alternate" hreflang="en" href="https://sunderdev.com/blog/agents-ia-autonomes-fantasme-realite-2026?lang=en"/>
        <xhtml:link rel="alternate" hreflang="x-default" href="https://sunderdev.com/blog/agents-ia-autonomes-fantasme-realite-2026"/>
        <image:image>
            <image:loc>https://sunderdev.com/assets/images/blog/agents-ia-autonomes-fantasme-realite-2026.webp?v=1792062123</image:loc>
            <image:title>Les agents IA autonomes : fantasme ou réalité en 2026 ?</image:title>
            <image:caption>Deux ans après le buzz d&apos;AutoGPT, voici ce que les agents IA savent vraiment faire en production — et ce qui plante encore systématiquement.</image:caption>
        </image:image>
    </url>
    <url>
        <loc>https://sunderdev.com/blog/claude-code-vs-cursor-vs-windsurf-comparatif-ide-ia-2026</loc>
        <lastmod>2026-02-26</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
        <xhtml:link rel="alternate" hreflang="fr" href="https://sunderdev.com/blog/claude-code-vs-cursor-vs-windsurf-comparatif-ide-ia-2026"/>
        <xhtml:link rel="alternate" hreflang="en" href="https://sunderdev.com/blog/claude-code-vs-cursor-vs-windsurf-comparatif-ide-ia-2026?lang=en"/>
        <xhtml:link rel="alternate" hreflang="x-default" href="https://sunderdev.com/blog/claude-code-vs-cursor-vs-windsurf-comparatif-ide-ia-2026"/>
        <image:image>
            <image:loc>https://sunderdev.com/assets/images/blog/claude-code-vs-cursor-vs-windsurf-comparatif-ide-ia-2026.webp?v=1792062123</image:loc>
            <image:title>Claude Code vs Cursor vs Windsurf : le comparatif des IDE IA en 2026</image:title>
            <image:caption>Trois outils, trois philosophies. Comparatif détaillé sur des projets réels. Verdict nuancé et cas d&apos;usage concrets.</image:caption>
        </image:image>
    </url>
    <url>
        <loc>https://sunderdev.com/blog/securiser-application-utilisant-ia-bonnes-pratiques</loc>
        <lastmod>2026-02-22</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
        <xhtml:link rel="alternate" hreflang="fr" href="https://sunderdev.com/blog/securiser-application-utilisant-ia-bonnes-pratiques"/>
        <xhtml:link rel="alternate" hreflang="en" href="https://sunderdev.com/blog/securiser-application-utilisant-ia-bonnes-pratiques?lang=en"/>
        <xhtml:link rel="alternate" hreflang="x-default" href="https://sunderdev.com/blog/securiser-application-utilisant-ia-bonnes-pratiques"/>
        <image:image>
            <image:loc>https://sunderdev.com/assets/images/blog/securiser-application-utilisant-ia-bonnes-pratiques.webp?v=1792062123</image:loc>
            <image:title>Sécuriser une application qui utilise l&apos;IA : les bonnes pratiques 2026</image:title>
            <image:caption>Prompt injection, data leakage, jailbreaks, coût runaway. Le guide pragmatique des risques spécifiques à l&apos;IA et de leurs parades.</image:caption>
        </image:image>
    </url>
    <url>
        <loc>https://sunderdev.com/blog/hallucinations-llm-eviter-production</loc>
        <lastmod>2026-02-18</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
        <xhtml:link rel="alternate" hreflang="fr" href="https://sunderdev.com/blog/hallucinations-llm-eviter-production"/>
        <xhtml:link rel="alternate" hreflang="en" href="https://sunderdev.com/blog/hallucinations-llm-eviter-production?lang=en"/>
        <xhtml:link rel="alternate" hreflang="x-default" href="https://sunderdev.com/blog/hallucinations-llm-eviter-production"/>
        <image:image>
            <image:loc>https://sunderdev.com/assets/images/blog/hallucinations-llm-eviter-production.webp?v=1792062123</image:loc>
            <image:title>Les hallucinations des LLM : comment vraiment les éviter en production</image:title>
            <image:caption>Non, les LLM n&apos;arrêteront jamais complètement d&apos;halluciner. Mais 80 % des hallucinations viennent de 4 erreurs évitables. Voici lesquelles.</image:caption>
        </image:image>
    </url>
    <url>
        <loc>https://sunderdev.com/blog/structured-outputs-llm-forcer-json-fiable</loc>
        <lastmod>2026-02-14</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
        <xhtml:link rel="alternate" hreflang="fr" href="https://sunderdev.com/blog/structured-outputs-llm-forcer-json-fiable"/>
        <xhtml:link rel="alternate" hreflang="en" href="https://sunderdev.com/blog/structured-outputs-llm-forcer-json-fiable?lang=en"/>
        <xhtml:link rel="alternate" hreflang="x-default" href="https://sunderdev.com/blog/structured-outputs-llm-forcer-json-fiable"/>
        <image:image>
            <image:loc>https://sunderdev.com/assets/images/blog/structured-outputs-llm-forcer-json-fiable.webp?v=1792062123</image:loc>
            <image:title>Structured outputs avec les LLM : forcer du JSON fiable en production</image:title>
            <image:caption>Fini le prompt &quot;retourne un JSON valide stp merci&quot; suivi d&apos;un parsing fragile. Voici comment obtenir 99,9 % de JSON valide en production.</image:caption>
        </image:image>
    </url>
    <url>
        <loc>https://sunderdev.com/blog/tool-use-avance-chainer-plusieurs-outils-ia</loc>
        <lastmod>2026-02-10</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
        <xhtml:link rel="alternate" hreflang="fr" href="https://sunderdev.com/blog/tool-use-avance-chainer-plusieurs-outils-ia"/>
        <xhtml:link rel="alternate" hreflang="en" href="https://sunderdev.com/blog/tool-use-avance-chainer-plusieurs-outils-ia?lang=en"/>
        <xhtml:link rel="alternate" hreflang="x-default" href="https://sunderdev.com/blog/tool-use-avance-chainer-plusieurs-outils-ia"/>
        <image:image>
            <image:loc>https://sunderdev.com/assets/images/blog/tool-use-avance-chainer-plusieurs-outils-ia.webp?v=1792062123</image:loc>
            <image:title>Tool use avancé : chaîner plusieurs outils IA proprement</image:title>
            <image:caption>Passer de 1 tool à 10 tools n&apos;est pas linéaire. Voici les patterns qui évitent que votre agent se perde au 5e appel.</image:caption>
        </image:image>
    </url>
    <url>
        <loc>https://sunderdev.com/blog/embeddings-recherche-semantique-guide-php</loc>
        <lastmod>2026-02-06</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
        <xhtml:link rel="alternate" hreflang="fr" href="https://sunderdev.com/blog/embeddings-recherche-semantique-guide-php"/>
        <xhtml:link rel="alternate" hreflang="en" href="https://sunderdev.com/blog/embeddings-recherche-semantique-guide-php?lang=en"/>
        <xhtml:link rel="alternate" hreflang="x-default" href="https://sunderdev.com/blog/embeddings-recherche-semantique-guide-php"/>
        <image:image>
            <image:loc>https://sunderdev.com/assets/images/blog/embeddings-recherche-semantique-guide-php.webp?v=1792062123</image:loc>
            <image:title>Embeddings et recherche sémantique en PHP : guide pratique 2026</image:title>
            <image:caption>Postgres + pgvector + OpenAI embeddings = une recherche sémantique productive en 200 lignes de PHP. Le tutoriel que j&apos;aurais voulu lire.</image:caption>
        </image:image>
    </url>
    <url>
        <loc>https://sunderdev.com/blog/creer-chatbot-support-client-claude-2026</loc>
        <lastmod>2026-02-02</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
        <xhtml:link rel="alternate" hreflang="fr" href="https://sunderdev.com/blog/creer-chatbot-support-client-claude-2026"/>
        <xhtml:link rel="alternate" hreflang="en" href="https://sunderdev.com/blog/creer-chatbot-support-client-claude-2026?lang=en"/>
        <xhtml:link rel="alternate" hreflang="x-default" href="https://sunderdev.com/blog/creer-chatbot-support-client-claude-2026"/>
        <image:image>
            <image:loc>https://sunderdev.com/assets/images/blog/creer-chatbot-support-client-claude-2026.webp?v=1792062123</image:loc>
            <image:title>Créer un chatbot de support client avec Claude en 2026</image:title>
            <image:caption>De zéro à production : architecture, prompts, escalation humaine, mesure de qualité. Le retour d&apos;expérience sur le déploiement de chatbots pour des clients réels.</image:caption>
        </image:image>
    </url>
    <url>
        <loc>https://sunderdev.com/blog/vibe-coding-nouvelle-facon-programmer-2026</loc>
        <lastmod>2026-01-28</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
        <xhtml:link rel="alternate" hreflang="fr" href="https://sunderdev.com/blog/vibe-coding-nouvelle-facon-programmer-2026"/>
        <xhtml:link rel="alternate" hreflang="en" href="https://sunderdev.com/blog/vibe-coding-nouvelle-facon-programmer-2026?lang=en"/>
        <xhtml:link rel="alternate" hreflang="x-default" href="https://sunderdev.com/blog/vibe-coding-nouvelle-facon-programmer-2026"/>
        <image:image>
            <image:loc>https://sunderdev.com/assets/images/blog/vibe-coding-nouvelle-facon-programmer-2026.webp?v=1792062123</image:loc>
            <image:title>Vibe coding : la nouvelle façon de programmer en 2026</image:title>
            <image:caption>Andrej Karpathy a popularisé le terme début 2025. Un an plus tard, c&apos;est un vrai courant. Décryptage honnête de ce que ça apporte et ce que ça casse.</image:caption>
        </image:image>
    </url>
    <url>
        <loc>https://sunderdev.com/blog/gpt-5-ce-qui-a-vraiment-change</loc>
        <lastmod>2026-01-24</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
        <xhtml:link rel="alternate" hreflang="fr" href="https://sunderdev.com/blog/gpt-5-ce-qui-a-vraiment-change"/>
        <xhtml:link rel="alternate" hreflang="en" href="https://sunderdev.com/blog/gpt-5-ce-qui-a-vraiment-change?lang=en"/>
        <xhtml:link rel="alternate" hreflang="x-default" href="https://sunderdev.com/blog/gpt-5-ce-qui-a-vraiment-change"/>
        <image:image>
            <image:loc>https://sunderdev.com/assets/images/blog/gpt-5-ce-qui-a-vraiment-change.webp?v=1792062123</image:loc>
            <image:title>GPT-5 : ce qui a vraiment changé sous le capot</image:title>
            <image:caption>Au-delà du marketing &quot;AGI approche&quot;, voici les changements techniques concrets qui impactent les intégrations OpenAI en 2026.</image:caption>
        </image:image>
    </url>
    <url>
        <loc>https://sunderdev.com/blog/ia-productivite-mesurer-vraie-gain-developpeur</loc>
        <lastmod>2026-01-20</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
        <xhtml:link rel="alternate" hreflang="fr" href="https://sunderdev.com/blog/ia-productivite-mesurer-vraie-gain-developpeur"/>
        <xhtml:link rel="alternate" hreflang="en" href="https://sunderdev.com/blog/ia-productivite-mesurer-vraie-gain-developpeur?lang=en"/>
        <xhtml:link rel="alternate" hreflang="x-default" href="https://sunderdev.com/blog/ia-productivite-mesurer-vraie-gain-developpeur"/>
        <image:image>
            <image:loc>https://sunderdev.com/assets/images/blog/ia-productivite-mesurer-vraie-gain-developpeur.webp?v=1792062123</image:loc>
            <image:title>L&apos;IA et la productivité : comment mesurer le vrai gain en tant que développeur</image:title>
            <image:caption>&quot;L&apos;IA me fait gagner 10x&quot; — vraiment ? Voici la méthode pragmatique à utiliser pour chiffrer honnêtement l&apos;impact, sans se raconter d&apos;histoires.</image:caption>
        </image:image>
    </url>
    <url>
        <loc>https://sunderdev.com/blog/deployer-modele-open-source-llama-mistral-chez-soi</loc>
        <lastmod>2026-01-16</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
        <xhtml:link rel="alternate" hreflang="fr" href="https://sunderdev.com/blog/deployer-modele-open-source-llama-mistral-chez-soi"/>
        <xhtml:link rel="alternate" hreflang="en" href="https://sunderdev.com/blog/deployer-modele-open-source-llama-mistral-chez-soi?lang=en"/>
        <xhtml:link rel="alternate" hreflang="x-default" href="https://sunderdev.com/blog/deployer-modele-open-source-llama-mistral-chez-soi"/>
        <image:image>
            <image:loc>https://sunderdev.com/assets/images/blog/deployer-modele-open-source-llama-mistral-chez-soi.webp?v=1792062123</image:loc>
            <image:title>Déployer un modèle open source (Llama, Mistral) chez soi en 2026</image:title>
            <image:caption>Quand, pourquoi, comment. Un guide honnête sur le self-hosting d&apos;un LLM : les cas où ça vaut le coup, et ceux où c&apos;est une perte de temps.</image:caption>
        </image:image>
    </url>
    <url>
        <loc>https://sunderdev.com/blog/cout-reel-application-ia-production-chiffres-un-an</loc>
        <lastmod>2026-01-12</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
        <xhtml:link rel="alternate" hreflang="fr" href="https://sunderdev.com/blog/cout-reel-application-ia-production-chiffres-un-an"/>
        <xhtml:link rel="alternate" hreflang="en" href="https://sunderdev.com/blog/cout-reel-application-ia-production-chiffres-un-an?lang=en"/>
        <xhtml:link rel="alternate" hreflang="x-default" href="https://sunderdev.com/blog/cout-reel-application-ia-production-chiffres-un-an"/>
        <image:image>
            <image:loc>https://sunderdev.com/assets/images/blog/cout-reel-application-ia-production-chiffres-un-an.webp?v=1792062123</image:loc>
            <image:title>Le coût réel d&apos;une application IA en production : le budget sur un an</image:title>
            <image:caption>Tokens, infra, debug, monitoring, faux positifs. Voici la facture totale type d&apos;une app IA SaaS, avec les postes qu&apos;on oublie toujours.</image:caption>
        </image:image>
    </url>
    <url>
        <loc>https://sunderdev.com/blog/ia-seo-outils-strategie-2026</loc>
        <lastmod>2026-01-08</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
        <xhtml:link rel="alternate" hreflang="fr" href="https://sunderdev.com/blog/ia-seo-outils-strategie-2026"/>
        <xhtml:link rel="alternate" hreflang="en" href="https://sunderdev.com/blog/ia-seo-outils-strategie-2026?lang=en"/>
        <xhtml:link rel="alternate" hreflang="x-default" href="https://sunderdev.com/blog/ia-seo-outils-strategie-2026"/>
        <image:image>
            <image:loc>https://sunderdev.com/assets/images/blog/ia-seo-outils-strategie-2026.webp?v=1792062123</image:loc>
            <image:title>L&apos;IA pour le SEO en 2026 : mes outils et ma stratégie</image:title>
            <image:caption>Google pénalise le contenu IA de mauvaise qualité, récompense le bon. Voici comment utiliser l&apos;IA pour booster son SEO sans se faire blacklister.</image:caption>
        </image:image>
    </url>
    <url>
        <loc>https://sunderdev.com/blog/automatiser-factures-freelance-ia-workflow</loc>
        <lastmod>2026-01-04</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
        <xhtml:link rel="alternate" hreflang="fr" href="https://sunderdev.com/blog/automatiser-factures-freelance-ia-workflow"/>
        <xhtml:link rel="alternate" hreflang="en" href="https://sunderdev.com/blog/automatiser-factures-freelance-ia-workflow?lang=en"/>
        <xhtml:link rel="alternate" hreflang="x-default" href="https://sunderdev.com/blog/automatiser-factures-freelance-ia-workflow"/>
        <image:image>
            <image:loc>https://sunderdev.com/assets/images/blog/automatiser-factures-freelance-ia-workflow.webp?v=1792062123</image:loc>
            <image:title>Automatiser la gestion de ses factures freelance avec l&apos;IA</image:title>
            <image:caption>Réconciliation, relances, suivi TVA, déclarations — comment automatiser l&apos;essentiel de son admin avec un petit agent IA fait maison.</image:caption>
        </image:image>
    </url>
    <url>
        <loc>https://sunderdev.com/blog/agent-ia-lit-emails-tri-intelligent</loc>
        <lastmod>2025-12-28</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
        <xhtml:link rel="alternate" hreflang="fr" href="https://sunderdev.com/blog/agent-ia-lit-emails-tri-intelligent"/>
        <xhtml:link rel="alternate" hreflang="en" href="https://sunderdev.com/blog/agent-ia-lit-emails-tri-intelligent?lang=en"/>
        <xhtml:link rel="alternate" hreflang="x-default" href="https://sunderdev.com/blog/agent-ia-lit-emails-tri-intelligent"/>
        <image:image>
            <image:loc>https://sunderdev.com/assets/images/blog/agent-ia-lit-emails-tri-intelligent.webp?v=1792062123</image:loc>
            <image:title>Créer un agent IA qui lit et trie ses emails en 2026</image:title>
            <image:caption>Un inbox zéro maintenu sans effort grâce à un petit agent qui lit, classe, résume et répond aux emails trivials. Tuto honnête, sans magie.</image:caption>
        </image:image>
    </url>
    <url>
        <loc>https://sunderdev.com/blog/laravel-12-vs-symfony-8-comparatif-2026</loc>
        <lastmod>2025-12-20</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
        <xhtml:link rel="alternate" hreflang="fr" href="https://sunderdev.com/blog/laravel-12-vs-symfony-8-comparatif-2026"/>
        <xhtml:link rel="alternate" hreflang="en" href="https://sunderdev.com/blog/laravel-12-vs-symfony-8-comparatif-2026?lang=en"/>
        <xhtml:link rel="alternate" hreflang="x-default" href="https://sunderdev.com/blog/laravel-12-vs-symfony-8-comparatif-2026"/>
        <image:image>
            <image:loc>https://sunderdev.com/assets/images/blog/laravel-12-vs-symfony-8-comparatif-2026.webp?v=1792062123</image:loc>
            <image:title>Laravel 12 vs Symfony 8 : le match des frameworks PHP en 2026</image:title>
            <image:caption>Comparatif honnête entre les deux stacks — avec les critères qui doivent trancher pour chaque type de projet.</image:caption>
        </image:image>
    </url>
    <url>
        <loc>https://sunderdev.com/blog/tester-code-php-moderne-phpunit-pest-infection</loc>
        <lastmod>2025-12-12</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
        <xhtml:link rel="alternate" hreflang="fr" href="https://sunderdev.com/blog/tester-code-php-moderne-phpunit-pest-infection"/>
        <xhtml:link rel="alternate" hreflang="en" href="https://sunderdev.com/blog/tester-code-php-moderne-phpunit-pest-infection?lang=en"/>
        <xhtml:link rel="alternate" hreflang="x-default" href="https://sunderdev.com/blog/tester-code-php-moderne-phpunit-pest-infection"/>
        <image:image>
            <image:loc>https://sunderdev.com/assets/images/blog/tester-code-php-moderne-phpunit-pest-infection.webp?v=1792062123</image:loc>
            <image:title>Tester son code PHP moderne : PHPUnit, Pest, Infection</image:title>
            <image:caption>La pyramide de tests PHP en 2026 : unit avec Pest, integration avec PHPUnit natif, mutation testing avec Infection. Le guide pragmatique.</image:caption>
        </image:image>
    </url>
    <url>
        <loc>https://sunderdev.com/blog/api-rest-vs-graphql-php-lequel-choisir-2026</loc>
        <lastmod>2025-12-04</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
        <xhtml:link rel="alternate" hreflang="fr" href="https://sunderdev.com/blog/api-rest-vs-graphql-php-lequel-choisir-2026"/>
        <xhtml:link rel="alternate" hreflang="en" href="https://sunderdev.com/blog/api-rest-vs-graphql-php-lequel-choisir-2026?lang=en"/>
        <xhtml:link rel="alternate" hreflang="x-default" href="https://sunderdev.com/blog/api-rest-vs-graphql-php-lequel-choisir-2026"/>
        <image:image>
            <image:loc>https://sunderdev.com/assets/images/blog/api-rest-vs-graphql-php-lequel-choisir-2026.webp?v=1792062123</image:loc>
            <image:title>API REST vs GraphQL en PHP : lequel choisir vraiment en 2026 ?</image:title>
            <image:caption>Après comparaison des deux approches en production, voici quand chacune brille — et quand elle est un piège déguisé.</image:caption>
        </image:image>
    </url>
    <url>
        <loc>https://sunderdev.com/blog/php-async-reactphp-swoole-fibers</loc>
        <lastmod>2025-11-26</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
        <xhtml:link rel="alternate" hreflang="fr" href="https://sunderdev.com/blog/php-async-reactphp-swoole-fibers"/>
        <xhtml:link rel="alternate" hreflang="en" href="https://sunderdev.com/blog/php-async-reactphp-swoole-fibers?lang=en"/>
        <xhtml:link rel="alternate" hreflang="x-default" href="https://sunderdev.com/blog/php-async-reactphp-swoole-fibers"/>
        <image:image>
            <image:loc>https://sunderdev.com/assets/images/blog/php-async-reactphp-swoole-fibers.webp?v=1792062123</image:loc>
            <image:title>PHP en async : ReactPHP, Swoole, fibers — état des lieux 2026</image:title>
            <image:caption>PHP n&apos;est pas Node.js mais il sait faire de l&apos;async propre en 2026. Tour d&apos;horizon des trois approches, avec cas d&apos;usage et pièges.</image:caption>
        </image:image>
    </url>
    <url>
        <loc>https://sunderdev.com/blog/migrer-monolithe-php-architecture-decouplee</loc>
        <lastmod>2025-11-18</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
        <xhtml:link rel="alternate" hreflang="fr" href="https://sunderdev.com/blog/migrer-monolithe-php-architecture-decouplee"/>
        <xhtml:link rel="alternate" hreflang="en" href="https://sunderdev.com/blog/migrer-monolithe-php-architecture-decouplee?lang=en"/>
        <xhtml:link rel="alternate" hreflang="x-default" href="https://sunderdev.com/blog/migrer-monolithe-php-architecture-decouplee"/>
        <image:image>
            <image:loc>https://sunderdev.com/assets/images/blog/migrer-monolithe-php-architecture-decouplee.webp?v=1792062123</image:loc>
            <image:title>Migrer un monolithe PHP vers une architecture découplée sans tout casser</image:title>
            <image:caption>Pas de big-bang. Strangler pattern, modularisation progressive, extraction de services. Guide pratique pour une migration progressive.</image:caption>
        </image:image>
    </url>
    <url>
        <loc>https://sunderdev.com/blog/react-server-components-enfin-mature-2026</loc>
        <lastmod>2025-11-10</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
        <xhtml:link rel="alternate" hreflang="fr" href="https://sunderdev.com/blog/react-server-components-enfin-mature-2026"/>
        <xhtml:link rel="alternate" hreflang="en" href="https://sunderdev.com/blog/react-server-components-enfin-mature-2026?lang=en"/>
        <xhtml:link rel="alternate" hreflang="x-default" href="https://sunderdev.com/blog/react-server-components-enfin-mature-2026"/>
        <image:image>
            <image:loc>https://sunderdev.com/assets/images/blog/react-server-components-enfin-mature-2026.webp?v=1792062123</image:loc>
            <image:title>React Server Components : enfin vraiment mature en 2026 ?</image:title>
            <image:caption>Trois ans après le teasing, un an après Next.js 15. Le point sur RSC en production, ce qui fonctionne vraiment et ce qui coince encore.</image:caption>
        </image:image>
    </url>
    <url>
        <loc>https://sunderdev.com/blog/bun-vs-node-vs-deno-match-runtimes-2026</loc>
        <lastmod>2025-11-02</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
        <xhtml:link rel="alternate" hreflang="fr" href="https://sunderdev.com/blog/bun-vs-node-vs-deno-match-runtimes-2026"/>
        <xhtml:link rel="alternate" hreflang="en" href="https://sunderdev.com/blog/bun-vs-node-vs-deno-match-runtimes-2026?lang=en"/>
        <xhtml:link rel="alternate" hreflang="x-default" href="https://sunderdev.com/blog/bun-vs-node-vs-deno-match-runtimes-2026"/>
        <image:image>
            <image:loc>https://sunderdev.com/assets/images/blog/bun-vs-node-vs-deno-match-runtimes-2026.webp?v=1792062123</image:loc>
            <image:title>Bun vs Node vs Deno : le match des runtimes JavaScript en 2026</image:title>
            <image:caption>Un an après Bun 1.2 et l&apos;explosion des runtimes, voici le verdict terrain : qui choisir pour quel projet, et quand la hype trompe.</image:caption>
        </image:image>
    </url>
    <url>
        <loc>https://sunderdev.com/blog/typescript-5-7-features-changent-donne</loc>
        <lastmod>2025-10-24</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
        <xhtml:link rel="alternate" hreflang="fr" href="https://sunderdev.com/blog/typescript-5-7-features-changent-donne"/>
        <xhtml:link rel="alternate" hreflang="en" href="https://sunderdev.com/blog/typescript-5-7-features-changent-donne?lang=en"/>
        <xhtml:link rel="alternate" hreflang="x-default" href="https://sunderdev.com/blog/typescript-5-7-features-changent-donne"/>
        <image:image>
            <image:loc>https://sunderdev.com/assets/images/blog/typescript-5-7-features-changent-donne.webp?v=1792062123</image:loc>
            <image:title>TypeScript 5.7 : les features qui changent vraiment votre code</image:title>
            <image:caption>Tour d&apos;horizon concret des nouveautés TypeScript 5.7, avec les patterns recommandés et ceux à délaisser.</image:caption>
        </image:image>
    </url>
    <url>
        <loc>https://sunderdev.com/blog/vite-turbopack-esbuild-bundlers-2026</loc>
        <lastmod>2025-10-16</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
        <xhtml:link rel="alternate" hreflang="fr" href="https://sunderdev.com/blog/vite-turbopack-esbuild-bundlers-2026"/>
        <xhtml:link rel="alternate" hreflang="en" href="https://sunderdev.com/blog/vite-turbopack-esbuild-bundlers-2026?lang=en"/>
        <xhtml:link rel="alternate" hreflang="x-default" href="https://sunderdev.com/blog/vite-turbopack-esbuild-bundlers-2026"/>
        <image:image>
            <image:loc>https://sunderdev.com/assets/images/blog/vite-turbopack-esbuild-bundlers-2026.webp?v=1792062123</image:loc>
            <image:title>Vite, Turbopack, esbuild : les bundlers JavaScript en 2026</image:title>
            <image:caption>Webpack est mort (vraiment cette fois). Vite a gagné ? Ou Turbopack monte ? État des lieux honnête avec retours d&apos;expérience concrets.</image:caption>
        </image:image>
    </url>
    <url>
        <loc>https://sunderdev.com/blog/expo-sdk-54-nouveautes-gagner-temps</loc>
        <lastmod>2025-10-08</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
        <xhtml:link rel="alternate" hreflang="fr" href="https://sunderdev.com/blog/expo-sdk-54-nouveautes-gagner-temps"/>
        <xhtml:link rel="alternate" hreflang="en" href="https://sunderdev.com/blog/expo-sdk-54-nouveautes-gagner-temps?lang=en"/>
        <xhtml:link rel="alternate" hreflang="x-default" href="https://sunderdev.com/blog/expo-sdk-54-nouveautes-gagner-temps"/>
        <image:image>
            <image:loc>https://sunderdev.com/assets/images/blog/expo-sdk-54-nouveautes-gagner-temps.webp?v=1792062123</image:loc>
            <image:title>Expo SDK 54 : les nouveautés qui font gagner du temps</image:title>
            <image:caption>New Architecture par défaut, EAS Update plus rapide, expo-router 4 mature. Tour d&apos;horizon des nouveautés et retours pratiques.</image:caption>
        </image:image>
    </url>
    <url>
        <loc>https://sunderdev.com/blog/navigation-app-mobile-stack-tabs-drawer-patterns</loc>
        <lastmod>2025-09-30</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
        <xhtml:link rel="alternate" hreflang="fr" href="https://sunderdev.com/blog/navigation-app-mobile-stack-tabs-drawer-patterns"/>
        <xhtml:link rel="alternate" hreflang="en" href="https://sunderdev.com/blog/navigation-app-mobile-stack-tabs-drawer-patterns?lang=en"/>
        <xhtml:link rel="alternate" hreflang="x-default" href="https://sunderdev.com/blog/navigation-app-mobile-stack-tabs-drawer-patterns"/>
        <image:image>
            <image:loc>https://sunderdev.com/assets/images/blog/navigation-app-mobile-stack-tabs-drawer-patterns.webp?v=1792062123</image:loc>
            <image:title>Navigation dans une app mobile : Stack, Tabs, Drawer — les patterns qui marchent</image:title>
            <image:caption>90 % des apps mobile réutilisent les mêmes patterns de navigation. Voici comment les combiner proprement en React Native sans réinventer la roue.</image:caption>
        </image:image>
    </url>
    <url>
        <loc>https://sunderdev.com/blog/core-web-vitals-2026-guide-pratique-optimisation</loc>
        <lastmod>2025-09-22</lastmod>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
        <xhtml:link rel="alternate" hreflang="fr" href="https://sunderdev.com/blog/core-web-vitals-2026-guide-pratique-optimisation"/>
        <xhtml:link rel="alternate" hreflang="en" href="https://sunderdev.com/blog/core-web-vitals-2026-guide-pratique-optimisation?lang=en"/>
        <xhtml:link rel="alternate" hreflang="x-default" href="https://sunderdev.com/blog/core-web-vitals-2026-guide-pratique-optimisation"/>
        <image:image>
            <image:loc>https://sunderdev.com/assets/images/blog/core-web-vitals-2026-guide-pratique-optimisation.webp?v=1792062123</image:loc>
            <image:title>Optimiser les Core Web Vitals en 2026 : le guide pratique</image:title>
            <image:caption>LCP, INP, CLS — les trois métriques que Google scrute. Voici les optimisations concrètes pour passer vos indicateurs au vert.</image:caption>
        </image:image>
    </url>
</urlset>
