Skip to content

Morpion en ligne ​

L'endpoint /tic-tac-toe permet de jouer et de stocker une partie de morpion en ligne. Les parties sont stockées pendant 1 heure et supportent les modes public et privé.

Paramètres ​

ParamètreRequisDescription
usernameOuiLe nom d'utilisateur effectuant le mouvement
moveOuiLe coup joué au format ligne-colonne (ex. : 1-1, 2-2, 3-3)
sessionOuiL'identifiant de session de l'utilisateur
gameOuiL'identifiant de la partie permettant la connexion. Si la partie n'existe pas, elle sera créée

Format des coups ​

Le plateau est une grille 3x3 avec des positions numérotées comme suit :

1-1 | 1-2 | 1-3
----|-----|----
2-1 | 2-2 | 2-3
----|-----|----
3-1 | 3-2 | 3-3

Exemples de code ​

curl -X POST \
  -H "Content-Type: application/json" \
  -d '{
    "username": "Utilisateur1",
    "move": "2-2",
    "session": "abc123",
    "game": "VWXYZ"
  }' \
  "https://api.sylvain.sh/v6/tic-tac-toe"

Champs de réponse ​

ChampTypeDescription
messagestringMessage de statut du coup
winnerstring|nullNom d'utilisateur du gagnant (si la partie est terminée)
loserstring|nullNom d'utilisateur du perdant (si la partie est terminée)
tiebooleanSi la partie s'est terminée par une égalité

Réponses d'erreur ​

ErreurDescription
Global rate limit exceeded.Limite globale de l'API atteinte
You have exceeded the limit of X requests per hour.Limite horaire IP/token atteinte
Rate limit exceeded. Try again in X seconds.Limite courte durée par utilisateur
Invalid move. Please provide a valid move (e.g., 1-1, 2-2, 3-3).Format de coup invalide
Game is full, you can only watch.La partie a déjà deux joueurs
Please wait for the other player to make a move.Ce n'est pas votre tour
Move already made. Please choose a different move.Case déjà occupée
Session ID mismatchLa session ne correspond pas au joueur

Essayer ​

Gestion des erreurs ​

Si les paramètres sont manquants ou invalides, l'API retournera une erreur :

Message d'erreurDescription
Please provide a username (?username={username})Le paramètre username est manquant
Please provide a valid move (&move={move})Le paramètre move est manquant ou invalide
Please provide a valid session ID (&session={ID})Le paramètre session est manquant ou invalide
Please provide a valid game ID (&game={ID})Le paramètre game est manquant ou invalide

Lorsqu'une partie est terminée, la requête retournera les noms du gagnant et du perdant, ainsi que s'il y a égalité.

Endpoints associés ​