API code Morse
Quatre points d'accès en lecture seule via HTTPS. Pas de compte, pas de clé, pas de formulaire : juste une adresse qui renvoie du JSON.
Sans clé, mais pas sans limite. Les requêtes sont comptées par adresse et par
point d'accès. Les réponses portent un en-tête Cache-Control : en le respectant, tu
n'approcheras jamais la limite, car la même question a toujours la même réponse.
Encoder
Du texte vers le Morse. Les mots sont séparés par une barre oblique.
GET https://www.morse-code.info/api/encode?text=SALUT
{
"ok": true,
"text": "SALUT",
"morse": "... .- .-.. ..- -",
"unbekannt": []
}
unbekannt énumère les caractères sans code Morse. Ils sont absents du résultat,
mais tu en es averti : un emoji disparaissant en silence transformerait une entrée fausse en une
réponse apparemment juste.
Décoder
Du Morse vers le texte. La barre oblique ou trois espaces valent comme séparateur de mots.
GET /api/decode?morse=...%20.-%20.-..%20..-%20-
{
"ok": true,
"morse": "... .- .-.. ..- -",
"text": "SALUT",
"unbekannt": []
}
Une séquence sans signification devient un point d'interrogation dans text et
figure aussi dans unbekannt. La position est ainsi conservée et tu sais malgré tout ce
qui n'allait pas. Tout ce qui n'est ni point, ni trait, ni barre, ni espace est rejeté avec 400
plutôt qu'interprété avec bienveillance.
Durées
Combien de temps dure un texte, et combien durent ses éléments. La vitesse suit PARIS : 50 unités par mot de référence, une unité vaut 1,2/MPM secondes.
GET /api/timing?text=PARIS&wpm=20
{
"dit_ms": 60,
"dah_ms": 180,
"pause_zeichen_ms": 180,
"pause_wort_ms": 420,
"dauer_s": 2.58,
"einheiten": { "punkte": 10, "striche": 4, "zeichen": 5, "woerter": 1 }
}
Avec &effektiv= vient le Farnsworth : les caractères gardent leur vitesse, les
pauses entre eux s'allongent. effektiv est plafonné à wpm, car le
Farnsworth étire les pauses et ne raccourcit jamais les caractères.
dauer_s mesure du premier son au dernier. Une pause de mot finale n'est pas
comptée, c'est pourquoi PARIS à 20 MPM donne 43 unités et non 50.
Alphabet
Une table de code complète. Six jeux sont disponibles : international (par
défaut), american, wabun (japonais), thai,
hangul (coréen) et russisch (cyrillique).
GET /api/alphabet?set=international
La réponse sépare trois choses : zeichen contient les groupes de caractères,
zeit les rapports de durée lorsque le jeu définit les siens, et hinweise
la source et les remarques. Chaque table de ce site est extraite d'une source citée, et cette
citation voyage avec les données.
Limites, CORS et erreurs
- Fréquence : 120 requêtes par minute et par adresse pour encoder, décoder et
les durées ; 30 pour l'alphabet, car une réponse pèse plusieurs kilo-octets et ne change
quasiment jamais. Au-delà, un 429 arrive avec un en-tête
Retry-After. - CORS : ouvert.
Access-Control-Allow-Origin: *, tu peux donc appeler directement depuis le navigateur. Il n'y a ici que des données publiques de référence et aucune donnée d'utilisateur : rien qu'une page étrangère pourrait obtenir au nom d'un visiteur. - Méthodes : GET et OPTIONS. Un POST reçoit 405 au lieu d'être accepté en silence.
- Les erreurs sont aussi du JSON, jamais une page HTML :
{"ok": false, "fehler": "text-fehlt"}. - Longueur : 1000 caractères par requête, 200 pour les durées.
S'il t'en faut hors ligne ou en plus grand volume, la bibliothèque JavaScript fait le même travail dans le navigateur sans aucune requête - et c'est le même code qui tourne ici.
Questions fréquentes
-
Ai-je besoin d'une clé d'API ?
Non. Il n'y a ni inscription ni clé. La limite fonctionne par adresse, ce qui suffit pour un service qui ne fait que calculer et ne stocke rien.
-
Puis-je l'utiliser dans un produit commercial ?
Oui, dans la limite et sans laisser entendre que ce site soutient ton produit. Si ton volume dépasse la limite, prends la bibliothèque JavaScript : elle tourne chez toi et n'a aucune limite.
-
Pourquoi certains noms de champs sont-ils en allemand ?
Parce que le code est écrit en allemand de bout en bout, et renommer les champs uniquement à la frontière créerait deux vocabulaires pour la même chose.
unbekanntsignifie inconnu,zeichencaractères,einheitenunités,fehlererreur. -
Existe-t-il un point d'accès pour l'audio ?
Pas via l'API. Le décodage du son se fait dans le navigateur, dans un worker, sur le signal en direct. Envoyer des fichiers audio à un serveur serait plus lent, moins bon, et reviendrait à traiter des enregistrements qui ne nous regardent pas.