Vous êtes sur la page 1sur 37

Systèmes Répartis INTERNET Langage XHTML

LANGAGE XHTML

AVERTISSEMENT :

L’exploitation de ce document nécessite la connaissance


préalable du langage HTML.

11/10/2009 23242271.doc Page 1 sur 37


Systèmes Répartis INTERNET Langage XHTML

Sommaire

Chapitre 1 : Langage XHTML..................................................................................................3


1.Introduction au langage................................................................................................................3
1.1.Portée du document...................................................................................................................................3
1.2.Définitions.................................................................................................................................................3
1.3.Intérêt du langage......................................................................................................................................3
2.Evolutions obligées des langages..................................................................................................5
2.1.Limitations du langage HTML..................................................................................................................5
2.2.De XML à XHTML...................................................................................................................................6
2.3.Quelques éléments clés..............................................................................................................................7
3.XHTML : sous-ensemble d'XML.................................................................................................8
3.1.Quelques caractéristiques du langage XML..............................................................................................8
3.2.Espace de nommage XML.........................................................................................................................9
3.3.Outils........................................................................................................................................................10
4.« Document Type Definition »....................................................................................................11
4.1.Qu'est ce qu'une DTD ?...........................................................................................................................11
4.2.XHTML 1.0 Strict...................................................................................................................................11
4.3.XHTML 1.0 Transitional.........................................................................................................................11
4.4.XHTML 1.0 Frameset.............................................................................................................................12
5.Différences entre XHTML et HTML.........................................................................................13
6.Exemples XHTML......................................................................................................................17
6.1.Structure du document.............................................................................................................................17
6.2.Eléments d'entête.....................................................................................................................................18
6.3.Eléments du corps de page .....................................................................................................................19
7.Conclusion....................................................................................................................................22
Chapitre 2 : Logiciel TidyGUI................................................................................................23
1.Fenêtre principale de TidyGUI..................................................................................................23
1.1.Fichier d’entrée........................................................................................................................................24
1.2.Bouton de configuration..........................................................................................................................24
1.3.Bouton 'Tidy!'..........................................................................................................................................24
1.4.Bouton 'Show Output'..............................................................................................................................24
2.Configuration..............................................................................................................................25
2.1.Options d'éléments HTML......................................................................................................................26
2.2.Options de nettoyage...............................................................................................................................27
2.3.Options XML...........................................................................................................................................29
2.4.Options d'encodage..................................................................................................................................31
2.5.Options de mise en page..........................................................................................................................33
2.6.Options opérationnelles...........................................................................................................................35
3.Fenêtre de sortie..........................................................................................................................37

11/10/2009 23242271.doc Page 2 sur 37


Systèmes Répartis INTERNET Langage XHTML

Chapitre 1 : Langage XHTML

1. Introduction au langage

1.1. Portée du document


La directive technique Intranet de l’armée de terre, éditée à l'été 1999, préconise l'utilisation
de la version 3.2 du langage de description de pages Web HTML.
Ce document s’inspire d’un rapport d’étude rédigé par le CERSIAT/BAE sur le langage de
description de pages Web XHTML. Afin de bénéficier des évolutions constatées dans ce
domaine, il préconise ce standard en remplacement de celui en vigueur.

1.2. Définitions
XHTML 1.0 est le premier pas vers un langage Web modulaire et extensible basé sur le
langage XML1.
Il est en fait une passerelle pour un concepteur de site Web qui souhaite bénéficier des
avantages du langage XML tout en gardant la compatibilité avec les navigateurs Web de
4ième génération (MS Internet Explorer 4, Netscape Navigator 4, Opera, etc. ).
Le langage XHTML 1.0 est une nouvelle formulation du langage HTML2 en tant
qu'application du langage XML. Il peut être considéré comme la version 5 du langage
HTML.
Ce langage reste, dans sa version 1.0, très proche du langage HTML. Ainsi un développeur
familier du langage HTML n'aura aucun problème pour apprendre et utiliser le langage
XHTML. Le langage XHTML 1.0 a été entériné le 26 janvier 2000 comme
recommandation du W3C3.

1.3. Intérêt du langage


Le bénéfice réel d’une évolution vers le langage XHTML doit être envisagé à long terme.
Le métalangage4 XML continue son expansion. Grâce à ce dernier, il est désormais possible
de définir de nouveaux langages d'applications pour le Web. Le langage XHTML en est
un exemple. Le bénéfice, en tant que développeur devient alors d'évoluer vers le langage
XML par le biais d'une phase de transition avec le langage XHTML.
Le langage XHTML 1.0 autorise les auteurs de pages Web à créer des documents qui
fonctionnent aussi bien avec les navigateurs actuels (MS Internet Explorer 4 et supérieur,

1
Extended Markup Language : langage à balisage étendu. Permet de créer ses propres balises.
2
HyperText Markup Language : langage de balises hypertextes.
3
Consortium du World Wide Web : organisme de standardisation du Web.
4
Métalangage : langage qui permet de définir d'autres langages.
11/10/2009 23242271.doc Page 3 sur 37
Systèmes Répartis INTERNET Langage XHTML

Netscape Navigator 4 et supérieur, Opera, etc.), qu’avec les logiciels « interpréteurs de


XML ». Des auteurs écrivant en XHTML utilisent les balises propres au langage HTML
(pour signaler les paragraphes, les liens, les tables, les listes, etc.) mais en suivant la syntaxe
XML qui met en avant la conformité de ces balises.

11/10/2009 23242271.doc Page 4 sur 37


Systèmes Répartis INTERNET Langage XHTML

2. Evolutions obligées des langages


« XHTML 1.0 connecte le Web du présent au Web du futur, il fournit la passerelle pour des
pages et des auteurs de sites qui entrent dans un domaine de données structurées: le monde
XML, tout en maintenant l'interprétabilité par des agents supportant HTML 4 » Tim
Berners-Lee, directeur du W3C.

2.1. Limitations du langage HTML


Le langage HTML, présent sur le Web dès 1990, est un ensemble de balises qu'un « auteur 5 »
inscrit au sein d'un document afin de le rendre affichable par les navigateurs Web. Il a subi de
nombreuses modifications jusqu’à la version 4 de l’été 1997. Son succès n’est plus à
démontrer. Il est devenu indispensable en tant que base de déploiement de sites et
d'applications sur le Web, aussi bien sur un réseau Intranet que sur le réseau Internet.
Le langage HTML s’est éloigné de ce pourquoi il avait été originellement créé. Ce constat
provient de l'action des concepteurs de navigateurs Web qui ont été plus intéressés par le
développement de fonctions propriétaires que par celui de standards (ex : différences de
comportement entre MS Internet Explorer et Netscape Navigator quant à l'interprétation de
fonctions JavaScripts).
Cependant, ce sont ces mêmes fonctions propriétaires qui font aujourd'hui de Microsoft
Internet Explorer le navigateur Internet le plus utilisé sur un réseau Intranet et sur le Net.
Nous notons également que le langage n'était pas réellement performant dans ses premières
utilisations (utilisation sous Lynx ...), mais tiré par de nombreuses innovations
technologiques, il a brillamment servi le succès du Web.

Les limitations essentielles déclarées par le consortium W3C demeurent l'extensibilité et la


portabilité.

Extensibilité
Au sein du langage HTML, en tant qu'application « finie » du langage SGML6, l'addition d'un
nouveau groupe d'éléments peut entraîner la modification intégrale des spécifications du
langage (DTD7).
Le langage XML étant un sous ensemble « ouvert » de la norme SGML, le développement et
l'intégration de nouvelles collections d'éléments sont grandement simplifiés.

Portabilité
5
Auteur : personne désirant publier de l'information sur le Web.
6
Standard Generalized Markup Language : norme d'écriture de documents (ISO 8879 :1986). La complexité de
cette norme l'a cantonné à un rôle de référence dans ce domaine. Ainsi, la version originelle d'HTML a été
décrite à partir des principes édictés dans SGML. Les versions actuelles d'HTML ne respectent plus ces mêmes
principes. XML est une version « allégée » de SGML mais qui respecte son formalisme.
7
Document Type Definition : grammaire qui permet de définir la structure et la validité d'un document par
rapport au langage dans lequel il a été écrit.
11/10/2009 23242271.doc Page 5 sur 37
Systèmes Répartis INTERNET Langage XHTML

Il était prévu que dès l'année 2003, pas moins de 75% des accès Internet pourraient être
effectués à partir de plates-formes « non-PC » telles que les agendas électroniques, les
télévisions, les réfrigérateurs, les automobiles, les téléphones, etc. Dans la majorité des cas,
l'appareil électronique n'aura pas la puissance de calcul d'un ordinateur de bureau et n'aura pas
été conçu pour supporter du langage HTML « mal formé », tel que le font les navigateurs
actuels. En effet, l'essentiel du code gère les problème dus au langage HTML peu
rigoureux.
On peut donc considérer que des applications militarisées de ce principe pourraient faire leur
apparition dans les prochaines années, notamment dans les domaines des assistants
personnels, de la téléphonie mobile et des systèmes embarqués.

2.2. De XML à XHTML


Le langage XML (Extensible Markup Language) est un ensemble structuré de règles
précisant comment doit être défini n'importe quel type de donnée partagé sur le Web. On parle
d'extensibilité parce que tout un chacun peut inventer un ensemble de balises pour une
application bien particulière, aussi longtemps que toutes les personnes se référant à cette
application utilisent ces mêmes balises.
Cet ensemble peut être adapté et utilisé pour de très nombreuses applications, comme bien
sûr, décrire la présentation d'une page Web.
L'idée maîtresse du langage XML est, à terme, de séparer totalement le contenu de la
forme. On veut pouvoir créer des bases de données de documents et ainsi rendre plus
intelligente la recherche d'informations.
Cependant, l'urgence était de faciliter, pour la masse des développeurs déjà familiers avec le
langage HTML, la transition depuis HTML vers XML. Il a été décidé de reformater le
langage HTML en termes du langage XML. Le résultat en est le langage XHTML, une
application particulière du langage XML, destinée à la description de pages Web.
Le langage XHTML est en fait, comme démontré précédemment, la norme qui va succéder à
la version 4 du langage HTML. Avec la norme XHTML, toutes les balises et attributs
d'HTML 48 continueront d'être supportés. Le langage XHTML est promis à un succès
équivalent à celui qu'a connu HTML dans la mesure où il est devenu une recommandation du
W3C, où il est la passerelle entre HTML et XML.
En ce qui concerne le langage HTML, les auteurs disposaient d'un ensemble limité
d'éléments, sans possibilité d'évolution. Le langage XHTML quant à lui, peut être étendu 9 par
toute personne qui l'utilise.
• De nouvelles balises et de nouveaux attributs peuvent être définis et ajoutés à ceux
déjà existants, rendant possibles un nouveau moyen de marier le contenu et la
programmation dans une page Web.
• Les auteurs peuvent mélanger des éléments d'HTML, avec des éléments d'autres
langages XML (WML, etc.), tout en incluant des langages développés pour les besoins
multimédia par le W3C.

8
Et donc toutes celles utilisées en HTML 3.2.
9
En utilisant les espaces de nommages avec la version 1.0 d'XHTML et en utilisant une grammaire de
description des balises (DTD ou schéma XML) dans la version 1.1.
11/10/2009 23242271.doc Page 6 sur 37
Systèmes Répartis INTERNET Langage XHTML

L'envie d'étendre les fonctionnalités du Web va consister à combiner la norme HTML avec
d'autres ensembles de balises comme :
• SMIL - Synchronized Multimedia Integration Language
• MathML - Les expressions mathématiques
• SVG - Scalable Vector Graphics (vecteurs graphiques à 2 dimensions)
• RDF - Les meta-données (Ressource Description Framework)

2.3. Quelques éléments clés


 Les éléments XHTML sont toujours en minuscules.
 Le langage XHTML est une version « disciplinée » du langage HTML.
 Des pages écrites en XHTML fonctionnent correctement avec la majorité des navigateurs.
 Tous les tags10, même ceux comportant des éléments vides doivent être clos.
 XHTML est une reformulation d'HTML en tant qu'application d'XML.
 Les éléments (balises) ainsi que les attributs sont presque tous identiques à ceux du
langage HTML 3.2 et 4.0.

10
Tag = balise : marqueur de début et/ou de f in.
11/10/2009 23242271.doc Page 7 sur 37
Systèmes Répartis INTERNET Langage XHTML

3. XHTML : sous-ensemble d'XML

3.1. Quelques caractéristiques du langage XML


Un langage de balises extensible (XML) offre une syntaxe générale, lisible par l'homme,
ayant pour finalité de décrire des données hiérarchisées. Il doit être applicable à un domaine
étendu d'applications (bases de données, commerce électronique, Java, développement Web,
recherche, etc.). Des balises personnalisées permettent la définition, la transmission, la
validation et l'interprétation de données entre applications et entre organisations.

Le langage XML n'est pas un langage de balises prédéfinies comme le langage HTML. C'est
un langage de description d'autres langages qui offre la possibilité de définir ses propres
balises (on parle de méta-langage). Le langage HTML ne décrit l'information que pour une
seule classe de documents. Le langage XML quant à lui, permet de définir des langages de
balises personnalisés pour différentes classes de documents.

Le langage XML a été conçu avec l'idée de tirer parti de la puissance et de la flexibilité du
langage SGML tout en s'affranchissant de sa complexité. Ainsi, bien que le langage XML soit
une forme restreinte de la norme SGML, il préserve sa puissance et sa richesse, de même que
toutes ses options couramment utilisées.

En tant que méta-langage, XML est extensible. Il répond à des règles de « bonne formation »
et offre un contrôle de validité de la structure par rapport à la DTD employée dans le
contexte du document.

XML est un système EDI (Echange de Données Informatique) qui permet de définir, de
valider et de partager des formats de documents. Les balises du langage XML spécifient les
éléments structurels d'un document (ex : <ville>Nancy</ville>) afin de distinguer le
« contenant » du « contenu ».

La structure des balises XML est la même que celle des balises HTML. Cependant, quelques
spécificités existent : nom des balises et attributs en minuscules, obligation d'encadrer entre
double quotes les valeurs.
Les balises XML possèdent obligatoirement une « balise de fermeture ». Les éléments sans
contenu observent la même philosophie mais les balises d'ouverture et de fermeture sont alors
confondues. La syntaxe des éléments sans contenu est la suivante11 : < nom-de-balise />.

11
Exemple : la balise <br> en HTML est une balise sans contenu qui marque l'endroit où le navigateur va
exécuter un saut à la ligne; en XML cette balise devient <br />.
11/10/2009 23242271.doc Page 8 sur 37
Systèmes Répartis INTERNET Langage XHTML

3.2. Espace de nommage XML


Un espace de nommage XML est une collection de noms, identifiés par une référence URI12,
et utilisés par les documents XML comme des types d'éléments et des noms d'attributs. En
d'autres termes, il s'agit de la liste des balises valides, qui peuvent être utilisées dans un
document répondant au contexte de cet espace de nommage.
Les espaces de nommages offrent une méthode simple pour qualifier les noms des éléments et
des attributs au sein de documents XML en les associant. Ceci permet de combiner les noms
d'éléments de différents documents au sein d'un seul document sans confusion dans les cas
d'homonymies.
Ainsi, il est nécessaire d'inclure un attribut d'espace de nommage xmlns dans la balise
<html>. Cet attribut définit quel est l'espace de nommage utilisé par le document.

<html xmlns= "http://www.w3.org/TR/XHTML1">

Avec le langage XML, il est possible de combiner plusieurs espaces de nommage au sein d'un
même document, ce qui permet d'avoir par exemple deux balises <title> : une pour le
document (comme d'habitude), et une relative au livre dont le document en question traite.
L'exemple suivant montre comment XHTML 1.0 pourrait être utilisé en conjonction avec la
recommandation MathML :

<html xmlns="http://www.w3.org>/1999/xhtml" xml:lang="fr" lang="fr">


<head>
<title>Un exemple de math</title>
</head>
<body>
<p>Ce qui suit est une balise MathML</p>
<math xmlns="http://www.w3.org/1998/Math/MathML">
<apply>
<log />
<logbase>
<cn> 3 </cn>
</logbase>
<ci> x </ci>
</apply>
</math>
</body>
</html>

12
Uniform Resource Identifier : identifiant de ressources uniformes.
11/10/2009 23242271.doc Page 9 sur 37
Systèmes Répartis INTERNET Langage XHTML

3.3. Outils
Le site W3C fournit des instructions et des outils pour favoriser la migration des documents
décrits en HTML vers XHTML 1.0.
La rubrique du site "Introduction à XHTML : différences avec HTML4" explique comment
décrire des documents en XHTML 1.0.
Le site W3C offre également des services de validation.
Le logiciel gratuit « Tidy» du W3C aide les auteurs de documents Web à convertir les
documents HTML en documents XML.
Le logiciel Tidy est intégré à un certain nombre d'outils de développement de pages Web
comme : Homesite de Allaire (logiciel sous licence), HTML Kit (logiciel gratuit
téléchargeable depuis www.chami.com/html-kit/), CoffeeCup HTML Editor (logiciel gratuit
téléchargeable depuis www.coffeecup.com/freestuff/), etc.
TidyGUI n’est autre qu’une version graphique du programme précédent, mais actuellement
disponible uniquement dans une version anglaise. Le deuxième chapitre du module présente
toutes les fonctionnalités de ce dernier.
Dans le domaine des éditeurs XHTML, XML Spy 3.5 (www.xmlspy.com) et HyperText
Builder X (www.paksoft-productions.com) sont à ce jour les meilleurs outils pour la création
de bibliothèques de balises et pour la validation « à la volée » du document au format
XHTML.

11/10/2009 23242271.doc Page 10 sur 37


Systèmes Répartis INTERNET Langage XHTML

4. « Document Type Definition »

4.1. Qu'est ce qu'une DTD ?


Une DTD (ou « Document Type Definition » : document de définition des types) est utilisé
par les applications SGML comme HTML afin de définir les règles qui s'appliquent aux
balises d'un type particulier de document.
Ce document comprend un ensemble de déclarations d'éléments et d'entités. Une DTD
XHTML décrit précisément, dans un langage compris par l'ordinateur, la syntaxe autorisée et
la grammaire des balises XHTML.

La validation du contenu d'un document XHTML implique de vérifier l'utilisation des balises
en se référant à une DTD propre au langage XHTML. La vérification entraîne la constitution
d’un rapport sur les erreurs de syntaxe et de grammaire. Il est possible de valider des
documents HTML, XHTML ou CSS13 en utilisant les outils développés par le W3C.
On peut par exemple, dans un document, inclure le lien sur la phrase « cliquer dessus pour
valider le document » vers l’adresse http ://validator.w3c.org/check/referer, ou bien faire
appel au programme « Tidy », l’utilitaire développé en partenariat avec le W3C.

Lorsque nous créons un document XHTML, nous déclarons la DTD à laquelle il doit se
conformer dans l’entête du document. Chaque DTD peut être reconnue par un identifiant
unique appelé un FPI14. Le texte qui suit le mot « PUBLIC » est un FPI faisant référence à la
DTD d'XHTML 1.0 définie par le W3C.

La norme XHTML 1.0 spécifie trois types de documents XML qui correspondent aux trois
DTD d'HTML 4.0 : Strict, Transitional ou Frameset.

4.2. XHTML 1.0 Strict

<! DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"


"DTD/XHTML11-strict.dtd>

Cette DTD doit être utilisée quand les balises des documents doivent s’inspirer uniquement de
cette dernière, lorsque les documents doivent être débarrassés des imperfections de
présentation. Cette version est à utiliser en association avec les fichiers CSS.

4.3. XHTML 1.0 Transitional

13
Cascading Style Sheet : feuilles de style permettant pour une série de documents, d'obéir aux mêmes règles de
présentation.
14
Formal Public Identifier : identifiant public formel.
11/10/2009 23242271.doc Page 11 sur 37
Systèmes Répartis INTERNET Langage XHTML

<!DOCTYPE HTML PUBLIC "--//W3C//DTD XHTML 1.0 Transitional//EN"


"DTD/XHTML11-transitional.dtd>

Cette version est à utiliser lorsque l'on souhaite profiter de toutes les options de présentation
du langage HTML alors que les internautes ne disposent pas de navigateurs Internet récents,
par exemple des navigateurs qui ne savent pas lire et interpréter les fichiers CSS.

4.4. XHTML 1.0 Frameset

<!DOCTYPE HTML PUBLIC "--//W3C//DTD XHTML 1.0 Frameset//EN"


"DTD/XHTML11-frameset.dtd>

Cette version s’utilise lorsque l'on veut compartimenter la fenêtre du navigateur à l'aide de
cadres (ou « Frames »).

Le consortium W3C travaille en ce moment au remplacement des « DTD XML » par les
« XML Schemas », équivalents des DTD mais écrites directement en XML.

11/10/2009 23242271.doc Page 12 sur 37


Systèmes Répartis INTERNET Langage XHTML

5. Différences entre XHTML et HTML

Les éléments <head> et <body> ne peuvent être omis.

Les balises et leurs attributs doivent être écrits en minuscule.

Comme le langage XML est sensible à la casse (au fait que l'on utilise les majuscules ou les
minuscules), les noms des éléments et des attributs doivent être écrits en minuscules.
Les auteurs avaient l'habitude d'écrire les noms des éléments en majuscule et les valeurs en
minuscule.
Les valeurs des attributs ne sont pas sensibles à la casse. La valeur « #ffcc33 » peut par
exemple être écrite « #FFCC33 ».

HTML XHTML
<TD BGCOLOR="#ffcc33"> <td bgcolor="#ffcc33">

Les éléments ne doivent pas se chevaucher.

La majorité des navigateurs peuvent afficher des éléments qui se chevauchent. Par exemple, si
l'on rencontre une balise « bold » (gras) à la fin d'un paragraphe, le navigateur ne fera que peu
de cas si l'on ferme le </b> avant ou après le </p>.
Avec les langages XML et XHTML, il faut absolument refermer les balises dans l'ordre
inverse de leur ouverture (respect de la structure arborescente), c'est à dire « dernier ouvert,
premier fermé ».

HTML XHTML
<p>en<b>gras !</p></b> <p>en<b>gras !</b></p >

Bien que le chevauchement ait été dès le début illégal en HTML, il a été largement toléré par
les navigateurs existants.
Un document XHTML doit être en conformité avec le langage XML. Il doit suivre la syntaxe
XML de base (respect des règles de « bonne formation »).
S'il ne la respecte pas, le « parser XML » (programme qui parcourt un document et le traite au
fur et à mesure) n'est pas tenu de poursuivre le traitement du document. Allant à l'encontre des
parsers HTML classiques (navigateurs), un parser XML ne tentera pas de retrouver et de
« supposer » ce que l'on avait en tête si la syntaxe n'est pas correcte.

11/10/2009 23242271.doc Page 13 sur 37


Systèmes Répartis INTERNET Langage XHTML

Tous les éléments non-vides doivent être fermés.

Tous les éléments doivent être fermés, explicitement. Par exemple, beaucoup de gens utilisent
en HTML la balise <p> pour délimiter des paragraphes. Elle est considérée comme une balise
« non-vide » puisqu'elle contient le texte du paragraphe.

HTML XHTML
Premier paragraphe<p> <p>Premier paragraphe</p>
Second paragraphe<p> <p>Second paragraphe</p>

Eléments HTML affectés : <basefont>, <body>, <colgroup>, <dd>, <dt>, <head>,


<html>,<li>, <p>, <tbody>, <thead>, <tfoot>, <th>, <td>, <tr>.

Les éléments vides doivent être terminés.

Les éléments vides sont des éléments sans balises de fermeture et donc sans contenu.
Ainsi, alors qu'une balise <p> encadre un paragraphe et qu'une balise <b> encadre du texte
mis en gras, <br> est une balise « vide » puisqu'elle marque un saut à la ligne et n'encadre
donc aucun texte. Il existe plusieurs autres balises comme celle-ci, comme par exemple : <hr>
et <img>.
Tous les éléments vides doivent utiliser la syntaxe « élément vide » du langage XML avec un
slash « / » avant les symboles de clôture de balise : le signe « strictement supérieur » (la balise
<br> devient <br />).
Il faut noter l'espace entre l'élément texte de la balise et le « /> » qui permet la compatibilité
avec les navigateurs actuels.

HTML XHTML
<hr> <hr />
<br> <br />
<input ...> <input... />
<param ...> <param... />
<img src="monimage.gif"> <img src="monimage.qif" />

Eléments HTML affectés : <area>, <base>, <br>, <col>, <frame>, <hr>, <img>, <input>,
<isindex>, <link>, <meta>, <option>, <param>.

11/10/2009 23242271.doc Page 14 sur 37


Systèmes Répartis INTERNET Langage XHTML

Les valeurs des attributs doivent être écrites entre guillemets.

La syntaxe <img ... border=0> n’est plus acceptée. On doit désormais placer toutes les
valeurs des attributs entre guillemets, même si l'on a affaire à des valeurs numériques.

HTML XHTML
<img ... border=0> <img ... border="0">

Les valeurs des attributs ne peuvent plus être réduites.

Un attribut est réduit quand il ne peut avoir qu'une seule valeur.


Le langage XML n'autorise pas la réduction des attributs.
Les attributs qui représentent leur valeur par eux-mêmes doivent être étendus (ex : <td
nowrap>texte</td> devient <td nowrap="nowrap">texte</td)

HTML XHTML
<dl compact> <dl compact="compact">
<ul compact> <ul compact="compact">
<option ... selected> <option ... selected="selected">
<td nowrap>texte</td> <td nowrap="nowrap">texte</td>
<input type="radio" ... checked> <input type="radio" ... checked="checked" />
<input type="checkbox" ... checked> <input type="checkbox" ... checked="checked" />

Les éléments <script> et <style>.

En XHTML, les éléments de script et de style sont déclarés comme ayant un contenu du type
CDATA (structure SGML).
En conséquence, les éléments ' < ' vont être traités comme le commencement de balises, et les
entités comme ' &lt; ' et ' &amp; ' vont être reconnus par le parseur XML comme étant des
références respectives aux caractères ' < ' et ' & '.
Envelopper le contenu d'éléments de script ou de style par une section définie en CDATA
empêche l'expansion de ces entités.
Le seul délimiteur de fin de structure CDATA est l’association des caractères « ]]> ».

11/10/2009 23242271.doc Page 15 sur 37


Systèmes Répartis INTERNET Langage XHTML

XHTML
<script language="Javascript" type="text/javascript">
<![CDATA[
document.write("<b>Bonjour le monde !</b>")
]]>
</script>

Si le navigateur reconnaît le type CDATA (cas des navigateurs prescrits dans la directive
technique Intranet armée de terre), nous devrions alors voir s'afficher « Bonjour le monde ! ».
Nous pouvons nous dispenser d'utiliser la structure CDATA :
• en écrivant <script language="JavaScript" src="monscript.js"></script> pour lire le
code des scripts du fichier monscript.js à partir du serveur ;
• en utilisant <link href="mafeuilledestyle.css" /> pour charger un fichier CSS externe.

Le nom de l'attribut est remplacé par id.

L'attribut name en HTML sert à nommer les ancres, les formulaires, etc. Il est à présent
totalement remplacé par l’attribut id.
Malheureusement, les anciens navigateurs ne savent pas encore interpréter l’attribut id. Il est
donc préférable de placer les deux attributs et de leur assigner la même valeur, ou alors
supprimer id.

HTML XHTML
<a name="haut"></a> <a name="haut" id="haut"></a>

11/10/2009 23242271.doc Page 16 sur 37


Systèmes Répartis INTERNET Langage XHTML

6. Exemples XHTML
Les noms des balises sont issus des travaux de description faits par le WDVL15 pour spécifier
notamment les équivalences entre XHTML et HTML 4.

6.1. Structure du document


Un document XHTML se compose de trois parties principales :
• L’élément DOCTYPE
• L'entête (head)
• Le corps du document (body)

La structure de base du document est donc :

<!DOCTYPE ... >


<html .... >
<head...>..... </head>
<body ... >... </body>
</html>

La section <head> contient des informations sur le document, comme par exemple le nom de
l’auteur du document, les droits de reproduction, les mots clés, etc.
La section <body> contient le document à afficher.

Voici un document XHTML minimal :

1:<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"


"DTD/XHTML11-transitional.dtd">
2 :<html xmlns="http://www.w3.org/1999/XHTML">
3: <head>
4: <title>document minimal</title>
5: </head>
6: <body>
7: <p>

15
Web Developer's Virtual Library (http://www.wdvl.com) : site de l'association de développeurs web. Cette
association influe directement et efficacement les travaux de l'IETF et des groupes de normalisation (ISO et
W3C) pour tout ce qui concerne les langages utilisés par le service Web.
11/10/2009 23242271.doc Page 17 sur 37
Systèmes Répartis INTERNET Langage XHTML

8: <a href="http://validator.w3.org/check/refer">valide</a>
9: </p>
10: </body>
11:</html>

La numérotation des lignes ne fait pas partie du fichier HTML, mais elle facilite l'association
avec les commentaires suivants :
1. Spécifie le type de document.
2. Ouvre et déclare ce document comme étant un document HTML qui s’appuie sur un
espace de nommage XML.
3. Ouvre l'en-tête qui contient les items relatifs au document.
4. Définit le titre utilisé dans la barre de titre du navigateur, les favoris, etc.
5. Ferme l'entête.
6. Ouvre le corps du document à afficher.
7. Débute le paragraphe.
8. Par exemple, définit un lien vers un outil de validation du W3C.
9. Ferme le paragraphe.
10. Ferme le corps de document.
11. Ferme le document HTML.

6.2. Eléments d'entête

<head>
<title>Page d'accueil du site Web du CERSIAT-BAE</title>
<base href="http://www.cersiat-bae.terre.def/" />
<link rel = "stylesheet"
href = "/style.css"
type = "text/css" />
<meta name = "Description"
content = "Page d'accueil du site Web du CERSIAT-BAE" />
<meta name = "Keywords"
content = "CERSIAT-BAE, publication, DHTML, études" />
<meta name = "Copyright"
content = "2000 CERSIAT-BAE/SVTRS" />
</head>

L'élément <head> contient des méta-données relatives au document, ainsi que d'autres

11/10/2009 23242271.doc Page 18 sur 37


Systèmes Répartis INTERNET Langage XHTML

informations utilisées par le navigateur mais qui ne sont pas affichées : par exemple, l'URI de
la feuille de style à utiliser.

< title >


L’élément <title> a un rôle exactement identique à celui qu’il détenait au sein du langage
HTML.

< base >, < link >, < meta >


Ces éléments n'ont pas de contenu et leur balise se termine par « /> ».

6.3. Eléments du corps de page

< body >


L’élément <body> a un rôle exactement identique à celui détenu au sein du langage HTML.

<p>
Contrairement au langage HTML, la balise <p> de fermeture ne peut pas être omise. Ceci
posera un certain nombre de problèmes à tous ceux qui ont pris la mauvaise habitude de
considérer la balise <p> comme marqueur de fin de paragraphe plutôt que comme un
conteneur.

<p> Ceci est un paragraphe. Noter la balise de clôture. </p>


<p> Ceci est le paragraphe suivant. </p>

<a>
La caractéristique fondamentale du Web est bien sûr le lien hypertexte. La balise qui crée ces
liens est appelée balise d'ancrage. Elle s’emploie de la même manière que dans le langage
HTML.

< img >


Les images ont énormément fait évoluer l'aspect du Web. Il est à noter que toutes les valeurs
des attributs sont entre guillemets et que les trois derniers attributs (border, hspace et align) ne
peuvent être utilisés avec une DTD strict.

<img src = "/images/graphics.gif"


alt = "Graphics"
width = "108"

11/10/2009 23242271.doc Page 19 sur 37


Systèmes Répartis INTERNET Langage XHTML

height = "44"
border = "0"
hspace = "16"
align = "left"
/>

Listes
Ce paragraphe rappelle les types de listes qui préexistaient dans le langage HTML :
• Les listes ordonnées où les items sont ordonnés, par exemple :
1. Le premier
2. Le second

• Les listes non ordonnés où les items sont précédés de puces graphiques, comme par
exemple :
• Le premier
• Le second

• Les listes de définition comme par exemple :

<dl>
<dt> liste ordonnée </dt>
<dd> les éléments de la liste sont ordonnés, c'est à dire par numéros
<ol>
<li>le premier </li>
<li>le second </li>
</ol>
</dd>
<dt> liste sans ordre </dt>
<dd> les éléments de la liste sont précédés par des puces :
<ul>
<li>le premier </li>
<li>le second </li>
</ul>
</dd>
<dt> liste de définition</dt>
<dd> Ceci est une liste de définition : </dd>
</dl>

11/10/2009 23242271.doc Page 20 sur 37


Systèmes Répartis INTERNET Langage XHTML

Contrairement au langage HTML, les balises de clôture </li>, </dt> et </dd> ne peuvent être
omises.

Formulaires

<p>
Le second bouton radio devrait être sélectionné, et l'option « second » de la liste qui suit
devrait également être sélectionné.
</p>
<form rnethod="get" action="">
<p>
<input type = "radio"
name = "n1'
value = "v1"
/>
<input type = "radio"
name = "n2"
value = "v2"
checked = "checked"
/>
<select name =
<option>premier</option>
<option selected="selected">second</option>
</select>
</p>
</form>

Les formulaires ont énormément fait évoluer l'utilisation interactive du Web. Toutes les
balises du langage HTML sont reprises dans le langage XHTML.
En conclusion, tous les éléments insérés dans le document XHTML, non tirés du langage
HTML, doivent être définis par rapport aux DTD et/ou XML Schémas disponibles sur le site
concerné.

11/10/2009 23242271.doc Page 21 sur 37


Systèmes Répartis INTERNET Langage XHTML

7. Conclusion
Depuis sa première version, le langage XHTML 1.0 ne cesse d’évoluer au sens XML du
terme. Publiée en tant que Recommandation W3C le 31 mai 2001, XHTML1.1 est une
réécriture de XHTML1.0 sous forme modulaire permettant la définition de nouveaux
modules par les développeurs et concepteurs de sites :
"Cette recommandation définit un nouveau type de document XHTML modulaire. Le
premier but de ce type de document est de servir de base aux futurs types de document
de la 'famille' XHTML étendue. Le deuxième but est de fournir un type de document
qui oublie définitivement les fonctionnalités obsolètes du langage HTML,
fonctionnalités conservées jusqu’alors dans les types de document XHTML1.0. Cette
version est essentiellement une re-formulation modulaire de la DTD « XHTML1.0
Strict ».

Le consortium W3C a publié en 2002 la norme SMIL2.0 en tant que Recommandation, ce qui
a entraîné la publication d’une version de travail fortement modifiée du profil
XHTML+SMIL. Par exemple, les composants SMIL2.0 peuvent être désormais utilisés pour
intégrer des timings dans les documents XHTML.
Le consortium W3C vient de publier (décembre 2002) de nouveaux documents de travail de
la version 2.0 du langage XHTML.
En conclusion, il devient de plus en plus pressant d’utiliser dès à présent le langage
XHTML1.0 sur les différents sites Intranet de l'armée de terre, compte tenu des avantages
décrits dans les sections précédentes.
Les documents ainsi créés pourraient ensuite évoluer sans heurt vers la version 1.1 d'XHTML.
Ils seraient alors conformes à 100% à la norme XML (extensibilité), tout en restant proches de
la syntaxe du langage HTML 3.2 des documents actuellement disponibles sur les différents
sites.
Autre avantage, l'écriture dans le langage XHTML imposant une plus grande rigueur, le code
généré est moins permissif. Le navigateur passant moins de temps dans la correction du code
à afficher, des gains dans les délais d'affichage des pages devraient être constatés.
Dans la mesure où la directive technique Intranet Armée de Terre préconise l'utilisation de
navigateurs de 4ème génération, nous pouvons dès aujourd'hui autoriser l'utilisation XHTML
1.0 pour le développement des pages Web. Pour ce faire, nous pouvons, soit se conformer au
standard W3C pour re-écrire les pages Web, soit utiliser un programme tel que Tidy en
association avec le navigateur, soit enfin utiliser des environnements de développement de
pages Web intégrant cette fonctionnalité. La migration des pages existantes n'est pas une
obligation mais peut présenter un certain intérêt dans le moyen et le long terme.
De plus en plus, le contenu informationnel des documents qui seront publiés sur l'Intranet de
l'armée de terre associera des données16 provenant de systèmes de gestion de bases de données
hétérogènes. La norme XML démontrera alors tout son intérêt pour répondre à ces besoins
croissants d'interopérabilité. C'est pourquoi, il est nécessaire de ne pas prendre de retard par
rapport aux technologies liées à XML.
Le langage XHTML 1.0 est une étape transitoire incontournable avant de passer au tout XML.

16
Dont des documents, des images, des sons, ...
11/10/2009 23242271.doc Page 22 sur 37
Systèmes Répartis INTERNET Langage XHTML

Chapitre 2 : Logiciel TidyGUI


Ce chapitre montre comment utiliser le logiciel TidyGUI, principal outil gratuit de conversion
de documents à la norme XHTML (voire XML).
Il s’agit tout simplement d’une version graphique du programme d’origine Tidy référencé sur
le site de W3C.
Pour obtenir des détails supplémentaires sur le logiciel Tidy, mais en langue anglaise, nous
sommes invités à nous référer à la page de Raggett sur le site du W3C à l’adresse :
www.w3.org/People/Raggett/tidy/Overview.html.
Cette page conseille dorénavant de se rendre sur le site d’un groupe de développeurs chargés
de maintenir le programme, site dont l’adresse est : tidy.sourceforge.net.

1. Fenêtre principale de TidyGUI

L’utilisation de TidyGUI passe par la sélection préalable d’un fichier HTML (champ Source
file) (1) que nous voulons à priori convertir au format XHTML (voire XML), ou dont nous
voulons simplement nettoyer le code source.
Avant de se précipiter sur la conversion probable et intégrale du fichier (3), il convient de
passer en revue les options de configuration (2).
Avant de visualiser le résultat prêt à l'affichage (4), l’utilisateur se doit de lire les
commentaires et conseils de la première zone de texte sur fond grisé (7), de s’occuper des
avertissements et des erreurs montrés dans la deuxième zone de texte sur fond blanc (8).

11/10/2009 23242271.doc Page 23 sur 37


Systèmes Répartis INTERNET Langage XHTML

1.1. Fichier d’entrée


Pour spécifier le fichier d'entrée, l’utilisateur a trois solutions : taper son nom dans le champ
'Source file' (1), ou le tirer-déposer depuis un gestionnaire de fichiers, ou utiliser le bouton de
parcours des fichiers 'Browse'.

1.2. Bouton de configuration


L’activation du bouton de configuration (2) ouvre une boîte de dialogue permettant de choisir
de nombreuses options.

1.3. Bouton 'Tidy!'


L’activation du bouton (3) entame le nettoyage du fichier indiqué en entrée. Si l’utilisateur ne
le précise pas dans les options de configuration, le logiciel TidyGUI ne modifie jamais le
fichier d'entrée et ne produit pas de fichier d'erreur. Les résultats sont disponibles dans
l'interface utilisateur (7) (voir ci-dessus la fenêtre de production et la zone d'erreur (8)).
Vu le nom du logiciel, il paraît évident que le programme d'origine Tidy ait été incorporé au
logiciel TidyGUI. Néanmoins, ce dernier ne lance pas de processus Tidy séparé pour faire son
travail.

1.4. Bouton 'Show Output'


Un clic sur ce bouton (4) ouvre une fenêtre montrant le code source du fichier nettoyé
(XHTML Output par exemple). Ce résultat peut être sauvegardé dans un fichier.
Le bouton ‘About’ (5) de la fenêtre principale renseigne sur la propriété du logiciel, le bouton
‘Quit’ (6) permet simplement de quitter le logiciel.

11/10/2009 23242271.doc Page 24 sur 37


Systèmes Répartis INTERNET Langage XHTML

2. Configuration

Les options de configuration sont réparties entre six groupes. Chaque groupe d'options est
accessible en sélectionnant un onglet de la boite de dialogue (1).

Des options de production sont directement disponibles dans la boite de dialogue de


configuration. L’utilisateur peut charger ou sauvegarder une configuration depuis ou vers un
fichier (2). Le format de fichier texte utilisé par TidyGUI (tidy.cfg par défaut) demeure le
même que celui utilisé par le programme Tidy.

L’outil TidyGUI produit par défaut des paramètres en ligne de commandes (3), paramètres
basés sur les options cochées dans la boite de dialogue de configuration. La chaîne de ligne de
commande est exportée vers le presse-papiers de Windows.

Chaque fois que nous changeons de configuration, nous devons cliquer sur le bouton 'Apply'
(4) avant de lancer le nettoyage d'un fichier.

Pour remettre toutes les propriétés à leurs valeurs par défaut, il suffit de cliquer sur le bouton
'Reset' (5).

Les tableaux suivants décrivent successivement les options de configuration de chaque onglet.
Les copies d’écran ont été réalisées avec les options par défaut du logiciel.

11/10/2009 23242271.doc Page 25 sur 37


Systèmes Répartis INTERNET Langage XHTML

2.1. Options d'éléments HTML

Étiquette Nom d'option


Valeurs Description
d'option Tidy

Contrôle le contenu de la déclaration


doctype omit, auto, strict,
Doctype doctype produite par Tidy selon la
loose, <fpi>
valeur choisie (1).

Ajoute une balise meta indiquant


Add Tidy
tidy-mark booléen que le document a été généré par
meta element
Tidy (2).

Suppress Enlève les balises de fermeture


optional end hide-endtags booléen facultatives lors de la production du
tags document (3).

Enclose text in Encadre tout bloc de texte trouvé


BODY within enclose-text booléen dans le corps de la page <BODY>
<P>'s par un élément <P>.

Enclose text in Encadre tout texte trouvé au sein de


enclose-block-
blocks within booléen n'importe quel élément HTML par
text
<P>'s un élément <P>.

New empty new-empty- Déclare des nouvelles balises sans


tags tags contenu (4).

New inline new-inline- Déclare des nouvelles balises non


tags tags vides (4).
chaîne (liste des
balises séparée par
New block- new- un espace ou une Déclare des nouveaux blocs de
level tags blocklevel-tags virgule) balises (4).

Déclare les nouvelles balises qui


doivent être traitées exactement
New pre tags new-pre-tags
de la même façon que l'élément
HTML <PRE> (4).

(1) Exemple de déclaration doctype avec la valeur strict :


11/10/2009 23242271.doc Page 26 sur 37
Systèmes Répartis INTERNET Langage XHTML

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"


"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
La valeur omit empêche l’ajout d’une déclaration doctype.
La valeur loose fait que la déclaration doctype se réfère à une DTD transitionnelle.
La valeur auto laisse au programme Tidy le soin de choisir la déclaration adéquate en
fonction du contexte.
Le choix de la valeur <fpi> permet à celui qui convertit son site de décider d’une valeur
commune à toutes ses pages, valeur ajoutée dans la déclaration derrière le mot
PUBLIC. Cette chaîne est affectée à la variable doctype du programme.

(2) Exemple de balise meta ajoutée en cas de validation par Tidy :


<meta name="generator" content="HTML Tidy, see www.w3.org" />

(3) Cette option est ignorée dans le cas d'une sortie au format XHTML ou XML.

(4) Ceci peut être utile pour que le logiciel accepte des balises non-HTML.

2.2. Options de nettoyage

11/10/2009 23242271.doc Page 27 sur 37


Systèmes Répartis INTERNET Langage XHTML

Étiquette d'option Nom d'option


Valeurs Description
TidyGUI HTML Tidy

Remplace les éléments HTML


Replace
excédentaires et leurs attributs par des
presentational tags clean
booléen règles de style et des balises de structure
and attrs by style
normalisés (attribut align par exemple)
rules
(1).

Ignore les éléments <font> et <center>


Discard <font> and
drop-font-tags booléen au lieu de les remplacer par les règles de
<center> tags
style correspondantes.

Replace <i> by
logical- Remplace les éléments <i> et <b> par
<em> and <b> by booléen
emphasis les éléments <em> et <strong>.
<strong>

Si l’option est cochée, les paragraphes


Discard empty drop-empty- vides sont ignorés. Si l’option est
booléen
paragraphs paras décochée, les paragraphes vides sont
remplacés par une paire d'éléments <br>.

Supprime les inclusions de Microsoft


Source document
Word 2000 après que l'on ait sauvegardé
is from MS Word word-2000 booléen
un document Word comme "pages Web"
2000
(2).

Remplace les traits d'union inattendus


fix-bad-
Fix bad comments booléen par des caractères "=" quand il rencontre
comments
par hasard des traits d'union adjacents.

Remplace les caractères antislash "\"


Replace '\' in URLs
fix-backslash booléen dans les URLs par des caractères slashs
by '/'
"/".

Default text for Définit le texte par défaut pour l'attribut


alt-text chaîne
ALT attributes alt de la balise <img> (3).

(1) Sans cocher l’option, il effectue les remplacements suivants :


AVANT <p align=”right”>
11/10/2009 23242271.doc Page 28 sur 37
Systèmes Répartis INTERNET Langage XHTML

APRES <p style=”text-align: right”>

En cochant l’option, il ajoute des déclarations de classes de style dans l’entête :


<style type="text/css">
div.c4 {text-align: center}
p.c3 {text-align: center}
p.c2 {text-align: right}
h1.c1 {text-align: center}
</style>

(2) Le choix de cette option peut s’avérer judicieux dans le cas de la conversion de
documents Word 2000 en pages Web.
En effet, ces conversions utilisent les langages XML et VML avec des options
propriétaires de Microsoft. La structure et le code source généré ne sont pas faciles à
maintenir pour l’auteur de pages qui débute. Cette option permet de simplifier et de
rendre plus abordable la conversion initiale du document.
Cependant, le nettoyage n’est pas complet. Il maintient l’existence et l’appel à un
fichier compilé.
<link rel="Edit-Time-Data" href="./UtiliserTidyGUI_fichiers/editdata.mso" />
Il laisse les caractères antislash dans les chemins. Pour pallier cet oubli, il faut cocher
dans le même onglet de configuration l’option Replace '\' in URLs by '/'.

(3) Il est possible ici d’ajouter un commentaire par défaut à toutes les images qui n’en sont
pas pourvus. L’ajout de ce commentaire n’écrase pas les informations préexistantes.

2.3. Options XML

Étiquette Nom
d'option d'option Valeurs Description
TidyGUI HTML Tidy

Utilise les fonctions de correcteur syntaxique XML


Input is input-xml booléen (ou parseur) plutôt que celles de correcteur syntaxique
XML
HTML .

11/10/2009 23242271.doc Page 29 sur 37


Systèmes Répartis INTERNET Langage XHTML

Étiquette Nom
d'option d'option Valeurs Description
TidyGUI HTML Tidy

Output as
output-xml booléen Produit en sortie le fichier au format XML.
XML

Output as
output-xhtml booléen Produit en sortie le fichier au format XHTML (1).
XHTML

Add XML Ajoute la déclaration (<?xml version=...?>) pour les


add-xml-decl booléen
declaration fichiers de sortie aux formats XML ou XHTML.

Assume Remplace les instructions de traitement HTML


XML assume-xml- (chaîne '>') par des instructions XML (chaîne '?>').
booléen
processing procins Automatiquement activé si le fichier d'entrée est au
instructions format XML.

Add Ajoute l'expression xml:space="preserve" aux


xml:space add-xml- éléments HTML tels que <pre>, <style> et <script>
booléen
attribute as space pour préserver les caractères d’espacements
needed rencontrés (2).

(1) Le choix de cette option entraîne celui de la suivante.


11/10/2009 23242271.doc Page 30 sur 37
Systèmes Répartis INTERNET Langage XHTML

(2) Sans cette option, tout caractère d’espacement superflu est éliminé, de même qu’une
succession d’espaces se trouve réduit à un seul.

2.4. Options d'encodage

Étiquette
Nom d'option
d'option Valeurs Description
HTML Tidy
TidyGUI

char-encoding Raw,
Character ASCII, Détermine comment le logiciel Tidy
encoding Latin 1, interprète les jeux de caractères :
UTF-8, • Raw : conserve les caractères
ISO-2022, dont les valeurs de sortie sont
MacRoman supérieures à 127 sans les
convertir en entités (1)
• ASCII : accepte les valeurs des
caractères Latin 1, mais utilise
des entités pour les valeurs
supérieures à 127
• Latin 1 : écrit tous les caractères
dont les valeurs sont supérieures
à 255 comme des entités
• UTF-8 : encode à la fois les

11/10/2009 23242271.doc Page 31 sur 37


Systèmes Répartis INTERNET Langage XHTML

Étiquette
Nom d'option
d'option Valeurs Description
HTML Tidy
TidyGUI

entrées et les sorties au format


UTF-8
• ISO-2022 : encode des fichiers
selon le format ISO2022 (cf.
famille ISO 2022-JP)
• MacRoman : utilise le jeu de
caractères Apple MacRoman

Ecrit les entités autres que ceux du


Output numeric
numeric- langage XML 1.0 de base sous une
character booléen
entities forme numérique plutôt que sous la
entities
forme de noms.

Conformément aux préférences de


certains éditeurs, transforme en sortie
les caractères « " » sous la forme
Output " « &quot; ».
character as quote-marks booléen Transforme en sortie le caractère
&quot; apostrophe « ' » sous la forme
« &#39; » parce que de nombreux
navigateurs web ne supportent toujours
pas le caractère « &apos; ».

Output non-
Produit en sortie les espaces insécables
breaking
quote-nbsp booléen sous la forme d'entités, au lieu du
spaces as
caractère U+00A0 d'Unicode.
entities

Output
Ecrit en sortie les caractères « & » sous
unadorned & quote-
booléen la forme « &amp; ». Seul, le caractère
characters as ampersand
« & » signifie le début d’un balisage.
&amp;

(1) Le choix de la valeur raw entraîne la disparition de tous les caractères particuliers
précédés du signe « & ». Par exemple, l’espace insécable (&nbsp ;) est remplacé par un
espace.

11/10/2009 23242271.doc Page 32 sur 37


Systèmes Répartis INTERNET Langage XHTML

2.5. Options de mise en page

Étiquette d'option Nom d'option


Valeurs Description
TidyGUI HTML Tidy

Si la valeur 'yes' est choisie, le logiciel


Indent block-level no, yes, Tidy indente les blocs d'éléments. Si la
indent
tags auto valeur 'auto' est choisie, l'indentation
dépend du contexte.

indent- Débute chaque attribut sur une nouvelle


Indent attributes booléen
attributes ligne.

Fixe le nombre d'espaces dont il faut


Indent spaces indent-spaces entier indenter le contenu lorsque l'indentation
est activée.

Wrap attribute Coupe les valeurs d'attributs pour faciliter


wrap-attributes booléen
values la lecture.

Fixe la valeur de la marge droite à


Wrap margin wrap entier
l'édition (1).

Au sein d’un script, coupe les valeurs


Wrap chaine
wrap-script- d'attributs à chaînes de caractères sur
literals in script booléen
literals deux lignes en insérant un « \ » en fin de
attributes
ligne intermédiaire.

11/10/2009 23242271.doc Page 33 sur 37


Systèmes Répartis INTERNET Langage XHTML

Étiquette d'option Nom d'option


Valeurs Description
TidyGUI HTML Tidy

Préserve les caractères blancs internes


Literal attributes literal-attributes booléen
aux valeurs d'attribut.

Wrap lines in ASP


Applique la marge aux pseudo éléments
pseudo-elements wrap-asp booléen
ASP.
(<%...%>)

Wrap lines in
Applique la marge aux pseudo éléments
JSTE pseudo- wrap-jste booléen
JSTE.
elements (<#...#>)

Wrap lines in PHP


Applique la marge aux instructions de
processing wrap-php booléen
code PHP.
instructions

Produit une ligne de rupture (ligne vide)


Break before <br> break-before-br booléen avant chaque élément <br> pour la
lisibilité du code.

Convertit en sortie tous les noms


Uppercase tags uppercase-tags booléen
d'éléments HTML en majuscules.

Uppercase uppercase- Convertit en sortie tous les noms


booléen
attributes attributes d'attributs en majuscules.

Spaces/tab on Fixe le nombre de caractères espaces


tab-size entier
input interprété comme une tabulation (2).

(1) La valeur par défaut est trop petite. Il est conseillé de l’augmenter à 80 pour éviter de
trop fréquents retours à la ligne dans le code source.

(2) Une valeur de 2 est suffisante pour améliorer la lisibilité. Quant au programme Tidy, il
ne produit jamais de fichiers avec tabulations.

11/10/2009 23242271.doc Page 34 sur 37


Systèmes Répartis INTERNET Langage XHTML

2.6. Options opérationnelles

Étiquette d'option Nom d'option


Valeurs Description
TidyGUI HTML Tidy

Suppress tidied markup Détermine si Tidy génère une version


booléen
document output prête à l'emploi (1).

Quiet (no
'Parsing X', Ne produit pas le message de bienvenue
quiet booléen
guessed DTD or ou le nombre d'erreurs et d'avertissements.
error summary)

Si la case est décochée, les avertissements


Show warnings show-warnings booléen
sont supprimés (2).

Utilise le fichier d'entrée pour créer une


Create a
séquence de diapositives sous la forme de
sequence of split booléen
pages Web, découpant le fichier à chaque
slides
élément <h2> rencontré (3).

Les paramètres qui suivent sont pris en compte par TidyGUI


si l’on choisit de sauvegarder vers un fichier de configuration.

11/10/2009 23242271.doc Page 35 sur 37


Systèmes Répartis INTERNET Langage XHTML

Étiquette d'option Nom d'option


Valeurs Description
TidyGUI HTML Tidy

Write tidied Le fichier en sortie écrase le fichier


document back write-back booléen d’entrée.
to source file

Keep time of
keep-time booléen Conserve la date du fichier d’entrée.
source file

Format error Choisit comme format de sortie des


output for GNU gnu-emacs booléen erreurs un format plus facilement
Emacs exploitable sous GNU-Emacs.

Error file error-file chaîne Indique le fichier d’erreur.

(1) Tidy ne génère pas cette conversion s'il rencontre des balises inconnues, ou des double
quotes fermantes manquantes autour des valeurs d'attribut, ou des caractères '>'
manquants sur les balises.
(2) Ceci peut être utile quand quelques erreurs sont cachées dans une floppée
d'avertissements.
(3) Les pages Web produites sont toutes reliées entre elles par des barres de navigation du
style de la copie d’écran ci-dessous, à l’image d’une conversion de présentation
PowerPoint.

Ces barres apparaissent aussi bien dans l’entête du document, que dans le pied de
document. Une balise meta appropriée assure la transition entre les différentes pages.

<meta content="blendTrans(Duration=3)" http-equiv="Page-Enter" />

11/10/2009 23242271.doc Page 36 sur 37


Systèmes Répartis INTERNET Langage XHTML

3. Fenêtre de sortie
La fenêtre de sortie de TidyGUI est une simple zone de texte montrant le contenu du fichier
d'entrée validé par Tidy.

Ce contenu en mémoire peut être :


• édité si nécessaire (décocher la case 'Read-only')
• sauvegardé vers un fichier (cliquer le bouton 'Save as...').

Nous pouvons aussi, en cliquant sur le bouton ‘Font…’, changer quelques caractéristiques de
la police de caractères à l’affichage, comme le style (gras ou…), la taille ou le jeu de
caractères.
La fenêtre de sortie n’affiche rien quand nous choisissons de découper notre page Web en
séquence de diapositives (autant de pages Web produites que de balises H2 rencontrées).

11/10/2009 23242271.doc Page 37 sur 37