# Mise à jour — Médias alternatifs & Personnalités

## Objectif
Rafraîchir régulièrement le contenu des pages du site Re-info.fr consacrées
aux **médias alternatifs** et aux **personnalités**, à partir des dernières
vidéos / publications disponibles en ligne.

## Référence
Appliquer strictement les règles définies dans `/home/alan/SITE/WEB/AGENTS.md`
(section « Règles d'affichage des cartes ») à chaque page traitée.

## Pages concernées
- Pages médias : `tocsin.html`, `geopolitique-profonde.html`, `tv-libertes.html`, `radio-courtoisie.html`, `brochu-tv.html`, `jsuispascontent-tv.html`, `kate-tv.html`, `le-media-en-442.html`, `nexus.html`, `odc-tv.html`, `omerta.html`, `canard-refractaire.html`, `campagnol-tvl.html`, `dialogue-franco-russe.html`, `france-soir.html`, `egalite-et-reconciliation.html`, `profession-gendarme.html`, `john-point-de-rupture.html`
- Pages personnalités : `asselineau.html`, `idriss-aberkane.html`, `jacques-baud.html`,
  `caroline-galacteros.html`, `nicolas-bouvier.html`, `alexis-cossette.html`,
  `dieudonne.html`, `pierre-jovanovic.html`, `georges-kuzmanovic.html`,
  `xavier-moreau.html`, `xavier-poussard.html`,
  `florian-philippot.html`, `christian-perronne.html`, `alexis-poulin.html`, `alain-soral.html`,
  `nicolas-vidal.html`, `pierre-chaillot.html`, `youssef-hindi.html`, `sylvain-ferreira.html`, `louis-fouche.html`, `jeremie-mercier.html`, `tatiana-ventose.html`
- Pages dossiers : `epstein.html`, `affaire-brigitte.html`, `covid-19.html`

## Contraintes
- **Ne pas casser la structure HTML** existante : `<header>`, `<nav class="navbar">`,
  `<main>`, `<section class="page ...">`, `<ol class="news-grid">`, `<footer>`, `<script>`.
- Conserver la feuille `css/style.css` et les classes CSS en place.
- Conserver les balises `<meta>`, `<title>`, `lang="fr"`.
- Les vidéos YouTube doivent rester les plus récentes (titre + URL + description courte).
- **Chaque carte datée doit porter un attribut `data-date="JJ/MM/AAAA"`** indiquant la
  vraie date de mise en ligne (récupérée via YouTube/Invidious `publishedDate`, ou la
  date de publication de l'article). Format : `30/06/2026`. Le script JS de la page
  affiche automatiquement « Mise en ligne : JJ/MM/AAAA » à partir de cet attribut ;
  si l'attribut est absent, aucune date n'est affichée (ne pas tricher avec la date du
  jour). Pour une fiche chaîne/officielle non datée, laisser `data-date` absent.
- Les descriptions restent factuelles, courtes (1-2 phrases), ton neutre.
- Ne pas inventer de sources : si une info n'est pas vérifiable, ne pas l'ajouter.
- Préserver les liens externes valides ; remplacer uniquement les vidéos périmées.
- Encoding UTF-8, indentation existante (2 espaces).

## Règles d'affichage des cartes (extraites de AGENTS.md)
1. **SUPPRIME du HTML** toute carte dont la `data-date` est antérieure à 28 jours
   par rapport à aujourd'hui (ne pas simplement masquer en CSS/JS).
2. **Limite de 25 cartes** maximum par page `.recherche` : on garde les 25 plus
   récentes parmi les cartes valides (après filtre des 28 jours). Au-delà de 25,
   supprimer du HTML les plus anciennes.
3. **Tri antéchronologique** : la carte la plus récente en premier dans le HTML.
4. Les **cartes sans `data-date`** sont conservées et comptent dans la limite de 25.
5. **Aucun bloc JavaScript de filtrage par date** : la sélection se fait directement
   dans le HTML. Ne pas (ré)introduire de script `diff > 28` / `card.style.display`.

## Procédure
1. Pour chaque média/personnalité, rechercher rapidement via le web :
   - les 2 à 3 vidéos YouTube les plus récentes (dernières 2 semaines),
   - toute nouvelle page officielle, chaîne, ou article marquant.
2. Mettre à jour la section `<ol class="news-grid">` de chaque page :
   - ajouter les nouveaux `<li class="news-card ...">` en haut,
     **avec `data-date="JJ/MM/AAAA"`** obtenu via YouTube/Invidious,
   - **SUPPRIMER du HTML** les entrées dont `data-date` est > 28 jours
     (calcul à partir de la date du jour ; sauf fiches chaînes/officielles sans `data-date`),
   - **limiter à 25 cartes** maximum : supprimer du HTML les cartes au-delà de 25
     (les plus anciennes), en respectant l'ordre antéchronologique,
   - mettre à jour le compteur d'abonnés si une valeur plus récente est trouvée.
3. Vérifier qu'aucun lien n'est cassé (les URLs YouTube doivent être valides).
4. Vérifier l'absence de tout bloc JavaScript de filtrage par date dans la page
   (supprimer tout `<script>` contenant
   `diff > 28` ou `card.style.display = 'none'`).
5. Lancer `opencode` (toi-même) pour confirmer qu'aucune erreur HTML n'est introduite.

## Format d'un bloc vidéo
```html
<li class="news-card src-youtube" data-date="30/06/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="https://www.youtube.com/watch?v=XXXXXXXX" target="_blank" rel="noopener">Titre de la vidéo</a>
  </div>
  <p class="news-desc">Description courte et factuelle.</p>
</li>
```

**`data-date` (format JJ/MM/AAAA)** : date de mise en ligne de la vidéo / de
publication de l'article. À récupérer impérativement depuis YouTube/Invidious
(champ `publishedDate` de l'API) ou la date explicite de l'article. Ne jamais
inventer ni utiliser la date du jour.

**Important** : Ne pas ajouter manuellement de `<div class="news-source">` — le script JS
dans chaque page l'ajoute automatiquement à partir de la classe `src-*` du `<li>` et
de l'attribut `data-date`.

## À la fin
- Résumer les modifications par page (titre vidéo ajoutée/retirée, nombre de cartes
  supprimées pour > 28 jours, nombre supprimées pour dépassement des 25).
- Ne pas commit sauf instruction contraire.