<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<!--
/*
* $calcurse: manual_fr.html,v 1.28 2009/08/18 13:08:00 culot Exp $
*
* Copyright (c) 2004-2009 Frederic Culot <frederic@culot.org>
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* - Redistributions of source code must retain the above
* copyright notice, this list of conditions and the
* following disclaimer.
*
* - Redistributions in binary form must reproduce the above
* copyright notice, this list of conditions and the
* following disclaimer in the documentation and/or other
* materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
*/
-->
<html>
<head>
<title>documentation de CALCURSE</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css" media="all">
@import url(manual.css);
</style>
</head>
<body>
<div id="mainContent">
<h1 id="title">
<span class="main">CALCURSE - organiseur en mode texte</span></h1>
<div class="warn">
<h1>R�sum�</h1> Ce manuel pr�sente l'ensemble des fonctionnalit�s du
logiciel <code>calcurse</code> et la mani�re dont on peut les
utiliser. La proc�dure d'installation du programme depuis ses sources
est tout d'abord d�crite, ainsi que les diff�rentes fa�on dont
<code>calcurse</code> peut �tre lanc�. L'interface du programme est
ensuite pr�sent�e, avec l'ensemble des options qui permettent la
configuration du logiciel. Sont enfin expliqu�es les proc�dures � suivre
pour faire remonter les bogues et pour contribuer au d�veloppement de
<code>calcurse</code>.
</div>
<div id="toc">
<h1>Table des mati�res</h1>
<ul>
<li><a href="#intro">1. Introduction</a></li>
<li><a href="#overview">2. Aper�u du logiciel</a>
<ul>
<li><a href="#overview_history">2.1 Origine de Calcurse</a></li>
<li><a href="#overview_features">2.2 Caract�ristiques importantes</a></li>
</ul></li>
<li><a href="#install">3. Installation</a>
<ul>
<li><a href="#install_requirements">3.1 Pr�-requis</a>
<ul>
<li><a href="#install_requirements_ncurses">3.1.1 Librairie <code>ncurses</code></a></li>
<li><a href="#install_requirements_gettext">3.2.2 Librairie <code>gettext</code></a></li>
</ul></li>
<li><a href="#install_process">3.2 Processus d'installation</a></li>
</ul></li>
<li><a href="#basics">4. Pr�sentation g�n�rale</a>
<ul>
<li><a href="#basics_invocation">4.1 Invocation</a>
<ul>
<li><a href="#basics_invocation_commandline">4.1.1 Arguments en ligne de commande</a></li>
<li><a href="#basics_invocation_variable">4.1.2 Variable d'environnement pour l'i18n</a></li>
<li><a href="#basics_invocation_environment">4.1.3 Autres variables d'environnement</a></li>
</ul></li>
<li><a href="#basics_interface">4.2 Interface utilisateur</a>
<ul>
<li><a href="#basics_interface_noninteractive">4.2.1 Mode non-interactif</a></li>
<li><a href="#basics_interface_interactive">4.2.2 Mode Interactif</a></li>
</ul></li>
<li><a href="#basics_daemon"><span class="todo">4.3 Background mode</span></a></li>
<li><a href="#basics_files">4.4 Fichiers</a></li>
<li><a href="#basics_import_export">4.5 Fonctions d'import/export</a>
<ul>
<li><a href="#basics_import">4.5.1 Import</a></li>
<li><a href="#basics_export">4.5.2 Export</a></li>
</ul></li>
<li><a href="#basics_help">4.6 Aide en ligne</a></li>
</ul></li>
<li><a href="#options">5. Options</a>
<ul>
<li><a href="#options_general">5.1 Options g�n�rales</a></li>
<li><a href="#options_keys">5.2 Raccourcis clavier</a>
<li><a href="#options_colors">5.3 Th�mes graphiques</a></li>
<li><a href="#options_layout">5.4 Disposition des panneaux</a></li>
<li><a href="#options_notify">5.5 R�glages de la barre de notification</a></li>
</ul></li>
<li><a href="#known_bugs">6. Bogues connus</a></li>
<li><a href="#bugs">7. Rapporter les bogues et commentaires</a></li>
<li><a href="#contribute">8. Comment contribuer?</a>
<ul>
<li><a href="#contribute_documentation">8.1 Traduction de la documentation</a></li>
<li><a href="#contribute_i18n">8.2 Traduction de <code>calcurse</code></a>
<ul>
<li><a href="#contribute_i18n_overview">8.2.1 Aper�u</a></li>
<li><a href="#contribute_i18n_translator">8.2.2 Etapes de la traducion</a></li>
<li><a href="#contribute_i18n_po-files">8.2.3 Fichiers <code>po</code></a></li>
</ul></li>
</ul></li>
<li><a href="#links">9. Liens</a>
<ul>
<li><a href="#links_homepage">9.1 Site internet de <code>calcurse</code></a></li>
<li><a href="#links_list">9.2 Liste de diffusion de <code>calcurse</code></a></li>
<li><a href="#links_rss">9.3 Flux RSS</a></li>
<li><a href="#links_others">9.4 Autres liens</a></li>
</ul></li>
<li><a href="#thanks">10. Remerciements</a></li>
</ul>
</div>
<h1>1. Introduction<a name="intro"></a></h1>
<p>
<code>calcurse</code> est un logiciel compos� d'un calendrier et d'un organiseur
personnel en mode texte. Il permet de stocker les �v�nements et rendez-vous,
ainsi qu'une liste de t�ches � effectuer. Un syst�me de notification,
enti�rement configurable par l'utilisateur, permet d'�tre pr�venu lorsque
l'heure d'un rendez-vous approche. L'interface utilisateur est elle aussi
configurable, et peut s'adapter aux besoins de chacun. Enfin, un syst�me d'aide
en ligne permet d'obtenir des renseignements sur toutes les commandes
disponibles.
</p>
<h1>2. Aper�u du logiciel<a name="overview"></a></h1>
<h2>2.1 Origine de Calcurse<a name="overview_history"></a></h2>
<p>
J'ai commenc� � penser � ce projet � la fin de mon doctorat
en astrophysique... Je commen�ais en effet � avoir de plus
en plus de mal � m'organiser, et j'avais vraiment besoin d'un
bon outil pour m'aider dans cette t�che difficile ;)
</p>
<p>
D'autre part, j'appr�cie beaucoup les logiciels qui font appel
� des Interfaces en Mode Texte, parce que je les trouve plus
simples, plus rapides, plus portables et plus efficaces. J'ai
alors commenc� � programmer un calendrier rudimentaire qui
utilisait une interface de ce type. En plus de cela, je
voulais am�liorer mes connaissances en <code>C</code>, langage
de programmation que je n'avais utilis� jusqu'alors que dans
le cadre de petits projets pendant mes �tudes. J'ai donc pens�
que ce serait une bonne chose de me lancer dans ce projet,
puisque cela me permettrait � la fois de mieux m'organiser, et
d'apprendre � mieux programmer en <code>C</code>!
</p>
<p>
Malheureusement, j'ai obtenu mon doctorat avant de terminer
<code>calcurse</code>, mais j'ai tout de m�me voulu continuer
� travailler sur ce projet, en esp�rant que ce
programme serait utile � d'autres
personnes. Voil� comment est n�
<code>calcurse</code>...
</p>
<p>
Mais au fait, pourquoi 'calcurse' ? Et bien ce nom provient
simplement de la concat�nation de 'CALendrier' et de
'nCURSEs', qui est le nom de la librairie utilis�e pour
construire l'interface utilisateur.
</p>
<h2>2.2 Caract�ristiques importantes<a name="overview_features"></a></h2>
<p>
<code>Calcurse</code> est multi-plateformes et est con�u pour
�tre l�ger, rapide et fiable. Il doit �tre utilis� dans un
terminal ou une console, soit localement ou bien sur une
machine distante par l'intermediaire d'une liaison ssh (ou
similaire).
</p>
<p>
<code>Calcurse</code> peut �tre lanc� dans deux modes diff�rents:
soit interactif, soit non-interactif. Le premier mode permet
de visualiser son organiseur personnel pratiquement sous
n'importe quel environnement, gr�ce � l'interface en mode texte.
Le deuxi�me mode permet de cr�er facilement des penses-b�te en
ajoutant <code>calcurse</code> avec les arguments appropri�s dans
la table cron ou dans le script d'initialisation du shell.
</p>
<p>
De plus, <code>calcurse</code> a �t� cr�� en prenant en compte
l'utilisateur final � chaque �tape de sa conception,
c'est-�-dire en essayant d'�tre le plus intuitif
possible. Cela implique la pr�sence d'une aide en ligne
exhaustive, ainsi que le rappel de toutes les commandes
possibles dans la barre de status. L'interface utilisateur
est �galement configurable, et l'on peut choisir parmi de
nombreuses combinaisons possibles de couleurs et de positions
des fen�tres. Les raccourcis clavier peuvent �tre d�finis aussi
par l'utilisateur, pour correspondre aux besoins de chacun.
Enfin, le syst�me de notification est
enti�rement configurable, l'utilisateur peut donc choisir la
mani�re dont il veut �tre pr�venu de l'approche d'un
rendez-vous. Les notifications peuvent �galement �tre envoy�es
m�me si l'interface utilisateur n'est pas lanc�e, car
<code>calcurse</code> peut tourner en t�che de fond (mode d�mon).
</p>
<h1>3. Installation<a name="install"></a></h1>
<h2>3.1 Pr�-requis<a name="install_requirements"></a></h2>
<h3>3.1.1 Librairie <code>ncurses</code><a name="install_requirements_ncurses"></a></h3>
<p>
L'installation de <code>Calcurse</code> ne n�cessite qu'un
compilateur <code>C</code>, comme <code>cc</code> ou <code>gcc</code>,
et la librairie <code>ncurses</code>.
Il serait tr�s surprenant que vous n'ayez pas d�j� la librairie
<code>ncurses</code> d'install�e sur votre machine, mais si
c'est le cas, vous pourrez la trouver � l'adresse suivante :
</p>
<pre>http://ftp.gnu.org/pub/gnu/ncurses/</pre>
<div class="todo">
<p class="rq"><span class="valorize">Note:</span>
It is also possible to link <code>calcurse</code> against the
<code>ncursesw</code> library (ncurses with support for unicode).
However, UTF-8 is not yet supported by <code>calcurse</code>.</p>
</div>
<h3>3.1.2 Librairie <code>gettext</code><a name="install_requirements_gettext"></a></h3>
<p>
<code>calcurse</code> s'aide de la librairie
<code>gettext</code> pour le support de l'internationalisation
(not� <span class="emp">i18n</span> ci-apr�s). Cela signifie que
<code>calcurse</code> peut fournir des messages multilingues
s'il est compil� avec le support NLS (<span class="emp">Native
Language Support</span> - <span class="emp">Support de Langage
Natif</span>).
</p>
<p>
Cependant, ce support est optionnel et si vous n'avez pas
besoin de la traduction des messages affich�s, vous pouvez
d�sactiver cette option. La d�sactivation du support
<span class="emp">NLS</span> s'effectue en passant l'option
<code>--disable-nls</code> � <code>configure</code>
(voir la section <a href="#install_process">Processus
d'Installation</a>).
</p>
<p>
Pour v�rifier que les utilitaires <code>gettext</code> sont
bien install�s sur votre systs�me, vous pouvez
par exemple v�rifier la pr�sence du fichier
<code>libintl.h</code> en tapant : </p>
<pre>locate libintl.h</pre>
<p>
Dans l'�ventualit� o� ce fichier ne serait pas trouv�,
vous pouvez obtenir les sources de <code>gettext</code>
� l'adresse suivante :</p>
<pre>http://ftp.gnu.org/pub/gnu/gettext/</pre>
<p>
<p class="rq"><span class="valorise">Remarque :</span> M�me si
<code>libintl.h</code> est bien localis� par la commande
pr�c�dente, il peut �tre utile de sp�cifier son emplacement au
moment de lancer le <a href="#install_process">processus
d'installation</a>, en passant l'option
<code>--with-libintl-prefix</code> au script
<code>configure</code>. En effet, ce script pourrait ne pas
trouver le fichier <code>libintl.h</code> si celui-ci n'est
pas install� dans un endroit usuel.</p>
<h2>3.2 Processus d'installation<a name="install_process"></a></h2>
<p>
Vous devez tout d'abord d�compresser l'archive source de la
mani�re suivante :</p>
<pre>tar zxvf calcurse-2.7.tar.gz</pre>
<p>
Une fois que vous remplissez tous les pr�-requis n�cessaires �
l'installation, le processus de compilation est simple et suit
les trois �tapes usuelles :
<ol>
<li><code>./configure</code></li>
<li><code>make</code></li>
<li><code>make install</code> (peut n�cessiter les privil�ges
super-utilisateur)</li>
</ol>
</p>
<p>
Vous pouvez obtenir la liste des options possibles en tapant
<code>./configure --help</code>.
</p>
<h1>4. Pr�sentation g�n�rale<a name="basics"></a></h1>
<h2>4.1 Invocation<a name="basics_invocation"></a></h2>
<h3>4.1.1 Arguments en ligne de commande<a name="basics_invocation_commandline"></a></h3>
<p>
Lors de son appel en ligne de commande, <code>calcurse</code>
accepte les arguments suivants (les arguments courts ou longs
sont support�s) :</p>
<p>
<dl>
<dt><code>-a, --appointment</code></dt>
<dd>
Affiche les rendez-vous pour la date du jour, puis quitte.
<p class="rq"><span class="valorise">Remarque:</span> le calendrier � utiliser peut �tre
sp�cifi� en utilisant l'option '-c'.</p>
</dd>
<dt><code>-c <fichier>, --calendar <fichier></code></dt>
<dd>
Sp�cifie le fichier calendrier � utiliser.
Le calendrier par d�faut est celui contenu dans
<code>~/.calcurse/apts</code>
(voir la section <a href="#basics_files">Fichiers</a>).
</dd>
<dt><code>-d <date|num>, --day <date|num></code></dt>
<dd>
Affiche les rendez-vous pour la date ou pour le nombre de
jours indiqu�s, suivant le format de l'argument. Deux
formats diff�rents sont accept�s :
<ul>
<li>une date (voir ci-dessous pour les formats disponibles).</li>
<li>un nombre 'n'.</li>
</ul>
Dans le premier cas, la liste des rendez-vous pour la
date sp�cifi�e sera affich�e, alors que dans le
deuxi�me cas, la liste des rendez-vous pour les 'n'
jours � venir sera retourn�e.
Par exemple, taper <code>calcurse -d 3</code> fera
s'afficher les rendez-vous pour aujourd'hui, demain
et apr�s-demain.
<div class="todo">
Possible formats for specifying the date are defined inside the
general configuration menu (see
<a href="#options_general">General options</a>), using the
<code>input_datefmt</code> variable.
</div>
<p class="rq"><span class="valorise">Remarque:</span>
comme pour l'option '-a', le fichier contenant le calendrier
� lire peut �tre sp�cifi� en utilisant l'option '-c'.</p>
</dd>
<dt><code>-D <dir>, --directory <dir></code></dt>
<dd>
Indique le r�pertoire dans lequel seront stock�es les donn�es.
Cette option n'est pas compatible avec l'option '-c'. Si ce
r�pertoire n'est pas sp�cifi�, celui utilis� par d�faut est
<code>'~/.calcurse/'</code>.
</dd>
<dt><code>-h, --help</code></dt>
<dd>
Affiche l'aide d�crivant les options en ligne de commande,
puis quitte.</dd>
<dt><code>-i <file>, --import <file></code></dt>
<dd>
Importe les donn�es au format icalendar contenues dans le fichier
<code>file</code>.
</dd>
<dt><code>-n, --next</code></dt>
<dd>
Affiche le rendez-vous suivant dans les prochaines 24 heures, puis
quitte.
Le temps indiqu� repr�sente le nombre d'heures et de
minutes restantes avant le rendez-vous.
<p class="rq"><span class="valorise">remarque:</span>
le fichier contenant le calendrier � lire peut
�tre sp�cifi� en utilisant l'option '-c'.</p>
</dd>
<dt><code>-N, --note</code></dt>
<dd>
Lorsque cette option est utilis�e avec les options '-a' ou '-t',
le contenu des notes associ�es aux rendez-vous et aux t�ches sera
�galement affich�.
</dd>
<dt><code>-r[num], --range[=num]</code></dt>
<dd>
Affiche les rendez-vous et les �v�nements pour le nombre num de
jours puis quitte. Si l'argument optionnel num n'est pas donn�,
une plage d'une seule journ�e sera utilis�e.
</dd>
<dt><code>-s[date], --startday[=date]</code></dt>
<dd>
Affiche les rendez-vous et les �v�nements depuis la date indiqu�e
puis quitte. Si l'argument optionnel date n'est pas donn�, la journ�e
courante sera utilis�e.
</dd>
<dt><code>-S<regex>, --search=<regex></code></dt>
<dd>
Lorsque cette option est utilis�e avec les options '-a', '-d', '-r',
'-s' ou '-t', seuls les �l�ments dont la description correspond �
l'expression r�guli�re pass�e en argument seront affich�s.
</dd>
<dt><code>--status</code></dt>
<dd>
<div class="todo">
Display the status of running instances of calcurse. If
calcurse is running, this will tell if the interactive
mode was launched or if calcurse is running in background.
The process pid will also be indicated.
</div>
</dd>
<dt><code>-t[num], --todo[=num]</code></dt>
<dd>
Affiche la liste des 'todo', puis quitte. Si le nombre optionnel
<code>num</code> est indiqu�, alors uniquement les t�ches
ayant une priorit� �gale � <code>num</code> seront
affich�es.
La priorit� doit �tre comprise entre 1 (priorit� la plus haute) et 9
(priorit� la plus basse). Il est �galement possible de sp�cifier 0
pour la priorit�, auquel cas seules les t�ches complet�es seront
affich�es.</p>
</dd>
<dt><code>-v, --version</code></dt>
<dd>
Affiche la version de <code>calcurse</code>, puis quitte.
</dd>
<dt><code>-x[format], --export[=format]</code></dt>
<dd>
Exporte les donn�es utilisateur au format sp�cifi�. Les �v�nements,
rendez-vous et t�ches sont convertis et imprim�s sur la sortie
standard. Deux formats d'export diff�rents sont disponibles :
le format ical et le format pcal (voir la section
<a href="#links_others">Liens</a> ci-dessous).
Si l'argument optionnel <code>format</code> n'est pas indiqu� par
l'utilisateur, alors le format ical sera utilis� par d�faut.
<p class="rq"><span class="valorise">Note:</span>
afin de sauvegarder les donn�es export�es dans un fichier,
il est n�cessaire de rediriger la sortie standard en utilisant une
commande comme celle-ci:
<code>$ calcurse --export > mon_fichier.dat</code></p>
</dd>
</dl>
<h3>4.1.2 Variable d'environnement pour l'i18n<a name="basics_invocation_variable"></a></h3>
<p>
<code>calcurse</code> peut �tre compil� avec le support
<span class="emp">NLS</span> (voir <a
href="#install_requirements_gettext">Librairie
<code>gettext</code></a>). Ainsi, si vous voulez que les
messages affich�s apparaissent dans votre langue natale,
assurez-vous tout d'abord que celle-ci est pr�sente dans le
fichier <code>po/LINGUAS</code>. Ce fichier indique toutes
les traductions disponibles par l'interm�diaire d'un code de
deux lettres (par exemple, <span class="emp">fr</span>
repr�sente le fran�ais). Si vous ne trouvez pas votre langue,
il serait tr�s appr�ci� que vous apportiez votre aide pour
traduire <code>calcurse</code> (voir la partie <a
href="#contribute">Comment contribuer?</a>).</p>
<p>
Si votre langue est disponible, lancez <code>calcurse</code>
en utilisant la commande suivante : </p>
<pre>LC_ALL=fr_FR calcurse</pre>
<p>o� <span class="emp">fr_FR</span> doit �tre remplac� par la
<span class="emp">locale</span> (code de la langue suivi du
code pays) correspondant � la traduction voulue.</p>
<p>
Il est �galement recommand� de sp�cifier le codage � utiliser,
car dans certains cas des probl�mes d'affichage des accents
peuvent survenir. Ce codage est indiqu� au d�but du fichier po
correspondant � la langue voulue. Par exemple, vous pouvez
remarquer dans le fichier fr.po que le codage utilis� est
iso-8859-1. Vous pouvez donc le pr�ciser au lancement de
<code>calcurse</code>:</p>
<pre>LC_ALL=fr_FR.ISO8859-1 calcurse</pre>
<h3>4.1.3 Autres variables d'environnement<a name="basics_invocation_environment"></a></h3>
<p>
Les variables d'environnement suivantes agissent sur le comportement de
<code>calcurse</code>:</p>
<dl>
<dt><code>VISUAL</code></dt>
<dd>Indique l'�diteur externe qui sera utilis� pour r�diger des notes.
</dd>
<dt><code>EDITOR</code></dt>
<dd>Si la variable d'environnement <code>VISUAL</code> n'est pas
renseign�e, l'�diteur externe qui sera utilis� par d�faut est celui
contenu dans la variable <code>EDITOR</code>. Si aucune de ces deux
variables n'est renseign�e, alors <code>/usr/bin/vi</code> sera
appel� par d�faut.
</dd>
<dt><code>PAGER</code></dt>
<dd>Indique le visualiseur utilis� par d�faut pour consulter les
notes. Si cette variable n'est pas renseign�e, alors
<code>/usr/bin/less</code> sera utilis�.
</dd>
</dl>
<h2>4.2 Interface utilisateur<a name="basics_interface"></a></h2>
<h3>4.2.1 Mode non-interactif<a name="basics_interface_noninteractive"></a></h3>
<p>
Lorsque il est appel� avec au moins un des arguments suivants:
<code>-a</code>, <code>-d</code>, <code>-h</code>,
<code>-n</code>, <code>-t</code>, <code>-v</code>, <code>-x</code>,
<code>calcurse</code> est lanc� en mode non-interactif.
Cela signifie que l'information demand�e sera affich�e,
puis <code>calcurse</code> quittera et vous serez ramen�
au prompt de l'interpr�teur de commandes.</p>
<p>
De cette mani�re, il est possible de rajouter une ligne telle
que <code>'calcurse --todo --appointment'</code> dans le fichier d'initialisation
de son environnement, afin de faire s'afficher � chaque
d�but de session la liste des t�ches � faire et des rendez-vous
planifi�s pour la journ�e.</p>
<h3>4.2.2 Mode interactif<a name="basics_interface_interactive"></a></h3>
<div class="todo">
<p class="rq"><span class="valorise">Note:</span>
Key bindings that are indicated in this manual correspond to
the default ones, defined when <code>calcurse</code> is launched
for the first time. If those key bindings do not suit user's needs,
it is possible to change them within the keys configuration menu
(see <a href="#options_keys">key bindings</a>).</p>
</div>
<p>
Lorsqu'il est appel� sans aucun argument ou uniquement avec
l'option <code>'-c'</code>, <code>calcurse</code> est lanc�
en mode interactif. Dans ce mode s'affiche une interface qui
contient trois panneaux diff�rents, qu'il est possible de
s�lectionner cycliquement en utilisant la touche 'TAB', ainsi
que d'une barre de notification et une autre de status
(voir la figure ci-dessous).</p>
<pre>
panneau rendez-vous---. .---panneau calendrier
| |
v v
+------------------------------------++----------------------------+
| Rendez-vous || Calendrier |
|------------------------------------||----------------------------|
| (|) Avril 6, 2006 || Avril 2006 |
| ||Lun Mar Mer Jeu Ven Sam Dim |
| || 1 2 |
| || 3 4 5 6 7 8 9 |
| || 10 11 12 13 14 15 16 |
| || 17 18 19 20 21 22 23 |
| || 24 25 26 27 28 29 30 |
| || |
| |+----------------------------+
| |+----------------------------+
| || T�ches | panneau
| ||----------------------------| t�ches �
| || | faire
| || | |
| || |<--.
| || |
+------------------------------------++----------------------------+
|---[ Lun 22-11-2006 | 18:11:43 ]---(apts)----> 01:20 :: d�ner <---|<--.
+------------------------------------------------------------------+ barre de
| ? Aide R Retracer H/L -+1 Jour G Aller � C Config | notification
| Q Quitter S Sauver J/K -+1 Sem. Tab Chg vue |<-.
+------------------------------------------------------------------+ |
|
barre de status
</pre>
<p>
Le premier panneau repr�sente un calendrier qui permet de
s�lectionner un jour en particulier. Le second panneau contient
une liste d'�v�nements et les rendez-vous du jour, et le dernier
contient une liste des t�ches � faire, mais qui ne sont pas
assign�es � une journ�e en particulier.</p>
<p>
On peut remarquer dans le panneau des rendez-vous le signe
<span class="emp">'(|)'</span>
plac� juste devant la date. Ce signe repr�sente la phase de la lune.
En fonction de la phase actuelle de celle-ci, un des signes suivants
peut-�tre indiqu� :
<dl class="compact">
<dt>'<code> |) </code>':</dt>
<dd>premier quartier</dd>
<dt>'<code> (|) </code>':</dt>
<dd>pleine lune</dd>
<dt>'<code> (| </code>':</dt>
<dd>dernier quartier</dd>
<dt>'<code> | </code>':</dt>
<dd>nouvelle lune</dd>
<dt>aucun signe:</dt>
<dd>la phase actuelle de la lune ne correspond �
aucune des phases ci-dessus</dd>
</dl>
</p>
<p>
Tout en bas de l'�cran on retrouve une barre de status, qui indique
les actions possibles en fonction du contexte, ainsi que la
touche qui doit �tre press�e pour effectuer cette action.</p>
<p>
Juste au-dessus de cette barre se trouve la barre de notification, qui
indique les informations suivantes, de gauche � droite : la date du jour,
l'heure courante, le fichier calendrier actuellement ouvert (il s'agit
de apts dans la copie d'�cran, qui est le fichier par d�faut, comme indiqu�
dans la section suivante), et le premier rendez-vous programm� dans les
prochaines 24 heures. Dans cet exemple, il s'agit d'un d�ner qui aura lieu
dans une heure et vingt minutes.</p>
<p class="rq"><span class="valorise">Remarque:</span>
Certaines actions, comme �diter ou ajouter un
el�ment, n�cessitent de renseigner du texte par
l'interm�diaire de l'�diteur de ligne de commande
fournit avec <code>calcurse</code>.</p>
<p>
Dans cet �diteur, si la ligne de commande est plus longue que la
largeur de l'�cran, le caract�re '>', '*', ou '<'
sera rajout� dans la derni�re colonne s'il reste du texte
apr�s, avant et apr�s, ou avant la position courante,
respectivement. La ligne d�file horizontalement si
n�cessaire.</p>
<p>
De plus, il existe des combinaisons de touches pour
effectuer certaines actions courantes utiles lors de l'�dition
de textes. Voici ces raccourcis:
<dl class="compact">
<dt><code>^a</code>:</dt>
<dd>d�placer le curseur au d�but de la ligne</dd>
<dt><code>^b</code>:</dt>
<dd>d�placer le curseur d'une position en arri�re</dd>
<dt><code>^d</code>:</dt>
<dd>effacer le caract�re sous le curseur</dd>
<dt><code>^e</code>:</dt>
<dd>d�placer le curseur en fin de ligne</dd>
<dt><code>^f</code>:</dt>
<dd>d�placer le curseur d'une position en avant</dd>
<dt><code>^h</code>:</dt>
<dd>effacer le caract�re pr�c�dent</dd>
<dt><code>^k</code>:</dt>
<dd>effacer le texte depuis la position courante
jusqu'� la fin de la ligne</dd>
<dt><code>ESC</code>:</dt>
<dd>annuler l'�dition du texte courant</dd>
</dl>
</p>
<div class="todo">
<h2>4.3 Background mode<a name="basics_daemon"></a></h2>
<p>When the daemon mode is enabled in the notification configuration menu
(see <a href="#options_notify">Notify-bar settings</a>), <code>calcurse</code> will stay
in background when the user interface is not running. In background mode,
<code>calcurse</code> checks for upcoming appointments and runs the user-defined
notification command when necessary. When the user interface is started again,
the daemon automatically stops.</p>
<p><code>calcurse</code> background activity can be logged (set the
<code>notify-daemon_log</code> variable in the notification configuration
<a href="#options_notify">menu</a>), and in that case, information about the daemon
start and stop time, reminders' command launch time, signals received... will be written
in the <code>daemon.log</code> file (see section <a href="#basics_files">files</a>).</p>
<p>
Using the <code>--status</code> command line option (see section
<a href="#basics_invocation_commandline">Command line arguments</a>),
one can know if <code>calcurse</code> is currently running in background or not.
If the daemon is running, a message like the following one will be displayed (the pid of
the daemon process will be shown):
<pre>calcurse is running in background (pid 14536)</pre>
<p class="rq"><span class="valorise">Note:</span>
To stop the daemon, just send the <code>TERM</code> signal to it, using a command such as:
<code>'kill daemon_pid'</code>, where <span class="emp">daemon_pid</span> is the process id
of the daemon (14536 in the above example).
</p>
</div>
<h2>4.4 Fichiers<a name="basics_files"></a></h2>
<p>
La structure de fichiers suivante est cr��e dans le r�pertoire
<code>$HOME</code> de l'utilisateur (ou bien dans le r�pertoire
indiqu� par l'option '-D') la premi�re fois que
<code>calcurse</code> est lanc� :</p>
<pre>
$HOME/.calcurse/
|___notes/
|___conf
|___keys
|___apts
|___todo
</pre>
<dl class="compact">
<dt><code>notes/</code>:</dt>
<dd>ce sous-r�pertoire contient la description des notes
rattach�es aux rendez-vous, �v�nements ou t�ches. Un fichier
texte est cr�� par note, et son nom est construit � l'aide de
la fonction mkstemp(3). Ainsi, l'unicit� de ce nom est assur�e,
mais il n'a pas de relation avec l'�l�ment auquel la note est
rattach�e.</dd>
<dt><code>conf</code>:</dt>
<dd>ce fichier contient la configuration de l'utilisateur</dd>
<dt><code>keys</code>:</dt>
<dd>ce fichier contient les raccourcis clavier d�finis par l'utilisateur</dd>
<dt><code>apts</code>:</dt>
<dd>ce fichier contient tous les �v�nements ainsi que les
rendez-vous de l'utilisateur</dd>
<dt><code>todo</code>:</dt>
<dd>ce fichier contient la liste des t�ches � effectuer</dd>
</dl>
<div class="todo">
<p class="rq"><span class="valorise">Note:</span>
If the logging of calcurse daemon activity was set in the notification
configuration menu, the extra file <code>daemon.log</code> will appear
in calcurse data directory. This file contains logs about calcurse activity
when running in background.
</p>
</div>
<h2>4.5 Fonctions d'import/export<a name="basics_import_export"></a></h2>
<p>
Les possibilit�s offertes par <code>calcurse</code> pour importer et exporter
des donn�es sont d�crites ci-dessous.
</p>
<h3>4.5.1 Import<a name="basics_import"></a></h3>
<p>
Les donn�es au format icalendar tel que d�crit dans la sp�cification
rfc2445 (voir la section <a href="#links_others">liens</a> ci-dessous)
peuvent �tre import�es dans calcurse. L'import ical de calcurse est bas�
sur la version 2.0 de la norme rfc2445, mais pour le moment, seul un
sous-ensemble de cette sp�cification a �t� impl�ment�.
</p>
<p>
Les propri�t�s suivantes sont g�r�es par calcurse:
<ul>
<li>�l�ments <code>VTODO</code>:<br>
"PRIORITY", "VALARM", "SUMMARY", "DESCRIPTION"</li>
<li>�l�ments <code>VEVENT</code>:<br>
"DTSTART", "DTEND", "DURATION", "RRULE", "EXDATE", "VALARM", "SUMMARY",
"DESCRIPTION"</li>
</ul>
</p>
<p>
La propri�t� "DESCRIPTION" du format icalendar sera convertie dans calcurse
en ajoutant une note � l'�l�ment. Si une propri�t� "VALARM" est trouv�e,
l'�l�ment sera marqu� comme �tant important et l'utilisateur recevra une
notification (ceci ne fonctionne que pour les rendez-vous).
</p>
<p>
Voici la liste des propri�t�s qui ne sont pas encore impl�ment�es:
<ul>
<li>les dur�es n�gatives ne sont pas prises en compte (l'�l�ment n'est
pas import�)</li>
<li>certaines fr�quences de r�p�tition ne sont pas reconnues:<br>
"SECONDLY" / "MINUTELY" / "HOURLY"</li>
<li>Certains mots-cl�s li�s aux r�p�titions ne sont pas reconnus
(ceux commen�ant par 'BY'):<br>
"BYSECOND" / "BYMINUTE" / "BYHOUR" / "BYDAY" / "BYMONTHDAY"<br>
"BYYEARDAY" / "BYWEEKNO" / "BYMONTH" / "BYSETPOS"<br>
plus "WKST"</li>
<li>le mot-cl� "EXRULE" n'est pas reconnu</li>
<li>les fuseaux horaires ne sont pas pris en compte</li>
</ul>
</p>
<h3>4.5.2 Export<a name="basics_export"></a></h3>
<p>
Deux formats peuvent �tres utilis�s pour l'export des donn�es:
<code>ical</code> et <code>pcal</code> (voir la section
<a href="#links_others">Liens</a> ci-dessous pour avoir plus d'informations
concernant ces formats).
</p>
<h2>4.6 Aide en ligne<a name="basics_help"></a></h2>
<p>
A n'importe quel moment, le syst�me d'aide en ligne peut �tre
appel� en pressant la touche '?'. Une fois rentr� dans l'aide,
les informations sur une commande sp�cifique peuvent �tre
obtenues en appuyant sur la touche correspondant � cette
commande.
</p>
<h1>5. Options<a name="options"></a></h1>
<p>
Tous les param�tres de <code>calcurse</code> sont configurables
� partir du menu <code>Configuration</code>, accessible en appuyant
sur 'C'. L'utilisateur se voit alors pr�sent� un second menu
avec trois choix possibles : appuyer � nouveau sur 'C' am�ne
au menu de s�lection des couleurs de l'interface, appuyer sur
'L' permet de choisir parmi diff�rents emplacements pour les
panneaux de la fen�tre principale de <code>calcurse</code>,
appuyer sur 'G' vous permet de fixer les options g�n�rales, 'K'
vous permet d'acc�der au menu de configuration des raccourcis clavier,
et enfin
les param�tres de la barre de notification peuvent �tre fix�s
en appuyant sur 'N'.</p>
<h2>5.1 Options g�n�rales<a name="options_general"></a></h2>
<p>
Ces options contr�lent le comportement g�n�ral de
<code>calcurse</code>, comme d�crit ci-dessous :</p>
<dl>
<dt><code>sauvegarde_automatique</code>
(valeur par d�faut: <span class="emp">oui</span>)</dt>
<dd>Cette option permet de sauvegarder automatiquement
les donn�es de l'utilisateur avant de quitter, si elle est
fix�e � <span class="emp">oui</span>.
<p class="rq"><span class="valorise">attention:</span>
Aucune donn�e ne sera automatiquement
sauvegard�e si cette variable est fix�e � <code>non</code>.
Cela signifie que l'utilisateur doit appuyer sur 'S'
(pour sauvegarder) pour retrouver ses modifications au prochain
lancement de <code>calcurse</code>.</p>
</dd>
<dt><code><span class="todo">periodic_save</code>
(default: <span class="emp">0</span>)</span></dt>
<dd><span class="todo">If different from '0', user's data will be automatically
saved every <span class="emp">periodic_save</span> minutes.
When an automatic save is performed, two asterisks
(i.e. '<code>**</code>') will appear on the top right-hand side
of the screen).</span>
</dd>
<dt><code>confirmer_pour_quitter</code>
(valeur par d�faut: <span class="emp">oui</span>)</dt>
<dd>Si cette option est fix�e � <span class="emp">oui</span>,
la confirmation
de l'utilisateur est n�cessaire avant de pouvoir quitter.
Autrement, appuyer sur 'Q' provoquera l'arr�t de
<code>calcurse</code> sans demander confirmation.
</dd>
<dt><code>confirmer_pour_effacer</code>
(valeur par d�faut: <span class="emp">oui</span>)</dt>
<dd>Si cette option est fix�e � <span class="emp">oui</span>, appuyer sur 'D'
pour effacer un �lement (soit une t�che, un rendez-vous ou bien
un �venement) provoquera l'apparition d'un message demandant
la confirmation de l'utilisateur avant d'effacer cet �lement.
Si cette option est fix�e � <span class="emp">non</span>, aucune confirmation
ne sera demand�e avant l'effacement d'un �lement.
</dd>
<dt><code>masquer_messages_syst�me</code>
(valeur par d�faut: <span class="emp">non</span>)</dt>
<dd>Fixer cette option � <span>oui</span> provoque la disparition des
messages relatifs aux enregistrements ou lectures des fichiers
de donn�es. Ceci peut �tre utile pour acc�lerer les processus
d'entr�es/sorties.
</dd>
<dt><code>masquer_barre_progression</code>
(valeur par d�faut: <span class="emp">non</span>)</dt>
<dd>Si elle est fix�e � <span class="emp">oui</span>, cette option provoque la
disparition de la barre de progression qui est normalement charg�e
d'indiquer l'�tat d'avancement de l'enregistrement des fichiers
de donn�es. Si cette option est fix�e � <span class="emp">non</span>,
cette barre
sera affich�e, en m�me temps que le nom du fichier de donn�es
actuellement en cours d'�criture
(voir la section <a href="#basics_files">Fichiers</a>).
</dd>
<dt><code>semaine_commence_lundi</code>
(valeur par d�faut: <span class="emp">oui</span>)</dt>
<dd>Il est possible dans <span class="emp">calcurse</span> d'indiquer quel est le
premier jour de la semaine, � savoir soit le lundi, soit le dimanche.
Si l'option <code>semaine_commence_lundi</code> est fix�e �
<span class="emp">oui</span>, les semaines du calendrier commenceront le lundi.
Par contre si cette option est fix�e � <span class="emp">non</span>,
les semaines d�buteront le dimanche.
</dd>
<dt><code>format_date_sortie</code>
(valeur par d�faut: <span class="emp">%D</span>)</dt>
<dd>Indique le format qui sera utilis� pour afficher les dates en mode
non-interactif. Par d�faut, les dates sont affich�es comme suit :
<span class="emp">mm/jj/aa</span>.
Les diff�rents formats disponibles sont visibles en
tapant la commande suivante dans un terminal: <code>man 3 strftime</code>.
</dd>
<dt><code>format_date_entr�e</code>
(valeur par d�faut: <span class="emp">1</span>)</dt>
<dd>Indique le format qui sera utilis� pour entrer les dates dans
<span class="emp">calcurse</span>. Quatre choix sont possibles :
<ol>
<li>mm/jj/aaaa</li>
<li>jj/mm/aaaa</li>
<li>aaaa/mm/jj</li>
<li>aaaa-mm-jj</li>
</ol>
</dd>
</dl>
<div class="todo">
<h2>5.2 Key bindings<a name="options_keys"></a></h2>
<p>
One can define it's own keybindings within the 'Keys' configuration
menu. The default keys look like the one used by the <code>vim</code>
editor, especially the displacement keys. Anyway, within this
configuration menu, users can redefine all of the keys available from
within calcurse's user interface.</p>
<p>
To define new keybindings, first highlight the action to which it will
apply. Then, delete the actual key binding if necessary, and add a new
one. You will then be asked to press the key corresponding to the new
binding. It is possible to define more than one key binding for a single
action.</p>
<p>
An automatic check is performed to see if the new key binding
is not already set for another action. In that case, you will be asked
to choose a different one. Another check is done when exiting from this
menu, to make sure all possible actions have a key associated with it.</p>
<p>
The following keys can be used to define bindings:
<ul>
<li>lower-case, upper-case letters and numbers, such as 'a', 'Z', '0'</li>
<li>CONTROL-key followed by one of the above letters</li>
<li>escape, horizontal tab, and space keys</li>
<li>arrow keys (up, down, left, and right)</li>
<li>'HOME' and 'END' keys</li>
</ul> </p>
<p>
While inside the key configuration menu, an online help is available for
each one of the available actions. This help briefly describes what the
highlighted action is used for.</p>
</div>
<h2>5.3 Th�mes graphiques<a name="options_colors"></a></h2>
<p>
Le th�me graphique de <code>calcurse</code> peut �tre adapt� aux besoins de
l'utilisateur. Pour changer les options par d�faut, la page de configuration
permet de s�lectionner la couleur voulue pour l'interface (premier plan et
fond). L'utilisateur doit pour cela se d�placer sur la bonne couleur en
utilisant les touches fl�ches ou les touches de d�placement par d�faut, et
appuyer sur 'X' ou la barre d'espace pour s�lectionner la couleur. Il est
�galement possible de conserver la couleur par d�faut du terminal de
l'utilisateur en s�lectionnant le choix corresondant dans la liste.</p>
<p>
Cette couleur est alors appliqu�e � la bordure des
panneaux, aux titres, aux combinaisons de touches, et aux
informations g�n�rales affich�es dans la
barre de status. Un th�me en noir et blanc est
�galement disponible, afin de supporter les terminaux
monochromes.</p>
<p class="rq"><span class="valorise">Remarque:</span>
Suivant le type de terminal que vous utilisez, et suivant
la valeur de la variable d'environnement <code>$TERM</code>,
la couleur peut �tre support�e ou non. Un message
d'erreur appara�tra si vous essayez d'appliquer un
th�me graphique en couleur alors que votre terminal est
monochrome. Si vous savez que votre terminal supporte les couleurs
mais que <code>calcurse</code> ne veut pas les afficher,
essayez de changer la valeur de la variable d'environnement
<code>$TERM</code> (appliquez par exemple la valeur
<span class="emp">xterm-xfree86</span>).
</p>
<h2>5.4 Disposition des panneaux<a name="options_layout"></a></h2>
<p>
La disposition des panneaux � l'int�rieur de la fen�tre de
<code>calcurse</code> peut �tre param�tr�e. Par d�faut, le
panneau contenant le calendrier se situe en haut � droite de
la fen�tre, le panneau contenant la liste des t�ches est situ�
en bas � droite, et le panneau contenant les rendez-vous se
trouve sur la partie gauche de l'�cran (voir la figure dans la
section <a href="#basics_interface_interactive">Mode interactif</a>
pour un exemple de la disposition par d�faut).
En choisissant une autre disposition pour les �l�ments composants
la fen�tre de <code>calcurse</code>, l'utilisateur peut adapter
� ses besoins l'interface du programme.</p>
<h2>5.5 R�glages de la barre de notification<a name="options_notify"></a></h2>
<p>
Les options suivantes permettent de modifier les r�glages de la
barre de notification:</p>
<dl>
<dt><code>barre-notification_afficher</code>
(valeur par d�faut: <span class="emp"oui</span>)</dt>
<dd>Cette option indique si la barre de notification doit �tre
affich�e ou pas.</dd>
<dt><code>barre-notification_date</code>
(valeur par d�faut: <span class="emp">%a %F</span>)</dt>
<dd>Avec cette option, il vous est possible de sp�cifier le format qui
doit �tre utilis� pour afficher la date du jour dans la barre de
notification. Les diff�rents formats possibles sont visibles en
tapant la commande suivante dans un terminal: <code>man 3 strftime</code>.
</dd>
<dt><code>barre-notification_heure</code>
(valeur par d�faut: <span class="emp">%T</span>)</dt>
<dd>Avec cette option, il vous est possible de sp�cifier le format qui
doit �tre utilis� pour afficher l'heure courante dans la barre de
notification. Les diff�rents formats possibles sont visibles en
tapant la commande suivante dans un terminal: <code>man 3 strftime</code>.
</dd>
<dt><code>barre-notification_alerte</code>
(valeur par d�faut: <span class="emp">300</span>)</dt>
<dd>Si l'utilisateur a programm� un rendez-vous dans les prochaines
'barre-notification_alerte' secondes, et qu'il a marqu� celui-ci
comme �tant important, l'affichage de ce rendez-vous clignotera dans
la barre de notification.
De plus, la commande d�finie par <code>barre-notification_commande</code>
sera execut�e.
De cette mani�re, l'utilisateur sera alert� et saura que l'heure du rendez-vous
approche.</dd>
<dt><code>barre-notification_commande</code>
(valeur par d�faut: <span class="emp">printf '\a'</span>)</dt>
<dd>Cette option indique la commande qui sera lanc�e lorsque l'heure d'un
rendez-vous approchera, et que ce rendez-vous a �t� marqu� comme
'important'. La commande sp�cifi�e par cette option sera pass�e au shell
de l'utilisateur, qui l'interpretera. Pour savoir quel shell doit �tre
utilis�, <code>calcurse</code> lit le contenu de la variable
d'environnement <code>$SHELL</code>, et si cette variable est vide, la
commande sera pass�e � <code>/bin/sh</code>.
<p class="rq"><span class="valorise">Exemple:</span>
Supposons que le programme <code>mail</code> soit
disponible sur l'ordinateur de l'utilisateur, celui-ci peut indiquer la
commande suivante afin d'�tre pr�venu par mail lorsqu'un rendez-vous
approche (la description de ce rendez-vous sera �galement mentionn�e
dans le corps du mail):</p>
<code>
calcurse --next | mail -s "[calcurse] nouveau rendez-vous!" user@host.com
</code>
</dd>
<dt><code><span class="todo">notify-daemon_enable</code>
(default: <span class="emp">no</span>)</span></dt>
<dd><span class="todo">If set to yes, daemon mode will be enabled, meaning <code>calcurse</code>
will run into background when the user's interface is exited. This will allow the
notifications to be launched even when the interface is not running. More details
can be found in section <a href="#basics_daemon">'Background mode'</a>.</span>
</dd>
<dt><code><span class="todo">notify-daemon_log</code>
(default: <span class="emp">no</span>)</span></dt>
<dd><span class="todo">If set to yes, <code>calcurse</code> daemon activity will be logged (see section
<a href="#basics_files">files</a></span>).
</dd>
</dl>
<h1>6. Bogues connus<a name="known_bugs"></a></h1>
<p>
Une coloration incorrecte des objets peut r�sulter
d'une utilisation conjointe d'un th�me graphique en
noir et blanc et d'une variable <code>$TERM</code>
fix�e � <span class="emp">xterm-color</span>. Pour supprimer ce
bogue, et comme le conseille Thomas E. Dickey (le
r�sponsable du projet <code>xterm</code>),
<span class="emp">xterm-xfree86</span> devrait �tre assign�
� la variable <code>$TERM</code> en lieu et place de
<span class="emp">xterm-color</span> :</p>
<blockquote class="rq">
"La valeur xterm-color pour la variable $TERM est un mauvais
choix pour les terminaux XFree86 parce qu'elle est couramment
utilis�e pour les entr�es terminfo qui ne
supportent pas bce. Utilisez plutôt l'entr�e
xterm-xfree86 qui est distribu�e avec le xterm
d'XFree86 (ou par celui, similaire, distribu� avec ncurses)."
</blockquote>
<h1>7. Rapporter les bogues et commentaires<a name="bugs"></a></h1>
<p>
Merci de renvoyer vos rapports de bogues et vos commentaires �
l'adresse suivante :</p>
<pre>calcurse .�. culot .point. org </pre>
<p>
ou directement � l'auteur :</p>
<pre>frederic .�. culot .point. org </pre>
<h1>8. Comment contribuer?<a name="contribute"></a></h1>
<p>
Si vous d�sirez contribuer au projet, vous pouvez tout d'abord
envoyer vos commentaires sur ce qui vous pla�t ou d�pla�t ou sur
ce qui vous manque dans <code>calcurse</code>.
Pour le moment, les contributions possibles concernent
la traduction des messages de <code>calcurse</code> ainsi que
de la documentation.</p>
<p class="rq"><span class="valorise">Remarque:</span>
toute contribution � la traduction de
<code>calcurse</code> serait tr�s
appr�ci�e, mais avant tout, envoyez un mail
� <code>calcurse-i18n .�. culot .point. org</code> pour savoir si
quelqu'un a d�j� commenc� le processus de
traduction dans votre langue.</p>
<h2>8.1 Traduction de la documentation<a name="contribute_documentation"></a></h2>
<p>
Le r�pertoire <span class="emp">doc/</span> du paquet source contient
d�j� des versions traduites de la documentation.
Cependant, si celle-ci n'est pas encore disponible dans votre
langue, votre aide pour sa traduction serait tr�s
appr�ci�e.</p>
<p>
Pour cela, il suffit de copier un des fichiers existant et de
renommer cette copie en <code>manual_XX.html</code>, o�
<span class="emp">XX</span> repr�sente votre langue. Il faut ensuite
traduire ce fichier nouvellement cr�� et de
l'envoyer � l'auteur (voir <a href="#bugs">Rapporter
les bogues et commentaires</a>), pour qu'il soit inclus dans
la prochaine version de <code>calcurse</code>.</p>
<h2>8.2 Traduction de <code>calcurse</code><a name="contribute_i18n"></a></h2>
<p>
Comme mentionn� plus haut, les utilitaires
<code>gettext</code> sont utilis�s par
<code>calcurse</code> pour produire des messages
multilingues. Cette section explique comment traduire ces
messages dans votre langue. Cependant, cette notice est
d�lib�r�ment incompl�te,
puisqu'elle ne se concentre que sur l'utilisation de
<code>gettext</code> avec <code>calcurse</code>. Pour avoir
une vision plus large du Support de Langage Natif
(<code>NLS</code>), il est pr�f�rable de se
r�f�rer au manuel de <code>GNU gettext</code>
que l'on peut trouver � l'adresse suivante :</p>
<pre>http://www.gnu.org/software/gettext/manual/</pre>
<p>
Pour r�sumer, trois cat�gories de personnes sont
impliqu�es dans la cha�ne de traduction : les
programmeurs, les coordinateurs de la traduction, et les
traducteurs. Apr�s un rapide aper�u de la
mani�re de proc�der pour traduire le logiciel,
nous d�crirons plus en d�tails les t�ches du
traducteur.</p>
<h3>8.2.1 Aper�u<a name="contribute_i18n_overview"></a></h3>
<p>
Afin de pouvoir afficher du texte dans la langue natale de
l'utilisateur, deux �tapes sont n�cessaires :
l'<span class="emp">internationalisation</span> (i18n), et la
<span class="emp">localisation</span> (l10n).</p>
<p>
L'i18n permet � <code>calcurse</code> d'�tre
multilingue. C'est un processus qui est mis en place par les
programmeurs, qui marquent les phrases � traduire au
sein du code source, et qui fournissent les outils pour que
ces phrases soient traduites automatiquement pendant le
d�roulement du programme.</p>
<p>
La l10n correspond quant � elle au processus qui permet
� <code>calcurse</code> de s'adapter � la langue
de l'utilisateur. C'est-�-dire qu'il traduit les
phrases pr�c�demment marqu�e par les
programmeurs, et qu'il fixe correctement les variables
d'environnement afin que <code>calcurse</code> puisse utiliser
les r�sultats de cette traduction.</p>
<p>
Ainsi, les phrases traduisibles sont tout d'abord
marqu�es par les programmeurs dans le code source, puis
rassembl�es dans un fichier r�f�rence
(<span class="emp">calcurse.pot</span> - l'extension
<span class="emp">pot</span> signifiant
<span class="emp">portable object template</span>, objet portable de
r�f�rence). Le contenu de ce fichier est alors
associ� aux fichiers contenant la traduction pour
chacune des diff�rentes langues (fichier <span class="emp">fr.po</span>
pour le fran�ais par exemple - <span class="emp">po</span> siginifiant
<span class="emp">portable object</span>, objet portable - qui peut �tre
lu par les humains). Le traducteur devra se servir de ce
fichier, et traduira les phrases qu'il contient, puis
l'enverra aux d�veloppeurs. Ensuite, au niveau de la
compilation du programme, une version binaire de ce fichier
sera produite (pour des raisons d'efficacit�), puis
install�e. Cette version binaire a pour extension
<span class="emp">.mo</span>, o� <span class="emp">mo</span>
signifie <span class="emp">machine
object</span> - objet machine, c'est-�-dire qui peut
�tre lu par le programme. Pour finir,
<code>calcurse</code> se servira de ce fichier <span class="emp">mo</span>
lors de son ex�cution pour traduire les phrases dans la langue
de l'utilisateur.</p>
<h3>8.2.2 Etapes de la traduction<a name="contribute_i18n_translator"></a></h3>
<p>
Supposons que quelqu'un veuille commencer une traduction dans
une nouvelle langue. Voici les �tapes � suivre
pour ce faire :</p>
<ul>
<li>Premi�rement, trouver quel est le nom de la locale
correspondant � la langue � traduire. Par
exemple, pour le fran�ais, il s'agit de 'fr_FR', ou
simplement 'fr'. C'est cette valleur que l'utilisateur devra
mettre dans la variable d'environnement <code>LC_ALL</code>
pour obtenir la version traduite du logiciel (voir <a
href="#basics_invocation_variable">Variable d'environnement
pour l'i18n</a>).</li>
<li>Ensuite, il faut se rendre dans le r�pertoire
<span class="emp">po/</span>, et cr�er un nouveau fichier <span class="emp">.po</span>
� partir du fichier de r�f�rence en utilisant la commande suivante :
<code>'msginit -i calcurse.pot -o fr.po -l fr --no-translator'</code>
Si vous n'avez pas <code>msginit</code> install� sur
votre syst�me, vous pouvez plus simplement copier
<span class="emp">calcurse.pot</span> en <span class="emp">fr.po</span>
par exemple, et �diter l'en-t�te du fichier nouvellement cr��
manuellement.</li>
</ul>
<p>
Maintenant, ayant � disposition ce fichier
<span class="emp">fr.po</span>, la traduction peut commencer.</p>
<h3>8.2.3 Fichiers <code>po</code><a name="contribute_i18n_po-files"></a></h3>
<p>
Le format des fichiers <code>po</code> est assez simple. En effet,
ils ne contiennent que quatre �l�ments
diff�rents :</p>
<ol>
<li><span class="emp">ligne d'emplacement:</span> renseigne sur l'emplacement
de la phrase dans le fichier source (donne le nom du fichier
ainsi que le num�ro de ligne), afin de retrouver
simplement le contexte d'o� est issu la phrase �
traduire.</li>
<li><span class="emp">ligne msgid:</span> indique la phrase � traduire.</li>
<li><span class="emp">ligne msgstr:</span> ligne indiquant la phrase traduite.</li>
<li><span class="emp">lignes commen�ant par '#'</span>: indiquent des
commentaires (certains ont une signification sp�ciale,
comme nous le verrons plus tard).</li>
</ol>
<p>
Pour r�sumer, un traducteur doit simplement remplir les
champs <span class="emp">msgstr</span> avec la traduction des lignes
trouv�es juste au-dessus dans la partie <span class="emp">msgid</span>.</p>
<p>
<span class="valorise">Remarques:</span>
<dl>
<dt><span class="emp">Phrases marqu�es Fuzzy</span></dt>
<dd>Vous pourrez rencontrer des phrases commen�ant par le
commentaire <code>"#, fuzzy"</code>.
<code>calcurse</code> n'utilisera pas les traductions
commen�ant par ce commentaire, � moins que vous
ne transformiez ces phrases. En effet, le commentaire
<code>fuzzy</code> signifie que la phrase a d�j�
�t� traduite mais qu'elle a depuis
�t� chang�e dans le source du programme,
ou bien que <code>gettext</code> a effectu� lui-m�me
une traduction, en se basant sur une phrase similaire. Cela
implique donc que vous devez v�rifier la traduction.
Parfois, la phrase originale a chang� suite �
une correction de faute de frappe. Dans ce cas, vous n'aurez
pas besoin de modifier la traduction. Mais dans d'autres cas,
cette traduction peut ne plus �tre valable et
n�cessitera alors une mise � jour. Une fois
cette mise � jour effectu�e, vous pouvez
supprimer
le commentaire <code>"#, fuzzy"</code>, et la traduction sera
alors � nouveau prise en compte par <code>calcurse</code>.
</dd>
<dt><span class="emp">Lignes au format C et s�quences sp�ciales</span></dt>
<dd>Certaines phrases ont le commentaire suivant: <code>"#,
c-format"</code>. Cela signifie que des parties du texte
� traduire ont une signification particuli�re
pour le programme, et qu'il ne faut pas les modifier. Par
exemple, les s�quences contenant des <code>%</code>, comme
<code>"%s"</code>. Cela signifie que <code>calcurse</code>
remplacera ces s�quences par d'autres expressions. Il
est donc important de ne pas les modifier. Il existe
�galement des s�quences contenant des
<code>\</code>, comme <code>\n</code> ou <code>\t</code>. Il ne
faut pas les modifier non plus. En effet, la premi�re
s�quence repr�sente une fin de ligne, et la
deuxi�me une tabulation.</dd>
<dt><span class="emp">D�coupage des traductions</span></dt>
<dd>Si certaines lignes sont trop longues, il est possible de
d�couper les phrases comme dans l'exemple ci-apr�s:
<pre>
msgid ""
"une ligne tr�s longue"
"une autre ligne"
</pre></dd>
<dt><span class="emp">En-t�te des fichiers po</span></dt>
<dd>Au tout d�but du fichier <span class="emp">po</span>, la
premi�re phrase forme un en-t�te o�
diff�rentes informations doivent �tre
renseign�es. La plus importante est le jeu de
caract�res utilis�. Cette information devrait
ressembler �
<pre>
"Content-Type: text/plain; charset=utf-8\n"
</pre>
Il est �galement n�cessaire de remplir le champ
<span class="emp">Last-Translator</span> -
<span class="emp">Dernier Traducteur</span>, afin
que d'autres traducteurs potentiels puissent se mettre en
relation avec la derni�re personne ayant
retouch� le fichier. De cette mani�re, il est
plus simple de coordonner les efforts de traduction. Il est
possible de rajouter son adresse de courrier
�lectronique, par exemple:
<pre>
"Last-Translator: Frederic Culot <frederic@culot.org>\n"
</pre></dd>
<dt><span class="emp">Commentaires</span></dt>
<dd>Ajouter des commentaires (lignes commen�ant par '#')
peut �tre un bon moyen de signaler des probl�mes ou
difficult�s de traduction aux autres traducteurs.</dd>
<dt><span class="emp">Taille des phrases</span></dt>
<dd><code>calcurse</code> est un programme comportant une
interface console/curses, il d�pend donc de la taille
du terminal utilis� (plus particuli�rement du
nombre de colonnes). Il est important de garder ceci en
m�moire au moment de la traduction. Souvent, la phrase
� traduire doit tenir dans une seule ligne (soit en
g�n�ral 80 caract�res). Il faut en tenir
compte, et essayer de voir o� la phrase sera
plac�e pour adapter sa traduction.</dd>
<dt><span class="emp">Quelques outils utiles</span></dt>
<dd>Le format des fichiers <code>po</code> est relativement simple, et
ils peuvent �tre modifi�s avec un �diteur
de texte standard. Mais il est �galement possible
d'utiliser des outils sp�cialis�s pour cette
t�che:
<ul>
<li><code>poEdit</code> (<a
href="http://www.poedit.org/" target="_blank">
http://www.poedit.org/</a>)</li>
<li><code>KBabel</code> (<a
href="http://i18n.kde.org/tools/kbabel/" target="_blank">
http://i18n.kde.org/tools/kbabel/</a>)</li>
<li><code>GTranslator</code> (<a
href="http://gtranslator.sourceforge.net/" target="_blank">
http://gtranslator.sourceforge.net/</a>)</li>
<li><code>Emacs</code> et son mode <code>po</code></li>
<li><code>Vim</code> et son mode <code>po</code></li>
</ul>
</dd>
<dt><span class="emp">Finalement...</span></dt>
<dd>J'esp�re que vous prendrez plaisir �
contribuer � l'internationalisation du monde des
logiciels libres. :) Si vous avez d'autres questions
concernant ce processus, n'h�sitez pas � me
contacter � l'adresse
<span class="emp">frederic .�. culot .point. org</span>.</dd>
</dl>
<h1>9. Liens<a name="links"></a></h1>
<p>
Cette section contient des liens en relation avec
<code>calcurse</code> qui peuvent vous �tre utiles.</p>
<h2>9.1 Site internet de <code>calcurse</code><a name="links_homepage"></a></h2>
<p>
La page web de <code>calcurse</code> est � l'adresse suivante :</p>
<pre>http://culot.org/calcurse</pre>
<h2>9.2 Liste de diffusion de <code>calcurse</code><a name="links_list"></a></h2>
<p>
Si vous �tes interess� par ce projet et que vous souhaitez
�tre pr�venu lorsqu'une nouvelle version est diffus�e, vous
pouvez souscrire � la liste de diffusion de <code>calcurse</code>.
De cette mani�re, vous recevrez un m�l d�s qu'une nouvelle
version est disponible.</p>
<p>
Pour souscrire � cette liste, envoyez un message � l'adresse
<span class="emp">calcurse-announce .�. culot .point. org</span>
avec "subscribe" dans le sujet du m�l.</p>
<h2>9.3 Flux RSS<a name="links_rss"></a></h2>
<p>
Une autre possibilit� pour �tre pr�venu lorsqu'une
nouvelle version de <code>calcurse</code> est disponible est de
s'abonner au flux RSS suivant :</p>
<pre>http://culot.org/calcurse/news_rss.xml</pre>
<p>
Ce flux RSS est mis � jour d�s qu'une nouvelle version de
<code>calcurse</code> est diffus�e, et indique quelles sont les
modifications qui ont �t� apport�es.</p>
<h2>9.4 Autres liens<a name="links_others"></a></h2>
<p>
La sp�cification du format ical (rfc2445) peut �tre trouv�e � l'adresse
suivante :
<pre>http://tools.ietf.org/html/rfc2445</pre>
<p>
La page du projet pcal se trouve quant � elle � l'adresse suivante :
<pre>http://pcal.sourceforge.net/</pre>
<h1>10. Remerciements<a name="thanks"></a></h1>
<p>
Je voudrais remercier ici toutes les personnes sans qui ce projet
n'aurait jamais pu voir le jour! En particulier :
<ul>
<li>Alex pour ses patches, aides et conseils sur la programmation en
<code>C</code></li>
<li>Gwen pour les tests et les discussions sur la manière d'am�liorer
<code>calcurse</code></li>
<li>Herbert pour la maintenance du paquet <code>calcurse</code> pour
FreeBSD</li>
<li>Zul pour la maintenance du paquet <code>calcurse</code> pour
NetBSD</li>
<li>Kevin, Ryan, et fEnIo pour la maintenance du paquet <code>calcurse</code>
pour Debian et Ubuntu</li>
<li>Wain, Steffen and Ronald pour la maintenance du paquet <code>calcurse</code> pour
Archlinux</li>
<li>Pascal pour la maintenance du paquet <code>calcurse</code> pour
Slackware</li>
<li>Alexandre pour la maintenance du paquet <code>calcurse</code> pour
Mac OsX et Darwin</li>
<li>Igor pour la maintenance du paquet <code>calcurse</code> pour
ALT Linux</li>
<li>Joel pour son script de calendrier qui a inspir� celui de
<code>calcurse</code></li>
<li>Michael Schulz et Chris M. pour la traduction allemande de <code>calcurse</code>
et de son manuel</li>
<li>Jose Lopez pour la traduction espagnole de <code>calcurse</code>
et de son manuel</li>
<li>Neil Williams pour la traduction anglaise</li>
<li>Tony pour son patch qui a permis d'am�liorer la fonction
recur_item_inday(), et pour l'impl�mentation des options de configuration
concernant les formats de date</li>
<li>Jeremy Roon pour la traduction en N�erlandais</li>
<li>Leandro Noferini pour la traduction en Italien</li>
<li>Erik Saule pour son patch qui a permis d'impl�menter les options '-N',
'-s', '-S', '-r', et '-D' de la ligne de commande</li>
<li>les personnes qui �crivent des logiciels que j'appr�cie et qui
m'ont inspir� lors de la conception de ce projet, en particulier:
<ul>
<li><code>vim</code> pour les touches de d�placement</li>
<li><code>orpheus</code> et <code>abook</code> pour la documentation</li>
<li><code>pine</code> et <code>aptitude</code>
pour l'interface en mode texte</li>
</ul></li>
</ul>
</p>
<p>
Et pour terminer, un tr�s grand merci � tous les utilisateurs de
<code>calcurse</code> qui m'ont fait parvenir leurs commentaires.</p>
<div class="footer">
Copyright © 2004-2009 Fr�d�ric Culot<br>
Calcurse version 2.7 - Derni�re modification: 18 Aout 2009<br>
</div>
</div>
</body>
</html>