Qu’est-ce que l’uniformité perceptuelle ?
Un espace colorimétrique est perceptuellement uniforme lorsque des distances numériques égales correspondent à des différences perçues égales — partout dans l’espace. Décalez une couleur de 0,1 en luminosité et le changement paraît de la même ampleur, que vous soyez parti près du blanc, dans les tons moyens ou près du noir ; deux couleurs séparées d’une certaine distance paraissent à peu près aussi différentes que n’importe quelle autre paire séparée de la même distance. Bref, on peut se fier aux nombres pour qu’ils signifient ce que l’œil voit.
Cette seule propriété est ce que les modèles de couleur modernes sont conçus pour offrir, et c’est la prémisse discrète derrière les rampes régulières, le contraste prévisible et la différence de couleur mesurable. Cet article est la pièce conceptuelle de notre guide OKLCH : ce qu’est l’uniformité, pourquoi les espaces familiers ne l’ont pas, et ce que le fait de l’avoir change en pratique.
Pourquoi RGB et HSL ne sont-ils pas perceptuellement uniformes ?
Parce que leurs nombres décrivent le matériel, pas la perception. Les valeurs RGB sont des instructions destinées aux sous-pixels d’un écran ; HSL est un réarrangement géométrique des mêmes nombres. Ni l’un ni l’autre modèle ne consulte un observateur — et les observateurs se révèlent inégalement sensibles, d’une manière que les nombres bruts ne voient jamais.
Observez ce qui arrive à une simple série de gris construite par pas RGB égaux — 51 ajoutés à chaque canal, cinq fois de suite :
| Gris | Hex | Luminosité perçue (OKLCH L) | Saut visible |
|---|---|---|---|
rgb(0, 0, 0) | #000000 | 0,00 | — |
rgb(51, 51, 51) | #333333 | 0,32 | 0,32 |
rgb(102, 102, 102) | #666666 | 0,51 | 0,19 |
rgb(153, 153, 153) | #999999 | 0,68 | 0,17 |
rgb(204, 204, 204) | #cccccc | 0,85 | 0,16 |
rgb(255, 255, 255) | #ffffff | 1,00 | 0,15 |
Cinq pas numériques identiques — et le premier produit plus du double du changement visible du dernier. Le même +51 qui transforme le noir en un gris nettement plus clair se remarque à peine entre deux gris clairs. Une distance numérique qui paraît énorme dans une région de l’espace n’est qu’un ajustement mineur dans une autre — c’est la définition même de la non-uniformité.
D’une teinte à l’autre, l’échec s’aggrave. HSL rapporte hsl(60, 100%, 50%)
(jaune) et hsl(240, 100%, 50%) (bleu) comme également clairs ; mesuré
perceptuellement, le jaune se situe à L ≈ 0,97 — presque blanc — tandis que le
bleu se situe à L ≈ 0,45, assez sombre pour porter du texte blanc. Une distance
de zéro dans la luminosité HSL couvre la moitié
de la plage de luminosité visible.
Pourquoi s’accorder à l’œil oblige-t-il à déformer les mathématiques ?
Parce que la perception compresse. Les systèmes sensoriels tendent à réagir au changement proportionnel plutôt qu’au changement absolu — un schéma que la psychophysique a mesuré aussi bien pour la luminosité que pour le volume sonore ou le poids. Une bougie ajoutée à une pièce sombre est un événement ; la même bougie ajoutée à une pièce inondée de lumière passe inaperçue. L’ajout physique est identique, l’expérience ne l’est pas.
La lumière sur un écran se comporte de la même façon : doubler l’intensité physique ne paraît pas deux fois plus lumineux, seulement un cran confortable plus clair. Un modèle de couleur qui s’accorde à l’œil doit donc intégrer cette compression. Les espaces perceptuellement uniformes appliquent une courbe compressive aux valeurs de lumière physique — OKLab utilise une racine cubique — de sorte que des pas égaux dans le modèle tombent sur des pas égaux d’expérience plutôt que sur des pas égaux d’énergie. Vu ainsi, la déformation n’est pas une distorsion de la couleur. Elle en supprime une : le décalage entre physique et perception que RGB transporte en silence.
Comment la différence de couleur est-elle réellement mesurée ?
Dès qu’un espace est proche de l’uniformité, la distance entre deux points devient une quantité significative, et elle porte un nom : le delta E (ΔE), la mesure formelle de la différence de couleur. En règle générale, un ΔE autour de 1 est à la limite de ce que la plupart des observateurs peuvent détecter ; de petites valeurs à un chiffre se lisent comme « la même couleur, légèrement décalée » ; de grandes valeurs comme des couleurs franchement différentes. Le contrôle d’épreuve à l’impression, les vérifications de tolérance de marque et le calibrage d’écran s’appuient tous dessus — et rien de tout cela ne fonctionne si l’espace sous-jacent ment sur la distance.
La quête d’un espace où cela tient a des décennies. CIELAB, normalisé en 1976, a été la tentative standard du domaine et reste largement utilisé ; OKLab, publié en 2020, en est le raffinement moderne, corrigeant des distorsions connues de CIELAB — les plus notables étant les décalages de teinte autour du bleu. OKLCH, c’est OKLab en coordonnées cylindriques (luminosité, chroma, teinte), la forme que CSS a adoptée et celle que les designers rencontrent réellement.
Qu’apporte l’uniformité au travail de design ?
Trois choses, chacune conséquence directe de nombres qui suivent la perception :
- Des rampes régulières. Placez dix pas sur une courbe de luminosité et la palette paraît régulièrement espacée — pour chaque teinte, sans passe de correction teinte par teinte. C’est l’uniformité qui rend les échelles de couleur générables plutôt qu’ajustées à la main.
- Un contraste prévisible. Le contraste du texte est fonction de la différence de luminosité perçue. Dans un espace uniforme, « garder ces deux rôles à une distance L fixe » devient une règle que vous pouvez appliquer mécaniquement sur toute une palette.
- Des mesures qui ont du sens. « À quel point ces deux couleurs sont-elles différentes ? » obtient un nombre sur lequel vous pouvez poser un seuil — pour le contrôle qualité, pour la tolérance de marque, pour vérifier qu’une refonte n’a pas dérivé.
La première est la plus facile à constater de vos propres yeux. Ouvrez une rampe à dix pas dans Scale Composer — les pas reposent sur une courbe de luminosité OKLCH, et chaque saut entre voisins se lit comme de la même ampleur, du presque-blanc au presque-noir.

Cette régularité n’a pas été ajustée échantillon par échantillon ; elle découle de l’espace. Produire le même résultat en RGB brut exigerait un espacement numérique différent et irrégulier pour chaque région et chaque teinte — précisément le travail de correction qu’un espace uniforme rend inutile.
Comment constater l’uniformité par vous-même ?
Le tableau de gris ci-dessus montrait des nombres dont les échantillons se contredisent ; une rampe finie montre des échantillons dont les nombres restent cachés. Réunissez les deux : ouvrez la rampe avec les valeurs OKLCH de chaque pas visibles et lisez la colonne L de haut en bas — les valeurs descendent par quantités égales, et les échantillons changent par quantités égales, l’accord que la série RGB ne parvenait pas à produire. Une fois observée, l’uniformité cesse d’être une définition pour devenir une attente que vous imposerez à chaque palette.