<?xml version="1.0" encoding="UTF-8"?><urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:news="http://www.google.com/schemas/sitemap-news/0.9" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:image="http://www.google.com/schemas/sitemap-image/1.1" xmlns:video="http://www.google.com/schemas/sitemap-video/1.1"><url><loc>https://soubiran.dev/ama</loc><xhtml:link rel="alternate" hreflang="en" href="https://soubiran.dev/ama"/><xhtml:link rel="alternate" hreflang="fr" href="https://soubiran.dev/fr/ama"/></url><url><loc>https://soubiran.dev/fr/ama</loc><xhtml:link rel="alternate" hreflang="en" href="https://soubiran.dev/ama"/><xhtml:link rel="alternate" hreflang="fr" href="https://soubiran.dev/fr/ama"/></url><url><loc>https://soubiran.dev/fr/</loc><xhtml:link rel="alternate" hreflang="fr" href="https://soubiran.dev/fr/"/><xhtml:link rel="alternate" hreflang="en" href="https://soubiran.dev/"/></url><url><loc>https://soubiran.dev/</loc><xhtml:link rel="alternate" hreflang="fr" href="https://soubiran.dev/fr/"/><xhtml:link rel="alternate" hreflang="en" href="https://soubiran.dev/"/></url><url><loc>https://soubiran.dev/fr/next-article/poll</loc><xhtml:link rel="alternate" hreflang="fr" href="https://soubiran.dev/fr/next-article/poll"/><xhtml:link rel="alternate" hreflang="en" href="https://soubiran.dev/next-article/poll"/></url><url><loc>https://soubiran.dev/next-article/poll</loc><xhtml:link rel="alternate" hreflang="fr" href="https://soubiran.dev/fr/next-article/poll"/><xhtml:link rel="alternate" hreflang="en" href="https://soubiran.dev/next-article/poll"/></url><url><loc>https://soubiran.dev/fr/next-stream/poll</loc><xhtml:link rel="alternate" hreflang="fr" href="https://soubiran.dev/fr/next-stream/poll"/><xhtml:link rel="alternate" hreflang="en" href="https://soubiran.dev/next-stream/poll"/></url><url><loc>https://soubiran.dev/next-stream/poll</loc><xhtml:link rel="alternate" hreflang="fr" href="https://soubiran.dev/fr/next-stream/poll"/><xhtml:link rel="alternate" hreflang="en" href="https://soubiran.dev/next-stream/poll"/></url><url><loc>https://soubiran.dev/fr/posts</loc><xhtml:link rel="alternate" hreflang="fr" href="https://soubiran.dev/fr/posts"/><xhtml:link rel="alternate" hreflang="en" href="https://soubiran.dev/posts"/></url><url><loc>https://soubiran.dev/posts</loc><xhtml:link rel="alternate" hreflang="fr" href="https://soubiran.dev/fr/posts"/><xhtml:link rel="alternate" hreflang="en" href="https://soubiran.dev/posts"/></url><url><loc>https://soubiran.dev/fr/posts/2024-reflections-on-a-year-of-change-and-what-comes-next</loc><xhtml:link rel="alternate" hreflang="fr" href="https://soubiran.dev/fr/posts/2024-reflections-on-a-year-of-change-and-what-comes-next"/><xhtml:link rel="alternate" hreflang="en" href="https://soubiran.dev/posts/2024-reflections-on-a-year-of-change-and-what-comes-next"/></url><url><loc>https://soubiran.dev/posts/2024-reflections-on-a-year-of-change-and-what-comes-next</loc><xhtml:link rel="alternate" hreflang="fr" href="https://soubiran.dev/fr/posts/2024-reflections-on-a-year-of-change-and-what-comes-next"/><xhtml:link rel="alternate" hreflang="en" href="https://soubiran.dev/posts/2024-reflections-on-a-year-of-change-and-what-comes-next"/></url><url><loc>https://soubiran.dev/fr/posts/2025-a-turning-point-from-slow-steps-to-clear-action</loc><xhtml:link rel="alternate" hreflang="fr" href="https://soubiran.dev/fr/posts/2025-a-turning-point-from-slow-steps-to-clear-action"/><xhtml:link rel="alternate" hreflang="en" href="https://soubiran.dev/posts/2025-a-turning-point-from-slow-steps-to-clear-action"/></url><url><loc>https://soubiran.dev/posts/2025-a-turning-point-from-slow-steps-to-clear-action</loc><xhtml:link rel="alternate" hreflang="fr" href="https://soubiran.dev/fr/posts/2025-a-turning-point-from-slow-steps-to-clear-action"/><xhtml:link rel="alternate" hreflang="en" href="https://soubiran.dev/posts/2025-a-turning-point-from-slow-steps-to-clear-action"/></url><url><loc>https://soubiran.dev/fr/posts/a-journey-to-craft-interactive-ui-experiences-with-dialogs</loc><xhtml:link rel="alternate" hreflang="fr" href="https://soubiran.dev/fr/posts/a-journey-to-craft-interactive-ui-experiences-with-dialogs"/><xhtml:link rel="alternate" hreflang="en" href="https://soubiran.dev/posts/a-journey-to-craft-interactive-ui-experiences-with-dialogs"/></url><url><loc>https://soubiran.dev/posts/a-journey-to-craft-interactive-ui-experiences-with-dialogs</loc><xhtml:link rel="alternate" hreflang="fr" href="https://soubiran.dev/fr/posts/a-journey-to-craft-interactive-ui-experiences-with-dialogs"/><xhtml:link rel="alternate" hreflang="en" href="https://soubiran.dev/posts/a-journey-to-craft-interactive-ui-experiences-with-dialogs"/></url><url><loc>https://soubiran.dev/fr/posts/a-model-context-protocol-mcp-server-for-my-website</loc><xhtml:link rel="alternate" hreflang="fr" href="https://soubiran.dev/fr/posts/a-model-context-protocol-mcp-server-for-my-website"/><xhtml:link rel="alternate" hreflang="en" href="https://soubiran.dev/posts/a-model-context-protocol-mcp-server-for-my-website"/></url><url><loc>https://soubiran.dev/posts/a-model-context-protocol-mcp-server-for-my-website</loc><xhtml:link rel="alternate" hreflang="fr" href="https://soubiran.dev/fr/posts/a-model-context-protocol-mcp-server-for-my-website"/><xhtml:link rel="alternate" hreflang="en" href="https://soubiran.dev/posts/a-model-context-protocol-mcp-server-for-my-website"/></url><url><loc>https://soubiran.dev/fr/posts/ai-agents-will-deeply-transform-our-experience-with-the-web</loc><xhtml:link rel="alternate" hreflang="fr" href="https://soubiran.dev/fr/posts/ai-agents-will-deeply-transform-our-experience-with-the-web"/><xhtml:link rel="alternate" hreflang="en" href="https://soubiran.dev/posts/ai-agents-will-deeply-transform-our-experience-with-the-web"/></url><url><loc>https://soubiran.dev/posts/ai-agents-will-deeply-transform-our-experience-with-the-web</loc><xhtml:link rel="alternate" hreflang="fr" href="https://soubiran.dev/fr/posts/ai-agents-will-deeply-transform-our-experience-with-the-web"/><xhtml:link rel="alternate" hreflang="en" href="https://soubiran.dev/posts/ai-agents-will-deeply-transform-our-experience-with-the-web"/></url><url><loc>https://soubiran.dev/fr/posts/being-lost-an-essay-to-find-myself-within-uncertainty</loc><xhtml:link rel="alternate" hreflang="fr" href="https://soubiran.dev/fr/posts/being-lost-an-essay-to-find-myself-within-uncertainty"/><xhtml:link rel="alternate" hreflang="en" href="https://soubiran.dev/posts/being-lost-an-essay-to-find-myself-within-uncertainty"/></url><url><loc>https://soubiran.dev/posts/being-lost-an-essay-to-find-myself-within-uncertainty</loc><xhtml:link rel="alternate" hreflang="fr" href="https://soubiran.dev/fr/posts/being-lost-an-essay-to-find-myself-within-uncertainty"/><xhtml:link rel="alternate" hreflang="en" href="https://soubiran.dev/posts/being-lost-an-essay-to-find-myself-within-uncertainty"/></url><url><loc>https://soubiran.dev/fr/posts/beyond-the-tech-people-who-made-devoxx-france-2025-special</loc><xhtml:link rel="alternate" hreflang="fr" href="https://soubiran.dev/fr/posts/beyond-the-tech-people-who-made-devoxx-france-2025-special"/><xhtml:link rel="alternate" hreflang="en" href="https://soubiran.dev/posts/beyond-the-tech-people-who-made-devoxx-france-2025-special"/></url><url><loc>https://soubiran.dev/posts/beyond-the-tech-people-who-made-devoxx-france-2025-special</loc><xhtml:link rel="alternate" hreflang="fr" href="https://soubiran.dev/fr/posts/beyond-the-tech-people-who-made-devoxx-france-2025-special"/><xhtml:link rel="alternate" hreflang="en" href="https://soubiran.dev/posts/beyond-the-tech-people-who-made-devoxx-france-2025-special"/></url><url><loc>https://soubiran.dev/fr/posts/breizhcamp-2025-my-first-time-in-brittany-as-a-speaker</loc><xhtml:link rel="alternate" hreflang="fr" href="https://soubiran.dev/fr/posts/breizhcamp-2025-my-first-time-in-brittany-as-a-speaker"/><xhtml:link rel="alternate" hreflang="en" href="https://soubiran.dev/posts/breizhcamp-2025-my-first-time-in-brittany-as-a-speaker"/></url><url><loc>https://soubiran.dev/posts/breizhcamp-2025-my-first-time-in-brittany-as-a-speaker</loc><xhtml:link rel="alternate" hreflang="fr" href="https://soubiran.dev/fr/posts/breizhcamp-2025-my-first-time-in-brittany-as-a-speaker"/><xhtml:link rel="alternate" hreflang="en" href="https://soubiran.dev/posts/breizhcamp-2025-my-first-time-in-brittany-as-a-speaker"/></url><url><loc>https://soubiran.dev/fr/posts/build-a-url-shortener-with-nitro-on-cloudflare-pages</loc><xhtml:link rel="alternate" hreflang="fr" href="https://soubiran.dev/fr/posts/build-a-url-shortener-with-nitro-on-cloudflare-pages"/><xhtml:link rel="alternate" hreflang="en" href="https://soubiran.dev/posts/build-a-url-shortener-with-nitro-on-cloudflare-pages"/></url><url><loc>https://soubiran.dev/posts/build-a-url-shortener-with-nitro-on-cloudflare-pages</loc><xhtml:link rel="alternate" hreflang="fr" href="https://soubiran.dev/fr/posts/build-a-url-shortener-with-nitro-on-cloudflare-pages"/><xhtml:link rel="alternate" hreflang="en" href="https://soubiran.dev/posts/build-a-url-shortener-with-nitro-on-cloudflare-pages"/></url><url><loc>https://soubiran.dev/fr/posts/build-saas-apps-with-confidence-on-nutxhub-with-gavarnie</loc><xhtml:link rel="alternate" hreflang="fr" href="https://soubiran.dev/fr/posts/build-saas-apps-with-confidence-on-nutxhub-with-gavarnie"/><xhtml:link rel="alternate" hreflang="en" href="https://soubiran.dev/posts/build-saas-apps-with-confidence-on-nutxhub-with-gavarnie"/></url><url><loc>https://soubiran.dev/posts/build-saas-apps-with-confidence-on-nutxhub-with-gavarnie</loc><xhtml:link rel="alternate" hreflang="fr" href="https://soubiran.dev/fr/posts/build-saas-apps-with-confidence-on-nutxhub-with-gavarnie"/><xhtml:link rel="alternate" hreflang="en" href="https://soubiran.dev/posts/build-saas-apps-with-confidence-on-nutxhub-with-gavarnie"/></url><url><loc>https://soubiran.dev/fr/posts/create-a-full-stack-nuxt-application-a-twitch-journey</loc><xhtml:link rel="alternate" hreflang="fr" href="https://soubiran.dev/fr/posts/create-a-full-stack-nuxt-application-a-twitch-journey"/><xhtml:link rel="alternate" hreflang="en" href="https://soubiran.dev/posts/create-a-full-stack-nuxt-application-a-twitch-journey"/></url><url><loc>https://soubiran.dev/posts/create-a-full-stack-nuxt-application-a-twitch-journey</loc><xhtml:link rel="alternate" hreflang="fr" href="https://soubiran.dev/fr/posts/create-a-full-stack-nuxt-application-a-twitch-journey"/><xhtml:link rel="alternate" hreflang="en" href="https://soubiran.dev/posts/create-a-full-stack-nuxt-application-a-twitch-journey"/></url><url><loc>https://soubiran.dev/fr/posts/create-real-time-nodejs-apps-with-server-sent-events</loc><xhtml:link rel="alternate" hreflang="fr" href="https://soubiran.dev/fr/posts/create-real-time-nodejs-apps-with-server-sent-events"/><xhtml:link rel="alternate" hreflang="en" href="https://soubiran.dev/posts/create-real-time-nodejs-apps-with-server-sent-events"/></url><url><loc>https://soubiran.dev/posts/create-real-time-nodejs-apps-with-server-sent-events</loc><xhtml:link rel="alternate" hreflang="fr" href="https://soubiran.dev/fr/posts/create-real-time-nodejs-apps-with-server-sent-events"/><xhtml:link rel="alternate" hreflang="en" href="https://soubiran.dev/posts/create-real-time-nodejs-apps-with-server-sent-events"/></url><url><loc>https://soubiran.dev/fr/posts/enhancing-engagement-adding-reactions-to-my-articles</loc><xhtml:link rel="alternate" hreflang="fr" href="https://soubiran.dev/fr/posts/enhancing-engagement-adding-reactions-to-my-articles"/><xhtml:link rel="alternate" hreflang="en" href="https://soubiran.dev/posts/enhancing-engagement-adding-reactions-to-my-articles"/></url><url><loc>https://soubiran.dev/posts/enhancing-engagement-adding-reactions-to-my-articles</loc><xhtml:link rel="alternate" hreflang="fr" href="https://soubiran.dev/fr/posts/enhancing-engagement-adding-reactions-to-my-articles"/><xhtml:link rel="alternate" hreflang="en" href="https://soubiran.dev/posts/enhancing-engagement-adding-reactions-to-my-articles"/></url><url><loc>https://soubiran.dev/fr/posts/enhancing-engagement-enabling-comments-on-my-articles</loc><xhtml:link rel="alternate" hreflang="fr" href="https://soubiran.dev/fr/posts/enhancing-engagement-enabling-comments-on-my-articles"/><xhtml:link rel="alternate" hreflang="en" href="https://soubiran.dev/posts/enhancing-engagement-enabling-comments-on-my-articles"/></url><url><loc>https://soubiran.dev/posts/enhancing-engagement-enabling-comments-on-my-articles</loc><xhtml:link rel="alternate" hreflang="fr" href="https://soubiran.dev/fr/posts/enhancing-engagement-enabling-comments-on-my-articles"/><xhtml:link rel="alternate" hreflang="en" href="https://soubiran.dev/posts/enhancing-engagement-enabling-comments-on-my-articles"/></url><url><loc>https://soubiran.dev/fr/posts/enhancing-engagement-notifications-and-other-enhancements</loc><xhtml:link rel="alternate" hreflang="fr" href="https://soubiran.dev/fr/posts/enhancing-engagement-notifications-and-other-enhancements"/><xhtml:link rel="alternate" hreflang="en" href="https://soubiran.dev/posts/enhancing-engagement-notifications-and-other-enhancements"/></url><url><loc>https://soubiran.dev/posts/enhancing-engagement-notifications-and-other-enhancements</loc><xhtml:link rel="alternate" hreflang="fr" href="https://soubiran.dev/fr/posts/enhancing-engagement-notifications-and-other-enhancements"/><xhtml:link rel="alternate" hreflang="en" href="https://soubiran.dev/posts/enhancing-engagement-notifications-and-other-enhancements"/></url><url><loc>https://soubiran.dev/fr/posts/erase-cls-by-automatically-optimizing-images-with-vite</loc><xhtml:link rel="alternate" hreflang="fr" href="https://soubiran.dev/fr/posts/erase-cls-by-automatically-optimizing-images-with-vite"/><xhtml:link rel="alternate" hreflang="en" href="https://soubiran.dev/posts/erase-cls-by-automatically-optimizing-images-with-vite"/></url><url><loc>https://soubiran.dev/posts/erase-cls-by-automatically-optimizing-images-with-vite</loc><xhtml:link rel="alternate" hreflang="fr" href="https://soubiran.dev/fr/posts/erase-cls-by-automatically-optimizing-images-with-vite"/><xhtml:link rel="alternate" hreflang="en" href="https://soubiran.dev/posts/erase-cls-by-automatically-optimizing-images-with-vite"/></url><url><loc>https://soubiran.dev/fr/posts/for-a-friend-from-infrastructure-to-web-development-in-2025</loc><xhtml:link rel="alternate" hreflang="fr" href="https://soubiran.dev/fr/posts/for-a-friend-from-infrastructure-to-web-development-in-2025"/><xhtml:link rel="alternate" hreflang="en" href="https://soubiran.dev/posts/for-a-friend-from-infrastructure-to-web-development-in-2025"/></url><url><loc>https://soubiran.dev/posts/for-a-friend-from-infrastructure-to-web-development-in-2025</loc><xhtml:link rel="alternate" hreflang="fr" href="https://soubiran.dev/fr/posts/for-a-friend-from-infrastructure-to-web-development-in-2025"/><xhtml:link rel="alternate" hreflang="en" href="https://soubiran.dev/posts/for-a-friend-from-infrastructure-to-web-development-in-2025"/></url><url><loc>https://soubiran.dev/fr/posts/from-idea-to-victory-the-2026-mistral-ai-paris-hackathon</loc><xhtml:link rel="alternate" hreflang="fr" href="https://soubiran.dev/fr/posts/from-idea-to-victory-the-2026-mistral-ai-paris-hackathon"/><xhtml:link rel="alternate" hreflang="en" href="https://soubiran.dev/posts/from-idea-to-victory-the-2026-mistral-ai-paris-hackathon"/></url><url><loc>https://soubiran.dev/posts/from-idea-to-victory-the-2026-mistral-ai-paris-hackathon</loc><xhtml:link rel="alternate" hreflang="fr" href="https://soubiran.dev/fr/posts/from-idea-to-victory-the-2026-mistral-ai-paris-hackathon"/><xhtml:link rel="alternate" hreflang="en" href="https://soubiran.dev/posts/from-idea-to-victory-the-2026-mistral-ai-paris-hackathon"/></url><url><loc>https://soubiran.dev/fr/posts/fusion-or-the-art-of-writing-php-into-a-vue-sfc-components</loc><xhtml:link rel="alternate" hreflang="fr" href="https://soubiran.dev/fr/posts/fusion-or-the-art-of-writing-php-into-a-vue-sfc-components"/><xhtml:link rel="alternate" hreflang="en" href="https://soubiran.dev/posts/fusion-or-the-art-of-writing-php-into-a-vue-sfc-components"/></url><url><loc>https://soubiran.dev/posts/fusion-or-the-art-of-writing-php-into-a-vue-sfc-components</loc><xhtml:link rel="alternate" hreflang="fr" href="https://soubiran.dev/fr/posts/fusion-or-the-art-of-writing-php-into-a-vue-sfc-components"/><xhtml:link rel="alternate" hreflang="en" href="https://soubiran.dev/posts/fusion-or-the-art-of-writing-php-into-a-vue-sfc-components"/></url><url><loc>https://soubiran.dev/fr/posts/laravel-and-vite-a-love-story-ruined-with-cross-origin</loc><xhtml:link rel="alternate" hreflang="fr" href="https://soubiran.dev/fr/posts/laravel-and-vite-a-love-story-ruined-with-cross-origin"/><xhtml:link rel="alternate" hreflang="en" href="https://soubiran.dev/posts/laravel-and-vite-a-love-story-ruined-with-cross-origin"/></url><url><loc>https://soubiran.dev/posts/laravel-and-vite-a-love-story-ruined-with-cross-origin</loc><xhtml:link rel="alternate" hreflang="fr" href="https://soubiran.dev/fr/posts/laravel-and-vite-a-love-story-ruined-with-cross-origin"/><xhtml:link rel="alternate" hreflang="en" href="https://soubiran.dev/posts/laravel-and-vite-a-love-story-ruined-with-cross-origin"/></url><url><loc>https://soubiran.dev/fr/posts/markdown-exit-breaks-the-rules-with-async-rendering</loc><xhtml:link rel="alternate" hreflang="fr" href="https://soubiran.dev/fr/posts/markdown-exit-breaks-the-rules-with-async-rendering"/><xhtml:link rel="alternate" hreflang="en" href="https://soubiran.dev/posts/markdown-exit-breaks-the-rules-with-async-rendering"/></url><url><loc>https://soubiran.dev/posts/markdown-exit-breaks-the-rules-with-async-rendering</loc><xhtml:link rel="alternate" hreflang="fr" href="https://soubiran.dev/fr/posts/markdown-exit-breaks-the-rules-with-async-rendering"/><xhtml:link rel="alternate" hreflang="en" href="https://soubiran.dev/posts/markdown-exit-breaks-the-rules-with-async-rendering"/></url><url><loc>https://soubiran.dev/fr/posts/my-adventure-to-nantes-for-europes-largest-devfest</loc><xhtml:link rel="alternate" hreflang="fr" href="https://soubiran.dev/fr/posts/my-adventure-to-nantes-for-europes-largest-devfest"/><xhtml:link rel="alternate" hreflang="en" href="https://soubiran.dev/posts/my-adventure-to-nantes-for-europes-largest-devfest"/></url><url><loc>https://soubiran.dev/posts/my-adventure-to-nantes-for-europes-largest-devfest</loc><xhtml:link rel="alternate" hreflang="fr" href="https://soubiran.dev/fr/posts/my-adventure-to-nantes-for-europes-largest-devfest"/><xhtml:link rel="alternate" hreflang="en" href="https://soubiran.dev/posts/my-adventure-to-nantes-for-europes-largest-devfest"/></url><url><loc>https://soubiran.dev/fr/posts/my-first-meetup-talk-a-dive-into-the-large-unjs-ecosystem</loc><xhtml:link rel="alternate" hreflang="fr" href="https://soubiran.dev/fr/posts/my-first-meetup-talk-a-dive-into-the-large-unjs-ecosystem"/><xhtml:link rel="alternate" hreflang="en" href="https://soubiran.dev/posts/my-first-meetup-talk-a-dive-into-the-large-unjs-ecosystem"/></url><url><loc>https://soubiran.dev/posts/my-first-meetup-talk-a-dive-into-the-large-unjs-ecosystem</loc><xhtml:link rel="alternate" hreflang="fr" href="https://soubiran.dev/fr/posts/my-first-meetup-talk-a-dive-into-the-large-unjs-ecosystem"/><xhtml:link rel="alternate" hreflang="en" href="https://soubiran.dev/posts/my-first-meetup-talk-a-dive-into-the-large-unjs-ecosystem"/></url><url><loc>https://soubiran.dev/fr/posts/nuxt-going-full-stack-how-to-handle-authorization</loc><xhtml:link rel="alternate" hreflang="fr" href="https://soubiran.dev/fr/posts/nuxt-going-full-stack-how-to-handle-authorization"/><xhtml:link rel="alternate" hreflang="en" href="https://soubiran.dev/posts/nuxt-going-full-stack-how-to-handle-authorization"/></url><url><loc>https://soubiran.dev/posts/nuxt-going-full-stack-how-to-handle-authorization</loc><xhtml:link rel="alternate" hreflang="fr" href="https://soubiran.dev/fr/posts/nuxt-going-full-stack-how-to-handle-authorization"/><xhtml:link rel="alternate" hreflang="en" href="https://soubiran.dev/posts/nuxt-going-full-stack-how-to-handle-authorization"/></url><url><loc>https://soubiran.dev/fr/posts/nuxt-going-full-stack-how-to-streamline-form-validation</loc><xhtml:link rel="alternate" hreflang="fr" href="https://soubiran.dev/fr/posts/nuxt-going-full-stack-how-to-streamline-form-validation"/><xhtml:link rel="alternate" hreflang="en" href="https://soubiran.dev/posts/nuxt-going-full-stack-how-to-streamline-form-validation"/></url><url><loc>https://soubiran.dev/posts/nuxt-going-full-stack-how-to-streamline-form-validation</loc><xhtml:link rel="alternate" hreflang="fr" href="https://soubiran.dev/fr/posts/nuxt-going-full-stack-how-to-streamline-form-validation"/><xhtml:link rel="alternate" hreflang="en" href="https://soubiran.dev/posts/nuxt-going-full-stack-how-to-streamline-form-validation"/></url><url><loc>https://soubiran.dev/fr/posts/orion-a-community-driven-collection-of-templates-for-nuxt</loc><xhtml:link rel="alternate" hreflang="fr" href="https://soubiran.dev/fr/posts/orion-a-community-driven-collection-of-templates-for-nuxt"/><xhtml:link rel="alternate" hreflang="en" href="https://soubiran.dev/posts/orion-a-community-driven-collection-of-templates-for-nuxt"/></url><url><loc>https://soubiran.dev/posts/orion-a-community-driven-collection-of-templates-for-nuxt</loc><xhtml:link rel="alternate" hreflang="fr" href="https://soubiran.dev/fr/posts/orion-a-community-driven-collection-of-templates-for-nuxt"/><xhtml:link rel="alternate" hreflang="en" href="https://soubiran.dev/posts/orion-a-community-driven-collection-of-templates-for-nuxt"/></url><url><loc>https://soubiran.dev/fr/posts/pragvue-2024-travel-food-people-and-a-lot-of-vue-js</loc><xhtml:link rel="alternate" hreflang="fr" href="https://soubiran.dev/fr/posts/pragvue-2024-travel-food-people-and-a-lot-of-vue-js"/><xhtml:link rel="alternate" hreflang="en" href="https://soubiran.dev/posts/pragvue-2024-travel-food-people-and-a-lot-of-vue-js"/></url><url><loc>https://soubiran.dev/posts/pragvue-2024-travel-food-people-and-a-lot-of-vue-js</loc><xhtml:link rel="alternate" hreflang="fr" href="https://soubiran.dev/fr/posts/pragvue-2024-travel-food-people-and-a-lot-of-vue-js"/><xhtml:link rel="alternate" hreflang="en" href="https://soubiran.dev/posts/pragvue-2024-travel-food-people-and-a-lot-of-vue-js"/></url><url><loc>https://soubiran.dev/fr/posts/simplify-real-time-with-server-sent-events-over-websockets</loc><xhtml:link rel="alternate" hreflang="fr" href="https://soubiran.dev/fr/posts/simplify-real-time-with-server-sent-events-over-websockets"/><xhtml:link rel="alternate" hreflang="en" href="https://soubiran.dev/posts/simplify-real-time-with-server-sent-events-over-websockets"/></url><url><loc>https://soubiran.dev/posts/simplify-real-time-with-server-sent-events-over-websockets</loc><xhtml:link rel="alternate" hreflang="fr" href="https://soubiran.dev/fr/posts/simplify-real-time-with-server-sent-events-over-websockets"/><xhtml:link rel="alternate" hreflang="en" href="https://soubiran.dev/posts/simplify-real-time-with-server-sent-events-over-websockets"/></url><url><loc>https://soubiran.dev/fr/posts/software-engineering-a-human-journey-before-anything-else</loc><xhtml:link rel="alternate" hreflang="fr" href="https://soubiran.dev/fr/posts/software-engineering-a-human-journey-before-anything-else"/><xhtml:link rel="alternate" hreflang="en" href="https://soubiran.dev/posts/software-engineering-a-human-journey-before-anything-else"/></url><url><loc>https://soubiran.dev/posts/software-engineering-a-human-journey-before-anything-else</loc><xhtml:link rel="alternate" hreflang="fr" href="https://soubiran.dev/fr/posts/software-engineering-a-human-journey-before-anything-else"/><xhtml:link rel="alternate" hreflang="en" href="https://soubiran.dev/posts/software-engineering-a-human-journey-before-anything-else"/></url><url><loc>https://soubiran.dev/fr/posts/speaking-at-devoxx-france-2024-insights-and-highlights</loc><xhtml:link rel="alternate" hreflang="fr" href="https://soubiran.dev/fr/posts/speaking-at-devoxx-france-2024-insights-and-highlights"/><xhtml:link rel="alternate" hreflang="en" href="https://soubiran.dev/posts/speaking-at-devoxx-france-2024-insights-and-highlights"/></url><url><loc>https://soubiran.dev/posts/speaking-at-devoxx-france-2024-insights-and-highlights</loc><xhtml:link rel="alternate" hreflang="fr" href="https://soubiran.dev/fr/posts/speaking-at-devoxx-france-2024-insights-and-highlights"/><xhtml:link rel="alternate" hreflang="en" href="https://soubiran.dev/posts/speaking-at-devoxx-france-2024-insights-and-highlights"/></url><url><loc>https://soubiran.dev/fr/posts/starting-a-new-chapter-new-ambitions-and-new-job</loc><xhtml:link rel="alternate" hreflang="fr" href="https://soubiran.dev/fr/posts/starting-a-new-chapter-new-ambitions-and-new-job"/><xhtml:link rel="alternate" hreflang="en" href="https://soubiran.dev/posts/starting-a-new-chapter-new-ambitions-and-new-job"/></url><url><loc>https://soubiran.dev/posts/starting-a-new-chapter-new-ambitions-and-new-job</loc><xhtml:link rel="alternate" hreflang="fr" href="https://soubiran.dev/fr/posts/starting-a-new-chapter-new-ambitions-and-new-job"/><xhtml:link rel="alternate" hreflang="en" href="https://soubiran.dev/posts/starting-a-new-chapter-new-ambitions-and-new-job"/></url><url><loc>https://soubiran.dev/fr/posts/testing-is-more-larger-than-just-writing-some-tests</loc><xhtml:link rel="alternate" hreflang="fr" href="https://soubiran.dev/fr/posts/testing-is-more-larger-than-just-writing-some-tests"/><xhtml:link rel="alternate" hreflang="en" href="https://soubiran.dev/posts/testing-is-more-larger-than-just-writing-some-tests"/></url><url><loc>https://soubiran.dev/posts/testing-is-more-larger-than-just-writing-some-tests</loc><xhtml:link rel="alternate" hreflang="fr" href="https://soubiran.dev/fr/posts/testing-is-more-larger-than-just-writing-some-tests"/><xhtml:link rel="alternate" hreflang="en" href="https://soubiran.dev/posts/testing-is-more-larger-than-just-writing-some-tests"/></url><url><loc>https://soubiran.dev/fr/posts/the-conference-for-ethics-and-diversity-in-tech-mixit-2025</loc><xhtml:link rel="alternate" hreflang="fr" href="https://soubiran.dev/fr/posts/the-conference-for-ethics-and-diversity-in-tech-mixit-2025"/><xhtml:link rel="alternate" hreflang="en" href="https://soubiran.dev/posts/the-conference-for-ethics-and-diversity-in-tech-mixit-2025"/></url><url><loc>https://soubiran.dev/posts/the-conference-for-ethics-and-diversity-in-tech-mixit-2025</loc><xhtml:link rel="alternate" hreflang="fr" href="https://soubiran.dev/fr/posts/the-conference-for-ethics-and-diversity-in-tech-mixit-2025"/><xhtml:link rel="alternate" hreflang="en" href="https://soubiran.dev/posts/the-conference-for-ethics-and-diversity-in-tech-mixit-2025"/></url><url><loc>https://soubiran.dev/fr/posts/the-end-of-my-studies-and-the-beginning-of-a-new-chapter</loc><xhtml:link rel="alternate" hreflang="fr" href="https://soubiran.dev/fr/posts/the-end-of-my-studies-and-the-beginning-of-a-new-chapter"/><xhtml:link rel="alternate" hreflang="en" href="https://soubiran.dev/posts/the-end-of-my-studies-and-the-beginning-of-a-new-chapter"/></url><url><loc>https://soubiran.dev/posts/the-end-of-my-studies-and-the-beginning-of-a-new-chapter</loc><xhtml:link rel="alternate" hreflang="fr" href="https://soubiran.dev/fr/posts/the-end-of-my-studies-and-the-beginning-of-a-new-chapter"/><xhtml:link rel="alternate" hreflang="en" href="https://soubiran.dev/posts/the-end-of-my-studies-and-the-beginning-of-a-new-chapter"/></url><url><loc>https://soubiran.dev/fr/posts/the-perfect-guide-to-setting-up-a-new-nuxt-project</loc><xhtml:link rel="alternate" hreflang="fr" href="https://soubiran.dev/fr/posts/the-perfect-guide-to-setting-up-a-new-nuxt-project"/><xhtml:link rel="alternate" hreflang="en" href="https://soubiran.dev/posts/the-perfect-guide-to-setting-up-a-new-nuxt-project"/></url><url><loc>https://soubiran.dev/posts/the-perfect-guide-to-setting-up-a-new-nuxt-project</loc><xhtml:link rel="alternate" hreflang="fr" href="https://soubiran.dev/fr/posts/the-perfect-guide-to-setting-up-a-new-nuxt-project"/><xhtml:link rel="alternate" hreflang="en" href="https://soubiran.dev/posts/the-perfect-guide-to-setting-up-a-new-nuxt-project"/></url><url><loc>https://soubiran.dev/fr/posts/the-simplest-method-to-create-a-vue-js-component-library</loc><xhtml:link rel="alternate" hreflang="fr" href="https://soubiran.dev/fr/posts/the-simplest-method-to-create-a-vue-js-component-library"/><xhtml:link rel="alternate" hreflang="en" href="https://soubiran.dev/posts/the-simplest-method-to-create-a-vue-js-component-library"/></url><url><loc>https://soubiran.dev/posts/the-simplest-method-to-create-a-vue-js-component-library</loc><xhtml:link rel="alternate" hreflang="fr" href="https://soubiran.dev/fr/posts/the-simplest-method-to-create-a-vue-js-component-library"/><xhtml:link rel="alternate" hreflang="en" href="https://soubiran.dev/posts/the-simplest-method-to-create-a-vue-js-component-library"/></url><url><loc>https://soubiran.dev/fr/posts/twice-in-one-day-speaking-at-bdx-io-2025-at-bordeaux</loc><xhtml:link rel="alternate" hreflang="fr" href="https://soubiran.dev/fr/posts/twice-in-one-day-speaking-at-bdx-io-2025-at-bordeaux"/><xhtml:link rel="alternate" hreflang="en" href="https://soubiran.dev/posts/twice-in-one-day-speaking-at-bdx-io-2025-at-bordeaux"/></url><url><loc>https://soubiran.dev/posts/twice-in-one-day-speaking-at-bdx-io-2025-at-bordeaux</loc><xhtml:link rel="alternate" hreflang="fr" href="https://soubiran.dev/fr/posts/twice-in-one-day-speaking-at-bdx-io-2025-at-bordeaux"/><xhtml:link rel="alternate" hreflang="en" href="https://soubiran.dev/posts/twice-in-one-day-speaking-at-bdx-io-2025-at-bordeaux"/></url><url><loc>https://soubiran.dev/fr/posts/using-pinia-colada-in-modals-without-spoiling-the-ux</loc><xhtml:link rel="alternate" hreflang="fr" href="https://soubiran.dev/fr/posts/using-pinia-colada-in-modals-without-spoiling-the-ux"/><xhtml:link rel="alternate" hreflang="en" href="https://soubiran.dev/posts/using-pinia-colada-in-modals-without-spoiling-the-ux"/></url><url><loc>https://soubiran.dev/posts/using-pinia-colada-in-modals-without-spoiling-the-ux</loc><xhtml:link rel="alternate" hreflang="fr" href="https://soubiran.dev/fr/posts/using-pinia-colada-in-modals-without-spoiling-the-ux"/><xhtml:link rel="alternate" hreflang="en" href="https://soubiran.dev/posts/using-pinia-colada-in-modals-without-spoiling-the-ux"/></url><url><loc>https://soubiran.dev/fr/posts/vitepress-for-a-personal-website-is-that-possible</loc><xhtml:link rel="alternate" hreflang="fr" href="https://soubiran.dev/fr/posts/vitepress-for-a-personal-website-is-that-possible"/><xhtml:link rel="alternate" hreflang="en" href="https://soubiran.dev/posts/vitepress-for-a-personal-website-is-that-possible"/></url><url><loc>https://soubiran.dev/posts/vitepress-for-a-personal-website-is-that-possible</loc><xhtml:link rel="alternate" hreflang="fr" href="https://soubiran.dev/fr/posts/vitepress-for-a-personal-website-is-that-possible"/><xhtml:link rel="alternate" hreflang="en" href="https://soubiran.dev/posts/vitepress-for-a-personal-website-is-that-possible"/></url><url><loc>https://soubiran.dev/fr/posts/want-to-contribute-to-open-source-youre-doing-it-wrong</loc><xhtml:link rel="alternate" hreflang="fr" href="https://soubiran.dev/fr/posts/want-to-contribute-to-open-source-youre-doing-it-wrong"/><xhtml:link rel="alternate" hreflang="en" href="https://soubiran.dev/posts/want-to-contribute-to-open-source-youre-doing-it-wrong"/></url><url><loc>https://soubiran.dev/posts/want-to-contribute-to-open-source-youre-doing-it-wrong</loc><xhtml:link rel="alternate" hreflang="fr" href="https://soubiran.dev/fr/posts/want-to-contribute-to-open-source-youre-doing-it-wrong"/><xhtml:link rel="alternate" hreflang="en" href="https://soubiran.dev/posts/want-to-contribute-to-open-source-youre-doing-it-wrong"/></url><url><loc>https://soubiran.dev/fr/posts/you-dont-need-to-be-chosen-you-can-just-do-things</loc><xhtml:link rel="alternate" hreflang="fr" href="https://soubiran.dev/fr/posts/you-dont-need-to-be-chosen-you-can-just-do-things"/><xhtml:link rel="alternate" hreflang="en" href="https://soubiran.dev/posts/you-dont-need-to-be-chosen-you-can-just-do-things"/></url><url><loc>https://soubiran.dev/posts/you-dont-need-to-be-chosen-you-can-just-do-things</loc><xhtml:link rel="alternate" hreflang="fr" href="https://soubiran.dev/fr/posts/you-dont-need-to-be-chosen-you-can-just-do-things"/><xhtml:link rel="alternate" hreflang="en" href="https://soubiran.dev/posts/you-dont-need-to-be-chosen-you-can-just-do-things"/></url><url><loc>https://soubiran.dev/fr/posts/youre-not-a-software-engineer-sorry-but-thats-okay</loc><xhtml:link rel="alternate" hreflang="fr" href="https://soubiran.dev/fr/posts/youre-not-a-software-engineer-sorry-but-thats-okay"/><xhtml:link rel="alternate" hreflang="en" href="https://soubiran.dev/posts/youre-not-a-software-engineer-sorry-but-thats-okay"/></url><url><loc>https://soubiran.dev/posts/youre-not-a-software-engineer-sorry-but-thats-okay</loc><xhtml:link rel="alternate" hreflang="fr" href="https://soubiran.dev/fr/posts/youre-not-a-software-engineer-sorry-but-thats-okay"/><xhtml:link rel="alternate" hreflang="en" href="https://soubiran.dev/posts/youre-not-a-software-engineer-sorry-but-thats-okay"/></url><url><loc>https://soubiran.dev/fr/privacy</loc><xhtml:link rel="alternate" hreflang="fr" href="https://soubiran.dev/fr/privacy"/><xhtml:link rel="alternate" hreflang="en" href="https://soubiran.dev/privacy"/></url><url><loc>https://soubiran.dev/privacy</loc><xhtml:link rel="alternate" hreflang="fr" href="https://soubiran.dev/fr/privacy"/><xhtml:link rel="alternate" hreflang="en" href="https://soubiran.dev/privacy"/></url><url><loc>https://soubiran.dev/fr/profile</loc><xhtml:link rel="alternate" hreflang="fr" href="https://soubiran.dev/fr/profile"/><xhtml:link rel="alternate" hreflang="en" href="https://soubiran.dev/profile"/></url><url><loc>https://soubiran.dev/fr/projects</loc><xhtml:link rel="alternate" hreflang="fr" href="https://soubiran.dev/fr/projects"/><xhtml:link rel="alternate" hreflang="en" href="https://soubiran.dev/projects"/></url><url><loc>https://soubiran.dev/projects</loc><xhtml:link rel="alternate" hreflang="fr" href="https://soubiran.dev/fr/projects"/><xhtml:link rel="alternate" hreflang="en" href="https://soubiran.dev/projects"/></url><url><loc>https://soubiran.dev/fr/series</loc><xhtml:link rel="alternate" hreflang="fr" href="https://soubiran.dev/fr/series"/><xhtml:link rel="alternate" hreflang="en" href="https://soubiran.dev/series"/></url><url><loc>https://soubiran.dev/series</loc><xhtml:link rel="alternate" hreflang="fr" href="https://soubiran.dev/fr/series"/><xhtml:link rel="alternate" hreflang="en" href="https://soubiran.dev/series"/></url><url><loc>https://soubiran.dev/fr/series/ai-agents-and-mcp-server-teaming-up-for-the-agentic-web</loc><xhtml:link rel="alternate" hreflang="fr" href="https://soubiran.dev/fr/series/ai-agents-and-mcp-server-teaming-up-for-the-agentic-web"/><xhtml:link rel="alternate" hreflang="en" href="https://soubiran.dev/series/ai-agents-and-mcp-server-teaming-up-for-the-agentic-web"/></url><url><loc>https://soubiran.dev/series/ai-agents-and-mcp-server-teaming-up-for-the-agentic-web</loc><xhtml:link rel="alternate" hreflang="fr" href="https://soubiran.dev/fr/series/ai-agents-and-mcp-server-teaming-up-for-the-agentic-web"/><xhtml:link rel="alternate" hreflang="en" href="https://soubiran.dev/series/ai-agents-and-mcp-server-teaming-up-for-the-agentic-web"/></url><url><loc>https://soubiran.dev/fr/series/ai-agents-and-mcp-server-teaming-up-for-the-agentic-web/a-powerful-ai-application-made-with-nitro-and-nuxt-ui</loc><xhtml:link rel="alternate" hreflang="fr" href="https://soubiran.dev/fr/series/ai-agents-and-mcp-server-teaming-up-for-the-agentic-web/a-powerful-ai-application-made-with-nitro-and-nuxt-ui"/><xhtml:link rel="alternate" hreflang="en" href="https://soubiran.dev/series/ai-agents-and-mcp-server-teaming-up-for-the-agentic-web/a-powerful-ai-application-made-with-nitro-and-nuxt-ui"/></url><url><loc>https://soubiran.dev/series/ai-agents-and-mcp-server-teaming-up-for-the-agentic-web/a-powerful-ai-application-made-with-nitro-and-nuxt-ui</loc><xhtml:link rel="alternate" hreflang="fr" href="https://soubiran.dev/fr/series/ai-agents-and-mcp-server-teaming-up-for-the-agentic-web/a-powerful-ai-application-made-with-nitro-and-nuxt-ui"/><xhtml:link rel="alternate" hreflang="en" href="https://soubiran.dev/series/ai-agents-and-mcp-server-teaming-up-for-the-agentic-web/a-powerful-ai-application-made-with-nitro-and-nuxt-ui"/></url><url><loc>https://soubiran.dev/fr/series/ai-agents-and-mcp-server-teaming-up-for-the-agentic-web/building-an-ai-agent-made-easy-thanks-to-the-ai-sdk</loc><xhtml:link rel="alternate" hreflang="fr" href="https://soubiran.dev/fr/series/ai-agents-and-mcp-server-teaming-up-for-the-agentic-web/building-an-ai-agent-made-easy-thanks-to-the-ai-sdk"/><xhtml:link rel="alternate" hreflang="en" href="https://soubiran.dev/series/ai-agents-and-mcp-server-teaming-up-for-the-agentic-web/building-an-ai-agent-made-easy-thanks-to-the-ai-sdk"/></url><url><loc>https://soubiran.dev/series/ai-agents-and-mcp-server-teaming-up-for-the-agentic-web/building-an-ai-agent-made-easy-thanks-to-the-ai-sdk</loc><xhtml:link rel="alternate" hreflang="fr" href="https://soubiran.dev/fr/series/ai-agents-and-mcp-server-teaming-up-for-the-agentic-web/building-an-ai-agent-made-easy-thanks-to-the-ai-sdk"/><xhtml:link rel="alternate" hreflang="en" href="https://soubiran.dev/series/ai-agents-and-mcp-server-teaming-up-for-the-agentic-web/building-an-ai-agent-made-easy-thanks-to-the-ai-sdk"/></url><url><loc>https://soubiran.dev/fr/series/ai-agents-and-mcp-server-teaming-up-for-the-agentic-web/deploying-our-ai-agent-to-the-world-using-cloudflare</loc><xhtml:link rel="alternate" hreflang="fr" href="https://soubiran.dev/fr/series/ai-agents-and-mcp-server-teaming-up-for-the-agentic-web/deploying-our-ai-agent-to-the-world-using-cloudflare"/><xhtml:link rel="alternate" hreflang="en" href="https://soubiran.dev/series/ai-agents-and-mcp-server-teaming-up-for-the-agentic-web/deploying-our-ai-agent-to-the-world-using-cloudflare"/></url><url><loc>https://soubiran.dev/series/ai-agents-and-mcp-server-teaming-up-for-the-agentic-web/deploying-our-ai-agent-to-the-world-using-cloudflare</loc><xhtml:link rel="alternate" hreflang="fr" href="https://soubiran.dev/fr/series/ai-agents-and-mcp-server-teaming-up-for-the-agentic-web/deploying-our-ai-agent-to-the-world-using-cloudflare"/><xhtml:link rel="alternate" hreflang="en" href="https://soubiran.dev/series/ai-agents-and-mcp-server-teaming-up-for-the-agentic-web/deploying-our-ai-agent-to-the-world-using-cloudflare"/></url><url><loc>https://soubiran.dev/fr/series/ai-agents-and-mcp-server-teaming-up-for-the-agentic-web/mcp-to-provide-additional-capabilities-to-the-ai-agent</loc><xhtml:link rel="alternate" hreflang="fr" href="https://soubiran.dev/fr/series/ai-agents-and-mcp-server-teaming-up-for-the-agentic-web/mcp-to-provide-additional-capabilities-to-the-ai-agent"/><xhtml:link rel="alternate" hreflang="en" href="https://soubiran.dev/series/ai-agents-and-mcp-server-teaming-up-for-the-agentic-web/mcp-to-provide-additional-capabilities-to-the-ai-agent"/></url><url><loc>https://soubiran.dev/series/ai-agents-and-mcp-server-teaming-up-for-the-agentic-web/mcp-to-provide-additional-capabilities-to-the-ai-agent</loc><xhtml:link rel="alternate" hreflang="fr" href="https://soubiran.dev/fr/series/ai-agents-and-mcp-server-teaming-up-for-the-agentic-web/mcp-to-provide-additional-capabilities-to-the-ai-agent"/><xhtml:link rel="alternate" hreflang="en" href="https://soubiran.dev/series/ai-agents-and-mcp-server-teaming-up-for-the-agentic-web/mcp-to-provide-additional-capabilities-to-the-ai-agent"/></url><url><loc>https://soubiran.dev/fr/series/ai-agents-and-mcp-server-teaming-up-for-the-agentic-web/pairing-ai-agents-with-mcp-to-make-outside-world-accessible</loc><xhtml:link rel="alternate" hreflang="fr" href="https://soubiran.dev/fr/series/ai-agents-and-mcp-server-teaming-up-for-the-agentic-web/pairing-ai-agents-with-mcp-to-make-outside-world-accessible"/><xhtml:link rel="alternate" hreflang="en" href="https://soubiran.dev/series/ai-agents-and-mcp-server-teaming-up-for-the-agentic-web/pairing-ai-agents-with-mcp-to-make-outside-world-accessible"/></url><url><loc>https://soubiran.dev/series/ai-agents-and-mcp-server-teaming-up-for-the-agentic-web/pairing-ai-agents-with-mcp-to-make-outside-world-accessible</loc><xhtml:link rel="alternate" hreflang="fr" href="https://soubiran.dev/fr/series/ai-agents-and-mcp-server-teaming-up-for-the-agentic-web/pairing-ai-agents-with-mcp-to-make-outside-world-accessible"/><xhtml:link rel="alternate" hreflang="en" href="https://soubiran.dev/series/ai-agents-and-mcp-server-teaming-up-for-the-agentic-web/pairing-ai-agents-with-mcp-to-make-outside-world-accessible"/></url><url><loc>https://soubiran.dev/fr/series/create-a-blog-with-vitepress-and-vue-js-from-scratch</loc><xhtml:link rel="alternate" hreflang="fr" href="https://soubiran.dev/fr/series/create-a-blog-with-vitepress-and-vue-js-from-scratch"/><xhtml:link rel="alternate" hreflang="en" href="https://soubiran.dev/series/create-a-blog-with-vitepress-and-vue-js-from-scratch"/></url><url><loc>https://soubiran.dev/series/create-a-blog-with-vitepress-and-vue-js-from-scratch</loc><xhtml:link rel="alternate" hreflang="fr" href="https://soubiran.dev/fr/series/create-a-blog-with-vitepress-and-vue-js-from-scratch"/><xhtml:link rel="alternate" hreflang="en" href="https://soubiran.dev/series/create-a-blog-with-vitepress-and-vue-js-from-scratch"/></url><url><loc>https://soubiran.dev/fr/series/create-a-blog-with-vitepress-and-vue-js-from-scratch/an-internal-refactor-for-the-future-growth-of-our-blog</loc><xhtml:link rel="alternate" hreflang="fr" href="https://soubiran.dev/fr/series/create-a-blog-with-vitepress-and-vue-js-from-scratch/an-internal-refactor-for-the-future-growth-of-our-blog"/><xhtml:link rel="alternate" hreflang="en" href="https://soubiran.dev/series/create-a-blog-with-vitepress-and-vue-js-from-scratch/an-internal-refactor-for-the-future-growth-of-our-blog"/></url><url><loc>https://soubiran.dev/series/create-a-blog-with-vitepress-and-vue-js-from-scratch/an-internal-refactor-for-the-future-growth-of-our-blog</loc><xhtml:link rel="alternate" hreflang="fr" href="https://soubiran.dev/fr/series/create-a-blog-with-vitepress-and-vue-js-from-scratch/an-internal-refactor-for-the-future-growth-of-our-blog"/><xhtml:link rel="alternate" hreflang="en" href="https://soubiran.dev/series/create-a-blog-with-vitepress-and-vue-js-from-scratch/an-internal-refactor-for-the-future-growth-of-our-blog"/></url><url><loc>https://soubiran.dev/fr/series/create-a-blog-with-vitepress-and-vue-js-from-scratch/creating-open-graph-images-automatically-for-each-blog-post</loc><xhtml:link rel="alternate" hreflang="fr" href="https://soubiran.dev/fr/series/create-a-blog-with-vitepress-and-vue-js-from-scratch/creating-open-graph-images-automatically-for-each-blog-post"/><xhtml:link rel="alternate" hreflang="en" href="https://soubiran.dev/series/create-a-blog-with-vitepress-and-vue-js-from-scratch/creating-open-graph-images-automatically-for-each-blog-post"/></url><url><loc>https://soubiran.dev/series/create-a-blog-with-vitepress-and-vue-js-from-scratch/creating-open-graph-images-automatically-for-each-blog-post</loc><xhtml:link rel="alternate" hreflang="fr" href="https://soubiran.dev/fr/series/create-a-blog-with-vitepress-and-vue-js-from-scratch/creating-open-graph-images-automatically-for-each-blog-post"/><xhtml:link rel="alternate" hreflang="en" href="https://soubiran.dev/series/create-a-blog-with-vitepress-and-vue-js-from-scratch/creating-open-graph-images-automatically-for-each-blog-post"/></url><url><loc>https://soubiran.dev/fr/series/create-a-blog-with-vitepress-and-vue-js-from-scratch/deploy-vitepress-blog-globally-with-cloudflare-pages</loc><xhtml:link rel="alternate" hreflang="fr" href="https://soubiran.dev/fr/series/create-a-blog-with-vitepress-and-vue-js-from-scratch/deploy-vitepress-blog-globally-with-cloudflare-pages"/><xhtml:link rel="alternate" hreflang="en" href="https://soubiran.dev/series/create-a-blog-with-vitepress-and-vue-js-from-scratch/deploy-vitepress-blog-globally-with-cloudflare-pages"/></url><url><loc>https://soubiran.dev/series/create-a-blog-with-vitepress-and-vue-js-from-scratch/deploy-vitepress-blog-globally-with-cloudflare-pages</loc><xhtml:link rel="alternate" hreflang="fr" href="https://soubiran.dev/fr/series/create-a-blog-with-vitepress-and-vue-js-from-scratch/deploy-vitepress-blog-globally-with-cloudflare-pages"/><xhtml:link rel="alternate" hreflang="en" href="https://soubiran.dev/series/create-a-blog-with-vitepress-and-vue-js-from-scratch/deploy-vitepress-blog-globally-with-cloudflare-pages"/></url><url><loc>https://soubiran.dev/fr/series/create-a-blog-with-vitepress-and-vue-js-from-scratch/enhance-website-visibility-seo-metadata-and-sitemap</loc><xhtml:link rel="alternate" hreflang="fr" href="https://soubiran.dev/fr/series/create-a-blog-with-vitepress-and-vue-js-from-scratch/enhance-website-visibility-seo-metadata-and-sitemap"/><xhtml:link rel="alternate" hreflang="en" href="https://soubiran.dev/series/create-a-blog-with-vitepress-and-vue-js-from-scratch/enhance-website-visibility-seo-metadata-and-sitemap"/></url><url><loc>https://soubiran.dev/series/create-a-blog-with-vitepress-and-vue-js-from-scratch/enhance-website-visibility-seo-metadata-and-sitemap</loc><xhtml:link rel="alternate" hreflang="fr" href="https://soubiran.dev/fr/series/create-a-blog-with-vitepress-and-vue-js-from-scratch/enhance-website-visibility-seo-metadata-and-sitemap"/><xhtml:link rel="alternate" hreflang="en" href="https://soubiran.dev/series/create-a-blog-with-vitepress-and-vue-js-from-scratch/enhance-website-visibility-seo-metadata-and-sitemap"/></url><url><loc>https://soubiran.dev/fr/series/create-a-blog-with-vitepress-and-vue-js-from-scratch/ensure-blog-quality-with-playwright-automated-testing</loc><xhtml:link rel="alternate" hreflang="fr" href="https://soubiran.dev/fr/series/create-a-blog-with-vitepress-and-vue-js-from-scratch/ensure-blog-quality-with-playwright-automated-testing"/><xhtml:link rel="alternate" hreflang="en" href="https://soubiran.dev/series/create-a-blog-with-vitepress-and-vue-js-from-scratch/ensure-blog-quality-with-playwright-automated-testing"/></url><url><loc>https://soubiran.dev/series/create-a-blog-with-vitepress-and-vue-js-from-scratch/ensure-blog-quality-with-playwright-automated-testing</loc><xhtml:link rel="alternate" hreflang="fr" href="https://soubiran.dev/fr/series/create-a-blog-with-vitepress-and-vue-js-from-scratch/ensure-blog-quality-with-playwright-automated-testing"/><xhtml:link rel="alternate" hreflang="en" href="https://soubiran.dev/series/create-a-blog-with-vitepress-and-vue-js-from-scratch/ensure-blog-quality-with-playwright-automated-testing"/></url><url><loc>https://soubiran.dev/fr/series/create-a-blog-with-vitepress-and-vue-js-from-scratch/from-default-to-custom-building-a-vitepress-blog-theme</loc><xhtml:link rel="alternate" hreflang="fr" href="https://soubiran.dev/fr/series/create-a-blog-with-vitepress-and-vue-js-from-scratch/from-default-to-custom-building-a-vitepress-blog-theme"/><xhtml:link rel="alternate" hreflang="en" href="https://soubiran.dev/series/create-a-blog-with-vitepress-and-vue-js-from-scratch/from-default-to-custom-building-a-vitepress-blog-theme"/></url><url><loc>https://soubiran.dev/series/create-a-blog-with-vitepress-and-vue-js-from-scratch/from-default-to-custom-building-a-vitepress-blog-theme</loc><xhtml:link rel="alternate" hreflang="fr" href="https://soubiran.dev/fr/series/create-a-blog-with-vitepress-and-vue-js-from-scratch/from-default-to-custom-building-a-vitepress-blog-theme"/><xhtml:link rel="alternate" hreflang="en" href="https://soubiran.dev/series/create-a-blog-with-vitepress-and-vue-js-from-scratch/from-default-to-custom-building-a-vitepress-blog-theme"/></url><url><loc>https://soubiran.dev/fr/series/create-a-blog-with-vitepress-and-vue-js-from-scratch/getting-started-with-vitepress-project-setup-and-essentials</loc><xhtml:link rel="alternate" hreflang="fr" href="https://soubiran.dev/fr/series/create-a-blog-with-vitepress-and-vue-js-from-scratch/getting-started-with-vitepress-project-setup-and-essentials"/><xhtml:link rel="alternate" hreflang="en" href="https://soubiran.dev/series/create-a-blog-with-vitepress-and-vue-js-from-scratch/getting-started-with-vitepress-project-setup-and-essentials"/></url><url><loc>https://soubiran.dev/series/create-a-blog-with-vitepress-and-vue-js-from-scratch/getting-started-with-vitepress-project-setup-and-essentials</loc><xhtml:link rel="alternate" hreflang="fr" href="https://soubiran.dev/fr/series/create-a-blog-with-vitepress-and-vue-js-from-scratch/getting-started-with-vitepress-project-setup-and-essentials"/><xhtml:link rel="alternate" hreflang="en" href="https://soubiran.dev/series/create-a-blog-with-vitepress-and-vue-js-from-scratch/getting-started-with-vitepress-project-setup-and-essentials"/></url><url><loc>https://soubiran.dev/fr/series/create-a-blog-with-vitepress-and-vue-js-from-scratch/implementing-blog-index-with-vitepress-and-tailwind-css</loc><xhtml:link rel="alternate" hreflang="fr" href="https://soubiran.dev/fr/series/create-a-blog-with-vitepress-and-vue-js-from-scratch/implementing-blog-index-with-vitepress-and-tailwind-css"/><xhtml:link rel="alternate" hreflang="en" href="https://soubiran.dev/series/create-a-blog-with-vitepress-and-vue-js-from-scratch/implementing-blog-index-with-vitepress-and-tailwind-css"/></url><url><loc>https://soubiran.dev/series/create-a-blog-with-vitepress-and-vue-js-from-scratch/implementing-blog-index-with-vitepress-and-tailwind-css</loc><xhtml:link rel="alternate" hreflang="fr" href="https://soubiran.dev/fr/series/create-a-blog-with-vitepress-and-vue-js-from-scratch/implementing-blog-index-with-vitepress-and-tailwind-css"/><xhtml:link rel="alternate" hreflang="en" href="https://soubiran.dev/series/create-a-blog-with-vitepress-and-vue-js-from-scratch/implementing-blog-index-with-vitepress-and-tailwind-css"/></url><url><loc>https://soubiran.dev/fr/series/create-a-blog-with-vitepress-and-vue-js-from-scratch/migrating-our-vitepress-blog-to-tailwind-css-version-4</loc><xhtml:link rel="alternate" hreflang="fr" href="https://soubiran.dev/fr/series/create-a-blog-with-vitepress-and-vue-js-from-scratch/migrating-our-vitepress-blog-to-tailwind-css-version-4"/><xhtml:link rel="alternate" hreflang="en" href="https://soubiran.dev/series/create-a-blog-with-vitepress-and-vue-js-from-scratch/migrating-our-vitepress-blog-to-tailwind-css-version-4"/></url><url><loc>https://soubiran.dev/series/create-a-blog-with-vitepress-and-vue-js-from-scratch/migrating-our-vitepress-blog-to-tailwind-css-version-4</loc><xhtml:link rel="alternate" hreflang="fr" href="https://soubiran.dev/fr/series/create-a-blog-with-vitepress-and-vue-js-from-scratch/migrating-our-vitepress-blog-to-tailwind-css-version-4"/><xhtml:link rel="alternate" hreflang="en" href="https://soubiran.dev/series/create-a-blog-with-vitepress-and-vue-js-from-scratch/migrating-our-vitepress-blog-to-tailwind-css-version-4"/></url><url><loc>https://soubiran.dev/fr/series/create-a-blog-with-vitepress-and-vue-js-from-scratch/optimize-your-vitepress-blog-architecture-design</loc><xhtml:link rel="alternate" hreflang="fr" href="https://soubiran.dev/fr/series/create-a-blog-with-vitepress-and-vue-js-from-scratch/optimize-your-vitepress-blog-architecture-design"/><xhtml:link rel="alternate" hreflang="en" href="https://soubiran.dev/series/create-a-blog-with-vitepress-and-vue-js-from-scratch/optimize-your-vitepress-blog-architecture-design"/></url><url><loc>https://soubiran.dev/series/create-a-blog-with-vitepress-and-vue-js-from-scratch/optimize-your-vitepress-blog-architecture-design</loc><xhtml:link rel="alternate" hreflang="fr" href="https://soubiran.dev/fr/series/create-a-blog-with-vitepress-and-vue-js-from-scratch/optimize-your-vitepress-blog-architecture-design"/><xhtml:link rel="alternate" hreflang="en" href="https://soubiran.dev/series/create-a-blog-with-vitepress-and-vue-js-from-scratch/optimize-your-vitepress-blog-architecture-design"/></url><url><loc>https://soubiran.dev/fr/series/create-a-blog-with-vitepress-and-vue-js-from-scratch/showcase-your-github-projects-on-your-vitepress-blog</loc><xhtml:link rel="alternate" hreflang="fr" href="https://soubiran.dev/fr/series/create-a-blog-with-vitepress-and-vue-js-from-scratch/showcase-your-github-projects-on-your-vitepress-blog"/><xhtml:link rel="alternate" hreflang="en" href="https://soubiran.dev/series/create-a-blog-with-vitepress-and-vue-js-from-scratch/showcase-your-github-projects-on-your-vitepress-blog"/></url><url><loc>https://soubiran.dev/series/create-a-blog-with-vitepress-and-vue-js-from-scratch/showcase-your-github-projects-on-your-vitepress-blog</loc><xhtml:link rel="alternate" hreflang="fr" href="https://soubiran.dev/fr/series/create-a-blog-with-vitepress-and-vue-js-from-scratch/showcase-your-github-projects-on-your-vitepress-blog"/><xhtml:link rel="alternate" hreflang="en" href="https://soubiran.dev/series/create-a-blog-with-vitepress-and-vue-js-from-scratch/showcase-your-github-projects-on-your-vitepress-blog"/></url><url><loc>https://soubiran.dev/fr/series/create-a-blog-with-vitepress-and-vue-js-from-scratch/single-blog-rendering-in-vitepress-with-tailwind-typography</loc><xhtml:link rel="alternate" hreflang="fr" href="https://soubiran.dev/fr/series/create-a-blog-with-vitepress-and-vue-js-from-scratch/single-blog-rendering-in-vitepress-with-tailwind-typography"/><xhtml:link rel="alternate" hreflang="en" href="https://soubiran.dev/series/create-a-blog-with-vitepress-and-vue-js-from-scratch/single-blog-rendering-in-vitepress-with-tailwind-typography"/></url><url><loc>https://soubiran.dev/series/create-a-blog-with-vitepress-and-vue-js-from-scratch/single-blog-rendering-in-vitepress-with-tailwind-typography</loc><xhtml:link rel="alternate" hreflang="fr" href="https://soubiran.dev/fr/series/create-a-blog-with-vitepress-and-vue-js-from-scratch/single-blog-rendering-in-vitepress-with-tailwind-typography"/><xhtml:link rel="alternate" hreflang="en" href="https://soubiran.dev/series/create-a-blog-with-vitepress-and-vue-js-from-scratch/single-blog-rendering-in-vitepress-with-tailwind-typography"/></url><url><loc>https://soubiran.dev/fr/series/empower-and-dynamize-our-vitepress-blog-with-a-laravel-api</loc><xhtml:link rel="alternate" hreflang="fr" href="https://soubiran.dev/fr/series/empower-and-dynamize-our-vitepress-blog-with-a-laravel-api"/><xhtml:link rel="alternate" hreflang="en" href="https://soubiran.dev/series/empower-and-dynamize-our-vitepress-blog-with-a-laravel-api"/></url><url><loc>https://soubiran.dev/series/empower-and-dynamize-our-vitepress-blog-with-a-laravel-api</loc><xhtml:link rel="alternate" hreflang="fr" href="https://soubiran.dev/fr/series/empower-and-dynamize-our-vitepress-blog-with-a-laravel-api"/><xhtml:link rel="alternate" hreflang="en" href="https://soubiran.dev/series/empower-and-dynamize-our-vitepress-blog-with-a-laravel-api"/></url><url><loc>https://soubiran.dev/fr/series/empower-and-dynamize-our-vitepress-blog-with-a-laravel-api/pint-larastan-rector-and-pest-essential-for-success</loc><xhtml:link rel="alternate" hreflang="fr" href="https://soubiran.dev/fr/series/empower-and-dynamize-our-vitepress-blog-with-a-laravel-api/pint-larastan-rector-and-pest-essential-for-success"/><xhtml:link rel="alternate" hreflang="en" href="https://soubiran.dev/series/empower-and-dynamize-our-vitepress-blog-with-a-laravel-api/pint-larastan-rector-and-pest-essential-for-success"/></url><url><loc>https://soubiran.dev/series/empower-and-dynamize-our-vitepress-blog-with-a-laravel-api/pint-larastan-rector-and-pest-essential-for-success</loc><xhtml:link rel="alternate" hreflang="fr" href="https://soubiran.dev/fr/series/empower-and-dynamize-our-vitepress-blog-with-a-laravel-api/pint-larastan-rector-and-pest-essential-for-success"/><xhtml:link rel="alternate" hreflang="en" href="https://soubiran.dev/series/empower-and-dynamize-our-vitepress-blog-with-a-laravel-api/pint-larastan-rector-and-pest-essential-for-success"/></url><url><loc>https://soubiran.dev/fr/series/empower-and-dynamize-our-vitepress-blog-with-a-laravel-api/setting-up-your-laravel-project-structure-and-essentials</loc><xhtml:link rel="alternate" hreflang="fr" href="https://soubiran.dev/fr/series/empower-and-dynamize-our-vitepress-blog-with-a-laravel-api/setting-up-your-laravel-project-structure-and-essentials"/><xhtml:link rel="alternate" hreflang="en" href="https://soubiran.dev/series/empower-and-dynamize-our-vitepress-blog-with-a-laravel-api/setting-up-your-laravel-project-structure-and-essentials"/></url><url><loc>https://soubiran.dev/series/empower-and-dynamize-our-vitepress-blog-with-a-laravel-api/setting-up-your-laravel-project-structure-and-essentials</loc><xhtml:link rel="alternate" hreflang="fr" href="https://soubiran.dev/fr/series/empower-and-dynamize-our-vitepress-blog-with-a-laravel-api/setting-up-your-laravel-project-structure-and-essentials"/><xhtml:link rel="alternate" hreflang="en" href="https://soubiran.dev/series/empower-and-dynamize-our-vitepress-blog-with-a-laravel-api/setting-up-your-laravel-project-structure-and-essentials"/></url><url><loc>https://soubiran.dev/fr/series/the-complete-guide-to-building-a-vue-js-component-library</loc><xhtml:link rel="alternate" hreflang="fr" href="https://soubiran.dev/fr/series/the-complete-guide-to-building-a-vue-js-component-library"/><xhtml:link rel="alternate" hreflang="en" href="https://soubiran.dev/series/the-complete-guide-to-building-a-vue-js-component-library"/></url><url><loc>https://soubiran.dev/series/the-complete-guide-to-building-a-vue-js-component-library</loc><xhtml:link rel="alternate" hreflang="fr" href="https://soubiran.dev/fr/series/the-complete-guide-to-building-a-vue-js-component-library"/><xhtml:link rel="alternate" hreflang="en" href="https://soubiran.dev/series/the-complete-guide-to-building-a-vue-js-component-library"/></url><url><loc>https://soubiran.dev/fr/series/the-complete-guide-to-building-a-vue-js-component-library/a-better-development-experience-with-typescript-and-tsconfig</loc><xhtml:link rel="alternate" hreflang="fr" href="https://soubiran.dev/fr/series/the-complete-guide-to-building-a-vue-js-component-library/a-better-development-experience-with-typescript-and-tsconfig"/><xhtml:link rel="alternate" hreflang="en" href="https://soubiran.dev/series/the-complete-guide-to-building-a-vue-js-component-library/a-better-development-experience-with-typescript-and-tsconfig"/></url><url><loc>https://soubiran.dev/series/the-complete-guide-to-building-a-vue-js-component-library/a-better-development-experience-with-typescript-and-tsconfig</loc><xhtml:link rel="alternate" hreflang="fr" href="https://soubiran.dev/fr/series/the-complete-guide-to-building-a-vue-js-component-library/a-better-development-experience-with-typescript-and-tsconfig"/><xhtml:link rel="alternate" hreflang="en" href="https://soubiran.dev/series/the-complete-guide-to-building-a-vue-js-component-library/a-better-development-experience-with-typescript-and-tsconfig"/></url><url><loc>https://soubiran.dev/fr/series/the-complete-guide-to-building-a-vue-js-component-library/automatic-component-testing-with-vitest-and-testing-library</loc><xhtml:link rel="alternate" hreflang="fr" href="https://soubiran.dev/fr/series/the-complete-guide-to-building-a-vue-js-component-library/automatic-component-testing-with-vitest-and-testing-library"/><xhtml:link rel="alternate" hreflang="en" href="https://soubiran.dev/series/the-complete-guide-to-building-a-vue-js-component-library/automatic-component-testing-with-vitest-and-testing-library"/></url><url><loc>https://soubiran.dev/series/the-complete-guide-to-building-a-vue-js-component-library/automatic-component-testing-with-vitest-and-testing-library</loc><xhtml:link rel="alternate" hreflang="fr" href="https://soubiran.dev/fr/series/the-complete-guide-to-building-a-vue-js-component-library/automatic-component-testing-with-vitest-and-testing-library"/><xhtml:link rel="alternate" hreflang="en" href="https://soubiran.dev/series/the-complete-guide-to-building-a-vue-js-component-library/automatic-component-testing-with-vitest-and-testing-library"/></url><url><loc>https://soubiran.dev/fr/series/the-complete-guide-to-building-a-vue-js-component-library/building-a-first-component-with-vuejs-and-tailwind-css</loc><xhtml:link rel="alternate" hreflang="fr" href="https://soubiran.dev/fr/series/the-complete-guide-to-building-a-vue-js-component-library/building-a-first-component-with-vuejs-and-tailwind-css"/><xhtml:link rel="alternate" hreflang="en" href="https://soubiran.dev/series/the-complete-guide-to-building-a-vue-js-component-library/building-a-first-component-with-vuejs-and-tailwind-css"/></url><url><loc>https://soubiran.dev/series/the-complete-guide-to-building-a-vue-js-component-library/building-a-first-component-with-vuejs-and-tailwind-css</loc><xhtml:link rel="alternate" hreflang="fr" href="https://soubiran.dev/fr/series/the-complete-guide-to-building-a-vue-js-component-library/building-a-first-component-with-vuejs-and-tailwind-css"/><xhtml:link rel="alternate" hreflang="en" href="https://soubiran.dev/series/the-complete-guide-to-building-a-vue-js-component-library/building-a-first-component-with-vuejs-and-tailwind-css"/></url><url><loc>https://soubiran.dev/fr/series/the-complete-guide-to-building-a-vue-js-component-library/creating-a-playground-and-a-storybook-for-components</loc><xhtml:link rel="alternate" hreflang="fr" href="https://soubiran.dev/fr/series/the-complete-guide-to-building-a-vue-js-component-library/creating-a-playground-and-a-storybook-for-components"/><xhtml:link rel="alternate" hreflang="en" href="https://soubiran.dev/series/the-complete-guide-to-building-a-vue-js-component-library/creating-a-playground-and-a-storybook-for-components"/></url><url><loc>https://soubiran.dev/series/the-complete-guide-to-building-a-vue-js-component-library/creating-a-playground-and-a-storybook-for-components</loc><xhtml:link rel="alternate" hreflang="fr" href="https://soubiran.dev/fr/series/the-complete-guide-to-building-a-vue-js-component-library/creating-a-playground-and-a-storybook-for-components"/><xhtml:link rel="alternate" hreflang="en" href="https://soubiran.dev/series/the-complete-guide-to-building-a-vue-js-component-library/creating-a-playground-and-a-storybook-for-components"/></url><url><loc>https://soubiran.dev/fr/series/the-complete-guide-to-building-a-vue-js-component-library/delivering-components-continuously-and-with-confidence</loc><xhtml:link rel="alternate" hreflang="fr" href="https://soubiran.dev/fr/series/the-complete-guide-to-building-a-vue-js-component-library/delivering-components-continuously-and-with-confidence"/><xhtml:link rel="alternate" hreflang="en" href="https://soubiran.dev/series/the-complete-guide-to-building-a-vue-js-component-library/delivering-components-continuously-and-with-confidence"/></url><url><loc>https://soubiran.dev/series/the-complete-guide-to-building-a-vue-js-component-library/delivering-components-continuously-and-with-confidence</loc><xhtml:link rel="alternate" hreflang="fr" href="https://soubiran.dev/fr/series/the-complete-guide-to-building-a-vue-js-component-library/delivering-components-continuously-and-with-confidence"/><xhtml:link rel="alternate" hreflang="en" href="https://soubiran.dev/series/the-complete-guide-to-building-a-vue-js-component-library/delivering-components-continuously-and-with-confidence"/></url><url><loc>https://soubiran.dev/fr/series/the-complete-guide-to-building-a-vue-js-component-library/enhancing-integration-with-unplugin-and-nuxt-module</loc><xhtml:link rel="alternate" hreflang="fr" href="https://soubiran.dev/fr/series/the-complete-guide-to-building-a-vue-js-component-library/enhancing-integration-with-unplugin-and-nuxt-module"/><xhtml:link rel="alternate" hreflang="en" href="https://soubiran.dev/series/the-complete-guide-to-building-a-vue-js-component-library/enhancing-integration-with-unplugin-and-nuxt-module"/></url><url><loc>https://soubiran.dev/series/the-complete-guide-to-building-a-vue-js-component-library/enhancing-integration-with-unplugin-and-nuxt-module</loc><xhtml:link rel="alternate" hreflang="fr" href="https://soubiran.dev/fr/series/the-complete-guide-to-building-a-vue-js-component-library/enhancing-integration-with-unplugin-and-nuxt-module"/><xhtml:link rel="alternate" hreflang="en" href="https://soubiran.dev/series/the-complete-guide-to-building-a-vue-js-component-library/enhancing-integration-with-unplugin-and-nuxt-module"/></url><url><loc>https://soubiran.dev/fr/series/the-complete-guide-to-building-a-vue-js-component-library/getting-started-with-monorepo-linter-and-formatter</loc><xhtml:link rel="alternate" hreflang="fr" href="https://soubiran.dev/fr/series/the-complete-guide-to-building-a-vue-js-component-library/getting-started-with-monorepo-linter-and-formatter"/><xhtml:link rel="alternate" hreflang="en" href="https://soubiran.dev/series/the-complete-guide-to-building-a-vue-js-component-library/getting-started-with-monorepo-linter-and-formatter"/></url><url><loc>https://soubiran.dev/series/the-complete-guide-to-building-a-vue-js-component-library/getting-started-with-monorepo-linter-and-formatter</loc><xhtml:link rel="alternate" hreflang="fr" href="https://soubiran.dev/fr/series/the-complete-guide-to-building-a-vue-js-component-library/getting-started-with-monorepo-linter-and-formatter"/><xhtml:link rel="alternate" hreflang="en" href="https://soubiran.dev/series/the-complete-guide-to-building-a-vue-js-component-library/getting-started-with-monorepo-linter-and-formatter"/></url><url><loc>https://soubiran.dev/fr/space/maiaspace-the-beginning-of-our-adventure</loc></url><url><loc>https://soubiran.dev/fr/space/rocket-science-for-babies</loc></url><url><loc>https://soubiran.dev/fr/speaker</loc><xhtml:link rel="alternate" hreflang="fr" href="https://soubiran.dev/fr/speaker"/><xhtml:link rel="alternate" hreflang="en" href="https://soubiran.dev/speaker"/></url><url><loc>https://soubiran.dev/speaker</loc><xhtml:link rel="alternate" hreflang="fr" href="https://soubiran.dev/fr/speaker"/><xhtml:link rel="alternate" hreflang="en" href="https://soubiran.dev/speaker"/></url><url><loc>https://soubiran.dev/fr/sponsorship</loc><xhtml:link rel="alternate" hreflang="fr" href="https://soubiran.dev/fr/sponsorship"/><xhtml:link rel="alternate" hreflang="en" href="https://soubiran.dev/sponsorship"/></url><url><loc>https://soubiran.dev/sponsorship</loc><xhtml:link rel="alternate" hreflang="fr" href="https://soubiran.dev/fr/sponsorship"/><xhtml:link rel="alternate" hreflang="en" href="https://soubiran.dev/sponsorship"/></url><url><loc>https://soubiran.dev/fr/talks</loc><xhtml:link rel="alternate" hreflang="fr" href="https://soubiran.dev/fr/talks"/><xhtml:link rel="alternate" hreflang="en" href="https://soubiran.dev/talks"/></url><url><loc>https://soubiran.dev/talks</loc><xhtml:link rel="alternate" hreflang="fr" href="https://soubiran.dev/fr/talks"/><xhtml:link rel="alternate" hreflang="en" href="https://soubiran.dev/talks"/></url><url><loc>https://soubiran.dev/fr/terms</loc><xhtml:link rel="alternate" hreflang="fr" href="https://soubiran.dev/fr/terms"/><xhtml:link rel="alternate" hreflang="en" href="https://soubiran.dev/terms"/></url><url><loc>https://soubiran.dev/terms</loc><xhtml:link rel="alternate" hreflang="fr" href="https://soubiran.dev/fr/terms"/><xhtml:link rel="alternate" hreflang="en" href="https://soubiran.dev/terms"/></url><url><loc>https://soubiran.dev/fr/talks/2023-04-12/devoxxfr</loc><xhtml:link rel="alternate" hreflang="fr" href="https://soubiran.dev/fr/talks/2023-04-12/devoxxfr"/><xhtml:link rel="alternate" hreflang="en" href="https://soubiran.dev/talks/2023-04-12/devoxxfr"/></url><url><loc>https://soubiran.dev/talks/2023-04-12/devoxxfr</loc><xhtml:link rel="alternate" hreflang="fr" href="https://soubiran.dev/fr/talks/2023-04-12/devoxxfr"/><xhtml:link rel="alternate" hreflang="en" href="https://soubiran.dev/talks/2023-04-12/devoxxfr"/></url><url><loc>https://soubiran.dev/fr/talks/2024-04-12/strasbourgjs</loc><xhtml:link rel="alternate" hreflang="fr" href="https://soubiran.dev/fr/talks/2024-04-12/strasbourgjs"/><xhtml:link rel="alternate" hreflang="en" href="https://soubiran.dev/talks/2024-04-12/strasbourgjs"/></url><url><loc>https://soubiran.dev/talks/2024-04-12/strasbourgjs</loc><xhtml:link rel="alternate" hreflang="fr" href="https://soubiran.dev/fr/talks/2024-04-12/strasbourgjs"/><xhtml:link rel="alternate" hreflang="en" href="https://soubiran.dev/talks/2024-04-12/strasbourgjs"/></url><url><loc>https://soubiran.dev/fr/talks/2024-04-19/devoxxfr</loc><xhtml:link rel="alternate" hreflang="fr" href="https://soubiran.dev/fr/talks/2024-04-19/devoxxfr"/><xhtml:link rel="alternate" hreflang="en" href="https://soubiran.dev/talks/2024-04-19/devoxxfr"/></url><url><loc>https://soubiran.dev/talks/2024-04-19/devoxxfr</loc><xhtml:link rel="alternate" hreflang="fr" href="https://soubiran.dev/fr/talks/2024-04-19/devoxxfr"/><xhtml:link rel="alternate" hreflang="en" href="https://soubiran.dev/talks/2024-04-19/devoxxfr"/></url><url><loc>https://soubiran.dev/fr/talks/2024-11-13/nuxtnation</loc><xhtml:link rel="alternate" hreflang="fr" href="https://soubiran.dev/fr/talks/2024-11-13/nuxtnation"/><xhtml:link rel="alternate" hreflang="en" href="https://soubiran.dev/talks/2024-11-13/nuxtnation"/></url><url><loc>https://soubiran.dev/talks/2024-11-13/nuxtnation</loc><xhtml:link rel="alternate" hreflang="fr" href="https://soubiran.dev/fr/talks/2024-11-13/nuxtnation"/><xhtml:link rel="alternate" hreflang="en" href="https://soubiran.dev/talks/2024-11-13/nuxtnation"/></url><url><loc>https://soubiran.dev/fr/talks/2025-01-21/paris-typescript</loc><xhtml:link rel="alternate" hreflang="fr" href="https://soubiran.dev/fr/talks/2025-01-21/paris-typescript"/><xhtml:link rel="alternate" hreflang="en" href="https://soubiran.dev/talks/2025-01-21/paris-typescript"/></url><url><loc>https://soubiran.dev/talks/2025-01-21/paris-typescript</loc><xhtml:link rel="alternate" hreflang="fr" href="https://soubiran.dev/fr/talks/2025-01-21/paris-typescript"/><xhtml:link rel="alternate" hreflang="en" href="https://soubiran.dev/talks/2025-01-21/paris-typescript"/></url><url><loc>https://soubiran.dev/fr/talks/2025-04-17/devoxxfr</loc><xhtml:link rel="alternate" hreflang="fr" href="https://soubiran.dev/fr/talks/2025-04-17/devoxxfr"/><xhtml:link rel="alternate" hreflang="en" href="https://soubiran.dev/talks/2025-04-17/devoxxfr"/></url><url><loc>https://soubiran.dev/talks/2025-04-17/devoxxfr</loc><xhtml:link rel="alternate" hreflang="fr" href="https://soubiran.dev/fr/talks/2025-04-17/devoxxfr"/><xhtml:link rel="alternate" hreflang="en" href="https://soubiran.dev/talks/2025-04-17/devoxxfr"/></url><url><loc>https://soubiran.dev/fr/talks/2025-04-18/devoxxfr</loc><xhtml:link rel="alternate" hreflang="fr" href="https://soubiran.dev/fr/talks/2025-04-18/devoxxfr"/><xhtml:link rel="alternate" hreflang="en" href="https://soubiran.dev/talks/2025-04-18/devoxxfr"/></url><url><loc>https://soubiran.dev/talks/2025-04-18/devoxxfr</loc><xhtml:link rel="alternate" hreflang="fr" href="https://soubiran.dev/fr/talks/2025-04-18/devoxxfr"/><xhtml:link rel="alternate" hreflang="en" href="https://soubiran.dev/talks/2025-04-18/devoxxfr"/></url><url><loc>https://soubiran.dev/fr/talks/2025-04-29/mixit</loc><xhtml:link rel="alternate" hreflang="fr" href="https://soubiran.dev/fr/talks/2025-04-29/mixit"/><xhtml:link rel="alternate" hreflang="en" href="https://soubiran.dev/talks/2025-04-29/mixit"/></url><url><loc>https://soubiran.dev/talks/2025-04-29/mixit</loc><xhtml:link rel="alternate" hreflang="fr" href="https://soubiran.dev/fr/talks/2025-04-29/mixit"/><xhtml:link rel="alternate" hreflang="en" href="https://soubiran.dev/talks/2025-04-29/mixit"/></url><url><loc>https://soubiran.dev/fr/talks/2025-04-30/mixit</loc><xhtml:link rel="alternate" hreflang="fr" href="https://soubiran.dev/fr/talks/2025-04-30/mixit"/><xhtml:link rel="alternate" hreflang="en" href="https://soubiran.dev/talks/2025-04-30/mixit"/></url><url><loc>https://soubiran.dev/talks/2025-04-30/mixit</loc><xhtml:link rel="alternate" hreflang="fr" href="https://soubiran.dev/fr/talks/2025-04-30/mixit"/><xhtml:link rel="alternate" hreflang="en" href="https://soubiran.dev/talks/2025-04-30/mixit"/></url><url><loc>https://soubiran.dev/fr/talks/2025-10-17/devfest-nantes</loc><xhtml:link rel="alternate" hreflang="fr" href="https://soubiran.dev/fr/talks/2025-10-17/devfest-nantes"/><xhtml:link rel="alternate" hreflang="en" href="https://soubiran.dev/talks/2025-10-17/devfest-nantes"/></url><url><loc>https://soubiran.dev/talks/2025-10-17/devfest-nantes</loc><xhtml:link rel="alternate" hreflang="fr" href="https://soubiran.dev/fr/talks/2025-10-17/devfest-nantes"/><xhtml:link rel="alternate" hreflang="en" href="https://soubiran.dev/talks/2025-10-17/devfest-nantes"/></url></urlset>