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 asselineau.html avec l'actualité récente de François Asselineau.

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 et interventions

   Source principale de découverte : YouTube.
   Les autres plateformes servent à compléter et à croiser, pas à remplacer YouTube.
   Allouer au moins 2 min sur les 3 min de recherche à la découverte des vidéos
   YouTube. Le reste du temps pour croiser avec les autres sources.

   Règle de complétude : Si 15 à 20 vidéos 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.
   de François Asselineau (président de l'UPR, candidat à la présidentielle 2027,
    Frexit) :
   - Site officiel UPR : upr.fr/actualites/ — articles d'analyse politique,
     communiqués, tribunes. Page à surveiller en priorité (publications
     quasi-quotidiennes).
   - YouTube : chaîne @UPRtvfa (UPR TV, 510K abonnés — directs hebdomadaires
     numérotés « Direct n°119, 120… », conférences, analyses, extraits).
     Rechercher "François Asselineau", "Asselineau UPR", "UPR TV",
     "Asselineau direct", "Asselineau 2027", "Asselineau Frexit".
   - Géopolitique Profonde (GPTV) : geopolitique-profonde.com, interventions
     régulières d'Asselineau dans La Matinale (invité de Nicolas Stoquer).
     Rechercher "Asselineau GPTV".
   - TV Libertés (TVL) : tvl.fr — interventions d'Asselineau. Rechercher
     "Asselineau TVL", "Asselineau TV Libertés".
   - TV Finance : chaîne YouTube de Louis-Antoine Michelet, invité régulier.
     Rechercher "Asselineau TV Finance", "Asselineau Michelet".
   - Tocsin / Omerta : interventions ponctuelles. Rechercher "Asselineau
     Tocsin", "Asselineau Omerta".
   - X / Twitter : rechercher "François Asselineau", "UPR" (compte personnel
     @Asselineau et compte UPR).
   - Facebook / Telegram / Instagram : relais et annonces militants.
   - Odysee / Rumble : rechercher "Asselineau", "UPR TV" (rediffusions en
     plateforme libre).
   - Articles : rechercher "François Asselineau", "UPR" sur les médias
     alternatifs et agrégateurs (tout1savoir, communiques.info, blogs
     souverainistes) et presse généraliste.
   - Mots-clés complémentaires : "UPR", "Union Populaire Républicaine",
     "Frexit", "sortie de l'UE", "sortie de l'euro", "OTAN",
     "présidentielle 2027", "500 parrainages", "Bernard Cazeneuve",
     "Mélenchon", "Marine Le Pen", "procès Le Pen", "Cour d'appel",
     "Glucksmann", "Saakachvili", "Marc Endeweld", "IFOP", "Frédéric Dabi",
     "sondages", "QR code 14 juillet", "Conseil d'État", "euthanasie",
     "Marta Kos", "élargissement UE", "Ukraine", "Moldavie", "Albanie",
     "Monténégro", "CIA", "John Ratcliffe", "Chine", "ASPI",
     "Nouvelle-Calédonie", "Québec indépendance", "squatteurs",
     "arrêt Bosman", "football", "caméra conducteur", "Université d'automne",
     "Vallères", "militants terrain".
   - Ne pas oublier les directs hebdomadaires numérotés (Direct n°120, 121…),
     les extraits de directs, et les interventions dans d'autres médias.

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 upr.fr, GPTV, TVL, Odysee, Rumble, X/Twitter, Facebook,
     articles.
   - Ne pas retry sur 429 (YouTube rate limit) ni sur 403 (Rumble/Facebook
     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 upr.fr (récupérable
       via curl sur la page /actualites/).
     * Date visible dans le titre (ex : « Direct n°120 du 15 juillet 2026 »,
       « 13/07/2026 »), le texte de l'article ou l'URL.
     * Inférer du contexte (date d'upload récente pour les vidéos YouTube,
       date du jour pour les articles upr.fr).
   - Si aucune date en moins de 30s, conserver la date du HTML ou inférer du titre.

3. Mise à jour de asselineau.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 les cartes sans data-date (chaîne YouTube @UPRtvfa, site upr.fr,
     profil X/Twitter) en fin de liste.
   - Limite : 25 cartes après filtre (les plus récentes en premier).
   - Classe src-* selon la plateforme :
     * src-upr        → upr.fr (articles, communiqués, tribunes)
     * src-youtube    → YouTube (UPR TV, directs, extraits, GPTV, TVL,
                       TV Finance, rediffusions tiers)
     * src-gptv       → Géopolitique Profonde si applicable
     * src-tvl        → TV Libertés si applicable
     * src-odysee     → Odysee
     * src-rumble     → Rumble
     * src-twitter    → X / Twitter
     * src-facebook   → Facebook

   - Privilégier src-youtube pour les interventions existant à la fois en vidéo
     et en article. N'utiliser les autres src-* que pour les contenus exclusifs
     sans équivalent YouTube.

   - favicon Google : https://www.google.com/s2/favicons?domain=<domaine>&sz=64
     (pour le site : domain=upr.fr)
   - Format de carte :
     <li class="news-card src-upr" data-date="JJ/MM/2026">
       <span class="news-tag">Article</span>
       <div class="news-head">
         <img class="favicon" src="https://www.google.com/s2/favicons?domain=upr.fr&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 : « Article » pour upr.fr/articles de presse, « Vidéo » pour
     YouTube/Odysee/Rumble, « Chaîne » pour la carte YouTube @UPRtvfa sans
     date, « Site » pour la carte upr.fr sans date, « X / Twitter » pour le
     compte X sans date.
   - Titres : toujours en français (traduire si nécessaire) ; préserver la
     casse d'origine. Conserver la numérotation des directs (ex : « Direct
     n°120 »).
   - 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.