Trouve-mot

Guide technique · Mis à jour le 17 août 2026

Intégrer l’API de mots aléatoires Trouve-mot

L’API renvoie des mots français et leur catégorie au format JSON. Ce guide explique les routes disponibles et montre une intégration robuste en JavaScript, PHP et Python.

En bref : l’URL de base est https://trouve-mot.fr/api. Les endpoints publics présentés ici ne demandent ni compte ni clé d’API. Prévoyez toutefois un comportement de secours : ce service gratuit ne fournit pas de garantie de disponibilité.

Format d’une réponse JSON

Une requête réussie retourne un tableau. Chaque élément possède deux propriétés : name contient le mot et categorie indique son thème. Même lorsqu’un seul mot est demandé, la réponse reste un tableau ; utilisez donc le premier élément pour obtenir cet unique résultat.

[
  {
    "name": "Baleine",
    "categorie": "ANIMAUX"
  },
  {
    "name": "Boussole",
    "categorie": "OBJETS"
  }
]

Les principaux endpoints

BesoinRouteExemple
Mot(s) aléatoire(s)/random/{nombre?}/api/random/5
Première lettre/startwith/{lettre}/{nombre?}/api/startwith/B/5
Longueur exacte/size/{longueur}/{nombre?}/api/size/6/5
Longueur minimale/sizemin/{longueur}/{nombre?}/api/sizemin/8/5
Longueur maximale/sizemax/{longueur}/{nombre?}/api/sizemax/4/5
Catégorie/categorie/{id}/{nombre?}/api/categorie/19/5
Mot du jour/daily/api/daily

Le paramètre nombre est facultatif : sans lui, l’API retourne un résultat. Utilisez une quantité raisonnable dans une interface publique et évitez de relancer une requête à chaque frappe de clavier.

Récupérer des mots en JavaScript

Avec fetch, vérifiez le statut HTTP avant de lire le JSON. Le bloc try/catch permet d’afficher un état de secours si le réseau ou le service ne répond pas.

async function getRandomWords(count = 5) {
  const url = `https://trouve-mot.fr/api/random/${count}`;

  try {
    const response = await fetch(url, {
      headers: { Accept: "application/json" }
    });

    if (!response.ok) {
      throw new Error(`Erreur HTTP ${response.status}`);
    }

    const words = await response.json();
    return words;
  } catch (error) {
    console.error("Impossible de récupérer les mots", error);
    return [];
  }
}

getRandomWords(5).then(words => {
  words.forEach(word => {
    console.log(`${word.name} — ${word.categorie}`);
  });
});

L’API autorise les appels depuis une autre origine. Dans une vraie interface, désactivez temporairement le bouton pendant la requête et indiquez clairement le chargement ou l’absence de résultat.

Appeler l’API en PHP

L’exemple suivant utilise le client HTTP de Laravel. timeout évite qu’une page reste bloquée trop longtemps et successful vérifie les réponses comprises entre 200 et 299.

use Illuminate\Support\Facades\Http;

$response = Http::timeout(5)
    ->acceptJson()
    ->get('https://trouve-mot.fr/api/random/5');

if ($response->successful()) {
    $words = $response->json();
} else {
    $words = [];
}

Dans une application consultée souvent, ajoutez un cache court afin de ne pas refaire la même requête à chaque affichage. Ne mettez pas en cache le résultat si votre objectif est précisément de produire un nouveau tirage à chaque action de l’utilisateur.

Appeler l’API en Python sans dépendance externe

La bibliothèque standard contient tout ce qu’il faut pour un script simple. Le délai d’attente est exprimé en secondes.

import json
from urllib.request import Request, urlopen
from urllib.error import HTTPError, URLError

url = "https://trouve-mot.fr/api/startwith/M/5"
request = Request(url, headers={"Accept": "application/json"})

try:
    with urlopen(request, timeout=5) as response:
        words = json.load(response)
except (HTTPError, URLError, TimeoutError) as error:
    print(f"API indisponible : {error}")
    words = []

for word in words:
    print(f"{word['name']} — {word['categorie']}")

Bonnes pratiques d’intégration

Valider les paramètres côté application

Ne construisez pas une URL directement à partir d’une valeur arbitraire. Limitez le nombre de résultats, contrôlez qu’une lettre appartient bien à A–Z et imposez une plage réaliste pour la longueur. Cela rend l’interface plus prévisible et évite des requêtes inutiles.

Prévoir les réponses vides

Une lettre rare, une longueur stricte ou une petite catégorie peut produire moins de résultats que demandé, voire aucun. Le code doit accepter un tableau vide et proposer une autre recherche plutôt que considérer automatiquement ce cas comme une panne.

Ne pas dépendre d’un tirage pour une fonction critique

Pour un jeu ou une activité créative, un bouton « Réessayer » suffit souvent. Pour une fonctionnalité essentielle, conservez une liste locale de secours et définissez un délai d’attente court. Le service est gratuit et aucune disponibilité contractuelle n’est annoncée.

Afficher la source de façon claire

Un lien vers Trouve-mot aide vos utilisateurs à comprendre d’où viennent les données et à consulter la documentation. Vous pouvez les orienter vers les outils visuels pour tester un filtre avant de l’intégrer.

Pour voir immédiatement le résultat sans écrire de code, utilisez le générateur de mots aléatoires, le filtre par lettre ou le filtre par longueur.