Traduction fran�aise: Thierry B�zecourt, Avril 1999. ( 14
Octobre 1997 : La mini-HOWTO Linux HTML Validation n'est
plus maintenue par son auteur. Si vous souhaitez vous en
occuper, en fran�ais ou en anglais, merci de contacter
<
[email protected]> ) HTML Validation HOWTO
Keith M. Corbett <
[email protected]>
v0.2, 29 Octobre 1995
Cette documentation a pour objet d'expliquer l'utilisation du pro�
gramme nsgmls afin de v�rifier qu'un document HTML est conforme � la
d�finition de type de document (ou "DTD") HTML 2.0. Parmi les d�fini�
tions de HTML � partir de SGML, ce DTD est la plus fr�quemment
adopt�e. Il d�finit ainsi un sous-ensemble du balisage HTML correspon�
dant � la pratique courante, ayant les meilleures chances de porta�
bilit� sur un nombre important d'agents utilisateurs de HTML (ou "nav�
igateurs").
______________________________________________________________________
Table des mati�res
1. Introduction
1.1 Co�ts et b�n�fices
1.2 Pour d�buter
2. Les Outils
2.1 "HTML Check Toolkit"
2.2 L'analyseur nsgmls
2.3 T�l�charger les sp�cifications de HTML
3. Analyser un document HTML
3.1 Entr�e de l'analyseur
3.2 Sortie de l'analyseur
3.3 Messages de l'analyseur
3.4 Code de retour
4. Liens
______________________________________________________________________
11.. IInnttrroodduuccttiioonn
Ceci est un guide d'utilisation de l'analyseur nsgmls pour valider et
traiter des documents HTML.
11..11.. CCoo��ttss eett bb��nn��ffiicceess
Vous enrichirez vos documents HTML en utilisant toutes les capacit�s
de SGML. Mais la validation de vos documents par r�f�rence au DTD HTML
a un certain nombre d'avantages et d'inconv�nients, avant tout parce
que vous avez affaire � un dialecte de HTML plus restreint que celui
qui est utilis� actuellement. Les r�gles "officielles" sp�cifiant la
structure d'un document en HTML et les r�gles concernant le balisage
des donn�es en SGML sont plus strictes que ne l'est la pratique
courante sur le Web.
La premier point, et le plus important, est d'avoir conscience que le
codage HTML correct se r�duit � un ensemble normalis� de balises.
Il n'existe pas de DTD couramment accept� qui refl�te exactement le
"HTML des navigateurs", tel qu'il est compris par de nombreux
programmes clients de navigation. Pour l'essentiel, le DTD HTML 2.0
contient les balises et les attributs les plus commun�ment utilis�s
sur le Web autour de juin 1994. Divers efforts visant � d�finir un DTD
HTML+ ou HTML 3.0 se trouvent plus ou moins dans une impasse. Et aucun
des DTD en circulation ne reconna�tra l'ensemble des balises rendues
populaires par des �diteurs de navigateurs comme Netscape et
Microsoft.
11..22.. PPoouurr dd��bbuutteerr
Contrairement � ce que beaucoup de gens croient, il est possible de
travailler en SGML sans y consacrer trop de temps ou d'argent. On peut
mettre en place un environnement de d�veloppement solide en utilisant
exclusivement des logiciels disponibles gratuitement sur un grand
nombre de plateformes, y compris Linux, DOS et la plupart des stations
de travail Unix. Gr�ce � quelques personnes qui s'y sont consacr�es,
tous les outils dont vous avez besoin pour travailler en SGML sont
disponibles publiquement sur Internet.
La mise en place de votre environnement (l'analyseur et les
biblioth�ques) prend un peu de temps, mais pas autant qu'on pourrait
le croire.
Au cas o� vous �prouveriez l'envie de lire un texte d'introduction �
SGML (en anglais) : "SGML: An Author's Guide to the Standard
Generalized Markup Language" par Martin Bryan, ou "Practical SGML" par
Eric van Herwijnen.
22.. LLeess OOuuttiillss
22..11.. ""HHTTMMLL CChheecckk TToooollkkiitt""
Si vous voulez un logiciel s'installant automatiquement et qui soit
bien int�gr�, r�cup�rez HTML Check Toolkit � l'addresse
<
http://www.halsoft.com/html-tk/index.html>.
Le seul inconv�nient du logiciel HalSoft est qu'il utilise le vieil
analyseur sgmls, qui produit des messages d'erreur parfois (encore)
plus difficiles � comprendre que ceux de nsgmls.
J'ai utilis� nsgmls sur Linux et Windows (3.x et NT) ; il marche en
principe sur de nombreuses autres plateformes.
22..22.. LL''aannaallyysseeuurr nnssggmmllss
James Clark a mis au point sun ensemble logiciel nomm� sp, qui
contient un analyseur et un validateur SGML, nsgmls (c'est le
successeur de l'analyseur sgmls, longtemps consid�r� comme le
programme de r�f�rence).
Pour plus d'informations sur sp, voyez l'URL
<
http://www.jclark.com/sp.html>.
Et vous pouvez le t�l�charger directement depuis
<
ftp://ftp.jclark.com/pub/sp/>.
Vouz pouvez peut-�tre aussi r�cup�rer des fichiers ex�cutables pour
votre plateforme. Ou bien t�l�charger le code source, et dans ce cas
suivez les instructions du fichier README pour lancer make.
Il serait utile de cr�er un r�pertoire public au sommet de la
hi�rarchie, pour y mettre les fichiers relatifs � SGML. Par exemple,
sur mon PC Linux, j'ai plusieurs r�pertoires pour SGML, dont :
� /usr/sgml/bin
� /usr/sgml/html
� /usr/sgml/sgmls
� /usr/sgml/sp
22..33.. TT��ll��cchhaarrggeerr lleess sspp��cciiffiiccaattiioonnss ddee HHTTMMLL
Le projet de norme HTML 2.0 contient le fichier de d�finitions SGML
dont vous aurez besoin pour utiliser l'analyseur, c'est-�-dire le DTD
(Document Type Definition), la d�claration SGML, et le catalogue
d'entit�. Vous pouvez obtenir le texte public de HTML 2.0 � l'adresse
<
http://www.w3.org/hypertext/WWW/MarkUp/html-spec/>
T�l�chargez et installez les fichiers suivants :
� DTD : html*.dtd
� D�claration SGML : html.decl
� Catalogue d'entit�s : catalog
Vous pouvez ajouter deux entr�es au catalogue des entit�s HTML pour
faciliter l'utilisation de nsgmls :
______________________________________________________________________
-- catalog: SGML Open style entity catalog for HTML --
-- $Id: catalog,v 1.2 1994/11/30 23:45:18 connolly Exp $ --
:
:
-- Ajouts pour faciliter l'utilisation de nsgmls --
SGMLDECL "html.decl"
DOCTYPE HTML "html.dtd"
______________________________________________________________________
Ou bien vous pouvez cr�er un second catalogue contenant ces entr�es.
Vous passerez ensuite ce catalogue � nsgmls comme argument, avec
l'option -m.
33.. AAnnaallyysseerr uunn ddooccuummeenntt HHTTMMLL
Voici une "recette" pour valider un document unique. Lancez simplement
le programme nsgmls en lui passant le chemin du (ou des) fichier(s) du
catalogue HTML, ainsi que le document :
% nsgmls -s -m /usr/sgml/html/catalog <test.html
L'option -s supprime la sortie de l'analyseur (voyez ci-dessous).
33..11.. EEnnttrr��ee ddee ll''aannaallyysseeuurr
Votre document doit �tre conforme � la norme SGML, ce qui signifie,
entre autres, que le type de document doit �tre d�clar� au d�but de
l'entr�e (vous pouvez contourner cette r�gle en sp�cifiant cette
information sur la ligne de commande de nsgmls).
Voici un document HTML simple, qui peut �tre analys� sans erreur en
suivant les r�gles que j'ai d�crites :
______________________________________________________________________
<!doctype html public "-//IETF//DTD HTML 2.0//EN">
<html>
<head>
<title>Document HTML simple.</title>
</head>
<body>
<h1>Document de test</h1>
<p>Ceci est un document de test.</p>
</body>
</html>
______________________________________________________________________
33..22.. SSoorrttiiee ddee ll''aannaallyysseeuurr
La sortie standard du programme nsgmls est une forme concentr�e de
l'entr�e SGML que les syst�mes de traitement peuvent utiliser comme un
analyseur lexical afin de parcourir la structure du document. Pour les
besoins de la validation, vous pouvez oublier la sortie standard et ne
vous occuper que de l'erreur standard.
Si vous souhaitez avoir la sortie compl�te, ne sp�cifiez pas l'option
-s et redirigez la sortie vers un fichier
% nsgmls -m /usr/sgml/html/catalog <test.html >test.out
33..33.. MMeessssaaggeess ddee ll''aannaallyysseeuurr
Les messages d'erreur et d'avertissement de nsgmls peuvent �tre tr�s
difficiles � d�chiffrer. Et vous trouverez un grand nombre d'erreurs
r�sultant d'un balisage non-conforme.
Pour rediriger les messages vers un fichier, utilisez l'option -f :
% nsgmls -s -m /usr/sgml/html/catalog -f test.err <test.html
33..44.. CCooddee ddee rreettoouurr
L'analyseur indique si le document est conforme au DTD HTML de deux
mani�res :
Code de retour - l'analyseur renvoit un code de sortie de 0 en cas de
succ�s, diff�rent de 0 sinon.
Sortie - si le document est conforme au DTD, la derni�re ligne de la
sortie standard contient un caract�re C unique.
44.. LLiieennss
"HTML Check Toolkit" de HalSoft se trouve � l'adresse
<
http://www.halsoft.com/html-tk/index.html>.
La page de James Clark sur sp se trouve � l'adresse
<
http://www.jclark.com/sp.html>.
La page du W3C sur la sp�cification de HTML se trouve � l'adresse
<
http://www.w3.org/hypertext/WWW/MarkUp/html-spec/>.