Chaque case se coche vraiment — pas une liste figée, ça reflète l'état réel de ce fichier précis. Suis l'ordre, une étape à la fois.
Somme des points de classement (1er=20, 2e=12, 3e=8, 4e=5, 5e=3, 6e=1) sur les 5 dernières courses archivées de chaque cheval, ajustés par la distance, une marge ESTIMÉE à partir de la position (~0,3-0,5s/position), et le terrain (saisi à la main au-dessus des onglets de course dans "Programme du jour" — sinon neutre). Lit directement l'archive persistante — se reconstruit tout seul au démarrage ; utilise ce bouton après avoir saisi de nouvelles arrivées (ou un nouveau terrain) pour le rafraîchir.
Regroupe tes chevaux par tranche de P(win) prédite (0-10%, 10-20%, ...) et compare au taux de victoire RÉELLEMENT observé dans chaque tranche — si "60% prédit" gagne bien ~60% du temps, P(win) est fiable. Sinon, ça objective l'écart avant de construire une correction.
Charge ici n'importe quel export (un jour, plusieurs jours, des courses choisies à la main, un export Quinté...) pour voir ce que donnent les mêmes calculs (Plackett-Luce, Bayes, Nanson/Baldwin, Système 6/10/7, Chrono-Maître, Induced) sur ces cas précis.
Ce mode est une sandbox : rien n'est sauvegardé dans l'historique, rien n'affecte les ratings persistants du Système 7. Les résultats que tu saisis ici restent locaux à cette session (perdus si tu fermes la page) — utile pour tester sans polluer tes vraies données.
Une fois que tu as saisi (ou auto-détecté) l'arrivée d'une course dans l'onglet "Programme du jour", elle reste enregistrée dans l'Historique. Cet onglet relit toutes ces courses avec résultat connu et teste chaque système (IA/Plackett-Luce, Système 6/7/8/10, Induced, Cote marché) sur deux questions : "quel pourcentage de fois désigne-t-il le bon gagnant ?" et surtout "si je joue un Trio désordre en élargissant ma base aux 3, 4, 5 ou 6 chevaux les mieux classés par ce système, quel pourcentage de fois est-ce que je capture les 3 vrais chevaux du podium ?"
Plus la base s'élargit, plus le taux de réussite monte mécaniquement (logique), mais le coût du ticket augmente aussi. L'intérêt est de voir À PARTIR DE QUELLE BASE chaque système devient fiable pour toi, et lequel a la meilleure progression.
Basé sur la méthodologie de Ligero-Acosta et al. (2026, Mathematics, "Time-Weighted Result-Based Strength Indicators from Head-to-Head Outcomes"). Chaque cheval reçoit 5 indicateurs dans [0, 1], calculés à partir de toutes les confrontations directes présentes dans le journal ci-dessous, pondérées par un noyau triweight (les courses récentes comptent plus, celles de plus de 4 ans sont ignorées) :
La "fenêtre" (réglable ci-dessus, 10 ans par défaut) définit la zone où le poids diminue progressivement avec l'ancienneté — mais aucune course n'est jamais totalement exclue : au-delà de la fenêtre, un poids résiduel minimal est conservé, donc l'historique complet du cheval reste pris en compte.
✅ Le journal (matriceLog) est maintenant persistant automatiquement
(IndexedDB, comme ton historique et tes ratings) — plus besoin de le réimporter à chaque ouverture du fichier.
L'export/import JSON reste utile pour transférer le journal entre appareils ou le partager avec ton groupe.
Saisis tes arrivées comme d'habitude dans l'onglet "Programme du jour", elles alimentent automatiquement le
journal et se sauvegardent seules.
| N° | Cheval | N confrontations | MR | MR catégorie | MR court | MR moyen | MR long |
|---|---|---|---|---|---|---|---|
| Charge un programme ou importe un journal Matrice. | |||||||
Clique une ligne du tableau pour voir l'évolution du cheval.
Chaque paragraphe est construit à partir du tracking LeTrot (dernière sortie référencée, profil vitesse précoce/finale), du repos, et du rang du modèle (P victoire / value) pour cette course. Un cheval sans tracking ni calcul disponible n'aura pas de paragraphe — charge le fichier l'API Trot du jour ou l'import Tracking (xlsx horizontal) pour enrichir la couverture.
⚠️ Génération automatique par templates de phrases, pas une vraie IA rédactionnelle — à relire avant diffusion, surtout les cas limites (peu de données).
Contrairement à l'onglet Matrice (qui ne garde que victoires/défaites), cet onglet conserve le détail complet du tracking de chaque course chargée : positions aux points de passage, profil vitesse, FormCy, Bread & Butter — regroupé par hippodrome. L'objectif : accumuler assez de données par piste pour, à terme, calibrer des modèles spécifiques à chaque hippodrome (sélectivité, effet de la distance, etc.), en lien avec la base de caractéristiques de pistes.
⚠️ Comme pour la Matrice, rien n'est sauvegardé automatiquement — exporte en fin de session et réimporte à la reprise. Chaque chargement de tracking (bouton API ou fichier .json) dans "Programme du jour" alimente automatiquement cette archive.
Pour chaque cheval du programme actuellement chargé, vérifie s'il a du tracking exploitable (peu importe la source — API du jour, import xlsx manuel, ou archive existante) — utile pour savoir pourquoi Vitesse Profil, Bread & Butter ou FormCy restent vides pour certains chevaux.
| Hippodrome | N courses archivées | N chevaux avec tracking | Première date | Dernière date |
|---|---|---|---|---|
| Journal vide — charge du tracking dans "Programme du jour" ou importe un fichier d'archive. | ||||
Pour chaque driver, on additionne l'AR Rating de tous les chevaux qu'il monte dans la
réunion (toutes courses confondues), puis on divise par son nombre de montes. Ce score — le CGS
(dernière colonne, fbasric11) — repère les drivers qui pilotent globalement le lot le plus fort du
jour, pas juste un cheval isolé. Un driver avec une seule monte a un CGS égal à l'AR de ce cheval-là.
Formules : AR Réunion = somme des AR des autres chevaux montés par ce driver dans la réunion. Total AR = AR Course + AR Réunion. CGS = Total AR ÷ Nb Montes. Classé du plus fort au plus faible dans chaque course.
Diagramme de Kiviat à 8 axes par cheval : mus (tendance FormCy), reg (régularité, colonne CSV "Reg"), ent (ELO Entraîneur), pab (% d'adversaires battus, calculé sur l'historique de courses), jock (ELO Jockey), et une note de synthèse au centre — pondérée, pas une simple moyenne : vérifié sur 11 407 partants avec résultat réel que "reg" corrèle nettement mieux avec la victoire (r=0,25) que "ent" (r=0,01, quasi nul) ou "jock" (r=0,06) — donc reg pèse 3x plus, ent est exclu du calcul de la note (mais reste affiché sur le radar). Le classement "Analyse Equidegraph" ci-dessus chaque course trie les chevaux du meilleur au moins bon selon cette note.
⚠️ Aptitude Distance (dist) et Forme Saisonnière (sais) —
marqués d'un * — ne sont pas calculés : ces données ne sont pas dans le CSV ni dans le tracking
actuel. Affichés à une valeur neutre (50) pour garder la forme à 8 axes, mais ils n'influencent pas la note et ne
différencient pas les chevaux entre eux. Dis-le-moi si tu veux qu'on les ajoute via le fichier texte (parsing de
la ligne "Raced Distance").
Basé sur les points de passage du tracking LeTrot (classement à 2500-2000m, 2000-1500m, 1500-1000m, 1000-500m). 4 catégories, déduites du classement uniquement (on ne sait pas s'il est à la corde ou à l'extérieur, donc pas de catégorie "à la mort" au sens strict) :
🥇 Meneur — en tête au premier point de passage | 🎯 Poursuivant proche — dans les 4 premiers tout du long | 🚀 Attaque tardive — loin au début, forte remontée en fin | 📉 Recul en fin de course — proche au début, perd des places en fin
⚠️ Basé sur la dernière course trackée de chaque cheval uniquement (pas une moyenne de carrière) — un cheval peut changer de style d'une course à l'autre selon le rythme de la course. Les Figures de rythme (1Q-4Q) ci-dessous, elles, moyennent jusqu'à 5 courses trackées quand plusieurs sont disponibles — position moyenne et vitesse moyenne (réduction km) à chaque quart de course.
FormCy (forme récente sur 5 courses) et IN/OUT/WF (fenêtre de forme) sont aussi affichés sur chaque carte. IN = fin du maintien garanti de la forme (14j par victoire enchaînée à ~14j d'intervalle), OUT = fin du déclin (7-12j de plus selon l'âge, réduit après 3+ victoires enchaînées) — au-delà, le cheval est considéré hors fenêtre de forme. WF : Y en pleine forme, ~ en déclin, - hors fenêtre. ⚠️ Déclencheur = victoire, ou arrivée à ≤1 longueur du gagnant si le fichier texte "Feature Form" est importé (marges réelles). Sans ce fichier, repli sur victoire seule (rang=1) faute de marge disponible dans le tracking. Pas de note chiffrée par course dans nos données PMU, donc les motifs VIP (bonus/malus détaillés) ne sont pas repris.
Exploite l'historique réel (rang final + points de passage) accumulé automatiquement dans chaque cheval chargé au fil des sessions — pas besoin d'action supplémentaire : dès que tu charges du tracking (API ou import xlsx) dans "Programme du jour", ces courses passées viennent nourrir cette base. Pour chaque hippodrome, on regarde le style (Meneur/Poursuivant/Attaque tardive/Recul) de chaque cheval qui a couru là-bas, et son taux de victoire réel — ça révèle si une piste favorise systématiquement un style.
⚠️ Base actuelle limitée au volume déjà accumulé (voir le total ci-dessous) — plus tu charges de tracking au fil des jours, plus les taux deviendront fiables. Exporte/importe via les boutons de l'onglet "Archives Tracking" (même fichier zip, ça inclut maintenant aussi cette base).
Estime le travail mécanique (friction + pente + énergie cinétique + indice de courbure) dépensé par chaque cheval sur sa dernière course trackée, à partir des splits déjà accumulés (premiers ~500m / derniers 500-1000m) et de la fiche topographique de l'hippodrome.
⚠️ Version simplifiée, en attendant plus de détail : le tracking trot ne donne que 2 grands segments (pas de découpage par tronçon de 200m comme côté galop), et la pente/le rayon de virage viennent d'une moyenne par hippodrome, pas d'un profil précis tronçon par tronçon. Le terme de courbure est un indice d'effort indicatif, pas une énergie en joules au sens strict.
Utilise le fichier chargé dans l'onglet Backtest (celui qui a des résultats connus). Pour chaque colonne numérique du CSV — pas seulement celles déjà utilisées ailleurs dans l'app — on calcule sa corrélation avec le fait de gagner (coefficient de Pearson entre la valeur de la colonne et victoire/non-victoire, 0/1). Plus |r| est proche de 1, plus la colonne est liée à la victoire ; positif = une valeur plus haute favorise la victoire, négatif = une valeur plus basse la favorise.
⚠️ Corrélation ≠ causalité, et une colonne peut déjà être une conséquence indirecte du résultat (ex. gains encaissés après coup) plutôt qu'un vrai signal prédictif à utiliser AVANT la course — à vérifier au cas par cas. Colonnes avec moins de 30% de valeurs numériques exploitables ou moins de 20 observations sont exclues (pas assez fiable).
Trace les questions testées, méthodes/datasets utilisés, résultats, bifurcations et impasses — la mémoire de recherche de RAF. Stocké en IndexedDB (survit au rechargement, séparé de l'historique/archive existants).
⚠️ IndexedDB sur file:// n'est pas garanti partagé entre cette app et l'app Galop ouvertes comme fichiers locaux distincts. Utilise Exporter/Importer JSON pour synchroniser le journal manuellement entre les deux si besoin.
Combine UNIQUEMENT les systèmes que le Journal a démontrés rentables (rapport gagnant moyen ≥ seuil d'équilibre) sur ton historique, appliqués en direct à la course sélectionnée en Vue Programme. Rien n'est câblé en dur — la liste s'ajuste automatiquement à mesure que tu lances de nouveaux backtests dans le Journal.
👁️ Observer compare les métriques déjà stockées dans le Journal (ROI/taux de réussite) au précédent recalcul de chaque système, et repère les ratings (Système 7/8) qui viennent de bouger fortement sur une course récente — deux instantanés dans le temps, pas une donnée nouvelle.
🔍 Détecter scanne le programme actuellement chargé dans "Programme du jour" à la recherche de décalages : value bets forts, chevaux bien classés par nos systèmes mais délaissés par le marché (et inversement), consensus fort ignoré par la cote, courses très ouvertes ("loterie").
⚠️ Ce sont des signaux à vérifier, pas des certitudes — l'initiative de creuser une piste reste la tienne. Rien ici ne modifie tes autres onglets ni tes calculs existants.
Contrairement à la clé API TurfBZH (stockée par navigateur, à ressaisir sur chaque poste), la clé Commentaires LeTrot est écrite en dur dans ce fichier — elle voyage avec l'app, y compris quand tu la partages avec ton groupe. Personne n'a besoin de la ressaisir.
⚠️ Une clé en dur dans un fichier HTML n'est pas un secret protégé (n'importe qui ouvrant le fichier avec un éditeur de texte peut la lire) — c'est un compromis assumé pour la commodité de partage avec ton groupe, pas une clé à réutiliser pour un usage sensible.
Une fois chargés, chaque course dont tu saisis l'arrivée (onglet "Programme du jour") récupère automatiquement les commentaires du top 3 et les rattache à leur place — visible juste sous la ligne "🏁 Arrivée" de la course concernée, ET dans le tableau ci-dessous. En parallèle, les commentaires de tous les partants (pas seulement le top 3) s'accumulent dans un historique par cheval (10 derniers max, persistant), utilisé pour déduire un profil de style (devant/milieu/derrière) affiché dans une nouvelle colonne "Style (commentaires)" du tableau "Programme du jour" — basé uniquement sur les courses passées du cheval, jamais sur celle du jour même. Fonctionne en tâche de fond, sans rien changer au reste de l'app si l'appel échoue.
Chaque commentaire est déjà catégorisé FAVORABLE/NEUTRE/DEFAVORABLE par LeTrot. Ce tableau regarde si ce statut colle vraiment à la place obtenue.
Compare la fréquence de chaque mot dans les commentaires des chevaux arrivés 1er face à sa fréquence globale (top 3). Un "lift" > 1 = le mot revient plus souvent chez les gagnants que la moyenne — un signal à interpréter avec prudence sur un petit échantillon, pas une certitude.
Pour chaque cheval du jour, va chercher s'il a déjà été "repéré" par Le Renifleur (turf.bzh) à sa précédente sortie — une note écrite avant aujourd'hui, donc sans fuite de données. Vient s'ajouter à l'historique par cheval déjà accumulé via LeTrot, et alimente directement les colonnes "Style" et "Dernier virage" dans "Programme du jour" — une source de plus, pas un doublon. Nécessite la clé API turf.bzh (même clé que les autres onglets turf.bzh).
Pour chaque cheval du programme actuellement chargé, vérifie s'il a déjà un historique de commentaires accumulé (celui qui alimente les colonnes "Style" et "Dernier virage") — utile pour comprendre pourquoi ces colonnes restent parfois vides.
Récupère les arrivées et rapports (SG/SP) officiels via l'API turf.bzh, et les applique directement à la course correspondante — remplit l'arrivée à sa place (comme une saisie manuelle : Système 7/8, Elo maison, Matrice, commentaires en profitent automatiquement), et attache le rapport gagnant/placé exact à chaque cheval pour un vrai calcul de ROI plus tard en Backtest.
✅ Schéma officiellement documenté et CORRIGÉ par turf.bzh le 02/08/2026 (bug non-partants/disqualifiés/
troncature signalé et réparé — 97,6% des courses terminées désormais servies, contre 65,5% avant). Accepte
maintenant une date passée (pas seulement aujourd'hui) : results[].code_course/hippodrome/discipline/heure/
rapport_sg (vainqueur uniquement)/arrivee[].rank/numero/cheval/rapport_sp.
Nécessite la Licence API turf.bzh (19,90€, en plus de l'abonnement) — même clé que l'onglet "🌐 API TurfBZH".
Récupère directement les partants + musique (5 dernières perfs) d'une réunion via l'API turf.bzh. Chaque utilisateur pose sa propre clé, stockée uniquement sur son navigateur (jamais partagée). Doc complète : turf.bzh/api-docs.php
Nécessite la Licence API turf.bzh (paiement unique 19,90€, en plus de l'abonnement) — vérifiable sur api-cle.php.
Chaque course/réunion chargée s'ajoute au lot en cours (comme Réunion 1 + Réunion 2 + Réunion 3 en CSV). Réinitialise avant de passer à un autre jour pour ne pas mélanger les dates.