root/traduc/trunk/postgresql/docguide.xml

Revision 1092, 45.2 kB (checked in by sas, 5 months ago)

et de d...
--Cett, les suivantes ci-dessous, seront ignorées--

M postgresql/ddl.xml
M postgresql/docguide.xml

  • Property svn:keywords set to Date Author Revision
Line 
1 <?xml version="1.0" encoding="ISO-8859-15"?>
2 <!-- Dernière modification
3      le       $Date$
4      par      $Author$
5      révision $Revision$ -->
6
7 <appendix id="docguide">
8  <title>Documentation</title>
9
10  <para>
11   <productname>PostgreSQL</productname> fournit quatre formats principaux
12   de documentation&nbsp;:
13
14   <itemizedlist>
15    <listitem>
16     <para>
17      le texte brut, pour les information de pré-installation&nbsp;;
18     </para>
19    </listitem>
20    <listitem>
21     <para>
22      <acronym>HTML</acronym>, pour la lecture en ligne et les références&nbsp;;
23     </para>
24    </listitem>
25    <listitem>
26     <para>
27      PDF ou PostScript, pour l'impression&nbsp;;
28     </para>
29    </listitem>
30    <listitem>
31     <para>
32      les pages man (de manuel), pour la référence rapide.
33     </para>
34    </listitem>
35   </itemizedlist>
36
37   De plus, un certain nombre de fichiers <filename>README</filename> peuvent
38   être trouvés à divers endroits de l'arbre des sources de
39   <productname>PostgreSQL</productname>. Ils renseignent
40   l'utilisateur sur différents points d'implantation.
41  </para>
42
43  <para>
44   La documentation <acronym>HTML</acronym> et les pages de manuel
45   font parties de la distribution standard et sont installées par
46   défaut. Les documents au format PDF et PostScript sont disponibles
47   indépendemment par téléchargement.
48  </para>
49
50  <sect1 id="docguide-docbook">
51   <title>DocBook</title>
52   <para>
53    Les sources de la documentation sont écrites en
54    <firstterm>DocBook</firstterm>, langage assez semblable au
55    <acronym>HTML</acronym>. Ces deux langages sont
56    des applications du <firstterm>Standard Generalized Markup
57    Language</firstterm>, <acronym>SGML</acronym>, qui est
58    essentiellement un langage de description d'autres langages. Dans ce
59    qui suit, les termes DocBook et <acronym>SGML</acronym> sont tous deux utilisés,
60    mais ils ne sont pas techniquement interchangeables.
61   </para>
62
63   <para>
64   <productname>DocBook</productname> permet à l'auteur de spécifier
65   la structure et le contenu d'un document technique sans qu'il ait
66   à se soucier du détail de la présentation. Un style de
67   document définit le rendu du contenu dans un des
68   formats de sortie finaux. DocBook est maintenu par le groupe
69   <ulink url="http://www.oasis-open.org">OASIS</ulink> . Le <ulink
70   url="http://www.oasis-open.org/docbook">site officiel de
71   DocBook</ulink> présente une bonne documentation d'introduction et
72   de référence ainsi qu'un livre complet de chez O'Reilly disponible à la
73   lecture en ligne. Le <ulink
74   url="http://newbiedoc.sourceforge.net/metadoc/docbook-guide.html">guide
75   DocBook des nouveaux venus</ulink> est très utile pour les débutants. Le
76   <ulink url="http://www.freebsd.org/docproj/docproj.html">projet de
77   documentation FreeBSD</ulink> utilise également DocBook et fournit
78   également de bonnes informations, incluant un certain nombre de
79   lignes directrices qu'il peut être bon de prendre en considération.
80   </para>
81  </sect1>
82
83
84  <sect1 id="docguide-toolsets">
85   <title>Ensemble d'outils</title>
86
87   <para>
88   Les outils qui suivent sont utilisés pour produire la documentation.
89   Certains sont optionnels (comme mentionné).
90
91    <variablelist>
92     <varlistentry>
93      <term><ulink url="http://www.oasis-open.org/docbook/sgml/">DTD DocBook</ulink></term>
94      <listitem>
95       <para>
96       Il s'agit de la définition de DocBook elle-même. C'est actuellement la
97       version 4.2 qui est utilisée&nbsp;; il n'est pas posiible d'en utiliser
98       une autre (plus récente ou plus ancienne). Il existe également une version
99       <acronym>XML</acronym> de DocBook &mdash; elle ne doit pas être
100       utilisée.
101       </para>
102      </listitem>
103     </varlistentry>
104
105     <varlistentry>
106      <term><ulink
107      url="http://www.oasis-open.org/cover/ISOEnts.zip">Les entités
108      de caractère ISO 8879</ulink></term>
109      <listitem>
110       <para>
111       Celles-ci sont nécessaires à DocBook mais sont distribuées à part
112       car maintenues par l'ISO.
113       </para>
114      </listitem>
115     </varlistentry>
116
117     <varlistentry>
118      <term><ulink url="http://openjade.sourceforge.net">OpenJade</ulink></term>
119      <listitem>
120       <para>
121       C'est le paquetage de base pour le traitement de
122       <acronym>SGML</acronym>. Il contient un analyseur
123       <acronym>SGML</acronym>, un processeur
124       <acronym>DSSSL</acronym> (programme qui permet la
125       conversion de documents <acronym>SGML</acronym> en d'autres
126       formats à l'aide de feuilles de styles
127       <acronym>DSSSL</acronym>), ainsi qu'un certain nombre d'autres
128       outils. <productname>Jade</productname> est actuellement
129       maintenu par le groupe OpenJade et non plus par James Clark.
130       </para>
131      </listitem>
132     </varlistentry>
133
134     <varlistentry>
135      <term><ulink
136      url="http://docbook.sourceforge.net/projects/dsssl/index.html">Feuilles
137      de styles DocBook DSSSL</ulink></term>
138      <listitem>
139       <para>
140       Celles-ci contiennent les instructions de
141       conversion des sources DocBook en d'autres formats, tel le
142       <acronym>HTML</acronym>.
143       </para>
144      </listitem>
145     </varlistentry>
146
147     <varlistentry>
148      <term><ulink url="http://docbook2x.sourceforge.net">Les outils DocBook2X</ulink></term>
149      <listitem>
150       <para>
151       Ce paquetage est utilisé pour créer les pages de manuel. Un
152       certain nombre d'autres paquetages sont nécessaires pour le
153       faire fonctionner. Pour plus d'informations, vérifier sur le site web.
154       </para>
155      </listitem>
156     </varlistentry>
157
158     <varlistentry>
159      <term><ulink url="http://jadetex.sourceforge.net">JadeTeX</ulink></term>
160      <listitem>
161       <para>
162        <productname>JadeTeX</productname> peut être installé pour utiliser
163        <productname>TeX</productname> comme outil de formatage
164        pour <productname>Jade</productname>.
165        <application>JadeTeX</application> est capable de créer des
166        fichiers au formats PostScript ou
167        <acronym>PDF</acronym> (ce dernier avec les signets).
168       </para>
169
170       <para>
171       Cependant, une sortie <application>JadeTeX</application> est
172       de moindre qualité qu'une sortie <acronym>RTF</acronym>.
173       Les principaux problèmes que l'on peut rencontrer concernent
174       les tables et les éléments de placements verticaux et
175       horizontaux. Il n'y a aucune possibilité de corriger manuellement le
176       résultat.
177       </para>
178      </listitem>
179     </varlistentry>
180    </variablelist>
181   </para>
182
183   <para>
184   Différentes méthodes d'installation sont détaillées ci-après pour
185   les divers outils nécessaires au
186   traitement de la documentation. Il peut exister d'autres types de
187   distributions empaquetées de ces outils. Tout
188   changement du statut d'un paquetage peut être rapportée auprés de
189   la liste de discussion de la
190   documentation, afin d'inclure ces informations ici-même.
191   </para>
192
193   <sect2>
194    <title>Installation par <acronym>RPM</acronym>
195    <productname>Linux</productname></title>
196
197    <para>
198    La plupart des revendeurs mettent à disposition
199    des utilisateurs un ensemble complet de
200    paquetages RPM pour le traitement de DocBook au sein de leur
201    distribution. Lors de l'installation, il faut recherche une option
202    <quote>SGML</quote> ou les paquetages suivants&nbsp;:
203    <filename>sgml-common</filename>, <filename>docbook</filename>,
204    <filename>stylesheets</filename>, <filename>openjade</filename>.
205    <filename>sgml-tools</filename> est probablement requis. Si le fournisseur de la
206    distribution ne les fournit pas, il doit être possible
207    d'utiliser des paquetages issus d'une distribution compatible.
208    </para>
209   </sect2>
210
211   <sect2>
212    <title>Installation sous FreeBSD</title>
213
214    <para>
215    Le projet de documentation FreeBSD (FreeBSD Documentation
216    Project) est lui-même un utilisateur intensif de DocBook, et
217    c'est sans surprise que l'on retrouve en son sein un ensemble
218    complet de <quote>portages</quote> des outils de documentation
219    sur FreeBSD. Les portages suivants doivent être installés afin de
220    produire la documentation sur FreeBSD&nbsp;:
221     <itemizedlist>
222      <listitem>
223       <para><filename>textproc/sp</filename>&nbsp;;</para>
224      </listitem>
225      <listitem>
226       <para><filename>textproc/openjade</filename>&nbsp;;</para>
227      </listitem>
228      <listitem>
229       <para><filename>textproc/iso8879</filename>&nbsp;;</para>
230      </listitem>
231      <listitem>
232       <para><filename>textproc/dsssl-docbook-modular</filename>.</para>
233      </listitem>
234      <listitem>
235       <para><filename>textproc/docbook-420</filename></para>
236      </listitem>
237     </itemizedlist>
238    </para>
239
240    <para>
241     Un intérêt particulier peut également être porté aux
242     différents éléments de <filename>/usr/ports/print</filename>
243     (<filename>tex</filename>, <filename>jadetex</filename>).
244    </para>
245
246    <para>
247     Il est probable que les portages ne mettent pas à jour le fichier de
248     catalogue général dans
249     <filename>/usr/local/share/sgml/catalog.ports</filename> ou que l'ordre ne
250     soit pas le bon. Les lignes suivantes doivent figurent au début&nbsp;:
251 <programlisting>CATALOG "openjade/catalog"
252 CATALOG "iso8879/catalog"
253 CATALOG "docbook/dsssl/modular/catalog"
254 CATALOG "docbook/4.2/catalog"</programlisting>
255     Pour ne pas éditer ce fichier, il est possible de positionner
256     la variable d'environnement
257     <envar>SGML_CATALOG_FILES</envar> en y mettant une liste de
258     fichiers catalogues séparés par des caractères <quote>deux
259     points</quote>.
260    </para>
261
262    <para>
263    De plus amples informations sur les outils dédiés à
264    la documentation de FreeBSD se trouvent dans les <ulink
265    url="http://www.freebsd.org/doc/en_US.ISO8859-1/books/fdp-primer/tools.html">
266    instructions du projet de documentation de FreeBSD</ulink>.
267    </para>
268   </sect2>
269
270   <sect2>
271    <title>Paquetages Debian</title>
272
273    <para>
274    Un ensemble complet de paquetages d'outils de documentation est
275    disponible pour <productname>Debian GNU/Linux</productname>.
276    Pour l'installer, il suffit de taper&nbsp;:
277 <programlisting>apt-get install openjade1.3
278 apt-get install docbook
279 apt-get install docbook-dsssl
280 </programlisting>
281     (Le package <literal>openjade</literal> installe
282     OpenJade 1.4 qui semble ne pas fonctionner.)
283    </para>
284   </sect2>
285
286   <sect2>
287    <title>Installation manuelle à partir des sources</title>
288
289    <para>
290     L'installation manuelle des outils DocBook est quelque peu
291     complexe. Il est donc préférable d'utiliser des
292     paquetages pré-compilés. Seule une procédure de mise en
293     &oelig;uvre standard, qui utilise des répertoires d'installation
294     standard et sans fonctionnalités particulières, est ici décrite. Pour
295     les détails, on peut étudier la
296     documentation respective de chaque paquetage et lire les
297     documents d'introduction à <acronym>SGML</acronym>.
298    </para>
299
300    <sect3>
301     <title>Installer OpenJade</title>
302
303     <procedure>
304       <step>
305        <para>
306         L'installation d'OpenJade se fait par l'intermédiaire des
307         outils de construction <literal>./configure; make; make
308         install</literal> classiques de GNU. Les
309         détails sont dans la distribution des sources
310         d'OpenJade. En quelques mots&nbsp;:
311 <synopsis>./configure --enable-default-catalog=/usr/local/share/sgml/catalog
312 make
313 make install
314 </synopsis>
315         L'emplacement du <quote>catalogue par défaut</quote> a son
316         importance&nbsp;; il est utilisé par la suite. Il est possible de ne
317         pas s'en souvenir, mais dans ce cas, la
318         variable d'environnement <envar>SGML_CATALOG_FILES</envar> doit être
319         définie de façon à pointer vers le bon fichier à chaque fois que
320         <application>jade</application> est exécuté. (Cette
321         méthode est également possible si OpenJade est déjà installé
322         et que le reste de l'environnement de publication est installé localement.)
323         </para>
324       </step>
325
326       <step id="doc-openjade-install">
327        <para>
328         De même, les fichiers
329         <filename>dsssl.dtd</filename>, <filename>fot.dtd</filename>,
330         <filename>style-sheet.dtd</filename> et
331         <filename>catalog</filename> du répertoire
332         <filename>dsssl</filename> doivent être installés quelque part, dans
333         <filename>/usr/local/share/sgml/dsssl</filename>, par exemple. Il
334         est certainement plus facile de copier le répertoire entier.
335 <synopsis>cp -R dsssl /usr/local/share/sgml
336 </synopsis>
337        </para>
338       </step>
339
340       <step>
341        <para>
342         Enfin, le fichier
343         <filename>/usr/local/share/sgml/catalog</filename> doit être créé pour
344         y ajouter la ligne suivante&nbsp;:
345 <programlisting>CATALOG "dsssl/catalog"
346 </programlisting>
347         (Il s'agit d'un chemin relatif référençant le fichier
348         installé dans l'<xref linkend="doc-openjade-install"/>.
349         Ce chemin doit être correctement renseigné si
350         un répertoire d'installation différent est utilisé.)
351        </para>
352       </step>
353      </procedure>
354    </sect3>
355
356    <sect3>
357     <title>Installation du kit <acronym>DTD</acronym> de
358      <productname>DocBook</productname></title>
359
360     <procedure>
361      <step>
362       <para>
363        Récupérer la distribution <ulink
364        url="http://www.docbook.org/sgml/4.2/docbook-4.2.zip">DocBook
365        V4.2</ulink>.
366       </para>
367      </step>
368
369      <step>
370       <para>
371        Créer le répertoire
372        <filename>/usr/local/share/sgml/docbook-4.2</filename> et
373        s'y placer. (L'emplacement exact importe peu mais
374        celui-ci a le bénéfice d'être cohérent avec le schéma
375        d'installation proposé ici.)
376 <screen><prompt>$ </prompt><userinput>mkdir /usr/local/share/sgml/docbook-4.2</userinput>
377 <prompt>$ </prompt><userinput>cd /usr/local/share/sgml/docbook-4.2</userinput></screen>
378       </para>
379      </step>
380
381      <step>
382       <para>
383        Décompresser l'archive.
384 <screen><prompt>$ </prompt><userinput>unzip -a ...../docbook-4.2.zip</userinput></screen>
385        (L'archive décompresse ses fichier dans le répertoire courant.)
386       </para>
387      </step>
388
389      <step>
390       <para>
391        Éditer le fichier
392        <filename>/usr/local/share/sgml/catalog</filename> (ou celui précisé
393        à jade lors de l'installation) et y placer une
394        ligne similaire à celle-ci&nbsp;:
395 <programlisting>CATALOG "docbook-4.2/docbook.cat"
396 </programlisting>
397       </para>
398      </step>
399
400      <step>
401       <para>
402        Télécharger l'archive contenant les <ulink
403        url="http://www.oasis-open.org/cover/ISOEnts.zip">entités de
404        caractères ISO 8879</ulink>, la décompresser et placer les
405        fichiers dans le même répertoire que celui des fichiers de
406        DocBook.
407 <screen><prompt>$ </prompt><userinput>cd /usr/local/share/sgml/docbook-4.2</userinput>
408 <prompt>$ </prompt><userinput>unzip ...../ISOEnts.zip</userinput></screen>
409       </para>
410      </step>
411
412      <step>
413       <para>
414       Lancer la commande suivante dans le répertoire contenant les
415       fichiers DocBook et ISO&nbsp;:
416 <programlisting>perl -pi -e 's/iso-(.*).gml/ISO\1/g' docbook.cat
417 </programlisting>
418        (Cette opération permet de corriger les mélanges entre le
419        fichier de catalogue de DocBook et les noms réels des
420        fichiers contenant les entités de caractères ISO.)
421       </para>
422      </step>
423     </procedure>
424    </sect3>
425
426    <sect3>
427     <title>Installation des feuilles de style <acronym>DSSSL</acronym> DocBook</title>
428
429     <para>
430      Pour installer les feuilles de style, décompresser et dépaqueter la
431      distribution, la déplacer à un endroit convenable de l'aborescence comme, par exemple,
432      <filename>/usr/local/share/sgml</filename>. (L'archive crée
433      automatiquement un sous-répertoire.)
434 <screen><prompt>$</prompt> <userinput>gunzip docbook-dsssl-1.<replaceable>xx</replaceable>.tar.gz</userinput>
435 <prompt>$</prompt> <userinput>tar -C /usr/local/share/sgml -xf docbook-dsssl-1.<replaceable>xx</replaceable>.tar</userinput></screen>
436     </para>
437
438     <para>
439      L'entrée de catalogue communément admise dans
440      <filename>/usr/local/share/sgml/catalog</filename> peut
441      également être réalisée&nbsp;:
442 <programlisting>CATALOG "docbook-dsssl-1.<replaceable>xx</replaceable>/catalog"
443 </programlisting>
444      Comme les feuilles de styles changent assez souvent et qu'il est
445      parfois avantageux d'essayer des versions alternatives,
446      <productname>PostgreSQL</productname> n'utilise pas cette
447      entrée du catalogue. Regarder dans la <xref
448      linkend="docguide-toolsets-configure"/> pour tout renseignement
449      sur la manière de sélectionner une feuille de style.
450     </para>
451    </sect3>
452
453    <sect3>
454     <title>Intallation de <productname>JadeTeX</productname></title>
455
456     <para>
457      Pour installer et utiliser <productname>JadeTeX</productname>,
458      il faut une installation fonctionnelle de
459      <productname>TeX</productname> et de
460      <productname>LaTeX2e</productname>, incluant également les
461      paquetages
462      <productname>tools</productname> et
463      <productname>graphics</productname>,
464      <productname>Babel</productname>,
465      <productname>les polices <acronym>AMS</acronym></productname>
466      et
467      <productname>AMS-LaTeX</productname>, l'extension
468      <productname><acronym>PSNFSS</acronym></productname>
469      et le kit d'accompagnement de <quote>35 polices</quote>, le
470      programme
471      <productname>dvips</productname> pour la production de
472      <productname>PostScript</productname>, le paquetage de macros
473      <productname>fancyhdr</productname>,
474      <productname>hyperref</productname>,
475      <productname>minitoc</productname>,
476      <productname>url</productname> et enfin
477      <productname>ot2enc</productname>.  Tous peuvent être
478      trouvés sur le
479      <ulink url="http://www.ctan.org">site web du <acronym>CTAN</acronym></ulink>.
480      L'installation du système <application>TeX</application> de base est en
481      dehors du périmètre de cette introduction. Des paquetages binaires sont
482      probablement disponibles pour tout système pouvant exécuter
483      <application>TeX</application>.
484     </para>
485
486     <para>
487      Avant de pouvoir utiliser
488      <application>JadeTeX</application> avec les sources de la
489      documentation de <productname>PostgreSQL</productname>, il va falloir
490      augmenter la taille des structures de données internes de
491      <application>TeX</application>. Des explications plus détaillées sont
492      fournies dans les instructions d'installation de
493      <application>JadeTeX</application>.
494     </para>
495
496     <para>
497      Lorsque tout cela est réalisé, <application>JadeTeX</application> peut
498      être installé&nbsp;:
499 <screen><prompt>$</prompt> <userinput>gunzip jadetex-<replaceable>xxx</replaceable>.tar.gz</userinput>
500 <prompt>$</prompt> <userinput>tar xf jadetex-<replaceable>xxx</replaceable>.tar</userinput>
501 <prompt>$</prompt> <userinput>cd jadetex</userinput>
502 <prompt>$</prompt> <userinput>make install</userinput>
503 <prompt>$</prompt> <userinput>mktexlsr</userinput></screen>
504      Les deux dernières commandes doivent être exécutées en <systemitem>root</systemitem>.
505     </para>
506
507    </sect3>
508
509   </sect2>
510
511   <sect2 id="docguide-toolsets-configure">
512    <title>Détection par <command>configure</command></title>
513
514   <para>
515    Avant de pouvoir engendrer la documentation, le script
516    <filename>configure</filename> doit être lancé, comme cela se fait pour la génération des
517    programmes <productname>PostgreSQL</productname> eux-mêmes. La fin de
518    l'affichage de l'exécution de ce script doit ressembler à&nbsp;:
519 <screen><computeroutput>checking for onsgmls... onsgmls
520 checking for openjade... openjade
521 checking for DocBook V4.2... yes
522 checking for DocBook stylesheets... /usr/lib/sgml/stylesheets/nwalsh-modular
523 checking for sgmlspl... sgmlspl</computeroutput></screen>
524    Si ni <filename>onsgmls</filename> ni <filename>nsgmls</filename> n'ont été
525    trouvés, les quatre dernières lignes ne sont pas affichées.
526    <filename>onsgmls</filename> fait partie du paquetage Jade. Les variables
527    d'environnement <envar>JADE</envar> et
528    <envar>NSGMLS</envar> peuvent être renseignées pour indiquer les
529    emplacements des programmes s'ils ne sont pas
530    trouvés automatiquement. Si <quote>DocBook V4.2</quote> n'a pas été trouvé,
531    c'est que le kit de la DTD DocBook n'est pas installé à un endroit où
532    Jade peut le trouver ou que les fichiers
533    catalogues ne sont pas correctement configurés. Il convient, dans ce cas,
534    de se reporter aux conseils donnés plus haut.
535    Les feuilles de style DocBook sont recherchées dans
536    un certain nombre d'endroits standard, mais si elles sont placées en un
537    autre endroit, il faut configurer la variable d'environnement
538    <envar>DOCBOOKSTYLE</envar> avec cet emplacement et relancer
539    <filename>configure</filename>.
540   </para>
541
542   </sect2>
543  </sect1>
544
545  <sect1 id="docguide-build">
546   <title>Construire la documentation</title>
547
548   <para>
549    Lorsque tout est en place, se placer dans le répertoire
550    <filename>doc/src/sgml</filename> et lancer une des commandes décrites dans
551    les sections suivantes afin de produire la documentation. (Il est impératif
552    d'utiliser la version GNU de make.)
553   </para>
554
555   <sect2>
556    <title>HTML</title>
557
558    <para>
559     Pour engendrer la version <acronym>HTML</acronym> de la
560     documentation, effectuer&nbsp;:
561 <screen><prompt>doc/src/sgml$ </prompt><userinput>gmake html</userinput></screen>
562     Il s'agit également de la cible par défaut.
563    </para>
564
565    <para>
566     Pour créer un bon index, la construction doit se faire en plusieurs étapes
567     identiques. Si l'index n'est pas utile et qu'il s'agit simplement de
568     vérifier le résultat, on peut utiliser <literal>draft</literal>&nbsp;:
569 <screen>
570 <prompt>doc/src/sgml$ </prompt><userinput>gmake draft</userinput>
571 </screen>
572    </para>
573
574    <para>
575     Pour simplifier la manipulation de la distribution
576     finale de la documentation, l'ensemble des fichiers, dont la
577     documentation HTML, peut être stocké dans une archive tar
578     décompressée à l'installation. Pour créer le
579     paquetage <acronym>HTML</acronym>, on utilise les commandes&nbsp;:
580 <programlisting>cd doc/src
581 gmake postgres.tar.gz
582 </programlisting>
583     Dans la distribution de PostgreSQL, cette archive, qui se trouve dans le
584     répertoire <filename>doc</filename>, est installée par
585     <command>gmake install</command>.
586   </para>
587  </sect2>
588
589  <sect2>
590   <title>Pages man (de manuel)</title>
591
592   <para>
593    <application>docbook2man</application> est utilisé pour convertir les pages
594    de références <productname>DocBook</productname> dans un format
595    *roff compatible avec les pages man. Les pages man sont également distribuées
596    sous la forme d'une archive tar, à l'instar de la version
597    <acronym>HTML</acronym>. Pour créer le paquetage de pages man,
598    utiliser les commandes&nbsp;:
599 <programlisting>cd doc/src
600 gmake man.tar.gz
601 </programlisting>
602    qui produisent un fichier tar placé dans le
603    répertoire <filename>doc/src</filename>.
604   </para>
605
606   <para>
607    Afin de produire des pages man de qualité, il peut
608    être nécessaire d'utiliser une version modifiée de
609    l'utilitaire de conversion ou de faire des modifications manuelles
610    post-production. L'ensemble des pages man doit être manuellement
611    vérifié avant toute distribution.
612   </para>
613  </sect2>
614
615   <sect2>
616    <title>Sortie pour l'impression via
617 <application>JadeTex</application></title>
618
619    <para>
620     Si <application>JadeTex</application> est utilisé pour produire
621     une documentation pour impression, une des commandes suivantes peut être
622     utilisée&nbsp;:
623     <itemizedlist>
624      <listitem>
625       <para>
626        pour produire un fichier PostScript à partir du
627        <acronym>DVI</acronym> au format A4&nbsp;:
628 <screen><prompt>doc/src/sgml$ </prompt><userinput>gmake postgres-A4.ps</userinput></screen>
629        Au format letter&nbsp;:
630 <screen><prompt>doc/src/sgml$ </prompt><userinput>gmake postgres-US.ps</userinput></screen>
631       </para>
632      </listitem>
633  
634      <listitem>
635       <para>
636        pour créer un <acronym>PDF</acronym>&nbsp;:
637 <screen><prompt>doc/src/sgml$ </prompt><userinput>gmake postgres-A4.pdf</userinput></screen>
638        ou
639 <screen><prompt>doc/src/sgml$ </prompt><userinput>gmake postgres-US.pdf</userinput></screen>
640        (Bien entendu, la version <acronym>PDF</acronym> peut être obtenue
641        à partir d'un document PostScript, mais la génération directe permet de
642        bénéficier des liens et autres fonctionnalités avancées dans le
643        <acronym>PDF</acronym>.)
644       </para>
645      </listitem>
646     </itemizedlist>
647    </para>
648    
649    <para>
650     Lors de l'utilisation de JadeTeX pour la construction de la documentation
651     PostgreSQL, il est probablement nécessaire d'augmenter la valeur de certains
652     paramètres internes de TeX. Ils sont configurables dans le fichier
653     <filename>texmf.cnf</filename>. Les paramètres suivants ont fonctionné
654     quand ce texte a été écrit&nbsp;:
655 <programlisting>
656 hash_extra.jadetex  = 200000
657 hash_extra.pdfjadetex  = 200000
658 pool_size.jadetex = 2000000
659 pool_size.pdfjadetex = 2000000
660 string_vacancies.jadetex = 150000
661 string_vacancies.pdfjadetex = 150000
662 max_strings.jadetex = 300000
663 max_strings.pdfjadetex = 300000
664 save_size.jadetex = 15000
665 save_size.pdfjadetex = 15000
666 </programlisting>
667    </para>
668   </sect2>
669
670   <sect2>
671    <title>Version imprimable via <acronym>RTF</acronym></title>
672
673    <para>
674     Une version imprimable de la documentation de
675     <productname>PostgreSQL</productname> peut être obtenue en la convertissant en RTF et en y
676     appliquant des corrections de formatage mineures à l'aide d'une suite de logiciels
677     de bureau. En fonction des capacités de cette dernière, la documentation
678     peut ensuite être convertie dans les formats PostScript et/ou
679     <acronym>PDF</acronym>. La procédure ci-dessous décrit cette procédure
680     pour <productname>Applixware</productname>.
681    </para>
682
683    <note>
684     <para>
685      Il apparaît que la version actuelle de la documentation de
686      <productname>PostgreSQL</productname> produit quelques bogues au niveau
687      d'OpenJade, dépassant notamment la taille maximale de traitement. Si le
688      processus de génération de la version <acronym>RTF</acronym> reste
689      suspendu un long moment et que le fichier de sortie reste vide, c'est que
690      ce problème est survenu. (Une génération normale doit prendre 5 à 10
691      minutes, ne pas s'avouer vaincu trop vite.)
692     </para>
693    </note>
694
695    <procedure>
696     <title>Nettoyage du <acronym>RTF</acronym> avec
697      <productname>Applixware</productname></title>
698
699     <para>
700      <application>OpenJade</application> ne précise pas de style par
701      défaut pour le corps du texte. Dans le passé, ce problème non diagnostiqué
702      engendrait un long processus de génération du sommaire.
703      Grâce à la grande aide des gens d'<productname>Applixware</productname>, le
704      symptôme a été diagnostiqué et un contournement est disponible.
705     </para>
706
707     <step performance="required">
708      <para>
709       Produire la version <acronym>RTF</acronym> en saisissant&nbsp;:
710 <screen><prompt>doc/src/sgml$ </prompt><userinput>gmake postgres.rtf</userinput>
711 </screen>
712      </para>
713     </step>
714
715     <step performance="required">
716      <para>
717       Réparer le fichier RTF afin de préciser correctement tous les
718       styles et en particulier le style par défaut (default). Si le document
719       contient des sections <sgmltag>refentry</sgmltag>, il faut remplacer les
720       éléments de formatage qui relient le paragraphe précédent au
721       paragraphe courant par un lien entre le paragraphe courant
722       et le paragraphe suivant. Un utilitaire, <command>fixrtf</command>, est
723       disponible dans <filename>doc/src/sgml</filename> afin de permettre ces
724       corrections&nbsp;:
725 <screen><prompt>doc/src/sgml$ </prompt><userinput>./fixrtf --refentry postgres.rtf</userinput>
726 </screen>
727      </para>
728
729      <para>
730       Le script ajoute <literal>{\s0 Normal;}</literal> comme style de
731       rang zéro dans le document. D'après <productname>Applixware</productname>,
732       le standard RTF prohibe l'utilisation implicite d'un style de rang 0 alors
733       que Microsoft Word est capable de gérer ce cas. Afin de réparer
734       les sections <sgmltag>refentry</sgmltag>, le script remplace les balises
735       <literal>\keepn</literal> par <literal>\keep</literal>.
736      </para>
737     </step>
738
739     <step performance="required">
740      <para>
741       Ouvrir un nouveau document dans <productname>Applixware
742       Words</productname> et y importer le fichier <acronym>RTF</acronym>.
743      </para>
744     </step>
745
746     <step performance="required">
747      <para>
748       Produire une nouvelle table des matières avec
749       <productname>Applixware</productname>.
750      </para>
751
752      <substeps>
753       <step>
754        <para>
755         sélectionner les lignes existantes de la table des matières, du premier
756         caractère de la table au dernier caractère de la dernière ligne&nbsp;;
757        </para>
758       </step>
759
760       <step>
761        <para>
762         construire une nouvelle table des matières en allant dans le menu
763         <menuchoice><guimenu>Tools</guimenu><guisubmenu>Book
764         Building</guisubmenu><guimenuitem>Create Table of
765         Contents</guimenuitem></menuchoice>. Sélectionner les trois premiers
766         niveaux de titres pour l'inclusion dans la table des matières. Cela
767         remplace les lignes existantes importées du RTF en une table des
768         matières issue d'<productname>Applixware</productname>&nbsp;;
769        </para>
770       </step>
771
772       <step>
773        <para>
774         Ajuster le formatage de la table des matières à l'aide de
775         <menuchoice><guimenu>Format</guimenu><guimenuitem>Style</guimenuitem></menuchoice>,
776         en sélectionnant chacun des trois styles de la table des matières et en
777         ajustant les indentations pour <literal>First</literal> et
778         <literal>Left</literal>. Utiliser les valeurs suivantes&nbsp;:
779         <informaltable>
780          <tgroup cols="3">
781           <thead>
782            <row>
783             <entry>Style</entry>
784             <entry>Indentation de First (pouces)</entry>
785             <entry>Indentation de Left (pouces)</entry>
786            </row>
787           </thead>
788
789           <tbody>
790            <row>
791             <entry><literal>TOC-Heading 1</literal></entry>
792             <entry><literal>0.4</literal></entry>
793             <entry><literal>0.4</literal></entry>
794            </row>
795
796            <row>
797             <entry><literal>TOC-Heading 2</literal></entry>
798             <entry><literal>0.8</literal></entry>
799             <entry><literal>0.8</literal></entry>
800            </row>
801
802            <row>
803             <entry><literal>TOC-Heading 3</literal></entry>
804             <entry><literal>1.2</literal></entry>
805             <entry><literal>1.2</literal></entry>
806            </row>
807           </tbody>
808          </tgroup>
809         </informaltable>
810        </para>
811       </step>
812      </substeps>
813     </step>
814
815     <step performance="required">
816      <para>
817       Sur l'ensemble du document&nbsp;:
818
819       <itemizedlist>
820        <listitem>
821         <para>
822          ajuster les sauts de page&nbsp;;
823         </para>
824        </listitem>
825
826        <listitem>
827         <para>
828          ajuster la largeur des colonnes des tables.
829         </para>
830        </listitem>
831       </itemizedlist>
832      </para>
833     </step>
834
835     <step performance="required">
836      <para>
837       Remplacer les numéros de pages justifiés à droite dans les portions
838       d'exemple et de figures de la table des matières avec les bonnes valeurs.
839       Cela ne prend que quelques minutes.
840       </para>
841     </step>
842
843     <step performance="optional">
844      <para>
845        Supprimer la section d'index du document si elle est vide.
846      </para>
847     </step>
848
849     <step performance="required">
850      <para>
851        Régénérer et ajuster la table des matières.
852      </para>
853
854       <substeps>
855        <step>
856         <para>
857          sélectionner un champ de la table des matières&nbsp;;
858         </para>
859        </step>
860
861        <step>
862         <para>
863          sélectionner le menu <menuchoice><guimenu>Tools</guimenu><guisubmenu>Book
864          Building</guisubmenu><guimenuitem>Create Table of
865          Contents</guimenuitem></menuchoice>&nbsp;;
866         </para>
867        </step>
868
869        <step>
870         <para>
871          délier la table des matières en sélectionnant le menu
872          <menuchoice><guimenu>Tools</guimenu><guisubmenu>Field
873          Editing</guisubmenu><guimenuitem>Unprotect</guimenuitem></menuchoice>&nbsp;;
874         </para>
875        </step>
876
877        <step>
878         <para>
879          supprimer la première ligne de la table des matières, qui est un des
880          champs de la table elle-même.
881         </para>
882        </step>
883       </substeps>
884     </step>
885     <step performance="required">
886      <para>
887       Sauvegarder le document au format natif <productname>Applixware
888       Words</productname> pour que les modifications de dernière minute soient
889       plus faciles par la suite.
890      </para>
891     </step>
892
893     <step performance="required">
894      <para>
895       <quote>Imprimer</quote> le document dans un fichier au format PostScript.
896      </para>
897     </step>
898    </procedure>
899   </sect2>
900
901   <sect2>
902    <title>Fichiers texte</title>
903
904    <para>
905     Plusieurs fichiers sont distribués comme fichiers texte pour être lus lors
906     de la phase d'installation. Le fichier <filename>INSTALL</filename>
907     correspond au <xref linkend="installation"/>, avec quelques changements
908     mineurs pour tenir compte de contextes différents. Pour recréer le
909     fichier, se placer dans le répertoire <filename>doc/src/sgml</filename> et
910     entrer la commande <userinput>gmake INSTALL</userinput>. Ceci crée
911     un fichier <filename>INSTALL.html</filename> qui peut être enregistré au
912     format texte avec <productname>Netscape Navigator</productname> pour remplacer
913     le fichier existant. <productname>Netscape</productname> semble fournir la
914     meilleure qualité pour la conversion du <acronym>HTML</acronym> en texte
915     (comparé à <application>lynx</application> et à
916     <application>w3m</application>).
917    </para>
918
919    <para>
920     Le fichier <filename>HISTORY</filename> peut être créé de manière similaire
921     en utilisant la commande <userinput>gmake HISTORY</userinput>. Pour le
922     fichier <filename>src/test/regress/README</filename>, la commande est
923     <userinput>gmake regress_README</userinput>.
924    </para>
925   </sect2>
926
927   <sect2>
928    <title>Vérification syntaxique</title>
929
930    <para>
931     Fabriquer la documentation peut prendre beaucoup de temps. Il existe
932     cependant une méthode, qui ne prend que quelques secondes, permettant juste
933     de vérifier que la syntaxe est correcte dans les fichiers de
934     documentation&nbsp;:
935 <screen><prompt>doc/src/sgml$ </prompt><userinput>gmake check</userinput>
936 </screen>
937    </para>
938   </sect2>
939  </sect1>
940
941
942  <sect1 id="docguide-authoring">
943   <title>Écriture de la documentation</title>
944
945    <para>
946     <acronym>SGML</acronym> et <productname>DocBook</productname> ne souffrent
947     pas du foisonnement d'outils d'édition OpenSource. Le plus commun
948     d'entre eux est l'éditeur
949     <productname>Emacs</productname>/<productname>XEmacs</productname> qui
950     dispose d'un mode d'édition approprié. Sur certains systèmes, ces outils
951     sont fournis sous la forme d'une installation complète (un même paquetage ou
952     ensemble).
953    </para>
954
955    <sect2>
956     <title>Emacs/PSGML</title>
957
958     <para>
959      <productname>PSGML</productname> est le mode d'édition de documents
960      <acronym>SGML</acronym> le plus répandu et le plus puissant. S'il est
961      correctement configuré, il permet d'utiliser
962      <application>Emacs</application> pour insérer des balises et en vérifier la
963      cohérence. Il peut aussi être utilisé pour le
964      <acronym>HTML</acronym>. Visiter le <ulink
965      url="http://www.lysator.liu.se/projects/about_psgml.html">site web de
966      PSGML</ulink> pour le télécharger, avoir des informations sur
967      l'installation et pour disposer d'une documentation détaillée.
968     </para>
969
970     <para>
971      L'auteur de <productname>PSGML</productname> suppose que le répertoire
972      principal pour la <acronym>DTD</acronym> <acronym>SGML</acronym> est
973      <filename>/usr/local/lib/sgml</filename>.  Si, comme c'est le cas dans les
974      exemples de ce chapitre, le répertoire
975      <filename>/usr/local/share/sgml</filename>est utilisé, il faut modifier la
976      variable d'environnement <envar>SGML_CATALOG_FILES</envar> ou
977      personnaliser l'installation de <productname>PSGML</productname> (son manuel
978      indique la procédure).
979     </para>
980
981     <para>
982      Ajouter les lignes suivantes dans le fichier d'environnement
983      <filename>~/.emacs</filename> (en ajustant les noms des répertoires pour
984      qu'il convienne au système de fichiers)&nbsp;:
985
986 <programlisting>; ********** pour le mode SGML (psgml)
987
988 (setq sgml-omittag t)
989 (setq sgml-shorttag t)
990 (setq sgml-minimize-attributes nil)
991 (setq sgml-always-quote-attributes t)
992 (setq sgml-indent-step 1)
993 (setq sgml-indent-data t)
994 (setq sgml-parent-document nil)
995 (setq sgml-default-dtd-file "./reference.ced")
996 (setq sgml-exposed-tags nil)
997 (setq sgml-catalog-files '("/usr/local/share/sgml/catalog"))
998 (setq sgml-ecat-files nil)
999
1000 (autoload 'sgml-mode "psgml" "Major mode to edit SGML files." t )
1001 </programlisting>
1002
1003      et dans le même fichier ajouter l'entrée pour le <acronym>SGML</acronym>
1004      dans la définition (existante) pour
1005      <varname>auto-mode-alist</varname>&nbsp;:
1006 <programlisting>(setq
1007   auto-mode-alist
1008   '(("\\.xml$" . sgml-mode)
1009    ))
1010 </programlisting>
1011     </para>
1012
1013     <para>
1014      La distribution <productname>PostgreSQL</productname>  inclut un fichier
1015      DTD pré-traité contenant des définitions appelé
1016      <filename>reference.ced</filename>. Il peut s'évérer plus
1017      confortable pour gérer des fichiers séparés d'insérer une déclaration
1018      <literal>DOCTYPE</literal> propre lors de l'édition d'un fichier avec
1019      <productname>PSGML</productname>. Si l'on considère le fichier source de
1020      cette annexe, par exemple, il est possible de préciser que le document est une instance
1021      <quote>appendix</quote> d'un document DocBook en ajoutant en première
1022      ligne ceci&nbsp;:
1023
1024 <programlisting>&lt;!DOCTYPE appendix PUBLIC "-//OASIS//DTD DocBook V4.2//EN"&gt;
1025 </programlisting>
1026
1027      Ceci signifie que, quelque soit l'outil lisant le
1028      <acronym>SGML</acronym>, il le fait correctement et que la
1029      validité du document peut être vérifiée avec
1030      <command>nsgmls -s docguide.xml</command>. (Cependant, il faut
1031      supprimer la ligne avant de fabriquer le document complet à partir des
1032      différents fichiers.)
1033     </para>
1034    </sect2>
1035
1036    <sect2>
1037     <title>Autres modes pour Emacs</title>
1038     <para>
1039      <productname>GNU Emacs</productname> dispose d'un mode
1040      <acronym>SGML</acronym> natif différent qui n'est pas aussi puissant que
1041      <productname>PSGML</productname>, mais qui a le bénéfice d'être plus simple
1042      et léger. Il offre la coloration syntaxique (en mode font lock), ce qui
1043      peut être utile.
1044     </para>
1045
1046     <para>
1047      Norm Walsh propose <ulink
1048      url="http://nwalsh.com/emacs/docbookide/index.html">un mode majeur
1049      spécifique à DocBook</ulink> qui dispose également de la coloration
1050      syntaxique et d'un certain nombre de fonctions permettant de réduire le
1051      temps de saisie.
1052     </para>
1053    </sect2>
1054
1055  </sect1>
1056
1057  <sect1 id="docguide-style">
1058   <title>Guide des styles</title>
1059
1060   <sect2>
1061    <title>Pages de références</title>
1062
1063    <para>
1064     Les pages de références obéissent à des règles de standardisation.
1065     De cette façon, les utilisateurs retrouvent plus rapidement l'information
1066     souhaitée, et cela encourage également les rédacteurs à documenter tous
1067     les aspects relatifs à une commande. Cette cohérence n'est pas uniquement
1068     souhaitée pour les pages de références
1069     <productname>PostgreSQL</productname>, mais également pour les pages de
1070     références fournies par le système d'exploitation et les autres paquetages.
1071     C'est pour cela que les règles suivantes ont été développées. Elles sont, pour la
1072     plupart, cohérentes avec les règles similaires établies pour
1073     différents systèmes d'exploitation.
1074    </para>
1075
1076    <para>
1077     Les pages de référence qui décrivent des commandes exécutables doivent
1078     contenir les sections qui suivent dans l'ordre indiqué. Les sections qui ne sont pas
1079     applicables peuvent être omise