Vous lisez : 4 Généralités sur le langage HTML
Partie Précédente : 3 Le protocole HTTP
Partie Suivante : 5 Structure des documents HTML
4 Généralités sur le langage HTML
4.1 HTML et SGML
La grande majorité des documents accessibles sur le World Wide Web et qui en font sa
spécificité par rapport aux autres facettes d'Internet est écrite au moyen du langage HTML
(HyperText Markup Language). HTML est l'application la plus connue du langage SGML
(Standard Generalized Markup Language) [5].
SGML est un langage de description de structure de document. C'est là l'aspect le plus
important à retenir qui le différencie radicalement des langages de description de page tels que
Postscript. Ainsi SGML cherche à décrire la logique et la structure du document alors que Postscript
permet d'en décrire la forme, l'aspect visuel final. Dans un document SGML on ne précise
pas de taille ou de type de polices ni de mise en page (taille des paragraphes, positions relatives,
etc...), au lieu de cela on s'attache à spécifier comment le document se subdivise et quelles en
sont les parties clés relatives à un format défini.
Un document SGML respecte toujours un type de document défini dans une structure formelle
appelée DTD (Document Type Definition). Une DTD peut ainsi décrire, par exemple, la
structure formelle d'un rapport dont les éléments seraient un auteur noté par <author>
, une
date notée par <date>
, un titre noté <title>
suivi d'un contenu divisé en paragraphes <p>
précédés chacune par un titre <h>
. Le début d'un tel document se présenterait alors sous la forme
:
<!DOCTYPE report PUBLIC "-//EPFL//DTD Report//EN">
<report>
<author>John Smith
<date>Feb 1st, 1996
<title>Report on WWW
<h>Introduction
Le document final imprimable est obtenu après interprétation par un visualiseur qui est à
même de formater le texte SGML suivant certaines règles prédéfinies ou réglées par l'utilisateur
qui va lire le document : le visualiseur peut ainsi présenter l'élément <author>
à 4 cm de la
marge supérieure et souligné. Ces règles dépendent du visualiseur et dans certains cas peuvent
être modifiées, ce qui explique que des personnes utilisant des visualiseurs différents n'obtiendront
généralement pas le même aspect de document. Ainsi une même page du World Wide
Web visualisée avec Netscape Navigator, MS Internet Explorer ou Opera n'est pas du tout mise
en page de la même façon. Toutefois, l'essentiel, à savoir le texte et sa structure, est préservé.
L'avantage essentiel de SGML est sa portabilité et la simplicité des documents, ce sont
essentiellement ces critères qui ont fait que le CERN, lors de la création de son système de distribution
d'information qui allait être à l'origine du World Wide Web, a décidé d'utiliser cette
norme pour en dériver le langage HTML. La notion de portabilité dans ce cas va beaucoup plus
loin que la simple compatibilité avec différents logiciels ou plates-formes informatiques : les
documents SGML (et donc HTML) doivent pouvoir être consultés avec la même facilité sur
support informatique ou imprimé, sur un écran couleur 21 pouces ou sur l'écran à cristaux liquides
d'un organiseur, avec et sans images mais aussi en braille ou après conversion par des
systèmes de synthèse vocale pour consultation téléphonique ou par des personnes handicapées.
C'est là un aspect trop souvent négligé par les rédacteurs de pages HTML qui ne pensent qu'à
l'affichage sur leur propre écran.
4.2 La séparation entre contenu et mise en forme
Comme il a déjà été mentionné précédemment, HTML vise à décrire la structure d'un document
plus que sa présentation, c'est là, en effet, la seule façon d'assurer une indépendance
maximale par rapport au dispositif de visualisation1. Toutefois cette exigence a frustré beaucoup
de rédacteurs, habitués à avoir un fort contrôle sur l'aspect final de leurs documents. Au
cours des versions, HTML s'est donc vu contraint d'intégrer de plus en plus d'éléments et d'attributs
permettant de spécifier des caractéristiques de mise en page. Fort heureusement,
HTML 4.0 apporte une solution élégante au problème posé par cette nécessité d'une forte séparation
entre contenu et mise en page. La version stricte d'HTML 4.0 rend ainsi obsolètes bon
nombre d'éléments de mise en forme qui existaient dans les versions antérieures et les remplace
par un nouvel outil appelé feuilles de style (style sheets).
4.3 Les différentes versions de HTML
Depuis la version 2.0 du langage HTML normalisée en 1994 dans le RFC 1866 [6], les
versions se sont succédées : certaines ont disparu faute de normalisation ou d'implémentation
dans les navigateurs (HTML+, HTML 3.0).
Le développement et la normalisation du langage sont à présent en charge du W3 Consortium,
un regroupement de partenaires industriels et académiques, dirigé par le Laboratory for
Computer Science du MIT (USA) et l'INRIA (France).
Même si HTML 3.2 demeure aujourd'hui la recommandation du W3C la plus largement
acceptée par les navigateurs, la recommandation en vigueur est la version 4.0 publiée en décembre
1997. Les deux plus importants fournisseurs de logiciels destinés au web, Netscape et Microsoft,
s'étant engagés en sa faveur, son support ne cesse de croître dans les versions les plus
récentes des navigateurs. Les versions successives de HTML assurent une compatibilité totale
avec les versions antérieures. Toutefois HTML 4.0 se décline en divers échelons : un premier
échelon garantit cette compatibilité alors que l'échelon le plus strict interdit un certain nombre
de caractéristiques des version antérieures jugées comme étant de mauvaises pratiques. Cette
distinction est utile lors de la vérification d'un document par un outil de validation.
Lors de l'écriture d'un document en HTML il est important de bien savoir ce que l'on
écrit, c'est-à-dire à quelle norme font référence les constructions utilisées. Seul l'emploi
d'HTML 3.2 (voire 2.0) strict garantit à l'heure actuelle une acceptabilité maximale par tous les
visualiseurs. L'emploi de HTML 4.0 doit être aussi encouragé, d'autant que son utilisation ne
compromet pas la visualisation du document sur des visualiseurs à la norme 3.2. Par contre il
faut absolument éviter les constructions spécifiques à tel ou tel visualiseur. Les normes du W3C
doivent être la seule référence de l'auteur de documents HTML. Toute utilisation de constructions
non normalisées ne pourrait que limiter l'audience potentielle du document réduisant ainsi
fortement l'intérêt de l'utilisation de HTML qui réside précisément dans son universalité.
4.4 HTML en pratique
Très concrètement, un document HTML, lors de son écriture, est un simple fichier texte
dont certaines parties portent une signification particulière, ce qu'on appelle le balisage
(markup). Le balisage définit ainsi une suite structurée imbriquée d´éléments qui constitue le
document. Un élément est une suite d'entités HTML délimitée par des étiquettes (tags) et représentant
une unité structurelle du document : titre, liste, paragraphe, texte mis en évidence, citation,
... (Figure 3). HTML définit quels sont les éléments existants, leurs attributs et les règles
d'imbrication de ces éléments.
4.4.1 Les entités
On appelle entité SGML une unité textuelle2. Sa plus simple expression est un caractère
non spécial, c'est-à-dire n'importe lequel sauf <
, >
, &
et quelques autres qui dépendent de la
DTD utilisée. Mais une entité peut être aussi constituée par une séquence de caractères entourée
par les délimiteurs &
et ;
qui est remplacée par un autre texte permettant ainsi d'abréger un document
en remplaçant certaines séquences longues et fréquentes par une abréviation plus courte.
Dans HTML les entités complexes servent plutôt à coder les caractères spéciaux qui ont une
signification particulière ou bien des caractères internationaux lorsque l'on veut assurer une
stricte conformité avec le jeu de caractères ASCII. Ainsi, comme le signe <
a une signification
HTML spéciale (délimiteur d'étiquette), quand on veut l'insérer en tant que tel dans un texte on
le remplace par son entité équivalente : <
De même si l'on souhaite assurer que le document
ne soit pas endommagé lors du transfert par des canaux limités à l'ASCII (comme parfois encore
certaines passerelles de courrier électronique), on peut remplacer la lettre `é' par l'entité équivalente
é
La liste de ces entités est donnée en Annexe A.
La notation des entités peut également servir à inclure dans le texte des caractères spéciaux
du jeu de caractères du document au moyen de leur numéro. Ex: <
représente également
le caractère `<
` dans le jeu de caractères standard ISO-8859-1.
HTML 4.0 définit très précisément que le jeu de caractères employé par HTML est
l'Universal Character Set [11] (compatible Unicode), chaque document pouvant se limiter à
l'un de ses sous-ensembles. ISO-8859-1, le jeu de caractères habituellement utilisé en Europe
Occidentale et qui comprend les caractères accentués des langues latines est un de ces sous-ensembles.
De ce fait, l'utilisation des entités équivalentes pour les caractères accentués français
est facultative, pour peu que l'on s'assure que la plate-forme sur laquelle on travaille utilise bien
le jeu de caractères ISO-8859-1. C'est le cas pour le système d'exploitation Unix mais cela dépend
des logiciels utilisés sur les plates-formes MS Windows et MacOS.
4.4.2 Les étiquettes (tags) et les éléments
On appelle étiquettes (tags) les délimiteurs des éléments HTML. Un élément est, la plupart
du temps, délimité par une étiquette initiale (start-tag) de la forme <tag>
et une étiquette
finale (end-tag) de la forme </tag>
.
Certains éléments comme BR
(saut de ligne) n'ont pas
d'étiquette finale. D'autres comme P (paragraphe), LI
(liste) ont des étiquettes finales optionnelles.
Les éléments s'imbriquent les uns à l'intérieur des autres suivant des règles définies par
le langage.
Les étiquettes peuvent contenir des attributs valués. L'exemple le plus classique est sans
doute :
<A href="http://www.epfl.ch/">Serveur de l'EPFL</a>
Cet élément porte le nom de lien hypertexte. On y reconnaît l'étiquette initiale <A>
dans
laquelle on trouve l'attribut href
qui porte la valeur http://www.epfl.ch/
. Pour chaque
élément seuls certains attributs sont autorisés. La valeur donnée aux éléments doit figurer entre
guillemets ou apostrophes3 et ne doit pas contenir de guillemets, apostrophes ou signes >
qui
doivent, le cas échéant, être remplacés par les entités HTML équivalentes (voir § 4.4.1).
On ne différencie pas majuscules et minuscules dans une étiquette, les deux peuvent être
utilisées indifféremment ou même mélangées.
4.4.3 Les commentaires
Un document HTML peut contenir des commentaires qui seront ignorés par l'analyseur
lors de la visualisation. Les commentaires sont signalés par les délimiteurs SGML spéciaux:
<!--
et -->
:
<!-- Ceci est un commentaire -->
Un commentaire peut s'étaler sur plusieurs lignes (les retours à la ligne sont autorisés à
l'intérieur d'un commentaire).
1
2
3
Copyright ©1996,1998 EPFL/DI-LSP.