Les cinq couches des interfaces

Présentation

Une interface est un noeud, un minima dans la complexité. C'est aussi une description des échanges, une spécification des limites des activités.
Prenons par exemple le cas d'une facture, c'est une feuille de papier qui sert d'interface entre un client et un fournisseur.
Je l'identifie comme étant un document authentique et recevable et je règle le montant au fournisseur en mentionnant le numéro de la facture et celui de son compte bancaire. Toutes ces informations sont portées sur la facture, et nous savons les repérer grâce à des conventions et des usages. Ces usages peuvent varier en fonction des pays, ce qui ne simplifie pas le problème.
Tout échange d'informations peut être décomposé en cinq couches ou niveaux. Cette description est applicable à la facture sous forme de papier comme à la transmission d'informations sous forme électronique.

NiveauCoucheDéfinition
1 Fonctionnelle Quelle est la signification de l'information ? Qui a le droit de l'envoyer ? Que doit en faire le récepteur ?
2 Grammaticale Ordre et ordonnancement des termes.
3 Lexicale Définition des termes échangés. Par exemple : nom, prénom, code postal, numéro INSEE ...
4 Alphabétique Définition du codage des caractères, des images et des sons. Par exemple : ISO-latin1, ASCII 7 bits, Unicode...
5 Physique Définition du support d'information ou média. Ce peut être le réseau internet, une disquette, un code à barres...

Chaque niveau doit être couvert par une norme afin de permettre l'échange.
Cette analyse n'est pas limitée aux échanges entre ordinateurs. On peut essayer de l'appliquer à un message militaire transmis par sémaphore, à une conversation ou à une lettre d'amour !

Physique

Le support physique de l'information doit être normalisé. Parmi les normes certaines deviennent obsolètes comme les disquettes de cinq pouces et quart. D'autres n'ont jamais été utilisées comme les disquettes 3 pouces et demi formatées à 2Mo. Enfin, cette même disquette de 1.44Mo, peut être enregistrée selon plusieurs modes, FAT ou ext2 par exemple.
De la même façon, les normes de gravure des CD peuvent supporter des modes de assez différents tels que ISO9660, Rock Ridge ou Joliet.
Dans le cas des réseaux, le niveau 1 représente les 7 couches du modèle OSI.

Alphabétique

Les jeux de caractères sont codés sur 7 ou 8 bits : Ascii, PC8, Roman8, DEC multinational, ISO-latin1, ANSI, SGML ou minitel. Afin de coder tous les caractères utilisés dans le monde, on a créé le jeu de caractères Unicode qui nécessite 16 bits par caractères.
On peut éventuellement introduire la cryptographie entre les couches 1 et 2.

Lexical

C'est le premier niveau où l'on s'intéresse au contenu du message.
Chaque élément doit être identifié, ses attributs éventuels doivent être définis. Par exemple, le code postal est un champ de 5 caractères numériques, le nom est purement alphabétique et ne contient pas de chiffres.

Grammatical

On spécifie l'ordre arborescent ou séquentiel dans lequel les données sont fournies.

Fonctionnel

La responsabilité de l'échange, les raisons de le faire, les limites de responsabilité entre émetteur et récepteur sont indispensables. Pourquoi et quand envoyer le document ? Que doit faire le récepteur? Que faire en cas d'erreur ?

Sémantique

Mais où se cache-t-elle ? Elle n'est pas dans le tableau ? En vérité elle se cache dans les trois couches supérieures. La sémantique est dans le sens des mots, dans la grammaire et dans la couche fonctionnelle.

Utilité

Interopérabilité et interfaces L'interopérabilité est fondée sur la connaissance intégrale des interfaces. Autrefois, un mode d'emploi et des spécifications techniques suffisaient mais l'arrivée de l'informatique a induit de nouveaux paramètres induisant une complexité accrue.

Sur le schéma, on appelle I.H.M. l'interface homme-machine qui est une extension du mode d'emploi, A.P.I. l'interface entre logiciels; les formats sont relatifs à la structuration des données. Enfin on nomme spécifications techniques tout ce qui n'a pas un nom particulier.

Un échange de documentation doit être strictement défini. Dans le cas contraire, la transmission est incorrecte et induit des reprises manuelles et coûteuses.
Il est donc indispensable de spécifier les cinq couches afin de communiquer. On a intérêt à s'appuyer sur des normes. Mais ce n'est pas toujours suffisant. Certaines normes recouvrent un niveau, d'autres deux, d'autres un et demi ! Il faut donc être très vigilant et veiller à ce que la spécification d'une interface soit exhaustive.

J'accepte volontiers toutes vos critiques. Ce document est en cours d'évolution.

 
Retour vers page d'accueil   Ce site n'a pas été conçu pour être beau, mais vite chargé !
Site conforme aux normes. Explications...
XHTML1.1 CSS Mise à jour du 12 septembre 2007