Slugify
TexteConvertit n'importe quel texte — y compris chinois, accents et emoji — en un slug URL propre. Séparateur, casse, translittération CJK→pinyin et limite de longueur optionnelle, avec aperçu en direct.
Sur cette page
Qu’est-ce qu’un outil de slugification ?#
Un outil de slugification transforme un titre lisible en un slug sûr pour les URL — la chaîne compacte, en minuscules, sans ponctuation, qui vit dans une adresse web après le domaine. How to Brew Coffee at Home devient how-to-brew-coffee-at-home ; Café Münchën devient cafe-munchen ; 你好世界 devient ni-hao-shi-jie. Les slugs sont la façon dont les blogs, les sites e-commerce et les systèmes de documentation construisent des URL lisibles, partageables et favorables au SEO à partir de titres qui n’ont jamais été écrits en pensant à une URL.
Les passages délicats sont exactement les caractères que les gens utilisent réellement : les accents (café), les ligatures (ß, æ), les tirets longs et les guillemets typographiques, et les idéogrammes CJK qui n’ont aucune représentation ASCII. Un naïf « supprimer tout ce qui n’est pas a-z » transforme 你好世界 en une chaîne vide, ce qui produit une URL cassée. Cet outil gère correctement les trois : il décompose les lettres accentuées et supprime les diacritiques combinatoires (é → e), mappe les ligatures latines non décomposables (ß → ss, æ → ae), et translittère les idéogrammes CJK en pinyin sans tons (你好世界 → ni hao shi jie), si bien qu’un titre chinois produit encore un slug significatif et prononçable.
Tout s’exécute localement. Le dictionnaire pinyin n’est chargé que lorsque l’entrée contient réellement du CJK, donc un slug purement latin n’en paie jamais le coût.
Comment l’utiliser#
- Saisissez ou collez le titre dans le panneau Entrée à gauche.
- Choisissez le séparateur — tiret (par défaut) ou tiret bas.
- Cochez Minuscules (activé par défaut) pour plier la sortie en minuscules ; décochez si vous devez préserver la casse.
- Cochez Translittérer (activé par défaut) pour convertir les caractères CJK en pinyin sans tons ; décochez si vous voulez que le CJK soit supprimé plutôt que translittéré.
- Réglez facultativement une Longueur max (0 signifie illimité). Quand le slug la dépasse, il est coupé et tout séparateur final suspendu est retiré, pour que l’URL ne se termine jamais par un
-nu. - Lisez le panneau Sortie à droite — le slug apparaît dès que l’entrée ou une option change. Cliquez sur Copier pour le récupérer.
La ligne d’état indique la longueur du slug et signale deux cas particuliers : quand le CJK a été translittéré, et quand le résultat a été tronqué pour tenir dans une longueur max.
Fonctionnalités clés#
- Gestion des accents et ligatures. Une décomposition NFKD plus une petite carte de compatibilité latine transforme
café,Münchën,straße,œuvreen ASCII propre (cafe,munchen,strasse,oeuvre) au lieu de supprimer les lettres purement et simplement. - CJK vers pinyin. Les idéogrammes chinois sont translittérés en pinyin sans tons via un dictionnaire embarqué, donc
你好世界devientni-hao-shi-jie— un slug prononçable et significatif, plutôt que vide ou mutilé. - Frontières de mots propres. Les tronçons CJK sont enveloppés d’espaces avant l’étape de séparateur, si bien que la sortie translittérée se découpe en mots (
ni-hao) au lieu de se coller (nihao). - Plafond de longueur avec coupe propre. Une longueur max coupe le slug puis supprime tout séparateur final suspendu, pour que vous n’ayez jamais une URL se terminant par
-. - Tiret ou tiret bas. Choisissez le séparateur qu’attend votre plateforme — la plupart des slugs web modernes utilisent des tirets, mais certains systèmes et conventions de noms de fichiers utilisent des tirets bas.
- Chargement différé du pinyin. Le dictionnaire pinyin n’est importé que la première fois que l’entrée contient réellement du CJK, donc un slug tout latin ne le télécharge jamais.
- Local et sans exception. Une entrée vide renvoie
empty; une entrée qui se réduit à rien (par exemple, seulement des emoji) renvoieno-output. Les échecs se traduisent en message clair, jamais en exception.
Exemple commenté#
Collez le titre du texte indicatif, avec tous les réglages par défaut (séparateur tiret, minuscules activées, translittération activée) :
Café Münchën — 你好世界
Étape par étape :
- Le CJK est détecté, donc
你好世界est translittéré enni hao shi jie. - Les accents sont supprimés :
Café→Cafe,Münchën→Munchen. - Le tiret long et les espaces se replient sur le séparateur.
- Le résultat est passé en minuscules et les séparateurs de tête et de fin sont retirés.
Le panneau de sortie affiche :
cafe-munchen-ni-hao-shi-jie
Réglez maintenant Longueur max sur 20 et régénérez. Le slug est coupé et le tiret final suspendu est supprimé :
cafe-munchen-ni-hao
Notez que les accents sont devenus de l’ASCII brut, le titre chinois est devenu du pinyin prononçable découpé en mots, et le plafond de longueur a produit un fragment d’URL propre plutôt qu’une coupure en plein milieu d’un mot ou sur un tiret nu.
FAQ#
Pourquoi mon titre chinois devient-il du pinyin au lieu de rester en caractères ?#
Parce que les URL sont plus sûres et plus portables en ASCII. Les caractères CJK dans une URL exigent un percent-encoding (chaque 你 devient %E4%BD%A0), illisible pour les humains et pour beaucoup d’outils d’analyse. Le pinyin sans tons garde le slug prononçable, significatif et purement ASCII — ni-hao-shi-jie est une bien meilleure URL qu’une chaîne de signes pourcent. Si vous préférez conserver les caractères d’origine, décochez Translittérer.
Qu’arrive-t-il aux emoji et aux autres symboles non alphanumériques ?#
Ils sont supprimés. Emoji, guillemets typographiques, crochets et la plupart de la ponctuation ne survivent pas au pipeline de slug — ce ne sont pas des lettres, donc le passage de repli non alphanumérique les transforme en séparateurs. Si votre entrée n’est que des emoji et symboles, tout disparaît et l’outil renvoie no-output plutôt que d’émettre un slug vide.
Faut-il utiliser un tiret ou un tiret bas comme séparateur ?#
Pour des URL que des humains liront, utilisez un tiret — les moteurs de recherche traitent les tirets comme des séparateurs de mots et les tirets sont la convention sur pratiquement toutes les plateformes web modernes. Les tirets bas conviennent quand le slug est en réalité un nom de fichier ou un identifiant consommé par un système qui réserve les tirets à autre chose (plages de versions, drapeaux). L’outil gère les deux, pour que vous puissiez coller à ce que votre cible attend.
Comment fonctionne la coupe à longueur max ?#
Le slug est d’abord construit en entier, puis coupé à la longueur demandée. Si la coupe tombe au milieu d’un mot, le mot reste partiel ; si la coupe laisse un séparateur final, celui-ci est retiré. Cela garantit que le slug ne dépasse jamais la limite et ne se termine jamais par un - ou un _ nu, ce que les champs d’URL et les largeurs de colonnes de base de données exigent réellement.
Est-ce la même chose que l’encodage d’URL ?#
Non, et la différence compte. L’encodage d’URL (percent-encoding) échappe les caractères afin qu’ils puissent voyager dans une URL — café devient caf%C3%A9. La slugification normalise au contraire le texte en lettres et séparateurs ASCII — café devient cafe. Les slugs servent au segment de chemin lisible d’une URL ; le percent-encoding sert à transporter en sécurité des valeurs arbitraires dans des chaînes de requête. Si vous avez besoin du second, utilisez l’outil /en/encoding/url/.