Classements
Cette page regroupe les règles de classement vérifiées dans le code Convex.
Sources principales :
convex/schema.ts
convex/competition/leagues.ts
convex/competition/league_mutations.ts
convex/competition/match_result_mutations.ts
Données d’agrégat
league_clubs porte les indicateurs de championnat :
leagueId, clubId, division, points, matchesPlayed, wins, draws, losses, goalsFor, goalsAgainst, goalDifference, position.
Mise à jour incrémentale (updateLeagueStandings) :
- victoire :
+3
- nul :
+1
- défaite :
+0
La version inverse utilise la valeur négative symétrique lors des correctifs (réversion/annulation).
recalculateLeagueStandingsCore reconstruit ces valeurs depuis les matchs validés/terminés.
Tie-break canonique (confirmé)
Le tri canonique est appliqué dans sortStandings :
points décroissant
goalDifference décroissant
goalsFor décroissant
clubId lexicographique croissant
Statuts prise en compte
Les calculs utilisent les états de match normalisés en minuscule, notamment :
Les transitions vers completed ne sont pas documentées dans les fichiers lus ici. [non vérifié]
Cycle de classement
Quand un résultat devient final (validated) :
- contributions d’un match ajoutées,
- tri recalculé,
- positionnement stocké.
Quand un résultat est retiré ou corrigé :
- application inverse (
-1, -goalFor, etc. via le même moteur),
- recomposition selon le tri canonique.
Données dérivées
Le classement alimente notamment les exports palmarès saison et les vues de progression avec les champs déjà listés dans league_clubs.
Données joueur
league_player_stats_aggs reste la source agrégée par ligue côté joueur (buts, passes, évaluations, matchs) ; les mécanismes de répercussion via correction manuelle d’un score de match ne sont pas détaillés ici. [non vérifié]
Précautions
- certains flux d’import/sync peuvent produire d’autres états de match ; vérifier la compatibilité avant d’appliquer des hypothèses métier. [non vérifié]
- cette page couvre le classement canonique de base ; l’arbitrage de litiges et la propagation de sanctions sont documentés ailleurs. [non vérifié]
Last modified on June 24, 2026