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/>.