Sensibilité à la casse

Un article de Wikipédia, l'encyclopédie libre.
(Redirigé depuis Sensible à la casse)
Aller à : navigation, rechercher

Dans du texte, la casse (minuscule ou majuscule) des lettres peut parfois changer la signification. Les mots en lettres capitales (haut de casse) n'ont pas toujours le même sens s'ils sont écrits en minuscules (bas-de-casse). Par exemple, Rennes est une ville mais rennes désigne des caribous. Dans le système international d'unités, M est le symbole du préfixe méga, et m celui de milli. L'unité newton doit son nom à Newton.

La sensibilité à la casse (traduction de l'anglais case sensitivity) est une notion informatique signifiant que dans un contexte donné, le sens d'une chaîne de caractères (par exemple un mot, un nom de variable, un nom de fichier, un code alphanumérique etc) dépend de la casse (capitale ou bas-de-casse) des lettres qu'elle contient.

Ce terme tire son origine de la casse en typographie.

La sensibilité à la casse peut intervenir dans le tri par ordre alphabétique comme dans les comparaisons.

La sensibilité à la casse s'applique typiquement :

  • Aux systèmes de gestion des fichiers (nommage des fichiers), surtout dans les systèmes de la famille Unix.
  • Aux mots clés et aux identifiants de nombreux langages informatiques (C, C++, C#, Java, Python, PHP, XML et de nombreux autres). Cependant, d'autres langages sont insensibles à la casse, comme Fortran, BASIC, Pascal, Ada, Common Lisp, HTML, ou encore SQL.
  • Aux comptes d'utilisateur.
  • Aux mots de passe.
Système de fichiers sensible à la casse (famille Unix)

Lorsqu'un ordinateur compare plusieurs textes pour évaluer leur égalité, il peut le faire en ou non les considérer égaux seulement en fonction de leur casse.

La comparaison de deux chaînes de caractères alphanumériques est généralement plus complexe en mode insensible à la casse et dépend du codage des chaînes de caractères données ; plus il est simple, plus simple est le calcul. Ainsi, une comparaison sur une chaîne codée en ASCII et ne contenant donc pas de caractères accentués sera sans doute sensiblement plus rapide qu'en UTF-8 (unicode/ ISO-10646).

La cryptographie en MD2, en MD5 ou en Base64 est également sensible à la casse.

Historique et perspectives[modifier | modifier le code]

Historiquement, la comparaison d'octet est la plus ancienne, la plus rudimentaire et la moins utile des comparaisons de chaîne de caractères.

Des bibliothèques ont été développées pour gérer l'insensibilité à la casse sur les caractères ASCII non accentués.

Unicode a ouvert de nouvelles perspectives en standardisant à un niveau mondial chaque caractère.

Standardisation et normalisation[modifier | modifier le code]

La sensibilité à la casse est dépendante du codage de caractère utilisé, et éventuellement des paramètres de régionalisation.

Elle peut également être impactée par les problématiques de Normalisation Unicode.

Unicode définit des concepts précis relatifs à la casse des caractères. Par exemple toute lettre majuscule n'a pas nécessairement minuscule et vice versa.

Exemples[modifier | modifier le code]

Le français est sensible à la casse : les noms Joule (physicien britannique) et joule (unité de mesure d'énergie) n'ont pas la même casse, ce qui permet de les distinguer à l'écrit.

Dans l'adresse d'une page web, la partie qui correspond au nom du serveur n'est pas sensible à la casse, tandis que la partie qui correspond au « chemin » qui mène à la page sur le serveur est sensible à la casse. Ainsi, l'adresse http://fr.wikipedia.org peut s'écrire indifféremment en bas-de-casse ou en majuscules (http://FR.WIKIPEDIA.ORG), mais l'adresse http://fr.wikipedia.org/wiki/Accueil ne peut pas être rédigée comme ceci : http://fr.wikipedia.org/WIKI/ACCUEIL

Le logiciel MediaWiki utilisé par Wikipédia est (pour la référence à une page) sensible à la casse sauf pour le premier caractère. Ainsi, il y a un distinguo entre BAC et bac ; mais pas entre Bac et bac.

Comptes messagerie[modifier | modifier le code]

Les comptes de messagerie ne sont plus sensibles à la casse depuis la recommandation RFC 5321 qui remplace la RFC 2821. Ainsi John.Smith est équivalent à john.smith

Voir aussi[modifier | modifier le code]