.properties

Un article de Wikipédia, l'encyclopédie libre.
Aller à : navigation, rechercher
Properties
Extension .properties
Type de format ASCII

.properties est une extension de fichier essentiellement utilisée en Java et qui permet aux technologies compatibles de stocker les paramètres de configuration d'un logiciel. Ils sont également utilisés afin de stocker les chaînes de caractères standardisées ; ils sont connus comme des Property Resource Bundles (ensemble de ressources propriétaires).

Chaque paramètre est stocké comme une paire composée d'un pointeur de référence ('key') donnant le nom du paramètre, suivi de la valeur désirée de ce paramètre.

Format[modifier | modifier le code]

Chaque ligne d'un fichier .properties comporte normalement une seule valeur. Plusieurs formats sont néanmoins possibles pour chaque ligne, y compris le système de balise {{{1}}}​ comme en HTML.

Les fichiers .properties peuvent utiliser le (#) ou le (!) comme premier caractère non vide de ligne afin de mettre en commentaire le reste de la ligne qui devient un mémo, un titre, une méthode, un avertissement, … mais qui ne sera plus pris en compte par le programme qui reprendra sa lecture dès la ligne suivante sauf si celle-ci comprend ce même caractère et ainsi de suite.

# Vous êtes en train de lire un fichier de type ".properties".
! Le point d'exclamation peut également être utilisé pour mettre en commentaire
website = http://fr.wikipedia.org/
language = French
# La barre oblique inversée ci-dessous signifie que l'application va continuer sa lecture à la ligne suivante
# La valeur sera donc lue à la ligne
message = Bienvenue sur \
          Wikipédia!
# Ajouter des espaces au nom de la variable
key\ with\ spaces = Ceci est la valeur retrouvable en demandant "key with spaces".
# Unicode
tab : \u0009

Dans l'exemple au-dessus, website pourrait être un pointeur et sa valeur correspondre à http://fr.wikipedia.org/. Cependant, le croisillon et le point d'exclamation qui marquent le texte comme étant un commentaire, n'ont pas d'effet quand ils font partie d'une propriété. La valeur "Bienvenue sur \ Wikipédia !" sera donc bien lue "Bienvenue sur Wikipédia !". Il faut également remarquer que tout l'espace vide en début de ligne est complètement exclu.

L'encodage d'un fichier de propriété obéit à la norme ISO/IEC 8859-1 aussi connue sous le nom de Latin-l. Tous les caractères hors de cette norme doivent être introduits en utilisant les caractères de type Unicode escape. Par exemple \uHHHH. Ceci permet d'utiliser les fichiers de propriété dans la normalisaiton internationale et donc d'utiliser tous les alphabets sans se limiter au latin-l. Même le français rencontre cette situation, certains caractères accentués ou le ç n'étant pas repris dans le latin-l. Un texte écrit hors de cette norme peut cependant être directement encodé en utilisant l'outil native2ascii qui est livré avec le JDK ou encore en utilisant des programmes de traductions comme 'po2prop'[1] qui permet de traduire un texte écrit en direct en chaîne de caractère interprétable en unicode, ce qui est d'ailleurs utile pour les sites polyglottes.

Localisation et structure[modifier | modifier le code]

Par convention, ces fichiers sont généralement placés dans les sous-répertoires portant des noms comme conf, config ou encore resource. Ils peuvent également être répartis par sous-applications dans une arborescence contenue dans cette localisation. Une norme de développement généralement utilisée est de maintenir en parallèle les noms des configurations avec les noms des applications ou leur abréviation et que l'arborescence des configurations soit le même que celui des logs.

Références[modifier | modifier le code]

  1. Translate Toolkit's po2prop converts native character encodings in a Gettext PO file into correctly escaped ascii without the need for native2ascii