<appendix id="append-cmdline">

<!--
	  User Manual for Gramps - a GTK+/GNOME based genealogy program

	  Copyright (C) 2003-2005  Alexander Roitman

	  This document is free software; you can redistribute it and/or modify
	  it under the terms of the GNU General Public License as published by
	  the Free Software Foundation; either version 2 of the License, or
	  (at your option) any later version.

	  This document is distributed in the hope that it will be useful,
	  but WITHOUT ANY WARRANTY; without even the implied warranty of
	  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
	  GNU General Public License for more details.

	  You should have received a copy of the GNU General Public License
	  along with this program; if not, write to the Free Software
	  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-->

<!-- $Id$ -->

      <!-- =============== Appendices Subsection ================ -->
  <title>Références en ligne de commande</title>
  <para>Cette annexe décrit les possibilités offertes par GRAMPS en ligne de commande, depuis un terminal.</para>
  
  <note><para>&app; est écrit pour être piloté à travers son interface graphique. Il ne peut pas être utilisé dans un mode strictement limité au texte. Les modifications pour le faire seraient très importantes. C'est pourquoi les options de la ligne de commande ne visent pas l'indépendance par rapport au mode graphique. En fait, elles rendent seulement certaines tâches fréquentes plus commodes et exécutables depuis des scripts. L'affichage graphique doit cependant toujours être accessible.
  </para></note>

  <tip><para> En résumé, les options de la ligne de commande fournissent un mode non-interactif mais n'affranchissent pas d'un affichage graphique. C'est comme çà ! 
  </para></tip>


      <sect1 id="cmdline-options">
      <title>Options disponibles</title>

      <para>Voici la liste des options de lancement de GRAMPS. Si vous voulez connaître plus d'options, voir <xref linkend="cmdline-operation"/>
      et <xref linkend="cmdline-examples"/>.
      </para>

          <sect2 id="cmdline-opt-format"><title>Options de format</title>
          <para> Le format des fichiers de lecture ou d'écriture est donné par l'option
          	<command>-f <replaceable>format</replaceable></command>
          Les valeurs acceptables <replaceable>format</replaceable> sont énumérées ci-dessous.</para>
          
          	<variablelist>

          	<varlistentry><term>grdb</term>
          	<listitem><para>Base de données de &app;.Ce format est prêt à l'ouverture, à l'importation, et à l'exportation. Une fois indiqué, il peut deviner si le fichier porte l'extension grdb 
                </para></listitem></varlistentry>

          	<varlistentry><term>gramps-xml</term>
          	<listitem><para>Base de données de &app;. Ce format est prêt à l'ouverture, à l'importation, et à l'exportation. Une fois indiqué, il peut deviner si le fichier représente un dossier-gramps.
                </para></listitem></varlistentry>

          	<varlistentry><term>gedcom</term>
          	<listitem><para>Fichier GEDCOM.Ce format est prêt à l'ouverture, à l'importation, et à l'exportation. Une fois indiqué, il peut deviner si le fichier porte l'extension ged
                </para></listitem></varlistentry>

          	<varlistentry><term>gramps-pkg</term>
          	<listitem><para>Paquet de &app;.Ce format est prêt à l'importation et à l'exportation. Une fois indiqué, il peut deviner si le fichier porte l'extension tgz
                </para></listitem></varlistentry>

          	<varlistentry><term>geneweb</term>
          	<listitem><para>Le fichier de GeneWen.Ce format est prêt à l'importation et à l'exportation. Une fois indiqué, il peut deviner si le  fichier porte l'extension gw
                </para></listitem></varlistentry>

          	<varlistentry><term>wft</term>
          	<listitem><para>  Web Family Tree. Ce format est prêt à l'exportation seulement. Une fois indiqué, il peut deviner si le fichier porte l'extension wft
                </para></listitem></varlistentry>

          	<varlistentry><term>iso</term>
          	<listitem><para> Image de CD. Ce format est prêt à l'exportation seulement. Il doit toujours être indiquer explicitement. 
                </para></listitem></varlistentry>

          	</variablelist>

          </sect2>

          <sect2 id="cmdline-opt-open"><title>Options d'ouverture</title>
          <para>Il y a deux manières de donner à &app; le nom du fichier à ouvrir:</para>
          <itemizedlist>
          <listitem><para>chemin du fichier </para></listitem>
          
          <listitem><para>use the
          <command>-O <filename>nom du fichier</filename></command> ou
          <command>-open=<filename>nom du fichier</filename></command>
          </para></listitem>

          </itemizedlist>

          <para>Si le nom du fichier est donné sans options, &app; ouvrira sa fenêtre principale et commencera une session. 
          </para>
          
          <tip><para>Si aucune option n'est donnée, juste le nom de fichier, &app; ignorera le reste des arguments de ligne de commande. Employer -o pour ouvrir le fichier et pour faire quelque chose avec les données.
          </para></tip>

          <para>Le format peut être indiqué avec l'option  
          <command>-f <replaceable>format</replaceable></command> ou 
          <command>--format=<replaceable>format</replaceable></command>
          juste après <filename>le nom du fichier</filename>. 
          Pour le format gramps-xml,<filename>nom de fichier</filename> est réellement le nom du répertoire sous lequel la base de données de gramps réside. Pour le grdb et le gedcom, <filename>le nom de fichier</filename> est le nom du fichier correspondant.
          </para>

          <tip><para>Seulement grdb, gramps-xml, et les formats gedcom peuvent être ouverts directement. Pour d'autres formats, vous devrez employer l'option d'importation qui installera la base de données vide puis importera des données.
          </para></tip>
          
          <tip><para>Seulement un fichier simple peut être ouvert. Si vous devez combiner des données depuis plusieurs sources, vous devrez employer l'option d'importation.</para></tip>
                    
          </sect2>

          <sect2 id="cmdline-opt-import"><title>Options d'importation</title>
          <para> Les dossiers destinés à l'importation peuvent être indiqués avec
          <command>-i <filename>nom du fichier</filename></command>
          ou <command>--import=<filename>nom du fichier</filename></command>
          Le format peut être indiqué avec l'option 
          <command>-f <replaceable>format</replaceable></command> ou 
          <command>--format=<replaceable>format</replaceable></command>
          juste après<filename>nom de fichier</filename>. 
          Pour le format gramps-xml,<filename>le nom du fichier</filename> est réellement le nom du répertoire sous lequel la base de données de gramps réside. Pour grdb, gedcom,  gramps-pkg, et geneweb, <filename>le nom du fichier</filename> est le nom du fichier correspondant.
          </para>

          <tip><para>Plus d'un fichier peut être importé dans une commande. Si c'est le cas,
&app; incorporera les données à partir du prochain fichier à la base de données disponible à l'heure actuelle.
  </para></tip>
          <para>Quand plus d'un dossier d'entrée est donné, chacun doit être par précédé de<command>-i</command>Les dossiers sont importés dans l'ordre indiqué, c.-à-d.. 
          <command>
            -i <filename>fichier1</filename> 
            -i <filename>fichier2</filename>
          </command> and <command>
            -i <filename>fichier2</filename> 
            -i <filename>fichier1</filename>
          </command>
            pourraient produire différentes versions dans la base de données résultant.
          </para></sect2>

          <sect2 id="cmdline-opt-export"><title>Options d'exportation</title>
          <para> Les dossiers destinés à l'exportation peuvent être indiqués avec
          <command>-o <filename>nom du fichier</filename></command> ou
       	  <command>--output=<filename>nom du fichier</filename></command> 
            Le format peut être indiqué avec l'option <command>-f</command> 
           juste après <filename>le nom du fichier</filename>. 
          Pour gramps-xml et les formats iso, <filename>nom du fichier</filename> 
          est réellement le nom du répertoire la base de données de gramps. Pour grdb, gedcom, wft, geneweb, et gramps-pkg,<filename>le nom du fichier</filename> 
          est le nom du dossier résultant.
          </para>

          <tip><para>Plus d'un fichier peut être exporté dans une commande. Si c'est le cas,  &app; essayera d'écrire plusieurs fichiers en utilisant les données de la base de données disponible à l'heure actuelle.
          </para></tip>

          <para> Quand plus d'un fichier est donné, chacun doit être par précédé par <command>-o</command> Les dossiers sont écrits dans l'ordre indiqué.
          </para></sect2>

          <sect2 id="cmdline-opt-action"><title>Options d'action</title>
          <para> L'action à exécuter sur les données importées peut être indiquée avec
          <command>-a <replaceable>action</replaceable></command> ou
          <command>--action=<replaceable>action</replaceable></command>
          Ceci est fait après que toutes les importations soient accomplies avec succès.
          </para>
          
          <para>Les actions actuellement disponibles sont:</para>
          
          <variablelist>
          
          <varlistentry><term>summary</term>
          <listitem><para>Cette action est identique à
          <menuchoice><guimenu>Rapports</guimenu><guisubmenu>Vue</guisubmenu>
	      <guimenuitem>Sommaire</guimenuitem></menuchoice>
          </para></listitem></varlistentry>
      
          
          <varlistentry><term>check</term>
          <listitem><para>Cette action est identique à 
          <menuchoice><guimenu>Outils</guimenu>
          <guisubmenu>Traitement de la Base de données</guisubmenu>
          <guimenuitem>contrôle et réparation</guimenuitem></menuchoice>.
          </para> </listitem> </varlistentry>

          <varlistentry><term>report</term>
          <listitem><para>Cette action laisse produire des rapports à partir de la ligne de commande. Car les rapports ont généralement beaucoup d'options propres, cette action devrait être suivie de la chaîne d'option du rapport. La chaîne est donnée en utilisant  
          <command>-p <replaceable>option_string</replaceable></command> ou
          <command>--options=<replaceable>option_string</replaceable></command>        
          </para>
          
          <tip><para>
          La chaîne d'option de rapport devrait satisfaire les conditions suivantes:
          </para>
          
          <itemizedlist>
          
          <listitem><para>Elle ne doit contenir aucun espaces. Si quelques arguments doivent inclure les espaces, la chaîne devrait être enfermée avec des guillemets.
          </para></listitem>
          
          <listitem><para>Option string must list pairs of option names
          and values. 
          </para></listitem>

          <listitem><para>La chaîne d'option doit énumérer des paires de noms et de valeurs séparées par le signe égal.
          </para></listitem>

          <listitem><para>Différentes paires doivent être séparées par des virgules.
          </para></listitem>

          </itemizedlist>
          </tip>
          
          
          <para>La plupart des options de rapport sont spécifiques pour chaque rapport. Cependant, il y a quelques options communes.
          </para>

            <variablelist>         
          
            <varlistentry><term>name=report_name</term>
            <listitem> <para>
            Cette option obligatoire détermine quel rapport sera produit. Si le report_name ne correspond à aucun rapport disponible, le message d'erreur sera affiché à la suite de la liste de rapports disponibles.
            </para>
            </listitem> </varlistentry>

            <varlistentry><term>show=all</term>
            <listitem> <para>
            Ceci affichera la liste de noms pour toutes les options disponibles pour un rapport présenté.
            </para>
            </listitem> </varlistentry>

            <varlistentry><term>show=option_name</term>
            <listitem> <para>
            Ceci affichera la description de la fonctionnalité assurée par l'option_name, pour les types et les valeurs acceptables pour cette option.
            </para>
            </listitem> </varlistentry>

            </variablelist>         

          <para>
          Employez les options ci-dessus pour découvrir tout au sujet d'un rapport présenté.
          </para>
          
          <tip><para>
          Si une option n'est pas assurée, la dernière valeur utilisée sera employée. Si ce rapport n'a jamais été produit avant, alors la valeur du dernier rapport produit sera employée comme applicable. Autrement, la valeur par défaut sera employée.
          </para></tip>

          </listitem> </varlistentry>

          </variablelist>

          <para>Quand plus d'une action à produire est donnée, chacunes doivent être par précédé<command>-a</command> . Les actions sont effectuées dans l'ordre indiqué.
          </para></sect2>

      </sect1>


      <sect1 id="cmdline-operation">
      <title>Opération</title>
      
       <itemizedlist>
       
       <listitem>
       <para>Si le premier argument sur la ligne de commande ne commence pas par le tiret, &app; essayera d'ouvrir le dossier avec le nom donné par le premier argument et de commencer la session interactive, ignorant le reste des arguments de ligne de commande.
       </para></listitem>
       
       <listitem>
       <para>Si <command>-O</command> est donné, alors &app; essayera d'ouvrir le nom de fichier fourni et fonctionnera alors avec ces données.
       </para>
       
       <note><para>Seulement, un fichier peut être ouvert par 
       &app;. Si vous avez besoin d'ouvrir depuis plusieurs sources, utilisez l'option d'importation
       <command>-i</command>.
       </para></note>
       </listitem>
      
       <listitem>
       <para>L'ordre des options <command>-i</command>, <command>-o</command>, 
       ou <command>-a</command> entre elles n'a pas de signification. L'ordre réel d'exécution est toujours : les lectures (s'il y en a) puis les écritures (s'il y en a) et
enfin les actions (s'il y en a).</para>
       
       <note><para>Mais l'ouverture doit toujours être première!</para></note>
       </listitem>
       
       <listitem>                                                                         
       <para>Si aucune option <command>-O</command> ou <command>-i</command> 
       n'est donnée, gramps ouvrira sa fenêtre principale et commencera une session interactive avec un ensemble vide de données puisqu'il n'y a pas de données à traiter.
       </para></listitem>
                                                                                
       <listitem>                                                                       
       <para>Si aucune option <command>-o</command> ou <command>-a</command>n'est donnée, gramps ouvrira sa fenêtre principale et commencera une session interactive avec les données lues.
       <filename>import_db.grdb</filename> se situera dans le répertoire 
       <filename>~/.gramps/import/</filename>.
       </para></listitem>
       
       <listitem>                                                                       
       <para>Les erreurs trouvées pendant les phases de lecture, d'écriture et d'action sont rapportées soit sur la sortie standard quand elles sont gérées par gramps, soit sur la sortie d'erreur dans le cas contraire. Utilisez les redirections du shell pour les conserver dans des fichiers.
       </para></listitem>
       
       </itemizedlist>

      </sect1>

      <sect1 id="cmdline-examples">
      <title>Exemples</title>
        
        <variablelist>
        
        <varlistentry>
        <term>Lecture de quatre bases de données dont les formats peuvent être devinés d'après les noms, puis vérification des données :</term>
        
        <listitem>
        <para><command>gramps 
            -i<filename>file1.ged</filename>
            -i <filename>file2.tgz</filename>
            -i <filename>~/db3</filename>
            -i <filename>file4.wft</filename>
            -a <filename>check</filename></command>
        </para> </listitem></varlistentry>
        
        <varlistentry>
        <term>Si vous voulez préciser les formats de fichiers dans l'exemple ci-dessus, complétez les noms de fichiers par les options <command>-f</command> appropriées :</term>
        <listitem>
        <para><command>gramps 
            -i <filename>file1.ged</filename> 
            -f <replaceable>gedcom</replaceable> 
            -i <filename>file2.tgz</filename> 
            -f <replaceable>gramps-pkg</replaceable> 
            -i <filename>~/db3</filename> 
            -f <replaceable>gramps</replaceable> 
            -i <filename>file4.wft</filename> 
            -f <replaceable>wft</replaceable> 
            -a <replaceable>check</replaceable></command>
        </para></listitem>
        </varlistentry>

        <varlistentry>
       <term>Pour enregistrer le résultat des lectures, donnez l'option 
       <command>-o</command>(utiliser <command>-f</command>
       si le nom de fichier ne permet pas à gramps de deviner le format) :</term>
       <listitem>
        <para><command>gramps 
            -i <filename>file1.ged</filename> 
            -i <filename>file2.tgz</filename> 
            -o <filename>~/new-package</filename> 
            -f <replaceable>gramps-pkg</replaceable></command> 
        </para></listitem>
        </varlistentry>
                                                                                
        <varlistentry>
       <term>Pour sauver les erreurs de l'exemple précédent dans les fichiers  
       <filename>outfile</filename> et 
       <filename>errfile</filename>, lancez :</term>
        <listitem>
        <para><command>gramps 
            -i <filename>file1.ged</filename> 
            -i <filename>file2.tgz</filename> 
            -o <filename>~/new-package</filename> 
            -f <replaceable>gramps-pkg</replaceable> 
        &gt;<filename>outfile</filename> 
        2&gt;<filename>errfile</filename> </command>
        </para></listitem>
        </varlistentry>

        <varlistentry>
       <term>Pour lire trois ensembles de données puis lancer une session interactive de gramps sur le tout :</term>
       <listitem>
        <para><command>gramps 
            -i <filename>file1.ged</filename> 
            -i <filename>file2.tgz</filename> 
            -i <filename>~/db3</filename>
        </command>
        </para> </listitem>
       </varlistentry>
                                                         
         <varlistentry>
       <term>Pour ouvrir une base de données, produisant un rapport temporel dans le format pdf et l'enregistrant sous le fichier
       <filename>my_timeline.pdf</filename> :</term>
       <listitem>
        <para><command>gramps 
            -O <filename>file.grdb</filename> 
            -a <replaceable>report</replaceable> 
            -p <replaceable>name=timeline,off=pdf,of=my_timeline.pdf</replaceable>
        </command> 
        </para> 
        
        <tip><para>Employez <replaceable>name=timeline,show=all</replaceable> 
        pour découvrir toutes les options disponibles au sujet du rapport de timeline. Pour découvrir des détails d'une option particulière, employez
        <replaceable>show=option_name</replaceable>,
        par exemple :<replaceable>name=timeline,show=off</replaceable> 
        </para>
        
        <para>Pour se renseigner sur les noms disponibles de rapport, employez 
        <replaceable>name=show</replaceable>.
        </para>
        </tip>

        </listitem>
       </varlistentry>

       <varlistentry>
       <term>Enfin, pour lancer une session interactive normale, entrez :</term>
       <listitem><para> <command>gramps </command></para></listitem>
              </varlistentry>
                                                                          
        </variablelist>

      </sect1>

</appendix> 
