Archive for décembre, 2006

XML, historique du langage, 2/3 : Les langages de présentation

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.

xml3.jpg

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.


XML, historique du langage, 1/3 : les langages

(article paru en 2000, http://xmlfr.org/documentations/articles/000321-0001)

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 – 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é.

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 …


  • Catégories

  • Calendrier

    décembre 2006
    L M M J V S D
        Jan »
     123
    45678910
    11121314151617
    18192021222324
    25262728293031
  • Archives

  • Copyright © 1996-2010 Blogabriel. All rights reserved.
    iDream theme by Templates Next | Powered by WordPress