• Aucun résultat trouvé

SGML et les langages à balises

Repères techniques

3.3 SGML et les langages à balises

3.3 SGML et les langages à balises

Le SGML32 (Standard Generalized Markup Language) introduit en 1986, pousse la logique des langages descriptifs un peu plus loin [Bryan, 1992], en offrant justement aux utilisateurs et, plus précisément, aux communautés d’utilisateurs, la possibilité de construire leurs propres modèles formels de données en séparant la définition de ce modèle de l’instanciation des données, d’une part, et la production des formes de diffusion, d’autre part.

En conséquence, SGML ne propose pas en propre de systèmes de vocabulaires, c’est-à-dire des ensembles de balises descriptives, pour tel ou tel type de document, c’est pour cette raison que l’on qualifie SGML de méta-langage : cette tâche est réservée aux applications SGML qui vont assurer la production de grammaires de référence pour un domaine donné. Les informations sur les types d’éléments constitu-tifs des textes et les systèmes d’organisation hiérarchiques de ces éléments entre eux sont ainsi renseignés dans des fichiers distincts ne contenant aucune donnée, ce sont les Document Type Definition33 (DTD). Ces modèles formels peuvent ainsi circuler au sein des communautés et être amendés indépendemment des données.

SGML introduit également un système de contrôle et de validation des données qui va permettre d’éviter un certain nombre d’erreurs dans le travail de structuration des données.

Les principes introduits par SGML ont incontestablement marqué une évolution fondamentale dans la production et la gestion des documents numériques qui a pro-duit un héritage et un ensemble de pratiques toujours en vigueur aujourd’hui. Sans entrer dans les détails, nous allons ici nous intéresser à deux points saillants : une application SGML et une évolution de ce méta-langage.

3.3.1 Hypertext Markup Language

Le HTML est incontestablement l’application SGML la plus connue. En constante évolution depuis sa première apparition à la fin des années 80, ce langage s’est im-posé comme l’une des bases du World Wide Web. Le HTML est présenté dès 1991 comme une application SGML dont il respecte les principes en proposant un vo-cabulaire de base pour décrire les documents. Mais c’est en 1998 avec l’annonce de HTML 4.0 [Raggett et al., 1999] que l’effort de normalisation entrepris pen-dant de longues années va payer. Les spécifications du DOM (Document Object

Mo-32. ISO standard 8879.

del) [Le Hors et al., 2004], dont la première publication date de 1998, apportent des solutions normalisées pour accéder, lire et modifier le contenu des documents balisés. Il est alors possible de mettre en place et de manipuler des structures com-plexes en respectant (dans la majorité des cas) les principes de séparation du fond et de la forme, déjà recommandées dans la norme SGML, dans un cadre de tra-vail cohérent, normalisé et documenté. Le modèle de représentation des informations contenues dans les documents et d’accès à ces informations permet en effet de fa-briquer des sites en assurant une reconnaissance maximale par les navigateurs ayant correctement implémentés les normes.

Mais HTML 4.0 constitue toujours une application SGML qui conserve encore quelques éléments de mise en forme comme <i>, <b> ou <big> et <small> par exemple et qui ne respecte donc pas totalement les principes de séparation fond/forme recom-mandés.

Le passage à XHTML [Pemberton, 2002], dont les premières spécifications datent de 2000, permet d’achever le mouvement de séparation du fond et de la forme tout en assurant le passage à un nouveau format de données, lui aussi dérivé de SGML : le XML (eXtensible Markup Language) [Bray et al., 2008], sur lequel nous reviendrons plus en détail (voir 3.3.2). Cette évolution marque une orientation de quelques années plaçant la qualité du document au centre des préoccupations, avec le respect des principes de rigueur de structuration de la recommandation XML.

HTML 5 [Berjon et al., 2014] marque en revanche un virage fort avec la prise en compte de la dimension applicative. C’est en effet, le service proposé à l’utilisa-teur qui s’impose face à la qualité de structuration des données. Il ne s’agit donc plus de construire et de structurer des documents dont les formes seront produites éventuellement par des transformations, réalisées à l’aide des langages de la famille XSL [Berglund, 2006] et en particulier de XSLT [Kay, 2007], et des feuilles de styles CSS, mais de produire des applications intégrant directement des dispositifs d’interactions entre les utilisateurs et les contenus (menus, barre d’outils, animations, etc.). Même s’il est toujours possible d’utiliser une syntaxe XML avec la déclinaison XHTML 5, le fait de ne pas la mettre en avant est révélateur du choix de mettre l’ac-cent sur la commodité du travail de développement et non d’encourager la production de documents finement annotés et structurés.

Cependant, si le web s’est orienté vers l’applicatif avec l’apparition de la norme HTML 5 [Lecarpentier, 2011], l’approche centrée sur la structuration des données reste pertinente en particulier dans le cas de l’édition de sources qui nous occupe dans

3.3. SGML et les langages à balises cette étude surtout dans la mesure où le web n’est pas le seul vecteur d’utilisation envisagé.

3.3.2 eXtensible Markup Language

Descendant de SGML dont il reprend les principes généraux en les simplifiant pour faciliter les travaux d’implémentation d’une part et l’interopérabilité des données d’autre part, le XML, datant de 1998, est très lié au web et à la famille des langages HTML qui lui est associée [Bray et al., 2008].

Les efforts de simplification portaient en particulier sur les questions de permis-sivité de syntaxe. En SGML, il est possible d’ouvrir des éléments sans les fermer alors que XML impose de fermer tout élément ouvert. Il s’agit donc d’une forme de radicalisation de la syntaxe qui facilite le développement des applications en s’ap-puyant en réalité sur la clarification des procédures d’étiquetage des textes : plus les données sont claires, plus il est facile et rapide de les interpréter. En effet, préciser le début et la fin de chaque phénomène lève toute ambiguïté, ce qui est certes utile pour le développement applicatif mais c’est aussi capital pour toute personne qui aurait besoin de comprendre la nature des données manipulées. L’échange de don-nées est considérablement facilité lorsque le formalisme de structuration contraint à la clarté. Si cet argument conserve encore aujourd’hui toute sa force pour simplifier la circulation d’information entre humains, il perd de son importance pour ce qui concerne le développement. En effet, un aspect important du XML du point de vue du développement est de limiter les temps de calcul en “purifiant” les données. Mais avec la montée en puissance des ordinateurs cette dimension est de moins en moins vraie : l’application de règles d’interprétation des éléments ouverts mais pas fermés ne demande plus autant de temps qu’avant, quand les machines étaient moins per-formantes. La syntaxe HTML 5 de base, autorisant les raccourcis, est une parfaite illustration de ce phénomène. Nous verrons plus bas que la dimension technique ne doit pas être la seule à prendre en compte lorsqu’il s’agit de choisir une syntaxe et que la compréhension34 par l’humain doit être un critère de choix important.

L’application de XML dépasse aujourd’hui complètement les usages strictement liés au cadre du web justement grâce à ses qualités de simplicité et d’indépendance technique provenant de son contexte d’invention très fortement connecté au réseau. Beaucoup de fichiers de configuration de logiciels ou de systèmes d’exploitation sont

34. Cette compréhension ne doit pas pour autant forcément passer par un accès direct au code et il s’agit aussi de proposer des interfaces ergonomiques.

maintenant codés en XML. Apple, par exemple, utilise ainsi massivement le XML pour les fichiers de configuration internes de son système d’exploitation Mac OS.

Mais le XML est aussi un format de données très utilisé dans le domaine de la production et de la gestion de textes. Ainsi, le logiciel grand public OpenOffice utilise depuis longtemps le XML nativement pour l’enregistrement de ses fichiers35. La norme Open Document Format for Office Applications [Durusau et Brauer, 2011] utilisée par OpenOffice est depuis 2006 certifiée par l’Organisation internationale de normalisation (ISO). Rapidement, Microsoft, contraint par cette certification qui a mis fin à l’hégémonie de son standard de fait, le format .doc, a suivi, en modifiant le format de fichier de son logiciel de traitement de texte Word pour adopter aussi le XML et la norme Office Open XML [ECMA, 2008] pour la structuration des données textuelles. Citons aussi pour terminer le format IDML (InDesign Markup Language) utilisé par la firme Adobe pour décrire les documents de son logiciel de publication assisté par ordinateur (PAO) InDesign. Il ne s’agit pas ici du format utilisé par défaut par Adobe InDesign, mais du format d’échange recommandé par la firme pour faciliter la circulation des données entre deux versions différentes du logiciel. Dans le même domaine de la PAO, notons que presque tous les logiciels36proposent aujourd’hui des solutions plus ou moins efficaces pour importer du XML.

Le XML a acquis aujourd’hui une telle importance, comme nous venons de le voir, qu’il n’est pas sans influence sur la manière dont le texte est aujourd’hui perçu et étudié dans différents domaines de recherche. Avec la prépondérance du web, au-quel il est encore très lié, il occupe souvent une place centrale dans les réflexions et les travaux de recherche. Il en est ainsi, par exemple, dans les efforts de définition de la notion de document dans le contexte du réseau mondialisé [Pédauque, 2003].

Le XML s’est donc imposé comme un moyen efficace de manipuler de l’informa-tion structurée dans de nombreux domaines. Les modèles de représental’informa-tion abstraits sont aussi très nombreux et émanent souvent de communautés ayant pris en compte l’importance de XML. Ainsi, la logique de représentation en arbre d’XML37 n’est pas sans influencer les modèles abstraits, dont on pourrait pourtant penser qu’ils sont conçus sans tenir directement compte des contingences “techniques”. Mais on

35. Avant que ce format devienne une norme puisque les premières versions d’OpenOffice déve-loppées par Sun Microsystems utilisaient déjà le XML.

36. C’est le cas par exemple de Quark Xpress, Adobe InDesign ou encore, et depuis longtemps, de FrameMaker qui était un logiciel pionnier en matière d’intégration des langages à balises puisqu’il existait dès les années 1990 une version FrameMaker+SGML.

37. Cette notion d’arborescence n’est pas présente seulement ici, elle est par exemple la base organisationnelle de la plupart des systèmes de fichiers informatiques.