Trier une liste par ordre alphabétique
L'ordre alphabétique n'est pas universel : accents, casse, ñ, écritures japonaises et nombres changent de place selon la langue. Cet outil trie la liste avec la locale demandée, conserve chaque chaîne à l'identique et indique les options réellement utilisées.
Lancer gratuitement
Un tri de codes n'est pas un tri de mots
Une comparaison naïve classe les caractères selon leur numéro interne. Elle peut placer toutes les majuscules avant les minuscules, éloigner un mot accentué de sa lettre de base et faire passer article 12 avant article 2. Le résultat est stable pour une machine, mais il paraît incohérent dans un annuaire, un menu ou un catalogue. La collation par locale applique les conventions de lecture d'une étiquette BCP-47. Elle ne modifie jamais les valeurs fournies : aucune traduction, translittération, correction ou suppression d'accent n'est effectuée. Seule leur position dans la liste change.
Choisissez les différences pertinentes
Envoyez un tableau de chaînes et une locale telle que fr, fr-CA, de ou ja. La sensibilité détermine si les accents et la casse distinguent des entrées partageant la même lettre de base. Avec base, cafe, café et CAFE peuvent être équivalents ; avec variant, chaque différence compte. L'option numeric reconnaît les suites de chiffres afin que chapitre 2 précède chapitre 12. La ponctuation peut également être prise en compte ou ignorée. La réponse expose la locale demandée, resolved_locale et toutes les options effectives pour rendre un éventuel repli parfaitement visible.
Les égalités conservent l'ordre initial
Deux textes distincts peuvent être équivalents lorsque vous ignorez les accents, la casse ou la ponctuation. Pour éviter qu'ils s'échangent au hasard, la capacité mémorise l'indice initial de chaque valeur avant le tri. Cet indice devient le dernier critère lorsque le comparateur renvoie une égalité, même pour un ordre descendant. La sortie contient les chaînes triées et original_indexes. Vous pouvez ainsi réordonner les colonnes associées, conserver des identifiants alignés et retrouver l'origine de chaque ligne. Cette stabilité garantit aussi qu'une même entrée produit toujours la même séquence.
Traitement local et automatisation contrôlée
Dans le navigateur, le tri s'exécute localement, gratuitement, sans compte, appel réseau ni modèle d'intelligence artificielle. L'API fournit le même contrat pur pour les exports et traitements en lot ; une requête réussie utilise le tarif de base publié, et l'unité suit chaque millier de lignes même si son prix marginal actuel est nul. Des limites sur le nombre d'éléments et le volume de caractères maintiennent la mémoire et la durée prévisibles. Utilisez cet outil pour des répertoires, filtres de produits, glossaires ou index destinés à être lus naturellement.
Cas d’usage
Annuaires de clients
Classez les noms selon la locale du lecteur sans perdre les accents, la casse ni les doublons.
Navigation d'un catalogue
Présentez catégories et modèles dans un ordre naturel, y compris les libellés contenant des nombres.
Glossaires multilingues
Créez un index propre à chaque langue sans translittérer les termes d'origine.
Exports reproductibles
Appliquez les indices d'origine aux colonnes liées tout en conservant l'ordre des égalités.
Questions fréquentes
Comment trier une liste avec des accents ?
Envoyez les textes avec la locale française souhaitée et choisissez la sensibilité. La comparaison suivra ses règles linguistiques plutôt que l'ordre brut d'Unicode.
Le tri modifie-t-il ou translittère-t-il les textes ?
Non. Chaque chaîne est restituée exactement comme vous l'avez fournie ; seule sa position change.
Pourquoi la réponse contient-elle resolved_locale ?
Il indique la locale réellement utilisée. Si une balise BCP-47 valide est inconnue de l'environnement, le trieur se replie explicitement sur l'anglais plutôt que sur la locale par défaut du navigateur ; resolved_locale vaut alors en.
Les nombres intégrés sont-ils triés numériquement ?
Oui par défaut, afin que élément 2 précède élément 12. Désactivez numeric pour comparer les chiffres comme des caractères.
Le trieur alphabétique est-il gratuit ?
L'outil du navigateur est gratuit et local. L'API utilise le solde prépayé au tarif de base publié de $0.002, sans facturer les échecs.
Que deviennent les valeurs équivalentes ?
Elles conservent leur ordre relatif initial, et original_indexes indique la position d'origine de chaque résultat.
Pour les développeurs — accès API
Tout sur cette page est disponible par programmation. Cette section s'adresse aux équipes qui veulent l'intégrer à leurs systèmes ; les autres peuvent simplement utiliser l'outil ci-dessus.
Endpoint
Authentification par jeton Bearer : un seul POST met la tâche en file d’attente, et le résultat vous parvient par webhook ou lien signé.
Appeler depuis votre stack
curl -X POST https://api.kit.forhosting.com/locale/sort \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"items":["Ángel","angel","ñandú","nandu","item 12","item 2"]}'const res = await fetch("https://api.kit.forhosting.com/locale/sort", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"items": [
"Ángel",
"angel",
"ñandú",
"nandu",
"item 12",
"item 2"
]
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/locale/sort",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"items": [
"Ángel",
"angel",
"ñandú",
"nandu",
"item 12",
"item 2"
]
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/locale/sort", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"items":["Ángel","angel","ñandú","nandu","item 12","item 2"]}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"items":["Ángel","angel","ñandú","nandu","item 12","item 2"]}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/locale/sort", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemple de requête
{
"items": [
"Ángel",
"angel",
"ñandú",
"nandu",
"item 12",
"item 2"
]
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "locale.sort",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L’API est asynchrone : chaque appel renvoie un task_id immédiatement, puis vous interrogez l’état à raison d’une requête par seconde.
Tarifs
Le prix est publié, sans tokens ni crédits. Une tâche qui échoue n’est pas facturée.
Limites
max_items | 10000 |
max_chars | 500000 |
Erreurs
| HTTP | Code | Signification |
|---|---|---|
401 | unauthorized | Clé API absente ou invalide : vérifiez l’en-tête Authorization. |
402 | insufficient_balance | Solde insuffisant : rechargez votre compte pour lancer cette tâche. |
404 | unknown_type | Type de tâche inconnu : vérifiez le champ type de votre requête. |
429 | rate_limited | Trop de requêtes : ralentissez la cadence, puis réessayez. |