Aller au contenu

Le langage SGML/Historique

Un livre de Wikilivres.

SGML est l'acronyme en anglais de Standard Generalized Markup Language signifiant « langage de balisage généralisé normalisé ». C'est un langage de description général pour les documents formalisé par la norme ISO 8879:1986, employé dans les industries de la documentation et de l'édition.

Initialement, les documents étaient écrits avec des mises en formes spécifiques à la machine et aux imprimantes. En 1967, William Tunnicliffe présente pour la première fois une approche pour séparer le fond du document par rapport à sa forme. C’est le début du GCA GenCode Committee qui élaborera les bases du premier langage de balisage généralisé.

En 1969, par Charles Goldfarb (chef de projet chez IBM), Edward Mosher et Raymond Lorie ont créé un langage descriptif appelé Generalized Markup Language (GML, initialement un acronyme de leurs noms : Goldfarb, Mosher et Lorie), destiné à encapsuler un ancien langage Script d'impression trop lié physiquement aux possibilités techniques des imprimantes, basé sur les travaux de William Tunnicliffe[1]. L'ensemble du GML et du langage d'impression compose le DCF (Document Composition Facility) où l'interprétation du balisage est indiqué par un fichier spécial nommé le profile, ainsi qu'une bibliothèque de macros. Le GML permit à IBM de construire un système de gestion de toute sa documentation : 90 % des documents techniques sont écrits en GML.

En 1986, Goldfarb a quitté IBM et développé le successeur du GML nommé SGML publié sous la norme ISO 8879:1986[2].

Dès 1984, les communautés européennes s'associent à ce développement novateur en adoptent le SGML comme standard pour leurs très nombreuses publications officielles, dans le cadre du projet FORMEX (Formalized Exchange of Electronic Publications). Elles développent aussi Mark-It, le premier parser SGML qui ne souffre pas de restrictions par rapport aux spécifications les plus avancées du SGML.

L'un des principes fondamentaux sur lequel repose le SGML est la séparation complète entre la structure logique d'un document (titres, chapitres, paragraphes, illustrations…), qui est identifiée par des balises insérées dans le document lui-même, et sa mise en page, qui dépend du support de présentation (livre, journal, écran, graphique même) et qui est définie en dehors du document dans une ou plusieurs feuilles de style (police, style, taille et couleur des caractères, alignement et espacement des paragraphes…).

SGML rationalise les systèmes documentaires d'IBM ; plus de 90 % de la documentation est écrite en GML. En France, son utilisation a beaucoup facilité le travail des avionneurs, Airbus reprenant ainsi la documentation de la SNECMA aussitôt affichable sous ses propres normes, et récupérée à leur tour par ses propres clients qui les affichaient à leurs normes ; ou par des arsenaux livrant facilement à leurs clients (armée de l'air, marine et armée de terre, et parfois armées étrangères) des documentations à ces normes personnalisées sans aucun surcoût.

Ce langage devient notamment un standard de représentation au CERN, qui a besoin d'unifier de façon rigoureuse la présentation des documents de ses équipes mais sans pour autant les déconcentrer en leur imposant des détails techniques de typographie. L'INRIA réalisera un des premiers éditeurs SGML, appelé Grif, de type traitement de texte avec une interface voisine de celle de Word.

En 1989, Tim Berners-Lee crée le HTML, une autre application de SGML, pour le World Wide Web. En adoptant la syntaxe du SGML pour HTML, Tim Berners-Lee confrontait une technologie complexe à de plus en plus d'utilisateurs.

En 1995, Dan Connolly rejoint le World Wide Web Consortium (W3C) et ajoute le SGML à la liste des activités de cet organisme de standardisation. XML est créé dans l'objectif de définir un langage aussi générique, mais plus simple que SGML. De fait, XML est un sous-ensemble de SGML. La spécification du 10 février 1998 explique que « Son but est de permettre au SGML générique d'être transmis, reçu et traité sur le Web de la même manière que l'est HTML aujourd'hui ».

  1. http://www.sgmlsource.com/history/sgmlhist.htm — « A Brief History of the Development of SGML »
  2. https://www.iso.org/fr/standard/16387.htmlISO 8879:1986 — « Traitement de l'information — Systèmes bureautiques — Langage normalisé de balisage généralisé (SGML) »