Doublons dans l’agenda de Gnome

Après le passage à Ubuntu 19.10, j’ai eu quelques problèmes à régler avec l’agenda de Gnome. Mais d’abord un peu de contexte :

L’agenda fournit par Gnome (a.k.a Gnome calendar) est plutôt réussi, très beau, mais malheureusement je n’ai pas réussi à le faire fonctionner avec CalDAV. Or j’utilise ce protocole via un serveur Baikal pour synchroniser mes agendas avec le smartphone.

Il faut donc utiliser Lightning, le calendrier de Thunderbird pour ce faire. D’ailleurs, le passage à 19.10 m’avait obligé à installer de nouvelles extensions pour assurer cette synchro CalDAV (voir cet article).

Ensuite, si l’on veut synchroniser Lightning avec l’agenda de Gnome, il faut installer une extension appelée EDS Calendar Integration. À noter que la synchronisation ne fonctionne que dans un sens, de Lightning vers Gnome Agenda.

Voilà donc en détail comment j’ai échoué à faire fonctionner Gnome Calendar avec CalDAV (je referai des essais). Ensuite, j’ai rencontré deux problèmes lié à la mise à jour : perte de la synchro entre Lightning et Gnome Agenda, puis mes agendas dupliqués côté Gnome calendar.

Gnome calendar et CalDAV

Dans l’idéal, je trouverais donc pas mal de me passer de Lightning, pour n’utiliser que l’agenda de Gnome. J’ai donc cherché à utiliser la synchronisation CalDAV, qui semble possible sans passer par le client mail Evolution d’après cette page.

Même en gardant Lightning (moins beau, mais plus complet, voir en fin d’article), c’est plus « propre » de synchroniser ce calendrier de Gnome sur mon serveur Baikal. Il est là pour ça, et les clients se connectent dessus : mon smartphone, Lightning/Thunderbird donc, et dans l’idéal Gnome calendar.

Je choisis donc « Gérer les agendas » à partir du menu de l’icône, puis « ajouter un agenda ». Je rentre l’adresse web de mon serveur baikal, et là, miracle, ça a l’air de fonctionner : une boite de dialogue s’affiche me demandant mon nom d’utilisateur et mon mot de passe :

La boite d’identification s’ouvre toute seule après avoir entré l’adresse web du serveur CalDAV

Une fois mes identifiants saisis, le bouton Ajouter devient actif, je clique dessus, et là on me redemande mes identifiants pour chaque agenda (première anomalie !) :

La même boite de dialogue va s’afficher pour chaque agenda !

Peu importe, une fois ceci fait, mes agendas apparaissent bien dans la liste, je me dis que ça y est, tout fonctionne enfin comme espéré :

Tous mes agendas apparaissent bien dans Gnome Calendar ! et directement via CalDAV…

Hélas, ma joie sera de courte durée : aucun événement n’apparaît, j’ai beau synchroniser, créer un nouvel événement à partir d’une autre source, manifestement la synchro échoue, les agendas restent désespérément vides.

Bon, je vais creuser ça, je sens que je ne suis pas loin de la solution. Ce serait bien de résoudre ce problème et faire une synchro directe avec CavDAV… C’est plus logique comme je le disais, et surtout la synchro serait effective dans les deux sens !

Je n’ai plus qu’à revenir à ma configuration d’avant, avec l’extension de Thunderbird pour synchroniser l’agenda de Gnome sur Lightning. Je le rappelle, cette synchronisation ne fonctionne que dans un sens, de Lightning vers Gnome, tout ce que vous allez faire dans Gnome calendar (ajouter/supprimer/modifier un événement), ne sera reflété dans Lightning, et encore moins sur votre servuer CalDAV.

EDS Calendar Integration

EDS signifie Evolution Data Server : en effet, si Ubuntu fournit Thunderbird comme client mail, Gnome est toujours lié à Evolution, un client mail puissant (du genre usine à gaz, ou Outlook si vous préférez), destiné aux entreprises… Même si le client mail d’Evolution n’est pas installé avec Ubuntu, des modules tournent encore en tâche de fond, et sont toujours utilisés par Gnome, comme dans ce cas pour synchroniser l’agenda.

Je me suis d’abord aperçu que l’extension avait été désactivée lors du passage à Ubutnu 19.10, car non compatible avec cette version 68 de Thunderbird. J’ai donc recherché une nouvelle version de cette extension, et je l’ai ajoutée à Thunderbird, sans trop lire les informations. J’aurais du, car cette version 0.7 ne fonctionne pas avec Ubuntu 19.10.

Le message est pourtant clair… Il suffit de le lire !

Il faut donc aller sur la page Release du site GitHub de l’extension, récupérer le fichier .xpi de la version 0.8, puis à partir de la page Extesnions de Thunderbird, choisir le menu suivant :

Un petit test rapide me montre qu’un nouvel événement dans Lightning est bien reporté dans Gnome Agenda.

Gnome Agenda

C’est alors que je me rends compte que mes agendas dans Gnome sont tous dupliqués :

Mes calendriers apparaissent tous en double dans Gnome Agenda

Je ne sais pas trop ce qui s’est passé, sans doute le changement de version combiné entre Ubuntu, EDS et l’extension de Thunderbird ! Bref, j’ai du faire quelques recherches sur le net pour trouver où Gnome Calendar va chercher ses agendas…

Il y a en fait deux dossiers concernés. Le premier liste les calendriers (des fichiers .ics standard en fait, qui contiennent les événements, et qui peuvent être édités), chacun dans son propre répertoire. L’emplacement est le suivant : /home/pascal/.local/share/evolution/calendar:

Dans chaque dossier se trouve un fichier « calendar.ics » contenant les événements.

Mais ce n’est pas le seul dossier concerné : un autre emplacement définit la liste des agendas existants, dont le nom de fichier correspond au nom du répertoire ci-dessus). Il s’agit de fichiers .source (qui peuvent également être édités) qui se situent dans /home/pascal/.config/evolution/sources :

Chaque fichier .source contient le nom du calendrier, sa couleur, et quelques paramètres.

Reste donc à identifier lesquels sont à supprimer… C’est assez facile : éditer les fichiers .source pour identifier les calendriers ayant le même nom, puis aller voir dans les répertoires correspondant pour comparer la taille du fichier .ics. (je suis parti du principe que le fichier le plus gros était le plus complet). Reste à faire le ménage, c’est-à-dire effacer les fichiers .source et les répertoires correspondants :

À noter que l’agenda « Personnel » ne peut être effacé : il correspond au dossier « system », et est recréé systématiquement à l’ouverture de session. Puis on ferme et réouvre la session, la situation est redevenue normale :

Voilà, tout fonctionne comme attendu à nouveau, et j’aime bien la façon dont Gnome/Evolution gère les calendriers : tout est sous forme de fichier texte, facile à comprendre et à éditer si nécessaire. C’est aussi ça la philosophie Unix : tout est fichier.

Gnome calendar vs Lightning Thunderbird

Ci-dessous une comparaison visuelle des deux agendas. Je trouve celui de Gnome beaucoup plus beau (remarquez l’affichage de la météo pour le jour courant et les deux suivants : sympa non ?) :

Mais en l’état actuel des choses, Thunderbird Lightning reste beaucoup plus complet : en plus de la synchro CalDAV (tout de même essentiel pour un calendrier, mais il ne faut pas désespérer), j’ai aussi constaté que la recherche d’événements sur Gnome ne fonctionne que sur le mois courant, ce qui est plutôt ennuyeux, je fais régulièrement des recherches sur des événements passés, par mot-clef… J’ai cru voir dans la « roadmap » qu’une « view list » était prévue. Cela permettra peut-être de résoudre cette limitation. Attendons de voir !

Voilà, ce sera tout pour l’instant. Si je trouve la solution à ce problème de synchro CalDAV de Gnome calendar, je mettrai cet article à jour.

Laisser un commentaire

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