Application web statique pour suivre des parties d'echecs, visualiser les classements et consulter des statistiques joueurs dynamiques.
Chess Tracker permet de:
- enregistrer des parties;
- suivre un classement par score et un classement Elo;
- analyser l'historique global et recent;
- consulter une page joueur dynamique avec statistiques detaillees;
- pousser les donnees JSON sur GitHub via token.
- Tableau de bord d'accueil avec top 3 et historique recent trie.
- Historique complet trie du plus recent au plus ancien.
- Classement par victoires et classement Elo.
- Page joueur dynamique
joueur.html?name=<player>:- stats globales (V/N/D, score, Elo);
- stats par couleur;
- stats par ouverture;
- stats par adversaire;
- 5 dernieres parties.
- Ajout de partie depuis l'interface:
- commit automatique de
assets/data/matches.jsonvia API GitHub; - option d'ajout auto des joueurs manquants dans
assets/data/players.json.
- commit automatique de
- Affichage de la variation Elo par partie dans:
- l'historique complet;
- l'historique recent de l'accueil;
- les dernieres parties sur la page joueur.
- HTML
- CSS
- JavaScript (vanilla)
- Bootstrap 5
- Cloner le repository.
- Ouvrir le dossier dans VS Code.
- Lancer un serveur statique (exemple avec l'extension Live Server).
- Ouvrir
index.html.
Note: les donnees sont lues depuis des JSON heberges sur GitHub (raw.githubusercontent.com) via core/config.js.
- Ouvrir la page
Ajouter une partiedepuis la navbar. - Renseigner les infos de la partie.
- Fournir un token GitHub avec permissions minimales
Contents: Read and write. - Verifier
owner,repo,branchet le chemin JSON cible. - Valider pour creer le commit.
- Le token est saisi cote navigateur et utilise pour appeler l'API GitHub Contents.
- Le token n'est pas persiste par l'application.
- Pour un environnement production, preferer un backend proxy pour ne pas exposer ce flux cote client.
.
|- index.html
|- classement.html
|- historique.html
|- matelo.html
|- joueur.html
|- ajouter-partie.html
|- style.css
|- assets/
| |- data/
| |- matches.json
| |- players.json
|- core/
|- config.js
|- nav.js
|- index.js
|- classement.js
|- classement-elo.js
|- historique.js
|- player-page.js
|- player-details.js
|- player-details-elo.js
|- add-match.js
|- elo-utils.js
{
"players": [
{ "name": "Mathieu", "elo": 1399 }
]
}{
"matches": [
{
"white": { "name": "Mathieu" },
"black": { "name": "Claude" },
"winner": "white",
"date": "12/08/2026",
"opening": "Viennoise"
}
]
}winner accepte white, black ou Draw.


