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 jsuispascontent-tv.html avec l'actualité récente de J'suis pas content TV.

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 J'suis pas

   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.
   content TV (chaîne humoristique, satirique et informative animée par
   Grégory Tabibian, ~454 000 abonnés YouTube) :
   - YouTube : chaîne @JsuispascontentTV (format principal « J'suis pas
     content » numéroté #536, #537, #538, #539, #540…, format « Le OFF »,
     format « PAS CONTENT AVEC TABIBIAN ! » entretiens longs, Shorts
     quotidiens). Rechercher "J'suis pas content TV", "JsuispascontentTV",
     "Grégory Tabibian", "Tabibian", "J'suis pas content #", "Le OFF
     Tabibian", "PAS CONTENT AVEC TABIBIAN".
   - YouTube Shorts : format court quotidien (satire, réactions, décryptage
     rapide). Surveiller /shorts/ sur la chaîne.
   - Twitch : streams en direct (émissions, débats, interactions avec la
     communauté). Rechercher "J'suis pas content TV Twitch", "Tabibian
     Twitch".
   - Odysee : chaîne @JsuispascontentTV (replays, vidéos en plateforme libre).
   - altCensored : channel UC9NB2nXjNtRabu3YLPB16Hg (archive des vidéos
     censurées ou supprimées).
   - X / Twitter : rechercher "J'suis pas content TV", "Grégory Tabibian",
     "JsuispascontentTV" (compte personnel et relais).
   - Facebook : page officielle pascontenttv/ (~54k abonnés) et fan club
     jsuispascontentFC/ (communauté de soutien).
   - Articles : rechercher "J'suis pas content TV", "Grégory Tabibian" sur
     les médias alternatifs et agrégateurs (tout1savoir, communiques.info,
     blogs) et presse grand public.
   - Invités/collaborateurs réguliers à surveiller dans les titres :
     Jon de Loraine, Philippe Murer, Juan Branco, humoristes stand up,
     créateurs YouTube alternatifs.
   - Mots-clés complémentaires : "satire", "humour politique", "stand up",
     "J'suis pas content", "Le OFF", "Tabibian", "Grégory Tabibian",
     "Marine Le Pen", "Bardella", "RN", "Manon Aubry", "Hamza",
     "Juan Branco programme", "14 juillet", "2027", "présidentielle",
     "RSA", "école", "professeur agressé", "Bagayoko", "loi",
     "censure", "libertés publiques", "Twitch", "Odysee",
     "altCensored", "fan club".
   - Ne pas oublier les Shorts quotidiens (très nombreux, à intégrer en
     priorité avec les vidéos longues), les entretiens longs format
     (« PAS CONTENT AVEC TABIBIAN ! »), les streams Twitch, et les
     rediffusions sur Odysee/altCensored.

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 Twitch, Odysee, altCensored, X/Twitter, Facebook,
     articles.
   - Ne pas retry sur 429 (YouTube rate limit) ni sur 403 (Rumble/Twitch/
     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).
     * Date visible dans le titre (ex : « [J'suis pas content ! #540] »),
       le texte ou l'URL.
     * Inférer du contexte (date d'upload récente pour les vidéos YouTube
       et Shorts — souvent quotidiennes, inférer la date du jour).
   - Si aucune date en moins de 30s, conserver la date du HTML ou inférer du titre.

3. Mise à jour de jsuispascontent-tv.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 @JsuispascontentTV,
     Odysee, altCensored, Facebook officiel, fan club Facebook) en fin
     de liste.
   - Limite : 25 cartes après filtre (les plus récentes en premier).
   - Classe src-* selon la plateforme :
     * src-youtube           → YouTube (chaîne @JsuispascontentTV, vidéos,
                               Shorts, entretiens, rediffusions)
     * src-jsuispascontent   → Twitch (streams en direct) si applicable
     * src-odysee            → Odysee (@JsuispascontentTV)
     * src-facebook          → Facebook (page officielle + fan club)
     * src-twitter           → X / Twitter

   - 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
   - Format de carte :
     <li class="news-card src-youtube" 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=youtube.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 les épisodes longs « J'suis pas content » et
     « Le OFF » et entretiens, « Short » pour les YouTube Shorts,
     « Stream » pour Twitch, « Chaîne » pour la carte YouTube sans date,
     « Odysee » / « altCensored » / « Facebook » / « Fan club » pour les
     cartes sans date.
   - Titres : toujours en français (traduire si nécessaire) ; préserver la
     casse d'origine. Conserver la numérotation des épisodes (ex : #540).
   - 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.