Gnome-calendar : ajouter un agenda CalDAV

Ça faisait longtemps que je cherchais à synchroniser l’agenda de Gnome avec mes agendas déclarés sur mon serveur Baikal, via le protocole CalDAV.

Le premier essai date d’Ubuntu 18.04, où j’avais fini par utiliser une extension de Thunderbird intitulée EDS Calendar Integration (voir cet article). L’ennui de cette solution, c’est que le calendrier de Gnome est synchronisé par un client du serveur Baikal, avec comme conséquence une synchro qui ne fonctionne que dans un sens, à savoir de Lightning/TH vers Gnome. On ne peut donc rien créer dans l’agenda de Gnome, puisque l’événement ne serait répliqué nulle part.

Lors du passage à Ubuntu 19.10, j’ai été amené à me pencher à nouveau sur le sujet (voir cet article). J’ai bien cru y arriver, puisque le nom de mes agendas s’affichaient dans la liste dans agendas, mais aucun événement ne s’affichait : la synchro ne fonctionnait donc pas.

Le problème venait du fichier de configuration créé, incorrect pour une connexion CalDAV. En fait, l’interface de Gnome Calendar permet d’ajouter des agendas à partir d’une adresse Web, mais les adresses CalDAV ne sont pas gérées correctement. Logiquement, l’interface devrait refuser ces adresses, mais elle les accepte, vous demande même le mot de passe, puis va jusqu’à afficher le nom des agendas récupérés… Mais s’arrête là !! 🙁

Voyons donc comment créer correctement le fichier de configuration d’un agenda CalDAV. Dans un premier temps avec Evolution (une suite du genre MS Outlook), ensuite avec simplement un fichier de configuration correctement renseigné, ce qui évite d’avoir à installer Evolution.

En cherchant des infos sur le net, j’ai fini par lire quelque part qu’il suffisait d’installer Evolution pour que la création d’agendas CalDAV se fasse correctement. Très bien, mais n’ayant aucune envie d’installer la suite Evolution sur mon PC, j’ai utilisé une machine virtuelle pour faire les tests, c’est plus pratique.

J’ai installé Ubuntu 19.10 sur celle-ci, histoire d’utiliser les mêmes versions de logiciel. Ensuite, une simple commande sudo apt install evolution permet d’installer la suite. Au premier lancement d’Evolution, il faut suivre l’assistant de configuration et entrer une adresse mail bidon (dummy@mail.com par exemple). Evolution vous demandera ensuite le mot de passe deux ou trois fois (cliquer alors sur Annuler), puis acceptera de démarrer et d’afficher la fenêtre principale.

Il ne reste plus qu’à créer un premier agenda : menu Fichier -> Nouveau -> Agenda. Bien choisir CalDAV comme Type d’agenda dans la première fenêtre :

.Dans la fenêtre suivante, entrer d’abord l’adresse de votre serveur CalDAV. Cela peut être une adresse globale pour tous les agendas, ou l’adresse d’un agenda particulier. Par exemple pour Baikal, je peux utiliser https://monserveurbaikal/html/dav.php qui me permettra de choisir ensuite parmi mes agendas lequel je veux sélectionner, ou pointer directement l’un de ceux-ci avec une adresse du genre https://monserveurbaikal/html/dav.php/calendars/pascal/nom_agenda. Je choisis la première solution, il faudra donc que clique sur « Rechercher les agendas » ensuite :

La liste des agendas s’affiche alors (après avoir donné le mot de passe bien sûr), il ne reste plus qu’à choisir lequel on souhaite synchroniser :

À ce stade, l’agenda se synchronise tout automatiquement, et les événements apparaissent dans Evolution :

Pour retrouver cet agenda dans l’agenda de Gnome, il faudra fermer la session et la réouvrir. Et voilà, c’est tout de même plus joli que celui d’Evolution ou de Lightning de Thunderbird. Comme on peut le voir, l’accent a été nettement mis sur le design, et c’est plutôt réussi :

Voilà, il suffirait de faire la même chose pour les autres agendas que l’on veut ajouter… Mais ce n’est pas vraiment nécessaire, car désormais, nous disposons d’un ficher de configuration valide, que l’on peut réutiliser en modifiant quelques paramètres pour se connecter à d’autres agendas.

Les fichiers créés par Evolution pour les calendriers se trouvent dans /home/pascal/.config/evolution/sources. Il en existe quatre par défaut (birthdays et system*), les autres créés par Evolution (comme celui que nous venons de créer) portent un nom créé aléatoirement du genre 2bcb5252ecb2588fa941bd4bd2610771cc0229ff.source.

Il suffit de récupérer un fichier de ce type, de modifier quelques paramètres en l’éditant, puis de l’enregistrer dans le même dossier pour que l’agenda de Gnome le prenne en compte, vous demande le mot de passe pour une première synchronisation, et le tour est joué ! On peut même en profiter pour lui donner un nom plus « parlant ».

Voilà donc à quoi ressemble le contenu d’un fichier « .source » pour un calendrier CalDAV. Les entrées colorées sont celles à modifier pour correspondre au calendrier que vous souhaitez inclure dans l’agenda de Gnome :

Un fichier typique pour une synchro CalDAV

Les entrées importantes sont donc :

  • DisplayName : le nom que vous voulez donner à l’agenda, et tel qu’il apparaîtra dans l’agenda de Gnome.
  • EmailAddress : l’adresse mail auquel l’agenda est lié. L’information est fournie par le serveur CalDAV.
  • ResourcePath : le chemin du serveur CalDAV pour accéder à l’agenda. Dépendant du type de serveur, ici pour Baikal et mon agenda par défaut…
  • Host : le nom DNS qui héberge votre serveur Baikal. Par exemple « toto.fr » (attention, ne pas mettre « https:// », le paramètre suivant « Port=443 » donne l’information).
  • User : ce sera le nom d’utilisateur qui sera utilisé par demander le mot de passe lors de la première connexion.

Voilà, il y a éventuellement l’entrée « Color » que vous pouvez modifier, celle-ci est également fournie par le serveur CalDAV normalement.

Vous pouvez récupérer un fichier type en cliquant sur ce lien. À vous de remplir les entrées laissées vides. Une fois ceci fait, il suffit d’enregistrer ce fichier dans le répertoire ~/.config/evolution/sources en lui donnant le nom que vous voulez, mais en conservant l’extension .source. Dans mon cas, je lui donnerai le nom de Perso.source, pour identifier facilement à quoi correspond ce fichier. Dès que ceci est fait, une boite de dialogue vous demandera le mot de passe pour se connecter au serveur CalDAV, et l’agenda de Gnome va commencer à se synchroniser.

Il ne reste plus qu’à recommencer l’opération pour tous les agendas que vous avez. Voilà à terme ce que j’ai dans mon répertoire « sources » :

Si vous choisissez cette méthode (créer les fichiers manuellement), il est possible que vous ayez à lancer Évolution pour accéder à la boite de dialogue vous demandant votre mot de passe. C’est en tout cas ce que j’ai constaté (sur Debian) : les calendriers étaient bien détectés dans Gnome Calendar, mais pas synchronisés.

Et voilà, j’ai enfin mes agendas correctement synchronisés dans Gnome, je peux créer ou effacer des événements, les modifications seront répercutées sur mes autres agendas (typiquement le smartphone) sans problème. Je pourrais même me passer de Lightning, mais en fait je vais le conserver pour l’instant, la fonction de recherche est encore balbutiante et limitée dans Gnome Calendar.

8 réflexions sur « Gnome-calendar : ajouter un agenda CalDAV »

  1. 1000 mercis ! Cela m’a permis de résoudre une problématique un peu différente, la synchro de mes agendas NextCloud hébergés chez un fournisseur tiers externe (Zaclys)
    Je documente pour info :
    Environnement Ubuntu LTS 20.04
    1. Ajouter le compte NextCloud aux comptes en ligne via les paramètres système (Paramètres > Comptes en ligne)
    2. Installer Evolution en spécifiant un faux compte de messagerie
    Une fois cela fait, pas besoin de sortir et rerentrer dans la session, les fichiers .source sont tous automatiquement créés et reconnus.

    Une seule réserve : contrairement à Lightning, Gnome Agenda gère apparemment uniquement que les événements, pas les tâches. Mais bon, suis pas un expert et peut-être que je me trompe…

    1. Je me réponds à moi-même pour la sync des tâches: utiliser Gnome ToDo règle la question : mes agendas et tâches sont à présent synchronisées entre mes ordinateurs fixes ou mobiles, NextCloud dans le nuage et tél.mobile (Android, via Davx5, dépôt FDroid) et je conserve malgré tout lightning de Thunderbird.

    1. Bonjour Philippe,
      Bonne question, et la réponse est non. On peut déplacer glisser/déposer, mais je n’ai pas trouvé de solution pour un copier/coller.
      C’est effectivement le genre de truc qui manque souvent avec les applis Gnome : à force de vouloir faire les trucs « Simple, beautiful, elegant », les applis manquent d’options parfois bien pratiques.
      Évidemment, ça fonctionne avec l’agenda de Thunderbird…

  2. Merci, bien pratique pour voir les rdv depuis la barre des tâche en un clin d’oeil (je suis un inconditionnel de l’agenda de thunderbird (ou betterbird ^^).

    Article intéressant, merci pour le partage. 🙂

  3. Bonjour,

    Si vous êtes intéressé, j’ai créé un script qui permet de synchroniser automatiquement vos agendas CalDav de Thunderbird avec le système.

    Vous pouvez le trouver ici Script CalDAV de Mintage.

    Ca parle de Linux Mint mais le script fonctionne pour tous les dérivé d’ubuntu, et sans doute toutes les distributions basées sur Debian.

    Le seul truc important est d’installer zsh pour pouvoir exécuter le script.

    sudo apt install -y zsh

    Bien à vous,

    RogerBytes

Répondre à fernando Annuler la réponse

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *