<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>Le Blog de Valentin Besse</title><description>Code, Astro et réflexions tech.</description><link>https://vbesse.com/</link><language>fr-fr</language><item><title>L&apos;accessibilité par l&apos;exemple : Rendre son blog inclusif sans effort</title><link>https://vbesse.com/blog/accessibilite-web-blog-inclusif/</link><guid isPermaLink="true">https://vbesse.com/blog/accessibilite-web-blog-inclusif/</guid><description>Pourquoi et comment j&apos;ai rendu ce blog accessible (a11y), du ratio de contraste aux attributs ARIA, avec des conseils didactiques.</description><pubDate>Thu, 19 Feb 2026 00:00:00 GMT</pubDate></item><item><title>Quand l&apos;IA éteint la lumière : Autopsie d&apos;un bug génératif fantôme</title><link>https://vbesse.com/blog/ai-ghost-bug/</link><guid isPermaLink="true">https://vbesse.com/blog/ai-ghost-bug/</guid><description>J&apos;ai demandé à une IA d&apos;agrandir mon logo. Le résultat ? Une image presque noire. Retour sur un raté spectaculaire pour comprendre comment pensent les modèles génératifs.</description><pubDate>Sat, 14 Feb 2026 00:00:00 GMT</pubDate></item><item><title>Apprivoiser le Legacy : Transformer la dette en opportunité</title><link>https://vbesse.com/blog/apprivoiser-le-legacy/</link><guid isPermaLink="true">https://vbesse.com/blog/apprivoiser-le-legacy/</guid><description>Le code legacy n&apos;est pas une fatalité. Stratégies, tests et refactoring : comment reprendre le contrôle d&apos;un projet sans tout réécrire.</description><pubDate>Sun, 15 Feb 2026 00:00:00 GMT</pubDate></item><item><title>Architecture Astro : Pourquoi j&apos;ai éclaté mon Layout monolithique</title><link>https://vbesse.com/blog/architecture-astro/</link><guid isPermaLink="true">https://vbesse.com/blog/architecture-astro/</guid><description>Découvrez pourquoi séparer votre Layout principal en sous-couches spécialisées est la clé d&apos;un blog Astro maintenable et évolutif.</description><pubDate>Fri, 20 Feb 2026 00:00:00 GMT</pubDate></item><item><title>De l&apos;idée à la mise en ligne : La stack technique derrière ce blog</title><link>https://vbesse.com/blog/building/</link><guid isPermaLink="true">https://vbesse.com/blog/building/</guid><description>Pourquoi j&apos;ai choisi Astro et Vercel plutôt que Hugo ou WordPress, et comment j&apos;ai configuré ce site de A à Z.</description><pubDate>Thu, 15 Jan 2026 00:00:00 GMT</pubDate></item><item><title>CSS Moderne : Transformer des boutons amateurs en composants Pro</title><link>https://vbesse.com/blog/css-moderne/</link><guid isPermaLink="true">https://vbesse.com/blog/css-moderne/</guid><description>Un bouton n&apos;est pas juste un lien avec une bordure. Tutoriel pas à pas pour créer des boutons accessibles, esthétiques et réactifs avec du CSS moderne.</description><pubDate>Wed, 18 Feb 2026 00:00:00 GMT</pubDate></item><item><title>Dark Mode sans flash : L&apos;implémentation parfaite avec Astro et CSS Variables</title><link>https://vbesse.com/blog/dark-flash-mode/</link><guid isPermaLink="true">https://vbesse.com/blog/dark-flash-mode/</guid><description>Marre de brûler la rétine de vos visiteurs avec un flash blanc au chargement ? Découvrez comment créer un Dark Mode parfait et persistant avec Astro.</description><pubDate>Fri, 06 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Redonner le pouvoir aux lecteurs : Ajouter un flux RSS natif en 5 minutes</title><link>https://vbesse.com/blog/flux-rss-natif/</link><guid isPermaLink="true">https://vbesse.com/blog/flux-rss-natif/</guid><description>Fuyez les algorithmes ! Découvrez comment générer un flux RSS valide en quelques lignes de code sur votre blog Astro.</description><pubDate>Tue, 24 Feb 2026 00:00:00 GMT</pubDate></item><item><title>Formulaires sans Backend : Intercepter Formspree avec AJAX pour une UX fluide</title><link>https://vbesse.com/blog/formulaire-sans-backend/</link><guid isPermaLink="true">https://vbesse.com/blog/formulaire-sans-backend/</guid><description>Ne laissez plus Formspree rediriger vos utilisateurs ! Découvrez comment utiliser AJAX pour envoyer vos formulaires de contact en arrière-plan sur votre site Astro.</description><pubDate>Tue, 03 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Fini les liens tristes : Générer des images sociales (OG) automatiques avec Astro</title><link>https://vbesse.com/blog/generation-images-social/</link><guid isPermaLink="true">https://vbesse.com/blog/generation-images-social/</guid><description>Marre de créer une image sur Figma pour chaque article ? Découvrez comment générer vos images OpenGraph dynamiquement à la compilation avec Astro et Satori.</description><pubDate>Mon, 23 Feb 2026 00:00:00 GMT</pubDate></item><item><title>Fini les images de 10 Mo : Mon pipeline d&apos;optimisation automatique avec Astro</title><link>https://vbesse.com/blog/gestion-images-automatique/</link><guid isPermaLink="true">https://vbesse.com/blog/gestion-images-automatique/</guid><description>Comment je suis passé d&apos;une gestion manuelle fastidieuse à un workflow entièrement automatisé grâce aux Content Collections et Astro Assets.</description><pubDate>Fri, 13 Feb 2026 00:00:00 GMT</pubDate></item><item><title>Bienvenue sur vbesse.com</title><link>https://vbesse.com/blog/hello-vbesse/</link><guid isPermaLink="true">https://vbesse.com/blog/hello-vbesse/</guid><description>Ceci est mon tout premier article publié avec Astro et Vercel.</description><pubDate>Mon, 22 Dec 2025 00:00:00 GMT</pubDate></item><item><title>Parler la langue de Google : JSON-LD et SEO technique automatisé</title><link>https://vbesse.com/blog/la-langue-de-google/</link><guid isPermaLink="true">https://vbesse.com/blog/la-langue-de-google/</guid><description>Arrêtez de laisser Google deviner le contenu de vos pages. Apprenez à générer automatiquement des données structurées JSON-LD avec Astro pour booster votre SEO.</description><pubDate>Thu, 26 Feb 2026 00:00:00 GMT</pubDate></item><item><title>Astro ClientRouter : Le piège du Menu Mobile persistant</title><link>https://vbesse.com/blog/menu-mobile-persistant/</link><guid isPermaLink="true">https://vbesse.com/blog/menu-mobile-persistant/</guid><description>Vous venez d&apos;activer les View Transitions sur Astro, mais votre menu hamburger fait n&apos;importe quoi ? Découvrez pourquoi et comment corriger le cycle de vie de votre JavaScript.</description><pubDate>Thu, 05 Mar 2026 00:00:00 GMT</pubDate></item><item><title>3 micro-fonctionnalités pour une UX de lecture parfaite</title><link>https://vbesse.com/blog/micro-fonctionnalites-ux/</link><guid isPermaLink="true">https://vbesse.com/blog/micro-fonctionnalites-ux/</guid><description>Le contenu est roi, mais l&apos;expérience utilisateur est reine. Découvrez comment implémenter une barre de progression, un sommaire et un bouton de copie sur votre blog Astro.</description><pubDate>Mon, 09 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Pourquoi il faut savoir saisir les opportunités (et quitter sa zone de confort)</title><link>https://vbesse.com/blog/oser-le-changement/</link><guid isPermaLink="true">https://vbesse.com/blog/oser-le-changement/</guid><description>Changer d&apos;entreprise n&apos;est pas une trahison, c&apos;est souvent une nécessité pour grandir. Retour sur l&apos;importance du mouvement dans une carrière.</description><pubDate>Wed, 11 Feb 2026 00:00:00 GMT</pubDate></item><item><title>Cmd+K pour tous : Intégrer une recherche instantanée avec Pagefind</title><link>https://vbesse.com/blog/recherche-pagefind/</link><guid isPermaLink="true">https://vbesse.com/blog/recherche-pagefind/</guid><description>Offrez à vos utilisateurs une expérience de navigation premium avec une barre de recherche globale Cmd+K sur votre site statique Astro, propulsée par Pagefind.</description><pubDate>Tue, 10 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Astro &amp; SEO : Résoudre l&apos;erreur d&apos;URL [object Object] sur vos images OpenGraph</title><link>https://vbesse.com/blog/resoudre-erreur-url/</link><guid isPermaLink="true">https://vbesse.com/blog/resoudre-erreur-url/</guid><description>Vos images sociales ont disparu sur LinkedIn ou Bluesky ? Découvrez pourquoi Astro génère parfois un [object Object] dans vos balises meta et comment le corriger définitivement.</description><pubDate>Wed, 25 Feb 2026 00:00:00 GMT</pubDate></item><item><title>L&apos;illusion parfaite : Transformer un site statique en SPA fluide avec Astro ClientRouter</title><link>https://vbesse.com/blog/site-statique-spa-fluide/</link><guid isPermaLink="true">https://vbesse.com/blog/site-statique-spa-fluide/</guid><description>Découvrez comment le composant ClientRouter d&apos;Astro utilise l&apos;API View Transitions pour transformer votre site statique en une application ultra-fluide sans le poids d&apos;un framework JavaScript.</description><pubDate>Wed, 04 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Astro &amp; i18n : Rendre son blog bilingue sans sacrifier les View Transitions</title><link>https://vbesse.com/blog/astro-i18n/</link><guid isPermaLink="true">https://vbesse.com/blog/astro-i18n/</guid><description>Comment j&apos;ai implémenté un système multilingue natif sur mon blog Astro, avec des URLs propres et un sélecteur de langue dynamique résistant au ClientRouter. Merci Cristian !</description><pubDate>Thu, 12 Mar 2026 00:00:00 GMT</pubDate></item><item><title>3 détails UX qui font la différence sur un blog Astro</title><link>https://vbesse.com/blog/3-details-ux-astro/</link><guid isPermaLink="true">https://vbesse.com/blog/3-details-ux-astro/</guid><description>Comment j&apos;ai peaufiné l&apos;expérience utilisateur de mon blog bilingue avec une redirection intelligente, un menu mobile &apos;click-away&apos; et des icônes dynamiques.</description><pubDate>Fri, 13 Mar 2026 00:00:00 GMT</pubDate></item><item><title>De 40 de VO2Max à la blessure : Mon année de préparation au Semi-Marathon décryptée par la data</title><link>https://vbesse.com/blog/de-vo2max-a-la-blessure-preparation-semi-marathon/</link><guid isPermaLink="true">https://vbesse.com/blog/de-vo2max-a-la-blessure-preparation-semi-marathon/</guid><description>Comment j&apos;ai préparé le semi-marathon de Nancy 2026. Analyse de mes datas (Garmin, Polar H10, Zones Karvonen), ma stratégie de nutrition, et l&apos;erreur de charge qui m&apos;a coûté ma participation.</description><pubDate>Mon, 23 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Dans les entrailles de ma montre : 385 heures de sport et une blessure décryptées par la data</title><link>https://vbesse.com/blog/dans-les-entrailles-de-ma-montre-385-heures/</link><guid isPermaLink="true">https://vbesse.com/blog/dans-les-entrailles-de-ma-montre-385-heures/</guid><description>Plongée technique dans mes données Garmin et Polar H10 : la preuve des 80/20, l&apos;évolution de l&apos;efficacité aérobie, et la surcharge qui a mené à ma tendinopathie.</description><pubDate>Tue, 24 Mar 2026 00:00:00 GMT</pubDate></item></channel></rss>