Langue : en | de | fr | es
Retour aux blogs

Qu'est-ce que l'encodage d'URL et pourquoi l'utilise-t-on ?

Explication des caractères autorisés dans les URL

Une URL n'est pas simplement une ligne de texte. Il s'agit d'un identifiant structuré régi par des règles précisant quels symboles peuvent apparaître tels quels, lesquels doivent être encodés et lesquels peuvent perturber l'analyse s'ils sont utilisés sans précaution. Lorsque les développeurs, les gestionnaires de contenu et les spécialistes du référencement ignorent ces règles, ils se retrouvent avec des liens rompus, des erreurs de routage, des paramètres mal formés et des pages qui se comportent différemment selon les navigateurs, les serveurs et les outils d'analyse.

Cet article explique quels symboles sont sûrs, lesquels nécessitent un encodage en pourcentage, et comment créer des liens propres qui restent lisibles et techniquement valides. L'approche est pratique : des exemples concrets, des erreurs courantes et un cadre clair pour créer des adresses qui fonctionnent de manière fiable.

Quels symboles sont acceptés dans une adresse web

Lorsque les gens demandent quels caractères sont autorisés dans une URL, ils veulent généralement une réponse simple. La version courte est la suivante : les lettres, les chiffres et un ensemble limité de séparateurs sont généralement sûrs, mais la règle exacte dépend de la partie de l’URL.

Une adresse standard peut contenir ces composants :

  • schéma : https
  • hôte : example.com
  • chemin : /blog/url-rules
  • requête : ?page=2&sort=asc
  • fragment : #section-1

Chaque section suit sa propre syntaxe. Un slash est normal dans le chemin, mais ce même symbole dans une valeur de paramètre peut nécessiter un encodage selon le contexte.

Symboles sûrs que vous pouvez généralement garder lisibles

Ces caractères sont généralement considérés comme valides dans une adresse web lorsqu’ils sont utilisés au bon endroit :

  • lettres majuscules et minuscules : A-Z, a-z
  • chiffres : 0-9
  • tiret : -
  • underscore : _
  • point : .
  • tilde : ~

Ces symboles sont largement acceptés car ils n’entrent généralement pas en conflit avec les règles d’analyse.

Exemple pratique

Cet URL est propre et prévisible :

https://example.com/guides/url-format-basics

Il utilise des séparateurs lisibles, sans espaces, et un chemin facile à gérer pour les utilisateurs comme pour les serveurs.

Symboles réservés et importance du contexte

Certains symboles ont un rôle structurel. On les appelle des caractères URL réservés, car les analyseurs leur attribuent déjà une signification.

Exemples courants :

Caractère

Signification typique

:

sépare le schéma du reste

/

divise les segments du chemin

?

commence la chaîne de requête

&

sépare les paramètres de requête

=

assigne les valeurs des paramètres

#

commence le fragment

@

peut séparer les identifiants ou apparaître dans d’autres contextes

Ces symboles ne sont pas « mauvais » en eux-mêmes. Le problème apparaît lorsque vous les utilisez comme du texte ordinaire à l’intérieur d’une valeur sans les encoder.

Exemple : même symbole, rôle différent

Comparez ces deux cas :

https://example.com/search?q=red&blue

https://example.com/search?q=red%26blue

Dans la première ligne, l’esperluette sépare les paramètres. Dans la seconde, %26 signifie que le caractère & fait partie du terme de recherche.

Pourquoi l’encodage en pourcentage existe

L’encodage en pourcentage remplace un caractère par % suivi de sa valeur hexadécimale en octet. Cela permet d’inclure des symboles qui, autrement, perturberaient l’analyseur.

Exemples :

  • espace → %20
  • & → %26
  • # → %23
  • % → %25

C’est la clé pour gérer correctement les caractères spéciaux dans les valeurs d’URL.

Symboles qui causent souvent des liens cassés

Certains caractères sont techniquement possibles dans des cas limités, mais ils créent souvent des problèmes opérationnels dans les plateformes CMS, les systèmes de routage, les proxies ou les outils d’analyse. C’est pourquoi les équipes parlent de caractères d’URL invalides, même si la norme stricte est plus nuancée.

Exemples d’entrées à haut risque

Les symboles suivants doivent être examinés attentivement ou encodés avant utilisation :

  • espace
  • guillemets
  • chevrons
  • antislash
  • accolades
  • barre verticale (pipe)
  • accent circonflexe
  • backtick

Un espace brut dans un chemin est une erreur classique :

https://example.com/my file.pdf

Une version plus sûre est :

https://example.com/my-file.pdf

ou, si la chaîne originale doit être conservée :

https://example.com/my%20file.pdf

Caractères à ne pas coller aveuglément dans les slugs

De nombreux systèmes rejettent ou normalisent ces éléments comme des caractères URL invalides lors de la génération de slugs :

  1. espaces
  2. ponctuation répétée
  3. % non encodé
  4. brut dans les noms de fichiers
  5. ? brut dans les noms de ressources

Une route peut fonctionner en local puis échouer en production, car le proxy inverse, le framework et le navigateur ne normalisent pas de la même manière.

Comment créer des slugs d’URL lisibles et sûrs

Le modèle le plus stable consiste à utiliser des mots courts en minuscules et à les relier avec des tirets. Ce sont les caractères les plus courants compatibles avec les URL pour les slugs d’articles, les pages produits et les chemins de catégories.

Règles recommandées pour les slugs

  • utiliser des lettres minuscules
  • utiliser des chiffres uniquement lorsqu’ils apportent du sens
  • séparer les mots avec des tirets
  • éviter les espaces et les séparateurs mixtes
  • supprimer la ponctuation décorative
  • garder les slugs courts

Exemple :

https://example.com/blog/how-routing-works

Version moins cohérente :

https://example.com/Blog/How_Routing!Works?

La deuxième version introduit une incohérence de casse, une ponctuation mixte et un symbole final ayant une signification pour l’analyse.

Meilleurs exemples de conversion de slugs

Titre brut

Meilleur chemin

URL Rules for Beginners

/url-rules-for-beginners

Price List: 2026 Edition

/price-list-2026-edition

C# vs. C++ Guide

/c-sharp-vs-c-plus-plus-guide

Summer Sale 50% Off

/summer-sale-50-percent-off

C’est une stratégie plus sûre que d’essayer de préserver chaque symbole original.

Comprendre la différence entre valide, réservé et non sûr

Une grande partie de la confusion vient du mélange de trois catégories :

Symboles directement utilisables

Ces éléments sont souvent sûrs comme texte brut dans de nombreux contextes :

  • lettres
  • chiffres
  • tiret
  • underscore
  • point
  • tilde

Symboles structurels

Ces symboles ont une signification pour l’analyseur et ne doivent apparaître littéralement que lorsque vous souhaitez cette structure :

  • :
  • /
  • ?
  • &
  • =
  • #

Entrées à encoder ou normaliser

Ces éléments posent souvent problème dans les liens copiés depuis du contenu généré par les utilisateurs :

  • espaces
  • guillemets
  • crochets dans certains contextes
  • signes % non encodés
  • ponctuation non standard

Cette distinction aide les équipes à éviter toute confusion lorsqu’elles discutent des caractères autorisés dans les politiques d’URL en développement, SEO et workflows de contenu.

Erreurs techniques courantes dans des projets réels

De nombreux liens cassés proviennent d’erreurs de workflow classiques plutôt que de problèmes profonds de protocole.

1. Mélanger les règles du chemin et celles de la requête

Un slash est normal dans un chemin :

https://example.com/docs/setup/install

Mais ce même slash dans une valeur de paramètre peut nécessiter une vérification selon la façon dont le backend l’interprète.

2. Encoder deux fois

Incorrect :

name=red%2520car

Si %20 devient %2520, le signe % lui-même a été encodé une seconde fois.

3. Autoriser des entrées utilisateur brutes dans les URL

Si un champ de titre devient un segment de chemin sans normalisation, un article peut générer des espaces, des guillemets et des fragments par erreur.

4. Considérer tous les navigateurs et serveurs comme identiques

Une plateforme peut corriger silencieusement une adresse mal formée. Une autre peut la rejeter, rediriger de manière inattendue ou enregistrer une valeur différente.

Checklist pratique pour créer des URL propres

Utilisez ce workflow lorsque vous créez des liens manuellement ou via du code :

  1. déterminer quelle partie de l’URL vous modifiez
  2. garder les chemins lisibles et minimalistes
  3. utiliser des slugs en minuscules avec des tirets
  4. encoder les entrées utilisateur avant de les insérer dans les paramètres
  5. éviter la ponctuation décorative dans les chemins
  6. tester l’URL finale dans le navigateur, les logs serveur et les outils d’analyse

Exemple d’une adresse bien structurée

https://shop.example.com/products/wireless-keyboard?color=space-gray&layout=us

Pourquoi cela fonctionne :

  • le chemin est lisible
  • la structure de la requête est explicite
  • les séparateurs sont utilisés selon leur rôle prévu
  • aucun espace ambigu ni ponctuation cassée n’apparaît dans le slug

Conclusion

Une URL fiable repose sur la structure, pas sur des suppositions. L’approche la plus sûre consiste à garder les chemins simples, utiliser des séparateurs lisibles, encoder les données lorsque les symboles ont une signification particulière, et éviter les entrées brutes pouvant perturber les analyseurs. Une fois que vous séparez les symboles de texte sûrs des délimiteurs structurels, la gestion des URL devient beaucoup plus prévisible.

Au quotidien, la règle la plus pratique est simple : gardez les chemins propres, réservez les symboles spéciaux à leur usage technique, et encodez tout ce qui pourrait être mal interprété. Cela réduit les liens cassés, produit des logs plus propres, diminue les bugs de routage et assure un comportement plus stable entre navigateurs, frameworks et serveurs