[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [linux] système de documentation
...
PS : Si quelqu'un utilise une autre solution de stockage des documents
electroniques, faites signe... (bien entendu en logiciel Libre)
DocBook XML !!!!
IMHO l'ultime solution pour créer des documents électroniques.
C'est plus facile et plus portable que LaTeX (bcp moins lourd, surtout).
C'est d'ailleurs le standard (ouvert) pour documents électroniques
que tente d'imposer le mouvement Oasis-Open, à côté de ebXML:
"OASIS is an international, not-for-profit consortium that designs
and develops industry standard specifications for interoperability
based on XML."
Tu écris tes documents en XML (docbook) puis tu utilises soit Jade,
soit XSLT (plutôt prendre ça, plus simple, plus portable et c'est
la direction prise par docbook pour l'avenir) pour en générer:
- du (X)HTML
- du PDF (via Apache-FOP)
- du RTF
Comme éditeur, Emacs est le plus cool avec son mode xml de psgml. Très,
très puissant :-)
C'est très bien structuré pour des documents techniques: il y a des tags
comme <screenshot>, <acronym>, <command>, <programlisting>, etc...
Voici un petit exemple pour vous donner une idée à quoi ça ressemble:
<?xml version='1.0' encoding="iso-8859-1"?>
<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
"file:///usr/local/docbook-xml-4.1.2/docbookx.dtd">
<article class="TechReport" lang="fr">
<articleinfo>
<author>
<firstname>Pascal</firstname>
<surname>Bleser</surname>
</author>
<authorinitials>pab</authorinitials>
<address>pascal.bleser@atosorigin.com</address>
</articleinfo>
<title>Exemple de document DocBook</title>
<subtitle>Un bête exemple</subtitle>
<sect1>
<title>Foo</title>
<para>
...
</para>
<para>
Voici une liste:
<itemizedlist spacing="compact">
<listitem><para>foo</para></listitem>
<listitem><para>bar</para></listitem>
<listitem><para>spam</para></listitem>
<listitem><para>eggs</para></listitem>
</itemizedlist>
</para>
<sect2><title>Bar</title>
<para>
... cf <xref linkend="lids"/> ...
</para>
</sect2>
</sect1>
<bibliography>
<biblioentry xreflabel="LIDS" id="lids">
<abbrev>LIDS</abbrev>
<title>Linux Intrusion Detection System</title>
<address>http://www.lids.org</address>
</biblioentry>
</bibliography>
</article>
En gros, il suffit de downloader la DTD DocBook ainsi que les templates
XSL depuis http://www.docbook.org (ou http://www.oasis-open.org), ainsi
qu'un processeur XSLT - perso, j'utilise Saxon 6.5.1 (en Java)
http://saxon.sourceforge.net
Si tu veux en faire des PDF, il te faut aussi un processeur FO (Formatting
Objects, la nouvelle concurrence pour LaTeX ;-)): prends Apache FOP
(version 0.20.3)
http://xml.apache.org/fop/
Le concept (le même que pour LaTeX) est vraiment supérieur: tu ne t'occupes
pas de la forme, mais uniquement du contenu et de la structure. Ensuite tu
laisses faire les transformations XSLT...
Tu peux ainsi aisément:
- éditer des documents très, très grands (comme c'est juste de l'XML, c'est
très léger et tu as le choix de l'éditeur texte)
- donner une présentation uniforme de tous tes documents
- générer la documentation à partir de sources très petites (les fichiers XML)
sur toutes les plateformes ayant une JVM (Linux, Windows, Solaris, AIX, HP-UX, ...)
- mettre les sources de tes documents (XML) sous contrôle de versions (CVS, RCS)
etc...
J'ai fait les slides d'une présentation interne avec ça: j'ai même écrit mes propres
templates XSL qui génèrent (via FO) des PDFs à partir de "mon XML à moi" (ma propre
DTD).
Mon site web (http://guru.unixtech.be) est fait comme ça aussi, d'ailleurs: j'ai défini
ma propre DTD, spécifique au type de contenu et au type de présentation sur mon site,
j'écris mes documents en XML puis j'utilise Saxon et un XSL à moi dans lequel j'ai écrit
comment transformer mon XML en HTML.
Le grand avantage, c'est que je ne dois pas tout le temps faire du copy/paste de blocs
HTML (<table><tr><td><u>....), mais que je peux spécifier une structuration plus
spécifique (<story id="foo">...</story>) et faire générer du HTML à partir de ma
structuration (via XSL).
--
-o) Pascal Bleser ATOS Origin/Aachen(DE) |
/\\ <pascal.bleser@atosorigin.com> |
_\_v <guru@linuxbe.org> |
---------------------------------------------|
Jesus saves,Buddha makes incremental backups :
---------------------------------------------'
_______________________________________________
Linux Mailing List
LCP - 11 Mai - http://www.unixtech.be/lcp.php
Archives: http://www.unixtech.be/mailman/listinfo/linux