Mets à jour la page en suivant strictement les règles définies dans /home/alan/SITE/WEB/AGENTS.md (section « Règles d'affichage des cartes »).

Mets à jour la page xavier-moreau.html avec l'actualité récente de Xavier Moreau.

Objectif : recherche d'actualité (moins de 28 jours), max 25 cartes antéchronologiques.

Étapes :
1. Recherche (max 3 min) — découvrir les dernières publications de Xavier Moreau :
   Source principale de découverte : Odysee (@EchiquierMondial / ICI MOSCOU,
   2993comp / Bulletin STRATPOL).
   Xavier Moreau n'a pas de chaîne YouTube personnelle principale ; ses
   interventions sont diffusées en priorité sur Odysee, puis sur GPTV (chaîne
   YouTube), Rumble et TVL. Odysee reste la source privilégiée de découverte.
   Allouer au moins 1 min 30 sur les 3 min de recherche à la découverte des
   vidéos Odysee (@EchiquierMondial, 2993comp). Le reste du temps pour croiser
   avec GPTV (YouTube), Rumble, TVL.

   Règle de complétude : Si 15 à 20 vidéos Odysee/YouTube récentes (< 28 jours)
   sont déjà identifiées, ne pas explorer systématiquement les autres sources ;
   les utiliser uniquement pour récupérer une date ou un titre manquant.
   - Odysee : @EchiquierMondial (ICI MOSCOU), 2993comp (Bulletin STRATPOL).
   - Géopolitique Profonde (GPTV) : geopolitique-profonde.com, chaîne YouTube GPTV,
     GPTV La Matinale, page profil geopolitique-profonde.com/xavier-moreau/.
   - Rumble : chaînes hosting Bulletin STRATPOL et ICI MOSCOU.
   - TV Libertés : tvl.fr (émission « Chocs du Monde » avec Xavier Moreau).
   - YouTube : rechercher "Xavier Moreau", "STRATPOL", "ICI MOSCOU", "GPTV La Matinale",
     "Divergence Politique", "Xavier MOREAU" (variante casse).
   - Mots-clés complémentaires : "Stratpol", "Bulletin STRATPOL N°",
     "EchiquierMondial", "DIV #", "Chocs du Monde".
   - Ne pas oublier les réactions/rediffusions par des tiers (chroniqueurs, agrégateurs).

2. Vérification des liens (max 30 s) :
   - Privilégier noembed.com pour YouTube (récupérer le titre).
     noembed est la méthode prioritaire pour valider les URLs YouTube.
   - curl direct pour Odysee, Rumble, GPTV, TVL, articles.
   - Ne pas retry sur 429 (YouTube rate limit) ni sur 403 (Rumble anti-bot) :
     considérer l'URL comme valide et passer.
   - Date : noembed ne renvoie pas la date. Sources pour la date :
     * Date déjà présente dans le HTML existant (préserver si valide).
     * Meta article:published_time pour les articles GPTV/TVL.
     * Inférer du titre (ex : « 299 » → numéro de bulletin, date dans le titre).
   - Si aucune date en moins de 30s, conserver la date du HTML ou inférer du titre.

3. Mise à jour de xavier-moreau.html :
   - Éditer uniquement <ul class="news-grid">.
   - Ajouter les nouvelles cartes .news-card au début (antéchronologique).
   - Supprimer les cartes dont la data-date dépasse 28 jours.
   - Conserver la carte profil (sans data-date, src-gptv) en fin de liste.
   - Limite : 25 cartes après filtre (les plus récentes en premier).
   - Classe src-* selon la plateforme :
     * src-gptv     → GPTV / geopolitique-profonde.com
     * src-youtube  → YouTube (hors GPTV)
     * src-odysee   → Odysee
     * src-rumble   → Rumble
     * src-tvl      → tvl.fr
   - Privilégier src-odysee pour les interventions diffusées sur Odysee
     (@EchiquierMondial, 2993comp). Privilégier src-youtube pour les
     interventions GPTV. N'utiliser src-gptv/src-rumble/src-tvl que pour les
     contenus exclusifs sans équivalent Odysee/YouTube.

   - favicon Google : https://www.google.com/s2/favicons?domain=<domaine>&sz=64
   - Format de carte :
     <li class="news-card src-gptv" data-date="JJ/MM/2026">
       <span class="news-tag">Vidéo</span>
       <div class="news-head">
         <img class="favicon" src="https://www.google.com/s2/favicons?domain=geopolitique-profonde.com&sz=64" alt="" loading="lazy">
         <a href="URL" target="_blank" rel="noopener">TITRE EN FRANÇAIS</a>
       </div>
       <p class="news-desc">Description concise (1 phrase, factuelle).</p>
     </li>
   - news-tag : « Vidéo » pour vidéo, « Article » pour texte, « Profil » pour la carte sans date.
   - Titres : toujours en français (traduire si nécessaire) ; conserver le ton original
     (titres souvent en MAJUSCULES chez Moreau/GPTV — préserver la casse d'origine).
   - data-date au format JJ/MM/2026.
   - Ne pas modifier <section class="analysis">, le header, le footer, ni les scripts.

4. Vérifier l'ordre antéchronologique, la cohérence des dates, l'unicité des URLs,
   et que le total ne dépasse pas 25 cartes.
