1 – SGML, l’ancêtre
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 de 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.
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 GCA GenCode. 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 ».
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.
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.
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.
2.3 – HTML 3.X, obsolète
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 quelques fois aujourd’hui des pages exprimées en HTML 3.2.
2.4 – HTML 4.0, le vieux 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. C’est le 18 décembre 1997 que le W3C adopte la version 4.0 de la spécification HTML.
L’utilisation de la version 4.0 a progressé très vite et a supplanté la 3.2 pendant l’année 1999.
2.5 – HTML 4.01, le dernier standard
Le 24 décembre 1999, le W3C labélise la spécification HTML 4.01 ; elle vient apporter quelques corrections que l’on peut qualifier de mineures (par exemple sur les DTD). Il s’agit de la dernière version … il n’y en aura plus d’autres. La descendance de HTML s’écrira avec le préfixe X pour signifier une prise en compte de XML.
On observera qu’il s’est passé plus de temps entre les versions 1.0 et 2.0 qu’entre les versions 2.0 et 4.01.
2.6 – 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.01, créé par W3C, est devenu la recommandation de référence. Plus de 6 ans se sont écoulés, HTML demeure !
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 – DHTML
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.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>
3.3 – 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.