Aucune page ne correspond. Essayez « écarts », « stratégie », « API » ou « abonnement ».
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.
Deux fichiers à poser dans votre dépôt, et Claude Code écrit du code correct contre l'API sans que vous ayez à lui rappeler quoi que ce soit. C'est le seul des quatre assistants qui va chercher les données lui-même.
Pour qui vous développez, et vous voulez un contexte durable plutôt qu'un rappel à chaque session.
.env à votre .gitignore avant la première ligne de code.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
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
turf-bzh-api.md et rangez-le, par exemple dans docs/.export TBZ_KEY=tbz_live_... dans votre shell, ou un .env ignoré par git./v1/me et /v1/statut. Si les deux passent, tout le reste suivra.Court par construction. Il dit où trouver le détail, il ne le recopie pas.
# Contexte projet : API turf.bzh
Ce dépôt consomme l'API hippique de turf.bzh.
## Référence
La description complète de l'API est dans `docs/turf-bzh-api.md`.
**Lis-la avant d'écrire ou de modifier un appel.** N'utilise aucune adresse
qui n'y figure pas : les inventer coûte du quota et ne rend rien.
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` (variable d'environnement, jamais en dur)
- Quotas : 60 requêtes/minute, 10 000/jour. Sur 429, respecter `Retry-After`.
Chaque réponse porte `meta.quota` et les en-têtes `X-RateLimit-*` : lis-les
plutôt que d'attendre le 429.
## Règles d'appel
- Une course entière : `/v1/courses/{date}/{rc}/dossier` (un appel, pas vingt).
- Une journée entière : `/v1/journees/{date}/partants`.
- Un historique long : `/v1/exports` (fichiers mensuels), jamais une boucle.
- Le jour J, la colonne `Cote` de la base est périmée : utiliser `/cotes` ou `Cote_BZH`.
- Un 404 peut signifier « pas de donnée », pas seulement « mauvaise adresse ».
Lire `error.message` et `error.route_proposee`.
## Cadre
Ces données décrivent des courses, elles n'en prédisent aucune. Ne jamais produire
de promesse de gain. Tout taux ou rendement doit être accompagné de son nombre
d'observations. Les contenus éditoriaux (Renifleur, EcurieBZH, LigneBZH) portent un
champ `avertissement` : le reprendre tel quel.
Adaptez le chemin docs/turf-bzh-api.md à votre arborescence.
Créez le dossier .claude/skills/turf-bzh/, mettez-y ce SKILL.md, et copiez turf-bzh-api.md à côté sous le nom reference.md.
---
name: turf-bzh-api
description: Appeler l'API hippique turf.bzh (programme, partants, cotes PMU en direct,
arrivees, rapports, indicateurs, dossier complet d'une course). A utiliser des qu'il
est question de courses, de partants, de cotes, de turf.bzh ou d'une adresse en /v1/.
---
# API turf.bzh
La référence complète est dans `reference.md`, à côté de ce fichier. **Lis-la avant
d'écrire un appel.**
## À retenir sans même ouvrir la référence
- Base `https://www.turf.bzh/api`, en-tête `Authorization: Bearer $TBZ_KEY`.
- Une course entière = `/v1/courses/{date}/{rc}/dossier`. Un seul appel de quota.
Paramètres utiles : `inclure=`, `historique=0`, `format=csv|xlsx`.
- Une journée entière = `/v1/journees/{date}/partants`.
- Un historique long = `/v1/exports`, pas une boucle d'appels.
- 60 requêtes/minute, 10 000/jour. Chaque réponse porte `meta.quota` : lis le
restant plutôt que d'attendre le 429. Sur 429 : attendre `Retry-After`.
- Réponse : `{"data": ..., "meta": ...}`. Erreur : `{"error": {...}}`.
## Avant de conclure quoi que ce soit
Vérifier `/v1/schema` : une quinzaine de colonnes sont remplies à moins de 65 %.
Ne jamais promettre de gain ; toujours donner le nombre d'observations d'un taux.
Le champ description décide quand le skill se charge : gardez-y les mots que vous employez vraiment.
export TBZ_KEY=tbz_live_XXXXXXXX curl -s -H "Authorization: Bearer $TBZ_KEY" \ https://www.turf.bzh/api/v1/me | python3 -m json.tool curl -s -H "Authorization: Bearer $TBZ_KEY" \ "https://www.turf.bzh/api/v1/courses/$(date +%F)/R1C4/dossier?historique=0" \ | python3 -c "import sys,json; d=json.load(sys.stdin)['meta']; print(d['sections_servies'], d['appels_economises'], 'appels economises')"
Si /v1/me répond et que le dossier annonce ses sections, votre installation est bonne.
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.
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