L'historique des langages de l'Internet, de SGML à XHTML.
Par Gabriel Képéklian, senior consultant chez ATOS Intégration
Paris, France,
mardi 21 mars 2000
La diffusion de l'information dans notre société (de l'entreprise à la famille) se
transforme de plus en plus en publication de documents sur l'Internet et ses avatars.
Les acteurs de cette publication ne sont plus des spécialistes. Tout le monde se forme, ou
auto-forme, petit à petit aux différents outils bureautiques et aborde ou abordera l'Internet.
Cet article a pour objectif de fournir les éléments qui aideront le lecteur à comprendre
les enjeux de la situation actuelle, à déceler les tendances et peut-être à faire des choix.
2.1 Introduction
Les langages informatiques sont nés dans les années 1950,
par exemple FORTRAN (1956),
ALGOL, LISP (1958) et COBOL (1959). Au début des années 80, le nombre de langages était
estimé à 3 millions ... dont 450 étaient véritablement utilisés par une communauté significative.
Je n'ai pas de données chiffrées pour aujourd'hui, mais on peut imaginer l'entropie !
Pour chaque catégorie de problèmes, il est possible de créer un langage adapté à l'aide
duquel les-dits problèmes trouveront un exposé clair. Et l'on sait qu'un problème bien posé
est à moitié résolu ... Les mathématiciens et d'autres scientifiques (que nous appellerons les
grammairiens formels) se sont intéressés aux langages. Ils les ont formalisés, classés, triés,
outillés. C'est ainsi qu'ont été définies les " générations " de langages (les puristes en
dénombrent habituellement 5) et les " classes grammaticales " de langages (le théoricien
Noam Chomsky a proposé 4 classes).
Pour les outils, les débuts ont été très difficiles. Il fallait permettre à la machine de
faire exactement ce que le programmeur voulait. Pour ne pas trahir la pensée du programmeur,
il a fallu la structurer, l'exprimer sans ambiguïté, la traduire en séquences intelligibles par
l'unité centrale ... Les outils se sont peu à peu sophistiqués, optimisés, rationalisés et
démocratisés. Maintenant la programmation se réduit parfois à un simple jeu de souris !
2.2 La publication
Le domaine de l'édition a été très tôt informatisé. Dans les années 70, de gros systèmes
de "traitement de textes" ont été conçus. Ils ont évolué progressivement pour donner
naissance aux premiers programmes de PAO sur ordinateur personnel, c'était au début des
années 80. Les organismes de normalisation se sont associés à ce progrès. Les gros constructeurs,
propriétaires des systèmes des années 70, ont aussi poussé leurs solutions et leurs langages.
Dans les années 1960, IBM appuyait SGML, un langage conçu pour les systèmes de saisie de
textes et de mise en page de textes, de recherche d'informations et de partage de documents.
Le célèbre langage HTML, parent direct de SGML, est apparu au début des années 1990.
On comprend alors qu'il ne soit pas fait pour réaliser des programmes comme une comptabilité,
un jeu vidéo ou un calcul de structures métalliques. Son propos est la publication d'information,
ce qu'en d'autres termes on peut appeler la présentation d'une information contenue dans un
contenant structuré.
2.3 Les catégories
HTML peut être présenté comme le premier langage de l'Internet.
Cependant, il ne permet qu'une présentation statique de l'information. C'est pour cette raison
qu'on a très tôt cherché à lui donner des moyens interactifs complémentaires.
Plusieurs voies ont été abordées sur le poste client comme sur le serveur. A chaque choix
correspondent des technologies et des langages.
Comme tous les langages ne servent pas le même propos, il faut distinguer les différentes
catégories de langages. Certains sont descriptifs, d'autres permettent l'expression du style,
ou donnent des moyens de programmation, etc.
Sans langages, pas d'expression. Mais faut-il une expression libre ? Nous l'avons vu, les
langages répondent à des propos différents. Il en va de même pour ce que les langages décrivent.
Si le problème est bien énoncé, en d'autres termes, si le programme est bien écrit alors il donne
naissance à une application correcte.
C'est alors que les langages dédiés à la présentation sont arrivés ...
3.1 SGML - l'ancêtre
3.1.1 Introduction
Les langages de présentation de l'information sur Internet ont tous SGML pour ancêtre.
Apparu en 1969 chez IBM, le Standard Generalized Markup Language est une norme pour la
création de langages de balisage et la création de documents échangeables et révisables.
Ce métalangage a été conçu pour permettre la création langages que l'on dit descriptifs par
opposition aux langages procéduraux.
Historiquement, les manuscrits électroniques contenaient des codes ou des macro-commandes
permettant au document d'être composé d'une manière particulière appelée 'specific coding'.
Puis le codage générique est apparu vers la fin des années 60. Il emploie des "tag" que l'on
traduit par "balise". Ce sont des étiquettes descriptives comme par exemple 'titre' plutôt que
des codes comme 'format-X6'.
Les principaux langages descriptifs nés de SGML sont HTML,
DHTML et XML.
3.1.2 Historique de la standardisation
Le besoin de donner de la longévité aux documents stockés électroniquement a mené au
développement d'un langage spécialisé. Voici les principaux événements qui ont conduit à
SGML (Standard Generalized Markup Language).
- 1967 - Lors d'une réunion à l'imprimerie du gouvernement canadien, William Tunnicliffe
parle de la séparation du contenu de l'information des documents de leur format.
- 1969 - Stanley Rice, un éditeur de New York,
propose un ensemble "de structures éditoriales" paramétrables. L'association GCA
(Graphic Communications Association) sponsorise des ateliers, des séminaires et des
comités pour développer le concept. De ces efforts naquit le comité original GCAGenCode.
GenCode a défini un système de balises généralisées basée sur la hiérarchie d'un
document. Cette approche fut intégrée à un codage générique qui soulignait le caractère
descriptif plutôt que procédural du codage.
- 1969 - Charles Goldfarb, Edward Mosher,
et Raymond Lorie inventèrent le langage GML
(Generalized Markup Language) pour IBM. GML
était basé sur les idées de codage générique de Rice et Tunnicliffe.
- 1970 - Goldfarb proposa un langage de balises
généralisées basée sur les 2 principes forts. En premier lieu, les balises doivent décrire la
structure plutôt que les caractéristiques physiques d'un document. En second lieu, elles doivent
être rigoureuses de sorte qu'elle puisse être clairement comprise par un programme ou un
interprète humain.
- 1978 - Un groupe de travail de norme ANSI a été constitué
et soutenu par GenCode et par la suite mené par Goldfarb afin de
fournir un format pour l'échange des textes qui soit non ambigu et suffisamment riche pour
permettre des évolutions futures. Leur travail fut basé sur GML.
- 1986 - SGML est enfin normalisé par
l'ISO. Le langage est complexe. Les outils qui lui sont destinés sont chers.
SGML ne sortira pas de sa "niche".
3.2 HTML : une base solide
Ce langage connaît un véritable engouement depuis sa création.
Plusieurs versions se sont succédés. Il est important de connaître les dernières versions
et leurs caractéristiques car les différents navigateurs ne les supportent pas toutes.
3.2.1 HTML 1.0 - obsolète
Le World Wide Web Consortium (W3C) est l'instigateur de la norme
HTML. Apparu en 1991 au CERN
à Genève, la première version de HTML est un
langage hypertextuel très simple et indépendant qui permet de décrire du texte avec des graphiques.
Il s'exécute sur toute sorte de plate-forme. Il comprend déjà la définition d'éléments
de structuration comme les titres, les listes et les chapitres, mais la présentation finale
est laissée au logiciel de navigation.
Cette version n'est plus du tout utilisée.
3.2.2 HTML 2.0 - obsolète
Le succès du navigateur Mosaic (premier à offrir une interface
utilisateur graphique) impose HTML. Au passage, le langage y gagne
quelques particularités du browser Mosaic. Par rapport à la
version 1.0, les nouveautés ont été bon nombre de possibilités de mise en page (éléments de
structure externe au document comme les en-têtes, les lignes de titre, les différents niveaux
de titres) mais aussi les liens hypertextes, les mises en relief, les insertions flexibles
de graphiques, de tableaux, de listes et de formulaires.
Le standard HTML 2.0 a cependant attendu
septembre 1995 pour être adopté définitivement. C'est à cause de
cette attente que sont nés les dialectes qui ont nui à l'harmonisation des navigateurs.
 Il est devenu très rare de rencontrer cette version.
3.2.3 HTML 3.X - en voie d'obsolescence
Il y a eu plusieurs versions 3. La plus célèbre est la version 3.2 connue sous son nom de
code "Wilbur". Elle est devenue un standard en mai 1996 à
Paris, ce fait mérite d'être noté ! Les nouveautés ont été la présentation
structurée d'éléments de tableau, les tailles et couleurs de polices de caractères, l'agencement
du texte autour de l'image, les images cliquables sans communication avec le serveur et
(le plus important pour l'avenir) l'insertion des applets Java et
JavaScript.
On rencontre encore aujourd'hui des pages exprimées en HTML 3.2.
3.2.4 HTML 4.0 - le standard
Dès juillet 1997, sous le nom de code "Cougar", une nouvelle
proposition de standard est faite. C'est l'époque de la grande rivalité entre
Netscape et Microsoft. Les définitions sont faites avec rapidité et
en octobre 1997 la norme se fige. Les nouveautés sont
nombreuses. Le HTML ne se limite plus aux seuls navigateurs et
vise maintenant à s'intégrer aux différents matériels de sortie de l'utilisateur.
L'internationalisation est effective, par exemple les accents du français sont pris en compte.
La définition des tableaux s'améliore. Les formulaires s'enrichissent de fonctionnalités.
Le tag OBJECT permet d'insérer tout type d'objet et non plus seulement des contrôles
ActiveX. Les feuilles de style sont adoptées. L'impression se fait intelligente
(par exemple la possibilité de commander le saut de page). Des événements qui appartenaient
aux scripts (par exemple : onmouseover, onload) sont maintenant reconnus. Les frames sont
officialisés. Les affichages impossibles ont la possibilité d'une alternative.
L'utilisation de la version 4.0 a progressé très vite et a supplanté la 3.2
pendant l'année 1999.
3.2.5 Evolutions
Jusqu'en 1999, HTML a été considéré
comme la lingua-franca de la publication sur Internet. Après être passé par plusieurs évolution,
HTML possède désormais un éventail de dispositifs reflétant
les besoins d'une communauté internationale très diverse. HTML 4.0,
créé par W3C, est devenu une recommandation en décembre 1997.
Au cours de l'atelier du W3C sur le "futur de HTML" organisé à
San Jose, Californie, en mai 1998,
les discussions ont porté sur la possibilité d'une prochaine génération de HTML.
A la fin de l'atelier, on a convenu que la seule façon de progresser était de s'appuyer sur
une nouvelle génération de HTML.
XML n'était plus très loin.
3.3 DHTML
3.3.1 Introduction
DHTML est une extension certes majeure du langage
HTML qui renonce à son caractère statique pour devenir
dynamique mais qui reste propriétaire Microsoft. L'éditeur propose une solution
pour obtenir l'interaction, l'animation et, surtout, la mise à jour "à la demande", sans
qu'il soit nécessaire de se servir de plug-in ou autres applications complémentaires.
Netscape n'a pas suivi.
En raison des limites du langage HTML, les pages Web étaient
statiques : une fois affichées, elles ne pouvaient plus changer. Il fallait, pour les
animer, recourir à des outils externes comme des applets Java ou des extensions (plug-in),
parfois difficiles à mettre en oeuvre et, surtout, pas forcément présents sur la machine de
l'utilisateur.
3.3.2 Pages dynamiques
Dynamic HTML, ou DHTML, est une
évolution du langage HTML qui, en plus de la définition des
différents éléments de la page, permet de préciser les comportements et les interactions
entre lesdits éléments. Concrètement, cela signifie qu'une page HTML
est aujourd'hui capable, en fonction des actions de l'internaute ou de tout autre événement,
de faire évoluer elle-même sa forme et son contenu.
Le principe de base est très proche du développement classique d'applications.
On construit une interface à l'aide de divers éléments ou objets (des textes, des
titres, des images, des boutons, etc.) auxquels on associe des propriétés (contenu,
police de caractères, couleur, etc.) et un comportement face aux événements et en
fonction du contexte (clic, affichage, heure, etc.).
La ligne de code suivante illustre la simplicité et l'efficacité de DHTML.
Si nous voulons que le titre H1 de couleur verte devienne rouge lorsque la souris passe dessus,
il faut écrire :
<H1 onmouseover="this.style.color = 'red';">Fais-moi rougir</H1>
DHTML, et après ?
Le langage DHTML ne résout qu'un problème. Il apporte de
la dynamicité. En revanche, il ne donne aucune intelligence aux documents. Son avenir
est donc intrinsèquement compromis.
Ce chapitre n'est pas une présentation de XML.
Il évoque ce langage en tant qu'aboutissement du lent processus de maturation conceptuel
qui nous aura conduit du document indissociable de la page sur laquelle il est imprimé au
document intelligent (enfin presque) où contenu et présentation sont dissociés, manipulables
et extensibles.
 4.1 Les dates clef
- 1996 - Jon Bosac de Sun Microsystems recrute une équipe
- 1996 juillet - Les travaux du groupe débutent
- 1996 août - Les principes sont rédigés
- 1996 novembre - Un draft de 22 pages est publié, c'est la première version de XML
- 1997 décembre - La proposition de recommandation est disponible
- 1998 février - La recommandation XML v1.0 voit le jour !
4.2 Les avantages de XML
-
XML bénéficie de la base installée de HTML,
de HTTP et des navigateurs Internet
-
XML est simple et portable
-
XML peut décrire des documents de toute complexité
-
XML est plus qu'un simple langage de balise, c'est une vaste famille ! ("XML family")
-
XML est international
4.3 Des champs d'application
A titre d'exemples, nous pouvons citer :
- Messagerie : XML en tant que format standard pour l'échange de données
(par exemple : XML/EDI)
- Traitement : déplacement du serveur vers le client (par exemple :
Electronic Banking, Electronic Commerce)
- Documentaire : XML permet d'exprimer toute l'intelligence du document dans le
document, les applications documentaires peuvent se développer sans contrainte (par exemple :
le format EIDE pour la GED)
- Collaboratif : les Intranets bénéficieront largement des documents XML. Avec HTML, la même information était préparée pour tout le monde, maintenant le choix de la restitution peut revenir au client. L'auteur décide du contenu, le lecteur de la présentation.
- Publication : présentation variable de l'information
; publication dans différents formats avec XSL ; publication
automatisée (par exemple à partir des bases de données)
- Recherche : Recherche intelligente d'information
- Intégration de système : Echanges automatisés, EAI, etc.
4.4 Convergence HTML et XML : XHTML
Les deux avatars de SGML qui semblaient être
voués à vivre des destinées séparées convergent aujourd'hui pour former XHTML.
Pourtant, rien ne semblait fait pour rapprocher ces deux langages.
 La solution de cette dissonance annoncée s'appelle XHTML.
Tout en restant très voisin de HTML, XHTML
respecte les règles XML. Il peut être utilisé par les outils
XML et reste visualisable par les versions récentes des navigateurs.
Il est également plus extensible que HTML ; il est en effet possible
de définir la structure et le contenu des documents.
4.5 En guise de conclusion
Ce tableau est un résumé du paysage actuel. Il n'est pas exhaustif, mais ... il donne une
bonne vision de la situation.
Pour en savoir plus :
Copyright 2000,
Gabriel Képéklian.
|