API Calendrier — FFBillard

🛠️ Cette page est réservée aux développeurs qui veulent connecter un autre site à ce calendrier (ex. ffbillard.com). Si ce n'est pas ton cas, tu peux l'ignorer sans problème.

Web Service — Tournois d'une saison

Web service public, lecture seule, sans authentification. Renvoie tous les tournois d'une saison donnée au format JSON, pour permettre à un site tiers (ex. ffbillard.com) de synchroniser ses propres données.

Endpoint

GET https://calendrier.ffbillard.com/api/tournois.php?saison=AAAA-AAAA

Paramètres

ParamètreObligatoireFormatExemple
saisonOuiAAAA-AAAA2026-2027

Saisons actuellement disponibles : 2025-2026, 2026-2027, 2027-2028

Exemple d'appel

curl "https://calendrier.ffbillard.com/api/tournois.php?saison=2026-2027"

Essayer maintenant →

Réponse

{
  "saison": "2025-2026",
  "generated_at": "2026-07-05T10:00:00+02:00",
  "count": 188,
  "tournois": [
    {
      "id": "1ac2aafa-77b1-4b15-b234-53cd459ff3de",
      "statut": "confirme",
      "discipline": "Carambole",
      "type": "GP",
      "specialite": "Artistique",
      "categorie": "",
      "format": "",
      "date_debut_competition": "2025-09-04",
      "date_fin_competition": "2025-09-07",
      "ville": "GERASDORF BEI WIEN (AUT)",
      "club_organisateur": "...",
      "correspondant_local": "...",
      "updated_at": "2026-07-04T21:58:12+02:00",
      "...": "..."
    }
  ]
}

Champs exposés

Pour chaque tournoi : discipline, type, spécialité, catégorie, format, dates, statut, ville, club organisateur, contact local, officiels, médailles, matériel, communication. Les montants et informations administratives internes ne sont pas exposés.

Statuts

Les 3 statuts sont inclus : confirme, a_confirmer, et annule — contrairement aux exports ICS/CSV publics qui excluent les annulés. Un tournoi annulé reste présent dans la réponse ; c'est au consommateur de décider comment le traiter (l'afficher barré, le masquer, etc.).

Identifiants et synchronisation

Cache

Réponse mise en cache 24h côté serveur, mais invalidée automatiquement dès qu'un tournoi est modifié — pas besoin d'attendre. Le header X-Cache (HIT/MISS) indique si la réponse vient du cache.

CORS

Ouvert à tous les domaines (Access-Control-Allow-Origin: *) — utilisable directement en JavaScript depuis n'importe quel site.

Versions

Ce document décrit la version actuelle (non versionnée dans l'URL). En cas de changement non rétrocompatible du format de réponse, un nouvel endpoint sera créé (ex. api/v2/tournois.php) plutôt que de modifier celui-ci — cette page sera mise à jour en conséquence.

Web Service — Inscriptions Carambole (ATIWEB)

Web service public, lecture seule, sans authentification. Renvoie les tournois Carambole ouverts aux inscriptions sur le site de la fédération, pour connexion avec ATIWEB. Contrairement au WS ci-dessus, la sélection ne se fait pas par saison mais par Type et Catégorie du tournoi.

Endpoint

GET https://calendrier.ffbillard.com/api/inscription_carambole.php

Pas de paramètre : le WS renvoie toujours l'ensemble des tournois correspondant aux critères ci-dessous, toutes saisons confondues.

Critères de sélection

Un tournoi Carambole est inclus si :

Les tournois au statut annulé sont exclus (rien à ouvrir aux inscriptions). Discipline autre que Carambole toujours exclue, même sur un Type partagé avec d'autres disciplines (ex. TN1 à TN5 existent aussi en Américain, Snooker, Blackball).

Exemple d'appel

curl "https://calendrier.ffbillard.com/api/inscription_carambole.php"

Essayer maintenant →

Réponse

{
  "generated_at": "2026-08-26T10:00:00+02:00",
  "count": 85,
  "tournois": [
    {
      "id": "3a9ef301-195e-4cb8-b52e-9168a0a1caf6",
      "statut": "confirme",
      "discipline": "Carambole",
      "type": "TN1",
      "specialite": "Cadre 47/2",
      "categorie": "Masters",
      "date_debut_competition": "2025-09-26",
      "date_fin_competition": "2025-09-28",
      "ville": "NICE",
      "club_organisateur": "BILLARD CLUB DE NICE",
      "...": "..."
    }
  ]
}

Mêmes champs exposés que le WS Tournois ci-dessus (tout sauf Finances).

Cache

Réponse mise en cache 24h côté serveur, invalidée automatiquement dès qu'un tournoi est modifié (même mécanisme que le WS Tournois). Header X-Cache (HIT/MISS).

CORS

Ouvert à tous les domaines (Access-Control-Allow-Origin: *).