<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <!-- /* * $calcurse: manual_fr.html,v 1.12 2007/08/19 13:19:37 culot Exp $ * * Calcurse - text-based organizer * Copyright (c) 2004-2007 Frederic Culot * * This program 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 program 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. * * Send your feedback or comments to : calcurse@culot.org * Calcurse home page : http://culot.org/calcurse * */ --> <html> <head> <title>documentation de CALCURSE</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> </head> <body bgcolor="white" text="black" link="blue" vlink="navy"> <h1><code>CALCURSE - organiseur en mode texte</code></h1> <p> <p><hr><p> <h1>Table des matières</h1> <ul> <li><a href="#intro">Introduction</a> <li><a href="#overview">Aperçu du logiciel</a> <ul> <li><a href="#overview_history">Origine de Calcurse</a> <li><a href="#overview_features">Caractéristiques importantes</a> </ul> <li><a href="#install">Installation</a> <ul> <li><a href="#install_requirements">Pré-requis</a> <ul> <li><a href="#install_requirements_ncurses">Librairie <code>ncurses</code></a> <li><a href="#install_requirements_gettext">Librairie <code>gettext</code></a> </ul> <li><a href="#install_process">Processus d'installation</a> </ul> <li><a href="#basics">Présentation générale</a> <ul> <li><a href="#basics_invocation">Invocation</a> <ul> <li><a href="#basics_invocation_commandline">Arguments en ligne de commande</a> <li><a href="#basics_invocation_variable">Variable d'environnement pour l'i18n</a> </ul> <li><a href="#basics_interface">Interface utilisateur</a> <ul> <li><a href="#basics_interface_noninteractive">Mode non-interactif</a> <li><a href="#basics_interface_interactive">Mode Interactif</a> </ul> <li><a href="#basics_files">Fichiers</a> <li><a href="#basics_help">Aide en ligne</a> </ul> <li><a href="#options">Options</a> <ul> <li><a href="#options_general">Options générales</a> <li><a href="#options_colors">Thèmes graphiques</a> <li><a href="#options_layout">Disposition des panneaux</a> <li><a href="#options_notify">R�glages de la barre de notification</a> </ul> <li><a href="#known_bugs">Bogues connus</a> <li><a href="#bugs">Rapporter les bogues et commentaires</a> <li><a href="#contribute">Comment contribuer?</a> <ul> <li><a href="#contribute_documentation">Traduction de la documentation</a> <li><a href="#contribute_i18n">Traduction de <code>calcurse</code></a> <ul> <li><a href="#contribute_i18n_overview">Aperçu</a> <li><a href="#contribute_i18n_translator">Etapes de la traducion</a> <li><a href="#contribute_i18n_po-files">Fichiers <em>po</em></a> </ul> </ul> <li><a href="#links">Liens</a> <ul> <li><a href="#links_homepage">Site internet de <code>calcurse</code></a> <li><a href="#links_list">Liste de diffusion de <code>calcurse</code></a> <li><a href="#links_rss">Flux RSS</a> </ul> <li><a href="#thanks">Remerciements</a> </ul> <p><hr><p> <a name="intro"></a><h1>Introduction</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. <a name="overview"></a><h1>Aperçu du logiciel</h1> <a name="overview_history"></a><h2>Origine de Calcurse</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 ;)<br> 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>! 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>...<br> <br> 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. <a name="overview_features"></a><h2>Caractéristiques importantes</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).<br> <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.<br> 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. 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. <a name="install"></a><h1>Installation</h1> <a name="install_requirements"></a><h2>Pré-requis</h2> <a name="install_requirements_ncurses"></a><h3>Librairie <code>ncurses</code></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 :<br> <pre> http://ftp.gnu.org/pub/gnu/ncurses/ </pre> <a name="install_requirements_gettext"></a><h3>Librairie <code>gettext</code></h3> <p> <code>calcurse</code> s'aide de la librairie <code>gettext</code> pour le support de l'internationalisation (noté <em>i18n</em> ci-après). Cela signifie que <code>calcurse</code> peut fournir des messages multilingues s'il est compilé avec le support NLS (<em>Native Language Support</em> - <em>Support de Langage Natif</em>). Cependant, ce support est optionnel et si vous n'avez pas besoin de la traduction des messages affichés, vous pouvez sésactiver cette option. La désactivation du support <em>NLS</em> s'effectue en passant l'option <code>--disable-nls</code> à <code>configure</code> (voir la section <a href="#install_process">Processus d'Installation</a>). <br> 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 : <pre> locate libintl.h </pre> Dans l'éventualité où ce fichier ne serait pas trouvé, vous pouvez obtenir les sources de <code>gettext</code> à l'adresse suivante :<br> <pre> http://ftp.gnu.org/pub/gnu/gettext/ </pre> <u>Remarque:</u> 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. <a name="install_process"></a><h2>Processus d'installation</h2> <p> Vous devez tout d'abord décompresser l'archive source de la manière suivante : <pre> tar zxvf calcurse-1.9.tar.gz </pre> 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><code>make</code> <li><code>make install</code> (peut nécessiter les privilèges super-utilisateur) </OL> Vous pouvez obtenir la liste des options possibles en tapant <code>./configure --help</code>. <a name="basics"></a><h1>Présentation générale</h1> <a name="basics_invocation"></a><h2>Invocation</h2> <a name="basics_invocation_commandline"></a><h3>Arguments en ligne de commande</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> <dl compact> <dt><code>-a, --appointment</code> <dd> Affiche les rendez-vous pour la date du jour, puis quitte.<br> <u>Remarque:</u> le calendrier à utiliser peut être spécifié en utilisant l'option '-c'.<br> <br> <dt><code>-c <fichier>, --calendar <fichier></code> <dd> Spécifie le fichier calendrier à utiliser.<br> Le calendrier par défaut est celui contenu dans <code>~/.calcurse/apts</code> (voir la section <a href="#basics_files">Fichiers</a>).<br> <br> <dt><code>-d <date|num>, --day <date|num></code> <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 sous la forme 'mm/jj/aaaa'. <li>un nombre 'n'. </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.<br> Par exemple, taper <code>calcurse -d 3</code> fera s'afficher les rendez-vous pour aujourd'hui, demain et après-demain.<br> <u>Remarque:</u> comme pour l'option '-a', le fichier contenant le calendrier à lire peut être spécifié en utilisant l'option '-c'.<br> <br> <dt><code>-h, --help</code> <dd> Affiche l'aide décrivant les options en ligne de commande, puis quitte.<br> <br> <dt><code>-n, --next</code> <dd> Affiche le rendez-vous suivant dans les prochaines 24 heures, puis quitte.<br> Le temps indiqué représente le nombre d'heures et de minutes restantes avant le rendez-vous.<br> <u>remarque:</u> le fichier contenant le calendrier à lire peut être spécifié en utilisant l'option '-c'.<br> <br> <dt><code>-t[num], --todo[=num]</code> <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.<br> <u>remarque:</u> <code>num</code> doit être compris entre 1 (priorité la plus grande) et 9 (priorité la moins grande).<br> <br> <dt><code>-v, --version</code> <dd> Affiche la version de <code>calcurse</code>, puis quitte.<br> <br> <dt><code>-x, --export</code> <dd> Exporte les donn�es utilisateur au format iCalendar. Les �v�nements, rendez-vous et t�ches sont convertis et imprim�s sur la sortie standard.<br> <u>Note:</u> 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: <pre> $ calcurse --export > mon_fichier.ics </pre> </DL> <a name="basics_invocation_variable"></a><h3>Variable d'environnement pour l'i18n</h3> <p> <code>calcurse</code> peut être compilé avec le support <em>NLS</em> (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, <em>fr</em> 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>).<br> Si votre langue est disponible, lancez <code>calcurse</code> en utilisant la commande suivante : <pre> LC_ALL=fr_FR calcurse </pre> où <em>fr_FR</em> doit être remplacé par la <em>locale</em> (code de la langue suivi du code pays) correspondant à la traduction voulue.<br> 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>: <pre> LC_ALL=fr_FR.ISO8859-1 calcurse </pre> <a name="basics_interface"></a><h2>Interface utilisateur</h2> <a name="basics_interface_noninteractive"></a><h3>Mode non-interactif</h3> <p> Lorsque il est appelé avec au moins un des arguments suivants:<br> <code>-a</code>, <code>-d</code>, <code>-h</code>, <code>-n</code>, <code>-t</code>, <code>-v</code>, <code>-x</code><br> <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.<br> 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. <a name="basics_interface_interactive"></a><h3>Mode interactif</h3> <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). <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> 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.<br> On peut remarquer dans le panneau des rendez-vous le signe <em>'(|)'</em> 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� : <ul> <li>'<b> |) </b>': premier quartier</li> <li>'<b> (|) </b>': pleine lune</li> <li>'<b> (| </b>': dernier quartier</li> <li>'<b> | </b>': nouvelle lune</li> <li>aucun signe: la phase actuelle de la lune ne correspond � aucune des phases ci-dessus</li> </ul> <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.<br> 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> <u>Remarque:</u> 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>.<br> 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.<br> De plus, il existe des combinaisons de touches pour effectuer certaines actions courantes utiles lors de l'édition de textes. Voici ces raccourcis:<br> <ul> <li><b>^a</b>: déplacer le curseur au début de la ligne <li><b>^b</b>: déplacer le curseur d'une position en arrière <li><b>^d</b>: effacer le caractère sous le curseur <li><b>^e</b>: déplacer le curseur en fin de ligne <li><b>^f</b>: déplacer le curseur d'une position en avant <li><b>^h</b>: effacer le caractère précédent <li><b>^k</b>: effacer le texte depuis la position courante jusqu'à la fin de la ligne <li><b>ESCAPE</b>: annuler l'édition du texte courant </ul> <a name="basics_files"></a><h2>Fichiers</h2> <p> La structure de fichiers suivante est créée dans le répertoire <code>$HOME</code> de l'utilisateur la première fois que <code>calcurse</code> est lancé : <pre> $HOME/.calcurse/ |___conf |___apts |___todo </pre> Le fichier <em>conf</em> contient la configuration de l'utilisateur.<br> Le fichier <em>apts</em> contient tous les �v�nements ainsi que les rendez-vous de l'utilisateur.<br> Le fichier <em>todo</em> contient la liste des tâches à effectuer. <a name="basics_help"></a><h2>Aide en ligne</h2> <p> À 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. <a name="options"></a><h1>Options</h1> <p> Tous les paramètres de <code>calcurse</code> sont configurables à partir du menu <em>Configuration</em>, 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, et enfin les param�tres de la barre de notification peuvent être fix�s en appuyant sur 'N'. <a name="options_general"></a><h2>Options générales</h2> <p> Ces options contrôlent le comportement général de <code>calcurse</code>, comme décrit ci-dessous : <ul> <li><code>sauvegarde_automatique</code> (valeur par défaut: <em>oui</em>)<br> Cette option permet de sauvegarder automatiquement les données de l'utilisateur avant de quitter, si elle est fixée à <em>oui</em>.<br> <em>attention:</em> Aucune donnée ne sera automatiquement sauvegardée si cette variable est fixée à <em>non</em>. Cela signifie que l'utilisateur doit appuyer sur 'S' (pour sauvegarder) pour retrouver ses modifications au prochain lancement de <code>calcurse</code>.<br> <br> <li><code>confirmer_pour_quitter</code> (valeur par défaut: <em>oui</em>)<br> Si cette option est fixée à <em>oui</em>, 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.<br> <br> <li><code>confirmer_pour_effacer</code> (valeur par défaut: <em>oui</em>)<br> Si cette option est fixée à <em>oui</em>, 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 à <em>non</em>, aucune confirmation ne sera demandée avant l'effacement d'un élement.<br> <br> <li><code>masquer_messages_système</code> (valeur par défaut: <em>non</em>)<br> Fixer cette option à <em>oui</em> 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.<br> <br> <li><code>masquer_barre_progression</code> (valeur par défaut: <em>non</em>)<br> Si elle est fixée à <em>oui</em>, 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 à <em>non</em>, 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>).<br> <br> <li><code>semaine_commence_lundi</code> (valeur par défaut: <em>oui</em>)<br> Il est possible dans <code>calcurse</code> d'indiquer quel est le premier jour de la semaine, à savoir soit le lundi, soit le dimanche. Si l'option <em>semaine_commence_lundi</em> est fixée à <em>oui</em>, les semaines du calendrier commenceront le lundi. Par contre si cette option est fixée à <em>non</em>, les semaines débuteront le dimanche. </ul> <a name="options_colors"></a><h2>Thèmes graphiques</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> 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.<br> <u>Remarques:</u> <ul> <li> 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.<br> <br> <li> 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 <em>xterm-xfree86</em>). </ul> <a name="options_layout"></a><h2>Disposition des panneaux</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).<br> 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. <a name="options_notify"></a><h2>R�glages de la barre de notification</h2> <p> Les options suivantes permettent de modifier les r�glages de la barre de notification: <ul> <li><code>barre-notification_afficher</code> (valeur par d�faut: <em>oui</em>)<br> Cette option indique si la barre de notification doit �tre affich�e ou pas.<br> <br> <li><code>barre-notification_date</code> (valeur par d�faut: <em>%a %F</em>)<br> 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: <tt>man 3 strftime</tt>.<br> <br> <li><code>barre-notification_heure</code> (valeur par d�faut: <em>%T</em>)<br> 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: <tt>man 3 strftime</tt>.<br> <br> <li><code>barre-notification_alerte</code> (valeur par d�faut: <em>300</em>)<br> 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 <em>barre-notification_commande</em> sera execut�e. De cette mani�re, l'utilisateur sera alert� et saura que l'heure du rendez-vous approche.<br> <br> <li><code>barre-notification_commande</code> (valeur par d�faut: <em>printf '\a'</em>)<br> 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>.<br> <u>Exemple:</u> 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): <pre> calcurse --next | mail -s "[calcurse] nouveau rendez-vous!" user@host.com </pre> </font> </ul> <a name="known_bugs"></a><h1>Bogues connus</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 à <em>xterm-color</em>. Pour supprimer ce bogue, et comme le conseille Thomas E. Dickey (le résponsable du projet <code>xterm</code>), <em>xterm-xfree86</em> devrait être assigné à la variable <code>$TERM</code> en lieu et place de <em>xterm-color</em> : <blockquote> "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> <a name="bugs"></a><h1>Rapporter les bogues et commentaires</h1> <p> Merci de renvoyer vos rapports de bogues et vos commentaires à l'adresse suivante : <pre> calcurse@culot.org </pre> ou directement à l'auteur : <pre> frederic@culot.org </pre> <a name="contribute"></a><h1>Comment contribuer?</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>.<br> Pour le moment, les contributions possibles concernent la traduction des messages de <code>calcurse</code> ainsi que de la documentation.<br> <br> <u>Remarque:</u> toute contribution à la traduction de <code>calcurse</code> serait très appréciée, mais avant tout, envoyez un mail à <code>calcurse-i18n@culot.org</code> pour savoir si quelqu'un a déjà commencé le processus de traduction dans votre langue. <a name="contribute_documentation"></a><h2>Traduction de la documentation</h2> <p> Le répertoire <em>doc/</em> 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.<br> Pour cela, il suffit de copier un des fichiers existant et de renommer cette copie en <code>manual_XX.html</code>, où <em>XX</em> 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>. <a name="contribute_i18n"></a><h2>Traduction de <code>calcurse</code></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 (<em>NLS</em>), 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 : <pre> http://www.gnu.org/software/gettext/manual/ </pre> 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. <a name="contribute_i18n_overview"></a><h3>Aperçu</h3> <p> Afin de pouvoir afficher du texte dans la langue natale de l'utilisateur, deux étapes sont nécessaires : l'<em>internationalisation</em> (i18n), et la <em>localisation</em> (l10n). 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. 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.<br> <br> 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 (<code>calcurse.pot</code> - l'extension <em>pot</em> signifiant <em>portable object template</em>, 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 <em>fr.po</em> pour le français par exemple - <em>po</em> siginifiant <em>portable object</em>, 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 <em>.mo</em>, où <em>mo</em> signifie <em>machine object</em> - objet machine, c'est-à-dire qui peut être lu par le programme. Pour finir, <code>calcurse</code> se servira de ce fichier <em>mo</em> lors de son ex�cution pour traduire les phrases dans la langue de l'utilisateur. <a name="contribute_i18n_translator"></a><h3>Etapes de la traduction</h3> <p> Supposons que quelqu'un veuille commencer une traduction dans une nouvelle langue. Voici les étapes à suivre pour ce faire : <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>).<br> <br> <li>Ensuite, il faut se rendre dans le répertoire <em>po/</em>, et créer un nouveau fichier <em>.po</em> à partir du fichier de référence en utilisant la commande suivante : <pre> 'msginit -i calcurse.pot -o fr.po -l fr --no-translator' </pre> Si vous n'avez pas <code>msginit</code> installé sur votre système, vous pouvez plus simplement copier <em>calcurse.pot</em> en <em>fr.po</em> par exemple, et �diter l'en-tête du fichier nouvellement créé manuellement.<br> Maintenant, ayant à disposition ce fichier <em>fr.po</em>, la traduction peut commencer. </ul> <a name="contribute_i18n_po-files"></a><h3>Fichiers <em>po</em></h3> <p> Le format des fichiers <em>po</em> est assez simple. En effet, ils ne contiennent que quatre éléments différents : <ol> <li><em>ligne d'emplacement:</em> 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><em>ligne msgid:</em> indique la phrase à traduire. <li><em>ligne msgstr:</em> ligne indiquant la phrase traduite. <li><em>lignes commençant par '#'</em>: indiquent des commentaires (certains ont une signification spéciale, comme nous le verrons plus tard). </ol> Pour résumer, un traducteur doit simplement remplir les champs <em>msgstr</em> avec la traduction des lignes trouvées juste au-dessus dans la partie <em>msgid</em>. <p> <u>Remarques:</u> <ul> <li><em>Phrases marquées Fuzzy</em><br> 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 <em>fuzzy</em> 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 <em>gettext</em> 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>.<br> <br> <li><em>Lignes au format C et séquences spéciales</em><br> 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 <em>%</em>, 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 <em>\</em>, 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.<br> <br> <li><em>Découpage des traductions</em><br> 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> <li><em>En-tête des fichiers po</em><br> Au tout début du fichier <em>po</em>, 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 <em>Last-Translator</em> - <em>Dernier Traducteur</em>, 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> <li><em>Commentaires</em><br> 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.<br> <br> <li><em>Taille des phrases</em><br> <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.<br> <br> <li><em>Quelques outils utiles</em><br> Le format des fichiers <em>po</em> 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><code>KBabel</code> (<a href="http://i18n.kde.org/tools/kbabel/" target="_blank"> http://i18n.kde.org/tools/kbabel/</a>) <li><code>GTranslator</code> (<a href="http://gtranslator.sourceforge.net/" target="_blank"> http://gtranslator.sourceforge.net/</a>) <li><code>Emacs</code> et son mode <em>po</em> <li><code>Vim</code> et son mode <em>po</em> </ul> <br> <li><em>Finalement...</em><br> 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 <em>frederic@culot.org</em>. </ul> <a name="links"></a><h1>Liens</h1> <p> Cette section contient des liens en relation avec <code>calcurse</code> qui peuvent vous être utiles. <a name="links_homepage"></a><h2>Site internet de <code>calcurse</code></h2> <p> La page web de <code>calcurse</code> est à l'adresse suivante : <pre> http://culot.org/calcurse </pre> <a name="links_list"></a><h2>Liste de diffusion de <code>calcurse</code></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.<br> Pour souscrire à cette liste, envoyez un message à l'adresse <code>calcurse-announce@culot.org</code> avec "subscribe" dans le sujet du mél. <a name="links_rss"></a><h2>Flux RSS</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 : <pre> http://culot.org/calcurse/news_rss.xml </pre> 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. <a name="thanks"></a><h1>Remerciements</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>Gwen pour les tests et les discussions sur la manière d'améliorer <code>calcurse</code> <li>Herbert pour la maintenance du paquet <code>calcurse</code> pour FreeBSD <li>Zul pour la maintenance du paquet <code>calcurse</code> pour NetBSD <li>Kevin, Ryan, et fEnIo pour la maintenance du paquet <code>calcurse</code> pour Debian et Ubuntu <li>Steffen pour la maintenance du paquet <code>calcurse</code> pour Archlinux <li>Pascal pour la maintenance du paquet <code>calcurse</code> pour Slackware <li>Alexandre pour la maintenance du paquet <code>calcurse</code> pour Mac OsX et Darwin <li>Igor pour la maintenance du paquet <code>calcurse</code> pour ALT Linux <li>Joel pour son script de calendrier qui a inspiré celui de <code>calcurse</code> <li>Michael Schulz et Chris M. pour la traduction allemande de <code>calcurse</code> et de son manuel <li>Jose Lopez pour la traduction espagnole de <code>calcurse</code> et de son manuel <li>Neil Williams pour la traduction anglaise <li>Tony pour son patch qui a permis d'am�liorer la fonction recur_item_inday() <li>Jeremy Roon pour la traduction en N�erlandais <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><code>orpheus</code> et <code>abook</code> pour la documentation <li><code>pine</code> et <code>aptitude</code> pour l'interface en mode texte </ul> </ul> Et pour terminer, un très grand merci à tous les utilisateurs de <code>calcurse</code> qui m'ont fait parvenir leurs commentaires. <hr> <small><em> Copyright (c) 2004-2007 Frédéric Culot<br> Calcurse version 1.9 - Dernière modification: 18 Ao�t 2007 </em></small> </body> </html>