Aller au contenu

Vous ne programmez pas ? Restez sur Claude ou Claude Cowork : vous exportez vos courses, ils les lisent. Claude Code est le seul des quatre qui va chercher les données tout seul, mais il demande un terminal.

turf.bzh dans Codex

Codex lit un fichier AGENTS.md à la racine de votre dépôt. Posez-y le contexte turf.bzh une fois, il s'en sert à chaque tâche.

Pour qui vous développez avec Codex d'OpenAI, en ligne ou dans votre terminal.

Licence API et abonnement actif requis. La clé reste dans une variable d'environnement : un agent qui travaille tout seul dans un dépôt ne doit jamais pouvoir la commettre.

Le fichier à donner à votre assistant

Un seul fichier décrit l'API en entier : les adresses, les paramètres, les quotas, et surtout les pièges qui font perdre du temps. Votre assistant en a besoin, sinon il invente des adresses qui n'existent pas.

Le fichier n'est pas encore en place sur le serveur.

Compris dans la Licence API

Et pour aller beaucoup plus loin : le pack IA

Le fichier ci-dessus apprend à votre assistant où sont les données. Le pack, lui, lui apprend le métier : le vocabulaire du turf, la lecture d'une musique et d'une ferrure, les mathématiques du pari mutuel, la physionomie du Quinté+, les pièges de raisonnement, et la façon de ne jamais conclure plus que ce que les chiffres autorisent.

C'est un dossier à décompresser, pas un fichier à coller. 11 fiches de référence, 17 savoir-faire, 10 rôles spécialisés, et un guide de paramétrage pour que vous régliez tout vous-même. Surtout, il fait ce que ChatBZH ne peut pas : aller lire la presse, les déclarations des entraîneurs et la météo. Et quand vous demandez son avis, il le donne. Deux archives au choix, une pour Claude, une pour Codex.

Découvrir le pack IA réservé aux comptes ayant la Licence API

Pas à pas

  1. Posez le fichier de référence dans le dépôt
    docs/turf-bzh-api.md, téléchargé ci-dessus.
  2. Créez AGENTS.md à la racine
    C'est le fichier d'instructions que Codex lit pour votre dépôt, l'équivalent du CLAUDE.md de Claude Code. Le bloc ci-dessous est prêt à copier.
  3. Exportez la clé
    export TBZ_KEY=tbz_live_.... Si vous utilisez Codex en ligne, déclarez-la dans les variables d'environnement de l'environnement d'exécution, pas dans un fichier du dépôt.
  4. Vérifiez avant de lui confier une tâche
    Demandez-lui d'appeler /v1/me. S'il n'a pas de réseau sortant vers turf.bzh dans son bac à sable, autant le savoir tout de suite.

AGENTS.md, à la racine du dépôt

Codex remonte l'arborescence et fusionne les AGENTS.md qu'il trouve : celui de la racine s'applique à tout le dépôt, un fichier placé dans un sous-dossier affine pour ce sous-dossier.

AGENTS.md
# AGENTS.md

## Le projet
Ce dépôt consomme l'API hippique de turf.bzh (courses PMU françaises).

## Référence de l'API
La description complète est dans `docs/turf-bzh-api.md`.
**Lis ce fichier avant d'écrire ou de modifier un appel.** N'invente aucune adresse :
celles qui n'y figurent pas n'existent pas, et chaque tentative consomme du quota.
Spécification machine : https://www.turf.bzh/api/openapi.json

## Accès
- Base : `https://www.turf.bzh/api`
- En-tête : `Authorization: Bearer $TBZ_KEY`
- La clé vit dans l'environnement. Ne l'écris jamais dans un fichier, ne la commets
  jamais, ne la reproduis pas dans un message.
- Quotas : 60 requêtes/minute, 10 000/jour. Chaque réponse porte `meta.quota` et les
  en-têtes `X-RateLimit-*` : lis le restant plutôt que d'attendre le 429. Sur 429,
  respecte l'en-tête `Retry-After`.

## Règles d'appel
- Une course entière : `/v1/courses/{date}/{rc}/dossier`. Un appel, pas vingt.
  Paramètres : `inclure=`, `historique=0`, `format=csv|xlsx`.
- Une journée entière : `/v1/journees/{date}/partants`.
- Un historique long : `/v1/exports` (CSV mensuels compressés). Jamais une boucle
  d'appels course par course.
- Le jour de la course, la colonne `Cote` de la base est périmée : utilise `/cotes`
  (temps réel) ou le champ `Cote_BZH`.
- Un 404 peut vouloir dire « cette donnée n'existe pas pour cette course », pas
  seulement « mauvaise adresse ». Lis `error.message` et `error.route_proposee`.

## Vérifications attendues
- Avant de conclure sur un champ, vérifie son taux de remplissage via `/v1/schema` :
  une quinzaine de colonnes sont remplies à moins de 65 %.
- Compare le nombre de lignes produites au `nombre_partants` annoncé par l'API.

## Cadre non négociable
Ces données décrivent des courses, elles n'en prédisent aucune.
- Ne produis jamais de promesse de gain.
- Tout taux, rendement ou avantage doit être accompagné du nombre d'observations
  sur lequel il est mesuré.
- Les contenus éditoriaux (Renifleur, EcurieBZH, LigneBZH) portent un champ
  `avertissement` : reprends-le tel quel, ne le résume pas.

Placez ce fichier à la racine. Si vous avez plusieurs projets dans le même dépôt, un AGENTS.md par sous-dossier affine sans tout réécrire.

La vérification d'installation

Première tâche à confier à Codex
Lis docs/turf-bzh-api.md, puis écris un script Python qui :
1. lit la clé dans la variable d'environnement TBZ_KEY ;
2. appelle /v1/me et /v1/statut et affiche le résultat ;
3. appelle le dossier de la R1C4 du jour avec historique=0 ;
4. affiche meta.sections_servies et meta.appels_economises.

Gère le 429 en respectant Retry-After. N'écris la clé nulle part.

Si ces quatre étapes passent, votre configuration est bonne et Codex a compris la référence.

Deux consignes à donner à votre assistant, et qu'il oubliera sinon

Qu'il accompagne toujours un taux ou un rendement de son nombre d'observations, et qu'il reprenne les champs avertissement que l'API renvoie avec les contenus éditoriaux. Le fichier turf-bzh-api.md le dit déjà dans sa dernière section : c'est voulu, pour que l'assistant le lise. Le reste, vous le savez : le prélèvement PMU s'applique à chaque mise, et un avantage mesuré sur le passé n'est pas une garantie sur l'avenir.

Questions fréquentes

AGENTS.md, c'est bien la convention de Codex ?
Oui. C'est le fichier d'instructions que Codex lit dans un dépôt, l'équivalent du CLAUDE.md de Claude Code. Le contenu est le même, seul le nom du fichier change.
Codex a-t-il accès au réseau ?
Cela dépend de votre environnement d'exécution. En bac à sable fermé, il ne joindra pas turf.bzh : faites-lui alors écrire le code, et exécutez-le vous-même. C'est pour cela que la première tâche ci-dessus commence par un appel simple.
Puis-je utiliser le même fichier pour Claude et pour Codex ?
Le contenu, oui : c'est le même texte. Les noms diffèrent, CLAUDE.md d'un côté, AGENTS.md de l'autre. Rien ne vous empêche d'avoir les deux dans le même dépôt.

Ce que la licence comprend : la Licence API · Le pack IA : pack-ia.php · Documentation complète : api-docs.php · Votre clé : api-cle.php · Spécification machine : openapi.json