Page suivante Page précédente Table des matières

2. Informations générales sur le LDP et SGML

2.1 Le LDP

Le Projet de Documentation de Linux (LDP) a été commencé pour fournir aux nouveaux utilisateurs un moyen d'obtenir rapidement des informations sur un sujet particulier. Il ne contient pas seulement une série de livres sur l'administration système, le réseau ou la programmation, mais également un grand nombre de petits travaux sur des sujets plus individuels, écrits par ceux qui les ont utilisés. Si vous voulez savoir comment imprimer, vous trouverez le Printing HOWTO. Si vous voulez mettre en place un réseau, récupérez le Ethernet HOWTO; etc.

Au départ, la plupart de ces documents étaient au format texte ou HTML. Avec le temps, il fallait trouver un meilleur moyen de gérer ces travaux. Celui-ci permettrai de les lire depuis une page web, depuis un fichier texte sur un CD-ROM, ou encore depuis votre organiseur de poche. La solution s'est avérer être SGML.

2.2 SGML

Le "Standard Generalized Markup Language" (SGML) est un langage qui est basé sur le balisage du texte. De ce point de vue, il est similaire à HTML, mais toutes les similitudes s'arrètent là. La force de SGML est que contrairement à la philosophie WYSIWYG (What You See Is What You Get, NdT: Ce que vous voyez est ce que vous obtenez), vous ne définissez pas la couleur, la taille de la police, ou d'autres paramètres de formatage. A la place, vous définissez des éléments (paragraphes, sections, listes numérotées) et laissez l'interprète SGML et le programme final s'occuper du placement, des couleurs, des polices, et tout le reste. HTML fait la même chose, puisqu'il est en fait une subdivision de SGML.

Il y a en fait deux parties qui constituent SGML. La première est la Structure, qui est appelée la DTD, ou encore Définition du Type du Document. La DTD définie les relations entre les différents éléments d'un texte. La DTD LinuxDoc, utilisée pour créer ce document, en est un exemple. La DTD fournit un style et une apparence à tous les documents créés qui l'utilisent. La seconde est le Contenu, qui est traité par l'interpréteur SGML et qui est éventuellement vu par l'utilisateur. Ce paragraphe est un contenu, comme pourrait l'être une image, une table, une liste numérotée ou autre chose. Le contenu est entouré de balises pour séparer les différents éléments.

Dans quelques temps, le Projet de Documentation Linux passera de LinuxDoc à DocBook, déjà utilisée par d'autres auteurs, donnant ainsi au LDP un style plus consistent de documents SGML. Quand cela arrivera, nous vous tiendront informés par l'intermédiaire de ce HOWTO ou des listes de diffusion. La différence la plus importante réside dans le fait que DocBook utilise des balises pour les différents types de contenus (comme les commandes, les noms de fichiers, de répertoires, etc.) alors que LinuxDoc utilise des balises basées sur l'apparence que devrait prendre le texte (vous pouvez utiliser un type "insistant" ou machine à écrire).

Pourquoi SGML au lieu de HTML ou d'autres formats ?

SGML fournit d'autres outils que ceux de mise en forme. Vous pouvez créer des index, des tables des matières ou des liens internes ou externes automatiquement. Le paquetage sgmltools vous permet aussi d'exporter (j'appèlerai ça générer à partir de maintenant) vos documents SGML vers LaTeX, info, du texte, HTML ou RTF. Vous pouvez alors créer d'autres types de fichiers (DOC, PostScript, etc.) à partir de ces formats de base. Des programmes comme LyX (mon éditeur WYSIWYM préféré) vous permettent d'écrire au format TeX, d'exporter au format SGML et de générer ce que vous voulez depuis SGML.

En fin de compte, SGML s'intéresse plus au fonctionnement des éléments plutôt qu'à leur apparence. Une différence de taille, en tout cas une qui vous permettra d'écrire plus vite, puisque vous n'avez plus à vous souciez de la justification des paragraphes, des types et tailles des polices, etc.

2.3 Les outils

Dans cette section, je vais survoler les outils dont vous aurez besoin ou voudrez utiliser pour créer votre propre documentation LDP. Je vais les décrire ici, et mieux les explorer plus tard, en même temps que leur procédure d'installation. Si vous utilisez d'autres outils pour écrire des manuels du LDP, faites le moi savoir, j'ajouterai un descriptif ici.

sgmltools

Requis

Le paquetage sgmltools contient les outils SGML nécessaires pour générer les formats dont on a déjà parlé. Il inclut également la DTD LinuxDoc, indispensable aux documents LDP. Pour créer des documents SGML, c'est tout ce dont vous avez besoin. Si vous voulez convertir au format TeX, vous aurez aussi besoin de ce dernier. Le paquetage sgmltools est disponible soit dans votre distribution, soit via http://www.sgmltools.org/. Notez que vous aurez besoin de la version 1.0.9 pour utiliser LinuxDoc. Toute autre version utilise DocBook.

TeX

Optionnel

TeX est le langage de balisage de texte favori pour beaucoup, dont les personnes du monde mathématique. Je me rappelle d'examens de maths qui étaient en fait écris avec TeX. C'est aussi un des premiers langages à balises qui est encore utilisé (les autres étant les formats *roff utilisés pour les pages de manuels). En fait, TeX partage une grande partie de ses concepts avec SGML. Néanmoins, TeX génère ses fichiers au format DVI (indépendant du périphérique de sortie) qui peut alors être converti en un autre format. Malheureusement, le format DVI ne peut pas être facilement converti en autre chose que des langages d'impression (PostScript, PCL), le rendant difficile à traduire en HTML. TeX est disponible dans toutes les distributions Linux en tant que LaTeX ou TeTex. Vous pourrez utiliser l'un des deux.

LyX

Optionnel

Le programme LyX est un éditeur de texte graphique WYSIWYM (What You See Is What You Mean -- NdT : Ce que vous voyez est ce que vous pensez) et constitue un lien entre les applications graphiques et les règles de SGML quelque fois compliquées. En fait, LyX est utilisé pour écrire des documents TeX, et la plupart dans règles TeX sont présentes dans LyX. Par exemple, puisque les sections sont numérotées automatiquement, vous ne pouvez pas insérer d'espace facilement. Ce serait contraire à la philosophie de TeX. De même, SGML ignore souvent ces espaces. Le programme LyX supporte la DTD LinuxDoc et fournit un document de base pour vous permettre d'écrire (ou d'éditer) votre documentation LDP comme vous en avez l'habitude, sans devoir utiliser vi et vous souvenir quelles sont les balises pour créer une liste à items. Vous trouverez LyX à l'adresse http://www.lyx.org/.

Pour ceux qui utilisent KDE, il existe un portage de LyX basé sur les librairies Qt. Vous trouverez plus d'informations à l'adresse http://www.devel.lyx.org/~ettrich/klyx.html.

Emacs (PSGML)

Optionnel

Il existe un mode Emacs pour écrire des documents SGML ou XML. Vous trouverez plus d'informations à http://www.lysator.liu.se/projects/about_psgml.html

WordPerfect 2000

Optionnel

La dernière version de WordPerfect 2000 supportera les modes SGML. Je ne sais pas encore si celà concerne aussi LinuxDoc, ou juste DocBook. Si vous êtes un beta-testeur de WP2000 et si vous pouvez me dire comme il marche, je serais heureux d'inclure vos notes.

DocBook : L'ultime guide

Optionnel (mais recommandé)

Ce livre est édité par O'Reilly depuis Octobre 1999 et c'est une bonne référence pour DocBook. Je n'ai pas trouvé qu'il soit très pratique, et la plupart des "gloires"est pour XML, mais les balises DocBook 3.1 sont toutes listées dans un format concit. Vous pourrez le trouver chez votre vendeurs favori, ou le retrouver en intégralité sur le site http://www.docbook.org.


Page suivante Page précédente Table des matières