# Le manuel de &konsolekalendar;

## Introduction

&konsolekalendar; est une interface en ligne de commande aux agendas de &kde;. Il vous permet d'afficher, insérer, supprimer ou modifier des événements de l'agenda par le biais de la ligne de commande ou d'un langage de script. De plus, &konsolekalendar; peut créer un nouvel agenda &kde;, exporter un agenda &kde; vers divers autres formats et importer un autre agenda &kde;.

Dans son mode de base, &konsolekalendar; affiche la liste des événements dans votre agenda par défaut pour la journée d'aujourd'hui (de 7:00 à 17:00).

Fonctionnalités principales de &konsolekalendar; :

- Affichage des éléments de l'agenda à partir d'une date ou d'une heure de début jusqu'à une date ou une heure de fin

- Insertion (ajout) d'éléments de l'agenda

- Suppression (retrait) d'éléments de l'agenda

- Modification (changement) d'éléments de l'agenda

- Création d'un nouvel agenda

- Exportation d'éléments de l'agenda vers d'autres formats de fichiers

- Importation d'un agenda &kde; existant

&konsolekalendar; n'est pas une autre interface graphique à un agenda de &kde; (&cad; &korganizer;). &konsolekalendar; est prévu uniquement pour des utilisations où une interface graphique utilisateur n'est pas pratique ou possible.

&konsolekalendar; ne fournit pas un langage complet pour effectuer les requêtes d'agenda de l'utilisateur : il n'est pas non plus dans l'intention des auteurs de jamais écrire une telle fonction. Les options initiales en ligne de commande sont prévues pour accéder aux événements de l'agenda au sein d'un intervalle consécutif de pointages de dates ou d'heures.

## Fonctionnalités

Dans ce chapitre, vous étudierez les principales fonctionnalités de &konsolekalendar; et comment les contrôler à l'aide des paramètres en ligne de commande (n'oubliez pas que &konsolekalendar; n'est pas une interface graphique utilisateur ; il ne s'agit que d'un programme en ligne de commande).

Vous y apprendrez à insérer, supprimer, modifier des événements de l'agenda et comment exporter des événements vers d'autres formats de fichiers. La création et l'importation d'agendas &kde; seront également abordées dans ce chapitre.

### Affichage d'événements

Dans son mode par défaut, ou grâce à l'option`--view`, &konsolekalendar; répertorie tous les événements compris dans l'intervalle d'une date ou d'une heure spécifiée.

Pour afficher tous les événements d'aujourd'hui (de 7:00 à 17:00), exécutez simplement :

    % konsolekalendar

Dans l'exemple ci-après, nous affichons tous les événements pour la semaine du 18 au 22 août :

    % konsolekalendar --view --date 2003-18-08  --end-date 2003-02-22

Affiche l'événement suivant dans l'agenda à partir de l'heure courante :

    % konsolekalendar --next

Pour afficher tous les événements des 5 jours à venir :

    % konsolekalendar --show-next 5

### Insertion d'événements

&konsolekalendar; peut insérer des événements dans un agenda ou une ressource de l'agenda &kde; à l'aide de l'argument en ligne de commande `--add`. Les événements insérés avec succès seront immédiatement visibles par les applications d'agenda &kde; (comme &korganizer;).

Dans l'exemple suivant, un événement commençant le 2003-06-04 (4 juin 2003) à 10:00 et se terminant à 12:00 avec le résumé « Consultation chez le médecin » sera inséré dans la ressource de l'agenda par défaut de l'utilisateur :

    % konsolekalendar --add --date 2003-06-04 --time 10:00 \
    --end-time 12:00 --summary  « Consultation chez le médecin »

Dans cet exemple, un événement anniversaire est ajouté dans la ressource de l'agenda par défaut de l'utilisateur :

    % konsolekalendar --add --date 2003-06-06 --summary  « Mon anniversaire »  \
    --description  « Réception »

Une semaine de vacances est ici insérée dans un agenda `vacances` partagé :

    % konsolekalendar --add --file vacances.ics --date 2003-08-01 \
    --end-date 2003-08-01 --summary  « Vacances »  --description  « Je ne suis là pour personne !  »

### Suppression d'éléments

&konsolekalendar; prend en charge la suppression d'éléments dans un fichier ou une ressource de l'agenda à l'aide de l'argument en ligne de commande `--delete`. Les éléments de l'agenda à supprimer sont spécifiés de façon exacte par leur identifiant unique (UID) à l'aide l'option `--uid`. Vous trouverez les UIDs en affichant d'abord l'événement, à l'aide de l'option `--view`.

Les événements supprimés avec succès seront immédiatement retirés des applications d'agenda &kde; (par exemple &korganizer;).

Quand vous supprimez quelque chose de l'agenda, vous ne pouvez pas l'annuler ! En d'autres termes, quand vous supprimez un élément, vous ne pouvez pas annuler la suppression. Elle est définitive.

Nous supprimons ici un élément de l'agenda avec l'UID de `&konsolekalendar;-1887551750.196` :

    % konsolekalendar --delete --uid &konsolekalendar;-1887551750.196

### Modification d'éléments

&konsolekalendar; prend en charge la modification d'éléments existants dans un fichier ou une ressource de l'agenda à l'aide de l'argument en ligne de commande `--change`. Les éléments de l'agenda à modifier sont spécifiés de façon exacte par leur identifiant unique (UID) à l'aide de l'option `--uid`. Vous trouverez les UIDs en affichant d'abord l'option `--view`.

La modification se comporte de la même manière que l'insertion : vous pouvez modifier la date et l'heure de début, la date et l'heure de fin, le résumé, l'emplacement et la description d'un événement. Les événements modifiés avec succès apparaîtront immédiatement changés dans les applications d'agenda &kde; (comme &korganizer;).

Exemple : ici nous modifions le résumé et la description d'un élément de l'agenda avec l'UID `&konsolekalendar;-1887551750.196`:

`%```konsolekalendar` `--change` `--uid `&konsolekalendar;-1887551750.196`` `--summary `« Me faire examiner la tête »`` `--description `« ne plus retourner chez ce médecin ! »```

### Création d'un nouveau fichier d'agenda

Vous pouvez utiliser &konsolekalendar; pour créer un nouveau fichier d'agenda de &kde;. Puisque vous ne pouvez pas insérer un élément dans un agenda qui n'existe pas, créez le fichier à l'aide des arguments en ligne de commande `--create` et `--file`.

Créez un fichier agenda dénommé ``/data/share/agendas/vacances.ics`` :

    % konsolekalendar --create --file /data/share/agendas/vacances.ics

### Exportation vers d'autres formats

&konsolekalendar; peut exporter un agenda &kde; vers d'autres formats connus. L'exportation est une forme spéciale d'affichage. Par défaut, les événements sont affichés au format texte de &konsolekalendar;. Pour changer le format d'affichage, utilisez l'argument en ligne de commande `--export-type`.

Pour afficher une liste de tous les formats d'exportation pris en charge, utilisez l'option `--export-list`, comme dans :

    % konsolekalendar --export-list

### Formats d'exportation

Certains, mais pas nécessairement la totalité des formats pris en charge sont décrits dans cette section.

#### Format texte de &konsolekalendar;

Le format texte de &konsolekalendar; est le format natif de &konsolekalendar; ; il est conçu pour être facile à lire et pour pouvoir être analysé par des scripts de suivi.

Le format texte de &konsolekalendar; est :

    Date : \t<Date de l'événement>(dddd yyyy-MM-dd)
    [\t<Heure de début de l'événement>(hh:mm) - <Heure de fin de l'événement>(hh:mm)]
    Résumé :
    \t<Résumé de l'événement | "(résumé non précisé)">
    Lieu :
    \t<Lieu de l'événement | "(lieu non précisé)">
    Description :
    \t<Description de l'événement | "(description non précisée)">
    UID :
    \t<UID de l'événement>
    --------------------------------------------------

Par exemple :

    Date :   2003-11-01
            8:00 - 9:00
    Résumé :
            Réunion du personnel
    Lieu :
            Salle de conférences
    Description :
            Réunion avec l'ensemble du personnel pour discuter du projet.
    UID :
            &konsolekalendar;-1128954167.1013 --------------------------------------------------

#### Format texte court de &konsolekalendar;

Le format texte court fournit une version plus compacte et moins détaillée du format natif de &konsolekalendar;.

Le format texte court de &konsolekalendar; est :

    [--------------------------------------------------]
    {<Incidence Date>(dddd yyyy-MM-dd)]
    [<Incidence Start Time>(hh:mm) - <Incidence End Time>(hh:mm) | "\t"]
    \t<Incidence Summary | \t>[, <Incidence Location>]
    \t\t<Incidence Description | "\t">

Par exemple :

    --------------------------------------------------
    Mardi 2003-11-01
    08:00 - 09:00   Réunion du personnel, Salle de conférences
                    Réunion avec l'ensemble du personnel pour discuter du projet.

#### Format CSV (valeurs séparées par des virgules)

Le format CSV affiche les valeurs d'événements dans le même ordre que le format texte de &konsolekalendar;. La seule différence est que toutes les informations sont sur la même ligne, chaque champ étant séparé par une virgule. Les fichiers exportés qui en résultent peuvent être importés directement dans des tableurs comme &kspread;, OpenOffice.org Calc et &Microsoft; Excel. En outre, le format CSV est facile à analyser avec des suivis de scripts.

Le format CSV est :

    AAAA-MM-JJ,HH:MM,AAAA-MM-JJ,HH:MM,Résumé,Emplacement,Description,UID

Par exemple :

    2003-11-01,08:00,2003-11-01,09:00,Réunion du personnel,Salle de conférences,Réunion dans la grande salle de conférences \
    avec l'ensemble du personnel.,&konsolekalendar;-1128954167.1013

#### Format &HTML;

Le format d'exportation &HTML; produira un fichier &HTML; valide qui peut être publié sur le WWW. Ce format d'exportation ne convient pas pour l'analyse par suivi de script, mais il est très pratique pour la publication d'agendas pour un affichage public aisé.

À FAIRE : insérer une capture d'écran ici

#### Format HTMLMonth

Ce format d'exportation produit un fichier &HTML; qui affiche tous les rendez-vous des mois de la période spécifiée. Ce format d'exportation ne convient pas pour l'analyse par suivi de script, mais il est très pratique pour la publication d'agendas pour un affichage public aisé.

À FAIRE : insérer une capture d'écran ici

### Importation d'agendas

&konsolekalendar; peut importer un fichier d'agenda iCal ou vCal dans un agenda &kde;. Tous les événements provenant de l'agenda dont ils sont importés seront insérés, y compris les événements identiques. Dans la prochaine version de &konsolekalendar;, les événements identiques ne seront pas insérés.

Pour importer le fichier d'agenda ``un_autre.ics`` dans l'agenda ``actuel.ics`` exécutez :

    % konsolekalendar --import un_autre.ics --file actuel.ics

## Arguments en ligne de commande

&konsolekalendar; prend en charge les options suivantes :

Option | Description
`--help, --help-all` | Affiche l'aide sur les options du programme.
`--author` | Affiche les informations sur l'auteur du programme.
`-v, --version` | Affiche les informations sur la version du programme.
`--license` | Affiche les informations sur la licence du programme.
`--verbose` | Affiche des messages utiles pendant l'exécution.
`--dry-run` | Affiche ce qui aurait été fait, mais sans exécuter. Ne change aucun fichier, n'insère, ne supprime, ne modifie aucun fichier existant et ne crée aucun nouveau fichier.
`--allow-gui` | Permettre les ressources qui pourraient nécessiter une interface utilisateur interactive. En fonctionnement normal, seules les ressources qui n'ont jamais utilisé une interface utilisateur sont utilisées (comme les agendas fichiers).
`--file` `fichier-agenda` | Spécifie un fichier d'agenda à utiliser. S'il n'est pas spécifié, votre ressource &korganizer; par défaut est utilisée.
Modes d'opération principaux :
`--view` | Affiche les événements de l'agenda dans le format d'exportation indiqué.
`--add` | Insère un événement dans l'agenda.
`--change` | Modifie un événement existant de l'agenda.
`--delete` | Supprime un événement existant de l'agenda.
`--create` | Crée un nouveau fichier d'agenda s'il n'en existe aucun.
`--import` `fichier-importation` | Importe cet agenda vers l'agenda principal.
Modificateurs d'opération :
`--all` | Affiche tous les éléments de l'agenda.
`--next` | Affiche l'activité suivante de l'agenda.
`--show-next` `days` | Affiche les activités des # prochains jours à partir d'une date donnée.
`--uid` `UID` | Affiche, supprime ou modifie l'événement avec cet Identifiant unique (UID)..
`--date` `date` | Commence ce jour [AAAA-MM-JJ]. La date par défaut est Aujourd'hui.
`--time` `time` | Commence à cette heure [HH:MM]. L'heure par défaut est 07:00. Pour ajouter ou changer un événement flottant, utilisez l'option `--time float` ou l'option `--end-time float`.
`--end-date` `fin-date` | Prend fin ce jour [AAAA-MM-JJ]. La valeur par défaut est fixée par `--date`.
`--end-time` `fin-heure` | Prend fin à cette heure [HH:MM]. L'heure par défaut de l'affichage est 17:00. Pour ajouter ou changer un événement flottant, utilisez l'option `--time float` ou l'option `--end-time float`.
`--epoch-start` `epoch-time` | Commence à cette heure [secondes depuis le 1er janvier 1970].
`--epoch-end` `epoch-heure` | Prend fin à cette heure [secondes depuis le 1er janvier 1970].
`--summary` `résumé` | Ajoute un résumé à un événement (fonctionne avec Ajout et Modification).
`--description` `description` | Ajoute une description à un événement (fonctionne avec Ajout et Modification).
`--location` `location` | Ajoute l'emplacement à l'événement (fonctionne avec l'ajout et la modification).
Options d'exportation :
`--export-type` `exportation-type` | Type de fichier d'exportation. Le type de fichier d'exportation par défaut est Texte
`--export-file` `exportation-fichier` | Exportation vers un fichier. Par défaut, la sortie est écrite vers la sortie standard.
`--export-list` | Affichage d'une liste des types d'exportation pris en charge et se termine.

## Questions et réponses

&reporting.bugs; &updating.documentation;

Quels fichiers de configuration &konsolekalendar; utilise-t-il ?

Aucun.

Quels sont les noms d'application de &konsolekalendar; ?

Le nom d'application de &konsolekalendar; est konsolekalendar.

Quel est le format d'indication de la date ?

&konsolekalendar; rejettera les dates indiquées sur la ligne de commande, à moins qu'elles ne soient spécifiées conformément aux normes ISO 8601, à savoir : AAAA-MM-JJ. Où AAAA représente une année sur quatre chiffres (comme 2003), MM un mois sur deux chiffres (01, 02, ..., 12) et JJ un jour sur deux chiffres (01, 02, ..., 31).

&konsolekalendar; exporte toujours les dates conformément au format ISO 8601.

Quel est le format d'indication de l'heure ?

&konsolekalendar; rejettera les heures indiquées sur la ligne de commande, à moins qu'elles ne soient spécifiées conformément aux normes ISO 8601, à savoir : HH:MM:SS. Où HH représente une heure sur deux chiffres (01, 02,..., 24), MM une minute sur deux chiffres (01, 02,..., 60) et SS une seconde sur deux chiffres (01, 02,..., 60).

&konsolekalendar; exporte toujours les heures conformément au format ISO 8601.

&konsolekalendar; insérera-t-il un nouvel événement qui est identique à un événement déjà existant dans l'agenda ?

Non. Reportez-vous à la question suivante.

Comment &konsolekalendar; détermine-t-il qu'un événement est identique à un événement déjà existant dans l'agenda ?

&konsolekalendar; vérifie la date et l'heure de début, la date et l'heure de fin ainsi que le résumé indiqués par rapport à tous les événements dans l'agenda. Une correspondance d'événement est déterminée si l'ensemble des trois valeurs correspond à un événement existant.

Un événement non-flottant peut-il être modifié en événement flottant ?

Oui. Utilisez l'option `--time float` avec `--change`.

Pourquoi les UIDs des événements sont affichés dans la plupart des formats d'exportation ?

Car vous devez spécifier les UIDs pour supprimer ou modifier les événements. Si vous ne voulez pas afficher les UIDs d'événement utilisez le modèle short d'export (`--export-type short`)

Comment faire pour que ma question soit ajoutée à cette FAQ ?

Envoyez vos questions à winter@kde.org.

## Remerciements et licence

Programme &konsolekalendar; copyright 2002-2007 :

- Tuukka Pasanen illuusio@mailcity.com

- Allen Winter winter@kde.org

Documentation Copyright 2003 :

- Allen Winter winter@kde.org

- Tuukka Pasanen illuusio@mailcity.com

Traduction française par &JoelleCornavin; et &SylvainFloury;

&underFDL; &underGPL;

## Installation

### Comment obtenir &konsolekalendar;

&install.intro.documentation;

&konsolekalendar; est inclus dans &kde;4 est n'est pas disponible séparément.

### Conditions requises

L'installation de &konsolekalendar; exige l'installation des bibliothèques standard de &kde; (le paquetage `kdelibs` et `kdepimlibs`). Pour compiler à partir du source, vous aurez également besoin des paquetages de développement de &Qt;, `kdelibs` et de `kdepimlibs`.

Vous trouverez une liste des changements dans le fichier `ChangeLog`.

### Configuration

Aucune configuration spéciale n'est requise pour installer &konsolekalendar; pour qu'il s'exécute sur le bureau &kde;.

&documentation.index;