# Guide de mise à jour du portail

Aucun outil requis : un éditeur de texte suffit (VS Code, Notepad++…). Toujours enregistrer en UTF-8.

## 1. Actualiser les résultats et le prochain match

Fichier : `assets/js/data.js`

- `meta.lastUpdated` : mettre la date du jour (AAAA-MM-JJ) — elle s'affiche automatiquement dans
  tous les badges « Dernière mise à jour ».
- `nextMatch` : renseigner `kickoff` (format ISO `2026-09-04T16:00:00+01:00`), `opponent`, `venue`,
  et passer `known: true` quand l'affiche est officielle. Le compte à rebours se met à jour seul.
- `lastResult` : date, journée, équipes, score, `source`.

Puis refléter l'info dans le HTML des trois pages Match Center (`fr/matchs-rc-kouba.html`,
`ar/mubarayat-rck.html`, `en/rc-kouba-matches.html`) — le contenu essentiel doit rester lisible
sans JavaScript.

## 2. Actualiser le classement

1. `assets/js/data.js` → bloc `standings` (position, points, `asOf`, `round`, `source`).
2. Mettre à jour le tableau HTML des trois pages classement (lignes `<tr>` ; garder
   `class="highlight"` sur la ligne RCK).
3. Copier les mêmes données dans `data/standings.json` (miroir API).
4. Ne jamais afficher un classement sans sa date et sa source.

## 3. Ajouter un joueur

1. `assets/js/data.js` → `squadKnown` : ajouter `{name, pos, from, season, verified, source}`.
2. Dupliquer une carte joueur dans les trois pages effectif :

```html
<div class="card player-card"><span class="player-num">10</span><div class="player-face">XX</div>
  <h3>Prénom Nom</h3><p class="pos">Poste</p>
  <p class="small">Club précédent, année d'arrivée. <span class="badge badge-ok">Vérifié</span></p></div>
```

3. Photo : la déposer dans `assets/images/club/` (nom descriptif, ex. `rck-nom-joueur-2026.webp`)
   et remplacer le `player-face` par `<img src="…" alt="…" width="…" height="…" loading="lazy">`.

## 4. Ajouter une légende

Dupliquer un bloc `legend-card` dans les trois pages légendes. Règles : période au club sourcée,
badge « Vérifié » seulement si deux sources concordent, sinon badge « à confirmer » ; ajouter la
source en `small muted`.

## 5. Publier une actualité

Dupliquer un bloc `<article class="card news-card news-item" data-cat="equipe|club|histoire">` dans
les trois pages actualités : catégorie, `<h2>`, `<time datetime="AAAA-MM-JJ">`, résumé **original**
(jamais de copie intégrale d'article), lien vers la source. L'article le plus récent en premier.

## 6. Modifier les traductions

Les libellés d'interface de référence sont dans `data/i18n/*.json`. Les pages étant statiques,
modifier aussi le HTML concerné dans chaque langue. Règle d'or : l'arabe n'est pas une traduction
mot à mot — reformuler naturellement.

## 7. Remplacer un emplacement d'image par une vraie image

1. Vérifier la licence (voir `image-credits.md`) et compresser (WebP ≤ 200 Ko conseillé).
2. Déposer dans `assets/images/<club|kouba|archives>/` avec un nom descriptif
   (`rc-kouba-equipe-1981.webp`, `kouba-alger-mairie-1937.webp`).
3. Remplacer la `<figure class="ph-frame">…</figure>` par :

```html
<figure data-lightbox>
  <img src="../assets/images/history/rc-kouba-equipe-1981.webp"
       alt="Équipe du RC Kouba lors de la saison 1980-81"
       width="1200" height="800" loading="lazy" class="archivable">
  <figcaption>Équipe du RC Kouba, saison 1980-81. Source : … · Licence : … </figcaption>
</figure>
```

4. Ajouter la ligne correspondante dans `image-credits.md`.

## 8. Connecter une API

Générer `data/*.json` côté serveur (script planifié) puis reconstruire `assets/js/data.js`
(`window.RCK_DATA = {...}`). Jamais de clé secrète dans le JS public : les appels authentifiés se
font sur un backend qui publie des JSON statiques.

## 9. Déployer

Voir README (hébergement statique, remplacement du domaine, Search Console, sitemap).
