401 unauthorized.
Il n'y a pas d'inscription en ligne : pour obtenir une clé, contactez-moi via la rubrique Contact du site (onglet « ℹ️ À propos »), en indiquant votre nom ou celui de votre projet et l'usage prévu.
Démarrage rapide
Adresse de l'API :
https://traducteur-monegasque-api.julie-hubert.workers.dev
Une fois votre clé obtenue (voir ci-dessous), une seule requête suffit, avec la clé dans l'en-tête X-API-Key :
curl "https://traducteur-monegasque-api.julie-hubert.workers.dev/translate?q=Bonjour&dir=fr-mc" \
-H "X-API-Key: VOTRE_CLE"
{
"input": "Bonjour",
"direction": "fr-mc",
"translation": "Bungiurnu",
"confidence": "high",
"tokens": [ { "w": "Bonjour", "type": "found", "tr": "Bungiurnu" } ]
}
L'API ne propose que de la lecture : vous envoyez un texte, elle renvoie sa traduction. Toutes les requêtes se font en GET.
Obtenir une clé
Toute utilisation de l'API nécessite une clé. Il n'y a pas d'inscription automatique : demandez-la par mail via la rubrique Contact du site (onglet « ℹ️ À propos » de munegascu.pages.dev), en indiquant :
- votre nom ou celui de votre projet ;
- l'usage prévu (site, application, recherche…) et le volume approximatif de requêtes.
Vous recevrez une clé de la forme tm_2159ee5079d3c515db6cda…. Gardez-la privée, comme un mot de passe : ne la publiez pas dans le code d'une page web publique (voir Bonnes pratiques).
GET /translate
Traduit un texte.
Paramètres (dans l'adresse)
| Paramètre | Obligatoire | Description |
|---|---|---|
q | oui | Le texte à traduire, encodé pour une URL (500 caractères maximum). |
dir | non | fr-mc (par défaut) : français → monégasque ; mc-fr : monégasque → français. |
api_key | non* | Votre clé, si vous ne pouvez pas utiliser l'en-tête (pratique pour tester dans un navigateur). |
En-tête
| En-tête | Description |
|---|---|
X-API-Key | Votre clé. *Obligatoire, sauf si elle est passée dans api_key. L'en-tête est préférable : une clé dans une adresse peut se retrouver dans des historiques ou des journaux. |
Test rapide dans un navigateur :
https://traducteur-monegasque-api.julie-hubert.workers.dev/translate?q=la%20mer%20est%20belle&dir=fr-mc&api_key=VOTRE_CLE
GET / (ou /health)
Sans clé : renvoie une courte description de l'API au format JSON. Utile pour vérifier que le service répond.
Réponse
Toujours du JSON (encodage UTF-8), y compris en cas d'erreur.
| Champ | Description |
|---|---|
input | Le texte envoyé. |
direction | fr-mc ou mc-fr. |
translation | La traduction — c'est en général le seul champ dont vous avez besoin. |
confidence | Indice de confiance : high (tous les mots reconnus), medium, low, none. Utile pour prévenir vos utilisateurs quand la traduction est incertaine. |
tokens | Détail mot par mot (voir ci-dessous) : pratique pour surligner les mots inconnus ou afficher des explications. |
Détail des tokens
| Champ | Description |
|---|---|
w | Le mot (ou groupe de mots) d'origine. |
tr | Sa traduction (absente pour la ponctuation et les mots inconnus). |
type | found : trouvé dans le dictionnaire ; phrase : expression ou phrase connue ; smart : obtenu par une règle de grammaire (conjugaison, accord, élision…) ; proper : nom propre conservé ; unknown : mot inconnu, laissé tel quel ; punct : ponctuation. |
note | Facultatif : explication de la règle appliquée. |
La liste des champs peut s'enrichir avec le temps ; ignorez simplement ceux que vous ne connaissez pas.
Erreurs
| Code HTTP | error | Cause | Que faire |
|---|---|---|---|
| 400 | bad_request | q absent, vide ou de plus de 500 caractères. | Corriger la requête ; découper les longs textes. |
| 401 | unauthorized | Clé absente, erronée ou révoquée. | Vérifier l'en-tête X-API-Key. |
| 404 | not_found | Adresse inconnue. | Vérifier le chemin (/translate). |
| 429 | rate_limited | Trop de requêtes pour votre clé. | Attendre le délai indiqué par l'en-tête Retry-After (en secondes). |
| 500 | internal_error | Erreur du moteur. | Réessayer plus tard ; si cela persiste, nous signaler le texte en cause. |
Chaque erreur contient aussi un champ message lisible (en français).
Limites
- Débit : 30 requêtes par minute par clé (limite pouvant être ajustée sur demande). Chaque réponse indique
X-RateLimit-LimitetX-RateLimit-Remaining. - Taille : 500 caractères par requête. Pour un texte plus long, découpez-le par phrases.
- Qualité : le moteur repose sur un dictionnaire et des règles de grammaire, pas sur une traduction « humaine » : les tournures complexes, les expressions idiomatiques et les noms propres peuvent être mal rendus.
- CORS : l'API accepte les appels depuis n'importe quel site web.
Exemples
JavaScript (navigateur ou Node.js 18+)
const API = 'https://traducteur-monegasque-api.julie-hubert.workers.dev';
async function traduire(texte, dir = 'fr-mc') {
const url = `${API}/translate?q=${encodeURIComponent(texte)}&dir=${dir}`;
const r = await fetch(url, { headers: { 'X-API-Key': 'VOTRE_CLE' } });
const d = await r.json();
if (!r.ok) throw new Error(d.message);
return d.translation;
}
traduire('La procession a lieu le 27 janvier').then(console.log);
Python
import requests
API = "https://traducteur-monegasque-api.julie-hubert.workers.dev"
def traduire(texte, dir="fr-mc"):
r = requests.get(f"{API}/translate",
params={"q": texte, "dir": dir},
headers={"X-API-Key": "VOTRE_CLE"},
timeout=10)
d = r.json()
if r.status_code != 200:
raise RuntimeError(d.get("message"))
return d["translation"]
print(traduire("U Prìncipu è vegnüu", "mc-fr"))
curl, sens monégasque → français
curl -G "https://traducteur-monegasque-api.julie-hubert.workers.dev/translate" \
--data-urlencode "q=Ancœi gh'è de sardine" \
--data-urlencode "dir=mc-fr" \
-H "X-API-Key: VOTRE_CLE"
Bonnes pratiques
- Ne mettez pas votre clé dans une page web publique : n'importe qui pourrait la lire et consommer votre quota. Appelez l'API depuis votre serveur (ou une fonction serverless) qui garde la clé, et exposez seulement le résultat.
- Gardez en cache les traductions déjà demandées : les mêmes textes reviennent souvent.
- Gérez le code 429 en attendant
Retry-Aftersecondes avant de réessayer. - Affichez un avertissement à vos utilisateurs (« traduction automatique, peut contenir des erreurs »), surtout quand
confidencen'est pashigh. - Signalez les erreurs que vous repérez : sur le site, le bouton « ✏️ Corriger / ⚠️ signaler » sous chaque traduction permet de proposer une correction. Les corrections validées s'appliquent aussi à l'API.