<?xml version="1.0" encoding="UTF-8"?><urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:xhtml="http://www.w3.org/1999/xhtml"><url><loc>https://www.peterkennedy.dev/fr</loc><changefreq>weekly</changefreq><priority>1.0</priority><xhtml:link rel="alternate" hreflang="fr" href="https://www.peterkennedy.dev/fr"/><xhtml:link rel="alternate" hreflang="en" href="https://www.peterkennedy.dev/en"/></url><url><loc>https://www.peterkennedy.dev/en</loc><changefreq>weekly</changefreq><priority>1.0</priority><xhtml:link rel="alternate" hreflang="fr" href="https://www.peterkennedy.dev/fr"/><xhtml:link rel="alternate" hreflang="en" href="https://www.peterkennedy.dev/en"/></url><url><loc>https://www.peterkennedy.dev/fr/parcours</loc><changefreq>weekly</changefreq><priority>0.8</priority><xhtml:link rel="alternate" hreflang="fr" href="https://www.peterkennedy.dev/fr/parcours"/><xhtml:link rel="alternate" hreflang="en" href="https://www.peterkennedy.dev/en/parcours"/></url><url><loc>https://www.peterkennedy.dev/en/parcours</loc><changefreq>weekly</changefreq><priority>0.8</priority><xhtml:link rel="alternate" hreflang="fr" href="https://www.peterkennedy.dev/fr/parcours"/><xhtml:link rel="alternate" hreflang="en" href="https://www.peterkennedy.dev/en/parcours"/></url><url><loc>https://www.peterkennedy.dev/fr/projets</loc><changefreq>weekly</changefreq><priority>0.8</priority><xhtml:link rel="alternate" hreflang="fr" href="https://www.peterkennedy.dev/fr/projets"/><xhtml:link rel="alternate" hreflang="en" href="https://www.peterkennedy.dev/en/projets"/></url><url><loc>https://www.peterkennedy.dev/en/projets</loc><changefreq>weekly</changefreq><priority>0.8</priority><xhtml:link rel="alternate" hreflang="fr" href="https://www.peterkennedy.dev/fr/projets"/><xhtml:link rel="alternate" hreflang="en" href="https://www.peterkennedy.dev/en/projets"/></url><url><loc>https://www.peterkennedy.dev/fr/blog</loc><changefreq>weekly</changefreq><priority>0.8</priority><xhtml:link rel="alternate" hreflang="fr" href="https://www.peterkennedy.dev/fr/blog"/><xhtml:link rel="alternate" hreflang="en" href="https://www.peterkennedy.dev/en/blog"/></url><url><loc>https://www.peterkennedy.dev/en/blog</loc><changefreq>weekly</changefreq><priority>0.8</priority><xhtml:link rel="alternate" hreflang="fr" href="https://www.peterkennedy.dev/fr/blog"/><xhtml:link rel="alternate" hreflang="en" href="https://www.peterkennedy.dev/en/blog"/></url><url><loc>https://www.peterkennedy.dev/fr/mentions-legales</loc><changefreq>weekly</changefreq><priority>0.8</priority><xhtml:link rel="alternate" hreflang="fr" href="https://www.peterkennedy.dev/fr/mentions-legales"/><xhtml:link rel="alternate" hreflang="en" href="https://www.peterkennedy.dev/en/mentions-legales"/></url><url><loc>https://www.peterkennedy.dev/en/mentions-legales</loc><changefreq>weekly</changefreq><priority>0.8</priority><xhtml:link rel="alternate" hreflang="fr" href="https://www.peterkennedy.dev/fr/mentions-legales"/><xhtml:link rel="alternate" hreflang="en" href="https://www.peterkennedy.dev/en/mentions-legales"/></url><url><loc>https://www.peterkennedy.dev/fr/politique-confidentialite</loc><changefreq>weekly</changefreq><priority>0.8</priority><xhtml:link rel="alternate" hreflang="fr" href="https://www.peterkennedy.dev/fr/politique-confidentialite"/><xhtml:link rel="alternate" hreflang="en" href="https://www.peterkennedy.dev/en/politique-confidentialite"/></url><url><loc>https://www.peterkennedy.dev/en/politique-confidentialite</loc><changefreq>weekly</changefreq><priority>0.8</priority><xhtml:link rel="alternate" hreflang="fr" href="https://www.peterkennedy.dev/fr/politique-confidentialite"/><xhtml:link rel="alternate" hreflang="en" href="https://www.peterkennedy.dev/en/politique-confidentialite"/></url><url><loc>https://www.peterkennedy.dev/fr/projets/refonte-migration-laravel-11-php-8-4</loc><lastmod>2026-10-21T00:05:04+02:00</lastmod><priority>0.9</priority><xhtml:link rel="alternate" hreflang="fr" href="https://www.peterkennedy.dev/fr/projets/refonte-migration-laravel-11-php-8-4"/><xhtml:link rel="alternate" hreflang="en" href="https://www.peterkennedy.dev/en/projets/refonte-migration-laravel-11-php-8-4"/></url><url><loc>https://www.peterkennedy.dev/en/projets/refonte-migration-laravel-11-php-8-4</loc><lastmod>2026-10-21T00:05:04+02:00</lastmod><priority>0.9</priority><xhtml:link rel="alternate" hreflang="fr" href="https://www.peterkennedy.dev/fr/projets/refonte-migration-laravel-11-php-8-4"/><xhtml:link rel="alternate" hreflang="en" href="https://www.peterkennedy.dev/en/projets/refonte-migration-laravel-11-php-8-4"/></url><url><loc>https://www.peterkennedy.dev/fr/projets/moteur-paiement-multi-passerelles-echeanciers-asynchrones</loc><lastmod>2026-10-20T23:30:15+02:00</lastmod><priority>0.9</priority><xhtml:link rel="alternate" hreflang="fr" href="https://www.peterkennedy.dev/fr/projets/moteur-paiement-multi-passerelles-echeanciers-asynchrones"/><xhtml:link rel="alternate" hreflang="en" href="https://www.peterkennedy.dev/en/projets/moteur-paiement-multi-passerelles-echeanciers-asynchrones"/></url><url><loc>https://www.peterkennedy.dev/en/projets/moteur-paiement-multi-passerelles-echeanciers-asynchrones</loc><lastmod>2026-10-20T23:30:15+02:00</lastmod><priority>0.9</priority><xhtml:link rel="alternate" hreflang="fr" href="https://www.peterkennedy.dev/fr/projets/moteur-paiement-multi-passerelles-echeanciers-asynchrones"/><xhtml:link rel="alternate" hreflang="en" href="https://www.peterkennedy.dev/en/projets/moteur-paiement-multi-passerelles-echeanciers-asynchrones"/></url><url><loc>https://www.peterkennedy.dev/fr/projets/async-accommodation-sourcing-flexible-caching</loc><lastmod>2026-10-21T15:50:36+02:00</lastmod><priority>0.9</priority><xhtml:link rel="alternate" hreflang="fr" href="https://www.peterkennedy.dev/fr/projets/async-accommodation-sourcing-flexible-caching"/><xhtml:link rel="alternate" hreflang="en" href="https://www.peterkennedy.dev/en/projets/async-accommodation-sourcing-flexible-caching"/></url><url><loc>https://www.peterkennedy.dev/en/projets/async-accommodation-sourcing-flexible-caching</loc><lastmod>2026-10-21T15:50:36+02:00</lastmod><priority>0.9</priority><xhtml:link rel="alternate" hreflang="fr" href="https://www.peterkennedy.dev/fr/projets/async-accommodation-sourcing-flexible-caching"/><xhtml:link rel="alternate" hreflang="en" href="https://www.peterkennedy.dev/en/projets/async-accommodation-sourcing-flexible-caching"/></url><url><loc>https://www.peterkennedy.dev/fr/blog/zero-downtime-migrations-10-millions-lignes-laravel</loc><lastmod>2026-10-21T16:41:57+02:00</lastmod><priority>0.85</priority><xhtml:link rel="alternate" hreflang="fr" href="https://www.peterkennedy.dev/fr/blog/zero-downtime-migrations-10-millions-lignes-laravel"/><xhtml:link rel="alternate" hreflang="en" href="https://www.peterkennedy.dev/en/blog/zero-downtime-migrations-10-millions-lignes-laravel"/></url><url><loc>https://www.peterkennedy.dev/en/blog/zero-downtime-migrations-10-millions-lignes-laravel</loc><lastmod>2026-10-21T16:41:57+02:00</lastmod><priority>0.85</priority><xhtml:link rel="alternate" hreflang="fr" href="https://www.peterkennedy.dev/fr/blog/zero-downtime-migrations-10-millions-lignes-laravel"/><xhtml:link rel="alternate" hreflang="en" href="https://www.peterkennedy.dev/en/blog/zero-downtime-migrations-10-millions-lignes-laravel"/></url><url><loc>https://www.peterkennedy.dev/fr/blog/cursor-2026-uber-mordor-ia</loc><lastmod>2026-10-21T16:32:49+02:00</lastmod><priority>0.85</priority><xhtml:link rel="alternate" hreflang="fr" href="https://www.peterkennedy.dev/fr/blog/cursor-2026-uber-mordor-ia"/><xhtml:link rel="alternate" hreflang="en" href="https://www.peterkennedy.dev/en/blog/cursor-2026-uber-mordor-ia"/></url><url><loc>https://www.peterkennedy.dev/en/blog/cursor-2026-uber-mordor-ia</loc><lastmod>2026-10-21T16:32:49+02:00</lastmod><priority>0.85</priority><xhtml:link rel="alternate" hreflang="fr" href="https://www.peterkennedy.dev/fr/blog/cursor-2026-uber-mordor-ia"/><xhtml:link rel="alternate" hreflang="en" href="https://www.peterkennedy.dev/en/blog/cursor-2026-uber-mordor-ia"/></url><url><loc>https://www.peterkennedy.dev/fr/blog/syndrome-imposteur-developpeur-freelance</loc><lastmod>2026-10-21T16:25:26+02:00</lastmod><priority>0.85</priority><xhtml:link rel="alternate" hreflang="fr" href="https://www.peterkennedy.dev/fr/blog/syndrome-imposteur-developpeur-freelance"/><xhtml:link rel="alternate" hreflang="en" href="https://www.peterkennedy.dev/en/blog/syndrome-imposteur-developpeur-freelance"/></url><url><loc>https://www.peterkennedy.dev/en/blog/syndrome-imposteur-developpeur-freelance</loc><lastmod>2026-10-21T16:25:26+02:00</lastmod><priority>0.85</priority><xhtml:link rel="alternate" hreflang="fr" href="https://www.peterkennedy.dev/fr/blog/syndrome-imposteur-developpeur-freelance"/><xhtml:link rel="alternate" hreflang="en" href="https://www.peterkennedy.dev/en/blog/syndrome-imposteur-developpeur-freelance"/></url><url><loc>https://www.peterkennedy.dev/fr/blog/stack-laravel-0-euros-client-radin</loc><lastmod>2026-10-21T16:10:48+02:00</lastmod><priority>0.85</priority><xhtml:link rel="alternate" hreflang="fr" href="https://www.peterkennedy.dev/fr/blog/stack-laravel-0-euros-client-radin"/><xhtml:link rel="alternate" hreflang="en" href="https://www.peterkennedy.dev/en/blog/stack-laravel-0-euros-client-radin"/></url><url><loc>https://www.peterkennedy.dev/en/blog/stack-laravel-0-euros-client-radin</loc><lastmod>2026-10-21T16:10:48+02:00</lastmod><priority>0.85</priority><xhtml:link rel="alternate" hreflang="fr" href="https://www.peterkennedy.dev/fr/blog/stack-laravel-0-euros-client-radin"/><xhtml:link rel="alternate" hreflang="en" href="https://www.peterkennedy.dev/en/blog/stack-laravel-0-euros-client-radin"/></url><url><loc>https://www.peterkennedy.dev/fr/blog/apprendre-nouvelle-notion-dev-efficacement</loc><lastmod>2026-10-21T15:59:42+02:00</lastmod><priority>0.85</priority><xhtml:link rel="alternate" hreflang="fr" href="https://www.peterkennedy.dev/fr/blog/apprendre-nouvelle-notion-dev-efficacement"/><xhtml:link rel="alternate" hreflang="en" href="https://www.peterkennedy.dev/en/blog/apprendre-nouvelle-notion-dev-efficacement"/></url><url><loc>https://www.peterkennedy.dev/en/blog/apprendre-nouvelle-notion-dev-efficacement</loc><lastmod>2026-10-21T15:59:42+02:00</lastmod><priority>0.85</priority><xhtml:link rel="alternate" hreflang="fr" href="https://www.peterkennedy.dev/fr/blog/apprendre-nouvelle-notion-dev-efficacement"/><xhtml:link rel="alternate" hreflang="en" href="https://www.peterkennedy.dev/en/blog/apprendre-nouvelle-notion-dev-efficacement"/></url><url><loc>https://www.peterkennedy.dev/fr/blog/symfony-vs-laravel-react-vs-vue-framework-religion</loc><lastmod>2026-10-19T22:52:21+02:00</lastmod><priority>0.85</priority><xhtml:link rel="alternate" hreflang="fr" href="https://www.peterkennedy.dev/fr/blog/symfony-vs-laravel-react-vs-vue-framework-religion"/><xhtml:link rel="alternate" hreflang="en" href="https://www.peterkennedy.dev/en/blog/symfony-vs-laravel-react-vs-vue-framework-religion"/></url><url><loc>https://www.peterkennedy.dev/en/blog/symfony-vs-laravel-react-vs-vue-framework-religion</loc><lastmod>2026-10-19T22:52:21+02:00</lastmod><priority>0.85</priority><xhtml:link rel="alternate" hreflang="fr" href="https://www.peterkennedy.dev/fr/blog/symfony-vs-laravel-react-vs-vue-framework-religion"/><xhtml:link rel="alternate" hreflang="en" href="https://www.peterkennedy.dev/en/blog/symfony-vs-laravel-react-vs-vue-framework-religion"/></url><url><loc>https://www.peterkennedy.dev/fr/blog/pessimistic-vs-optimistic-lock-laravel-pizza</loc><lastmod>2026-10-19T20:14:30+02:00</lastmod><priority>0.85</priority><xhtml:link rel="alternate" hreflang="fr" href="https://www.peterkennedy.dev/fr/blog/pessimistic-vs-optimistic-lock-laravel-pizza"/><xhtml:link rel="alternate" hreflang="en" href="https://www.peterkennedy.dev/en/blog/pessimistic-vs-optimistic-lock-laravel-pizza"/></url><url><loc>https://www.peterkennedy.dev/en/blog/pessimistic-vs-optimistic-lock-laravel-pizza</loc><lastmod>2026-10-19T20:14:30+02:00</lastmod><priority>0.85</priority><xhtml:link rel="alternate" hreflang="fr" href="https://www.peterkennedy.dev/fr/blog/pessimistic-vs-optimistic-lock-laravel-pizza"/><xhtml:link rel="alternate" hreflang="en" href="https://www.peterkennedy.dev/en/blog/pessimistic-vs-optimistic-lock-laravel-pizza"/></url></urlset>