Synchroniser ses calendriers, ses contacts et ses tâches grâce à Nextcloud

Dans ce tutoriel, on va voir comment synchroniser nos calendriers, contacts et tâches entre nos différents appareils en utilisant les plugins Calendar, Contacts et Tasks de #Nextcloud.

L'intérêt ? Si là tout de suite votre téléphone tombe en panne, comment allez-vous récupérer vos contacts ? Peut-être en avez-vous fait une sauvegarde manuelle il y a quelque temps, stockée ailleurs que sur votre téléphone (sur votre ordinateur par exemple). Peut-être aussi que vous avez déjà synchronisé tout ça chez géant du web grâce à votre compte Google, Huawei, ou autre. L'idée ici est de synchroniser ces données (calendriers, contacts, tâches) sur un serveur Nextcloud, afin de savoir vraiment où elles sont et qui y a accès. Vous pouvez héberger un serveur Nextcloud vous-même, ou bien vous inscrire sur une instance existante à laquelle vous faites confiance.

J'espère ainsi contribuer à vous aider à reprendre le contrôle de vos données :)

On utilisera #Thunderbird sur ordinateur, et sur smartphone Android il nous faudra plusieurs applications : #DAVx5, #ICSx5, #SimpleCalendarPro, #SimpleContactsPro et #Tasks.


Création d'un compte Nextcloud

Si vous ne posséder pas déjà un compte sur une instance Nextcloud, il va falloir remédier à cela. Vous pouvez par exemple, comme suggéré dans mon tutoriel sur la gestion de mots de passe, créer un compte sur l'instance La Valise Chapril de l'April, association de promotion et de défense du logiciel libre.

On a maintenant accès aux trois modules Calendar, Contacts et Tasks.


Synchronisation sur ordinateur

Gestion des calendriers sur Nextcloud

Il y a deux types de calendrier qui peuvent vous intéresser : ceux que vous créez vous-mêmes, et les calendriers publics trouvables sur internet auxquels vous pouvez vous abonner.

Ces deux types de calendriers coexistent dans votre interface Nextcloud. Il est en effet possible de créer un calendrier personnel en cliquant à gauche sur New calendar puis New calendar ou New calendar with task list, ou bien de s'abonner à un calendrier distant avec New subscription from link (read-only).

Ce calendrier distant est effectivement en lecture seule, et sera mis à jour régulièrement. Quand l'auteur du calendrier le modifiera, vous recevrez donc automatiquement les modifications (certes avec un délai).

Les calendriers distants sont au format iCalendar (.ics), tandis que les calendriers “locaux” sont au format calDAV.

Vous pouvez par exemple vous abonner à un calendrier recensant les jours fériés en France, cela pourrait vous être utile ;) L'URL que j'ai retenue est https://www.thunderbird.net/media/caldata/FrenchHolidays.ics (trouvée sur la page Holiday Calendars du site internet Thunderbird).

On fait New calendar puis New subscription from link (read-only), on entre le lien puis on clique sur la flèche.

Ajout d'un calendrier distant depuis Nextcloud

On peut renommer le calendrier qui vient d'être crée en cliquant sur les trois petits points à droite –> Edit name, on rentre un nom puis on clique sur la flèche.

Renommer un calendrier depuis Nextcloud

Pour information, l'URL d'un calendrier public distant récupéré sur Google Calendar est de la forme : https://calendar.google.com/calendar/ical/<idCalendar>@group.calendar.google.com/public/basic.ics<idCalendar> est à remplacer par l'id du calendrier Google.

Note : Les calendriers distants peuvent ne pas être ajoutés depuis l'interface web Nextcloud si vous ne prévoyez de ne pas utiliser cette interface web (et donc seulement d'utiliser que Thunderbird sur ordinateur et Simple Calendar Pro sur mobile), car comme il s'agit d'un calendrier distant, on sera obligés de les ajouter à la main également depuis ces applications. Cependant, le faire vous permet de vous rappeler à quels calendriers distants vous êtes abonnés, donc je vous recommande de le faire quand même ;)

Vous pouvez organiser vos calendriers comme bon vous semble et en ajouter des distants, puis passer à l'étape suivante quand vous êtes prêts.

Ajout des calendriers sur Thunderbird

Thunderbird intègre désormais (il me semble depuis la version 78) de base la gestion des calendriers et des tâches (avant il fallait installer le module complémentaire “Lightning”).

Tout en haut à droite de Thunderbird, on clique sur l'icône Calendar :

Icône Calendar dans Thunderbird

On va devoir ajouter nos calendriers un par un. À gauche dans la zone Calendar, on fait clique droit –> New Calendar.... On indique alors qu'on souhaite ajouter un calendrier distant (il est effectivement sur le serveur Nextcloud) On the Network.

Ajout d'un calendrier personnel

Pour ajouter un calendrier personnel (lié à votre compte Nextcloud), il faut choisir le type CalDAV. Le Username correspond à votre nom de compte sur l'instance Nextcloud, et l'URL se récupère depuis l'interface Nextcloud : à côté du nom de votre calendrier les trois petits points –> Copy private link.

Copier l'URL privée d'un calendrier depuis l'interface web Nextcloud

Champs *Username* et *Location* dans Thunderbird

On vous demande ensuite de donner un nom au calendrier (pour ne pas vous prendre la tête vous pouvez mettre le même que sur Nextcloud) et une couleur (pareil).

On vous demande aussi si vous voulez associer une adresse mail à ce calendrier : libre à vous de le faire si vous en avez l'utilité. Personnellement, ce n'est pas (encore ?) le cas, donc je mets le champ à None.

Nom, email, couleur associé au calendrier dans Thunderbird

On vous demande ensuite votre mot de passe Nextcloud, pour se connecter à votre compte et récupérer le calendrier qui est privé. Pensez à cocher la case Use Password Manager to remember this password., cela vous évitera de devoir remettre votre mot de passe à chaque fois que Thunderbird ira chercher les modifications du calendrier sur le serveur ;)

Entrée du mot de passe du compte distant

Et voilà ! Vous pouvez répéter l'opération pour tous vos calendriers privés, mais sans avoir à rentrer votre mot de passe Nextcloud à chaque fois puisque celui-ci est maintenant enregistré.

Ajout d'un calendrier distant

Cette fois-ci, on choisit d'ajouter un calendrier distant au format iCalendar. Ajoutons donc le calendrier distant des jours fériés en France (https://www.thunderbird.net/media/caldata/FrenchHolidays.ics).

Ajoutant d'un calendrier distant

De la même façon, on lui donne un nom, une couleur, et on choisit ou non si on veut associer une adresse mail à ce calendrier. Ici, pas besoin de mot de passe puisque le calendrier est public.

Le calendrier distant est maintenant synchronisé !

Je vous conseille de passer tous vos calendriers distants en lecture seule sur Thunderbird. Cela vous empêchera d'y ajouter des évènements locaux. Pour cela, clique droit sur le calendrier –> Properties –> cocher la case Read Only :

Case *Read Only* pour un calendrier distant dans Thunderbird

Tâches dans Thunderbird

Les tâches sont liées et incluses aux calendriers. Il suffit donc d'ajouter un calendrier compatible avec les tâches (crée dans l'interface web Nextcloud avec New calendar with task list) dans l'onglet Calendar de Thunderbird pour y avoir accès.

On accède à l'onglet Tasks en haut à droite de Thunderbird, juste à côté de l'onglet Calendar :

Bouton pour accéder à l'onglet Tasks

Contacts dans Thunderbird

Pour synchroniser nos contacts sur Thunderbird, on utilise l'extension “CardBook”. Au moment où j'écris l'article, l'add-on présent dans les dépôts Thunderbird n'est pas encore mis à jour pour fonctionner avec la dernière version (78) de Tunderbird, mais un correctif est déjà téléchargeable sur leur git.

Extension CardBook dans le store Thunderbird

Il est possible d'installer le module depuis un fichier téléchargé, c'est ce que j'ai fait ici :

Installation d'un module Thunderbird depuis un fichier

On accède à l'onglet CardBook encore une fois tout en haut à droite de Thunderbird :

Bouton pour accéder à l'onglet CardBook

On va synchroniser nos contacts. Dans All Address Books à gauche, clique droit –> New Address Book –> Remote.

On utilise du CardDAV, le Username et Password sont ceux ce votre compte Nextcloud, et on récupère l'URL depuis l'interface web Nextcloud dans l'onglet Contacts, tout en bas à gauche Settings –> les trois petits points à droite –> Copy link

Récupérer l'URL de notre CardDAV de contacts depuis Nextcloud

Encore une fois on peut cocher Use Password Manager to remember this password. On clique ensuite sur Validate pour que Thunderbird vérifie la configuration, puis sur Next, Next à nouveau, et enfin Finish.

Nos contacts sont maintenant synchronisés !

Note : Quand vous aurez pour la première fois créé un contact avec une date d'anniversaire associé à ce contact, Nextcloud créera un calendrier Contact birthdays. Si ce n'est pas le cas pour vous, vous pouvez l'activer manuellement depuis l'interface web dans Nextcloud, onglet Calendar, Settings & import en bas à gauche –> cocher Enable birthday calendar.

Essayons cela. On crée un contact depuis CardBook dans Thunderbird (Bouton New Contact en haut à droite), on lui donne un petit nom et surtout on rentre une date de naissance, et on sauvegarde (Save).

Création d'un contact depuis CardBook

On peut ensuite cliquer sur Synchronize en haut à gauche dans l'onglet CardBook pour forcer la synchronisation (par défaut automatique toutes les heures il me semble).

Vous pourrez alors ajouter ce nouveau calendrier dans Thunderbird comme nous avons appris à le faire plus haut :

Ajout dans Thunderbird du calendrier *Contact birthdays* automatiquement crée

Ce nouveau calendrier Contact birthdays est certes lié à votre compte Nextcloud, mais il vaut mieux le passer là aussi en Read-only, comme pour les calendriers distants (clique droit –> Properties –> cocher la case Read Only).

On clique aussi sur Synchronize en haut à gauche dans l'onglet Calendar pour mettre à jour les calendriers.

L'anniversaire apparait alors à la date du jour :

Anniversaire de notre contact de test


Synchronisation sur smartphone

Installation des applications

Sur Android, il vous faut télécharger plusieurs applications pour synchroniser et utiliser votre calendrier, vos contacts et vos tâches : DAVx⁵, ICSx⁵, SimpleCalendarPro, SimpleContactsPro et Tasks.

Le mieux est d'installer le catalogue d'applications libres et open-source F-Droid sur votre téléphone, puis d'installer ces applications depuis F-Droid.

Note : Il est surement aussi possible d'utiliser vos applications de base du téléphone de calendrier et de contacts pour arriver au même résultat, mais l'application Simple Calendar Pro est vraiment bien foutue et mérite qu'on s'y intéresse ;) À la limite vous pouvez donc ne pas utiliser Simple Contacts si vous le souhaitez.

Si vous avez un téléphone Huawei basé sur EMUI, il vous faudra désactiver l'optimisation de batterie des trois premières applications et autoriser la gestion manuelle pour leur lancement. Deux étapes pour ça, sur EMUI 10 ça donne : 1. Settings –> Apps –> Apps –> les trois points verticaux en haut à droite –> Special access –> Battery optimization –> All apps en haut à gauche –> chercher “DAVx” –> cliquer dessus –> Don't allow. Chercher “ICSx” et “Calendar” et faire pareil pour ces deux applications. Désactiver l'optimisation de batterie pour une application 2. Settings –> Apps –> App launch –> chercher “DAVx” –> décocher la case “Manage automatically” –> cocher les trois cases “Auto-launch”, “Secondary launch” et “Run in background” puis OK. Chercher “ICSx” et “Calendar” et faire de même. Mettre *Manage manually* pour une application

Pour les autres versions de EMUI, ces étapes seront surement similaires, si vous ne trouvez pas ces options vous pouvez chercher “opti” dans la barre de recherche des paramètres, ça peut aider.

Mise en place de la synchronisation

On lance l'application DAVx⁵, on ajoute un compte avec Login with URL and user name. Ici il s'agit de l'adresse de votre instance Nextcloud (ici, https://valise.chapril.org) ainsi que votre nom d'utilisateur et mot de passe.

Page de login dans DAVx5 1/2

Dans la deuxième fenêtre, choisissez Groups are per-contacts categories en bas dans Contact group method.

Page de login dans DAVx5 2/2

Vous avez accès à trois onglets : CardDAV, CalDAV et Webcal. CardDAV sert à synchroniser vos contacts, CalDAV à synchroniser vos calendriers personnels, et Webcal les calendriers distants. Cochez tout dans les deux premiers onglets pour tout synchroniser. Dans le troisième onglet, le fait de cocher un calendrier distant ouvre l'application ICSx⁵, il suffit ensuite de cliquer en haut à droite sur la flèche, puis à nouveau en haut à droite pour valider.

ICSx5 ajout d'un calendrier 1/2

ICSx5 ajout d'un calendrier 2/2

Configuration des calendriers

On lance Simple Calendar Pro, en haut à droite les trois petits points verticaux –> Settings –> CALDAV –> cocher CalDAV sync puis cliquer sur Manage synced calendars.

Synchronisation CalDAV dans Simple Calendar Pro

Vous avez tout en haut une section CALENDAR SUBSCRIPTIONS, il s'agit des calendriers distants, et dans la section qui a pour nom votre adresse mail utilisée pour Nextcloud vous retrouvez à la fois vos calendriers personnels ET les calendriers distants. Pour afficher les calendriers distants, il faut cocher la case correspondant dans CALENDAR SUBSCRIPTIONS tout en haut. Il ne sert à rien de cocher la case du calendrier dans la section avec vos calendriers personnels. Pour afficher vos calendriers personnels, il faut cocher la case correspondant dans la section dont le nom est votre adresse mail (enregistrée dans votre instance Nextcloud).

Abonnement à des calendriers dans Simple Calendar Pro

Le calendrier est synchronisé !

Note : Quand vous créerez un nouvel évènement dans Simple Calendar Pro, pensez à bien choisir “Personal ()” dans la liste des calendriers en bas. Autrement, il pourrait ne créer l'évènement qu'en local, et ne synchroniserait donc pas cet évènement avec votre compte Nextcloud.

Configuration des contacts

Simple Contacts Pro a directement accès à nos contacts. S'ils ne sont pas visibles dans votre liste, cliquez en haut à droite sur les trois petits points verticaux –> Filter –> cocher la case Contacts ( OQ).

Configuration des tâches

Dans Tasks, les trois traits horizontaux en haut à gauche –> Settings –> Synchronization –> Add account –> CalDAV

Comme d'habitude, entrez votre nom de compte et mot de passe Nextcloud, ainsi que l'URL de votre instance (dans mon cas, https://valise.chapril.org).

Connexion à notre compte Nextcloud depuis Tasks

On sauvegarde en haut à gauche, puis on fait glisser vers le bas pour synchroniser et c'est bon !