Encodeur URL
Transformez du texte en paramètres URL sûrs.
Vous construisez une URL avec un paramètre de recherche : « rechercher ?q=café français ». L’espace casse tout. L’accé aussi. L’encodeur transforme cela en « rechercher ?q=caf%C3%A9%20fran%C3%A7ais », une URL valide que les serveurs acceptent sans confusion.
Ce qui casse une URL
Un espace dans une URL, c’est la fin de l’URL. Votre navigateur croit que vous avez fini d’écrire le lien. Un & sans contexte peut fermer prématurément un paramètre. Un = mal placé brouille clés et valeurs. Un accent peut confondre les serveurs. Ce qui fonctionne parfaitement en français texte s’effondre dans une URL mal formée.
Le percent-encoding résout ce problème complexe précisément. Chaque caractère problématique devient un code hexadécimal sûr pour l’URL. Espace devient %20, & devient %26, é en UTF-8 devient %C3%A9. L’encodeur fait cette traduction automatiquement, sans que vous ayez à mémoriser chaque code.
Encodages les plus courants
| Caractère | Encodé | Où cela pose problème |
|---|---|---|
| Espace | %20 | Paramètres et titres |
| & | %26 | Entre deux paramètres URL |
| = | %3D | Séparant une clé d’une valeur |
| / | %2F | Dans les chemins et les sous-domaines |
| é | %C3%A9 | UTF-8 produit deux caractères codés |
| # | %23 | Crée un fragment par accident |
Quand encoder une partie de l’URL
- Une valeur de paramètre qui contient un &, un = ou un espace (clairement le cas le plus courant).
- Un nom d’utilisateur ou un identifiant contenant des caractères spéciaux ou des accents.
- Une adresse email qui doit passer en paramètre et où le @ doit être %40.
- Un titre ou une description en français avec accents et caractères non-ASCII.
- Un chemin de fichier qui contient des espaces, des caractères unicode ou des symboles.
- Jamais le protocole (http://) ni les slashes normaux du chemin de base (ils ont leur sens spécial).
Questions sur l’encodage d’URL
Dois-je encoder toute l’URL ?
Non, jamais. N’encodez que les parties qui en ont besoin : les valeurs de paramètres, pas le protocole, pas le domaine, pas le chemin de base. Une URL entièrement encodée serait inlisible et ne fonctionnerait pas.
Qu’est-ce qui se passe si j’oublie d’encoder ?
Le serveur recevra un charabia ou rejettera la requête avec une erreur HTTP. Un espace oublié tronquera l’URL prématurément à ce point. Un & oublié créera un nouveau paramètre fantôme que personne n’attendait ni ne traite correctement.
L’encodage ajoute-t-il de la sécurité ?
Non directement, c’est principalement une question de format et de validité syntaxique, pas de sécurité à proprement parler. L’encodage rend l’URL valide et analysable par le serveur, c’est tout. Ne confondez pas avec le chiffrement HTTPS.
Puis-je dé-encoder une URL pour vérifier le contenu ?
Oui, utilisez un décodeur URL. C’est une bonne habitude avant de cliquer sur un lien suspect ou avant d’envoyer une URL par email.
Les navigateurs encodent-ils automatiquement ?
Partiellement, oui. Quand vous tapez une URL dans la barre d’adresse, le navigateur encode certains caractères dangereux, mais pas tous systématiquement ni de manière fiable. C’est pourquoi il est plus sûr, plus prévisible et plus explicite d’encoder vous-même avant de soumettre une URL à une API ou un formulaire.