alltools.one
Web Development‱
2026-02-12
‱
7 min
‱
alltools.one Team
urlencodingweb-developmenthttpapi

Guide d'encodage d'URL : pourquoi et comment encoder les URL

Vous ĂȘtes-vous dĂ©jĂ  demandĂ© pourquoi les espaces dans les URL deviennent %20 et les esperluettes deviennent %26 ? L'encodage d'URL (aussi appelĂ© encodage en pourcentage) convertit les caractĂšres qui ne sont pas sĂ»rs pour les URL dans un format que les serveurs web peuvent comprendre.

Pourquoi l'encodage d'URL est important

Les URL ne peuvent contenir qu'un ensemble limitĂ© de caractĂšres ASCII. Les caractĂšres spĂ©ciaux, les espaces et le texte non-ASCII nĂ©cessitent un encodage pour ĂȘtre transmis en toute sĂ©curitĂ©. Sans encodage, les URL se cassent de maniĂšre imprĂ©visible — un espace pourrait tronquer une URL, une esperluette pourrait ĂȘtre confondue avec un sĂ©parateur de paramĂštre.

Essayez notre Encodeur/Décodeur d'URL pour voir comment n'importe quel texte se transforme une fois encodé pour les URL.

Quels caractÚres nécessitent un encodage ?

CaractÚres sûrs (pas d'encodage nécessaire)

Lettres (A-Z, a-z), chiffres (0-9) et ces symboles : -, _, ., ~

CaractÚres réservés (à encoder lorsqu'utilisés comme données)

CaractÚreEncodéRÎle dans les URL
:%3ASéparateur de schéma
/%2FSéparateur de chemin
?%3FDĂ©but de la chaĂźne de requĂȘte
#%23Identifiant de fragment
&%26Séparateur de paramÚtres
=%3DSéparateur clé-valeur
+%2BReprésente souvent un espace
@%40Séparateur d'info utilisateur
%%25Indicateur d'encodage

Toujours encoder

Les espaces (%20), les caractÚres non-ASCII (octets UTF-8 encodés) et tout caractÚre en dehors de l'ensemble sûr.

L'encodage d'URL en pratique

ParamĂštres de requĂȘte

Le cas d'utilisation le plus courant. Lors de la construction d'URL de recherche ou de requĂȘtes API :

https://api.example.com/search?q=hello%20world&lang=en

Données de formulaire

Les formulaires HTML avec method="GET" encodent automatiquement les valeurs des champs dans l'URL. Les espaces deviennent + dans l'encodage de formulaire (légÚrement différent de l'encodage en pourcentage).

Segments de chemin

Les noms de fichiers et identifiants de ressources dans les chemins d'URL nécessitent aussi un encodage. Un fichier nommé my report.pdf devient my%20report.pdf dans l'URL.

Encodage dans différents langages

JavaScript :

encodeURIComponent('hello world & more')
// "hello%20world%20%26%20more"

decodeURIComponent('hello%20world')
// "hello world"

Python :

from urllib.parse import quote, unquote
quote('hello world & more')
# 'hello%20world%20%26%20more'

Erreurs courantes

  1. Double encodage — Encoder une URL dĂ©jĂ  encodĂ©e transforme %20 en %2520
  2. Utiliser encodeURI au lieu de encodeURIComponent — encodeURI ignore les caractĂšres rĂ©servĂ©s qui comptent dans les valeurs de requĂȘte
  3. Ne pas encoder les signes + — Dans les URL, + peut signifier espace. Encodez les vrais signes plus en %2B
  4. Oublier le non-ASCII — Les caractĂšres Unicode nĂ©cessitent d'abord un encodage UTF-8, puis un encodage en pourcentage

Foire aux questions

Quelle est la différence entre encodeURI et encodeURIComponent ?

encodeURI encode une URL complĂšte, en ignorant les caractĂšres comme :, /, ?, #. encodeURIComponent encode tout sauf les caractĂšres non rĂ©servĂ©s — utilisez-le pour les valeurs individuelles de paramĂštres de requĂȘte.

Pourquoi les espaces deviennent-ils parfois + et parfois %20 ?

L'encodage de formulaire (application/x-www-form-urlencoded) utilise + pour les espaces. L'encodage en pourcentage standard utilise %20. Les deux sont valides dans différents contextes.

Ressources associées

Published on 2026-02-12
URL Encoding Guide: Why and How to Encode URLs | alltools.one