Phokopi

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 !

On va voir dans ce tutoriel comment mettre en place un gestionnaire de mots de passe (#KeePassXC) qui sera synchronisé entre tous vos appareils grâce à un cloud (#Nextcloud).

On va d'abord détailler les étapes à suivre sur ordinateur (création d'une base de mots de passe, mise en place de la synchronisation) puis voir comment gérer ça sur mobile (#KeePassDX).


Création d'une base de mots de passe KeePassXC

D'abord, on installe le logiciel libre KeePassXC qui sera notre gestionnaire de mots de passe.

Dans le logiciel, on crée une nouvelle base de données (on peut garder les paramètres par défaut) et on choisit un mot de passe principal qui servira à débloquer tous les autres mots de passe stockés dans la base. Je vous recommande une passphrase d'au moins six mots aléatoires. Vous pouvez pour cela réaliser six lancés de cinq dés et regarder pour chaque lancé le mot associé (par exemple, en lisant les dés de gauche à droite) sur cette liste : https://github.com/chmduquesne/diceware-fr/blob/master/diceware-fr-5-jets.txt. Vous pouvez aussi voir ce tutoriel (en anglais) de l'Electronic Frontier Foundation qui explique étape par étape comment faire.

Sauvegardez la base sur votre ordinateur (Bureau, Documents..., peu importe, on la déplacera plus loin dans le tutoriel, retenez juste son emplacement).

Notre base de mots de passe créée, on va maintenant pouvoir créer un compte sur une instance Nextcloud, en prenant dès maintenant la bonne habitude de générer un mot de passe aléatoire.


Création d'un compte sur une instance Nextcloud

De nombreuses instances Nextcloud existent, vous pouvez en chercher une qui vous convient sur internet. Si vous n'avez pas d'idée, vous pouvez par exemple créer un compte sur La Valise Chapril, instance hébergée par l'association April (association de promotion et de défense du logiciel libre) qui propose à ce jour 1 Go gratuitement (largement suffisant pour une base de données de quelques dizaines de Ko).

Au moment de choisir votre mot de passe, pensez à en générer un directement dans KeePassXC. Une fois généré, copiez-le, puis collez-le dans le champ de mot de passe. Quelques images pour vous accompagner :

Bouton *Generate Password* à la création d'une nouvelle entrée

Génération d'un mot de passe

Copier un mot de passe depuis KeePassXC

Pensez à bien remplir le champ URL à chaque fois en plus des trois premiers, cela nous sera utile. Pour le champ Title, je mets aussi l'URL, pour ne pas avoir à réfléchir à un titre (et parce que c'est assez explicite). Je préfère tronquer l'URL au nom de domaine seulement (éventuellement le sous-domaine s'il y en a un), c'est à dire qu'on commence à https:// et qu'on s'arrête juste après le .com ou .fr ou .org ou autre extension. Dans notre cas, comme indiqué sur l'image, l'URL à indiquer est valise.chapril.org (avec ou sans https:// devant, au choix, mais je trouve plus lisible dans la liste de mes mots de passe de ne pas le mettre).

On valide, et voilà, notre mot de passe est crée ! Si KeePassXC n'a pas enregistré la base automatiquement, pensez à le faire (ctrl + s).

De retour sur la page d'inscription, remplissez le mot de passe avec celui que vous venez de créer. Astuce : dans KeePassXC, ctrl + c permet de copier le champ mot de passe et ctrl + b permet de copier le champ utilisateur.

Le compte Nextcloud étant crée, on va pouvoir synchroniser ça sur notre ordinateur.


Synchronisation de la base de mots de passe

Rendez-vous d'abord sur la page de téléchargement du client desktop Nextcloud, et installez le logiciel.

On ajoute un nouveau compte, l'URL du serveur étant celle de votre instance Nextcloud (par exemple pour La Valise Chapril, l'adresse à indiquer est https://valise.chapril.org). Une page internet s'ouvre : il faut se connecter à notre compte Nextcloud pour autoriser l'accès.

L'assistant de configuration nous demande alors ce que l'on souhaite synchroniser (dans le doute, tout synchroniser est une bonne idée) et dans quel dossier sur notre ordinateur (le dossier indiqué par défaut est très bien si vous hésitez).

Assistant de configuration Nextcloud

On clique alors sur Connect ... et c'est bon ! Ce dossier local est maintenant synchronisé avec le dossier sur l'instance Nextcloud.

Dans le client Nextcloud, je vous recommande de cocher la case Launch on System Startup dans General (en haut à droite) –> General Settings.

Maintenant que le dossier est synchronisé, il nous suffit d'y placer la base de mots de passe. Fermez KeePassXC, puis déplacez le fichier .kdbx (crée en début de tutoriel) dans le dossier Nextcloud de votre ordinateur.

Nos mots de passe sont maintenant synchronisés ! Ils le seront en continu tant que l'application Nextcloud reste ouverte sur votre pc (elle se chargera de récupérer les modifications depuis le serveur, ou d'envoyer toute modification faite depuis votre ordinateur).

Pensez à rouvrir KeePassXC et à ouvrir la base à son nouvel emplacement ;)


Intégration dans le navigateur

Cette étape va vous permettre de ne pas avoir à copier-coller vos noms de compte et mots de passe sur chaque site : une extension sur navigateur permet de faire le lien entre votre base de mots de passe et les sites sur lesquels vous naviguez.

Sur Firefox, l'extension à installer s'appelle KeePassXC-Browser.

Il faut d'abord activer l'intégration dans le navigateur dans le logiciel KeePassXC : Tools –> Settings –> Browser IntegrationEnable Browser Integration, et cocher la case pour votre navigateur.

Activer l'intégration dans le navigateur dans KeePassXC

Dans l'onglet Advanced, je vous conseille de cocher la case Never ask before accessing credentials, ça vous évitera de devoir autoriser KeePass à accéder à votre identifiant sur chaque nouveau site ;)

Cocher la case *Never ask before accessing credentials*

Tant qu'on est dans les paramètres de KeePassXC, allez dans General, et dans la partie File Management cochez Backup database file before saving, sait-on jamais ça pourrait nous sauver si un jour la sauvegarde déconne ;) (en plus de votre fichier .kdbx, ça créer un fichier .old.kdbx contenant la sauvegarde de la base).

Cocher la case *Backup database file before saving*

Redémarrez maintenant Firefox pour que ces modifications soit bien prises en compte.

Maintenant, dans Firefox on ouvre les paramètres de l'extension KeePassXC-Browser, Connected Databases, puis on clique sur Connect. Si votre base de mots de passe est bien ouverte dans KeePassXC, une fenêtre devrait s'ouvrir en vous demandant de rentrer un identifiant unique :

Nouvelle connexion depuis KeePassXC-Browser

La connexion est établie ! Il ne reste plus qu'à essayer si cela marche bien. On ouvre donc la page de connexion de l'instance Nextcloud choisie en début de tutoriel (dans notre cas, https://valise.chapril.org).

KeePassXC-Browser va reconnaitre les URL que vous avez mises dans le champ URL de vos entrées. Le logo KeePassXC apparait directement sur la page internet dans le champ d'utilisateur, il suffit de cliquer dessus pour que l'utilisateur et le mot de passe soient entrés automatiquement :

Bouton KeePassXC-Browser pour entrer automatiquement le nom d'utilisateur et le mot de passe sur une page internet


Trucs et astuces

** Je crée toujours mes mots de passe d'abord dans KeePassXC, puis au moment de créer mon compte sur un site internet, je copie le champ utilisateur et le champ mot de passe dans le navigateur (avec ctrl + b et ctrl + c) sans passer par KeePassXC-Browser. Exactement ce qu'on a fait au début du tutoriel pour la création d'un compte Nextcloud donc.

Je crois qu'il est possible de créer une entrée dans la base directement depuis le navigateur, mais je préfère comme je fais pour l'instant ;)

** Si vous avez plusieurs comptes associés à une même URL, KeePassXC-Browser vous demandera lequel choisir :

Plusieurs comptes détectés pour une URL

** Si KeePassXC-Browser n'arrive pas à détecter les champs de login/mot de passe sur un site, vous pouvez cliquer sur l'extension puis Choose custom login fields. Identifiez alors d'abord sur le champ “nom de compte” sur la page de connexion, puis sur le champ “mot de passe” (puis il vous demande une 3ème étape pour un TOTP, Time-based-One-time-Password, vous pouvez faire Skip), puis confirmer.

Bouton Choose custom login fields

Choix de champs username/password dans une page web quand les champs ne sont pas directement détectés


Synchronisation sur mobile

Sur mobile, je vous conseille d'installer les applications libres Nextcloud et KeePassDX, toutes deux disponibles sur F-Droid et Google Play. N'hésitez pas à installer et à prendre dès maintenant l'habitude d'utiliser le catalogue d'applications libres et open-source F-Droid !

Pour vous connecter la toute première fois à votre compte Nextcloud depuis mobile, vous pouvez copier votre mot de passe et vous l'envoyer de manière sécurisée depuis l'ordinateur jusqu'au téléphone avec https://privatebin.net/ (ou toute autre instance de privatebin) en cochant Burn after reading et en mettant un mot de passe (simple celui-là, pour l'écrire facilement depuis mobile !), ou avec Signal par exemple.

À partir de maintenant, pour ouvrir votre base de données, je vous recommande de toujours passer par l'application Nextcloud et de cliquer sur votre fichier base (ce qui ouvrira automatiquement la base dans KeePassDX), plutôt que d'ouvrir KeePassDX et d'aller chercher la base. De cette façon, à chaque fois que vous cliquez dessus dans Nextcloud, il mettra la base à jour en la téléchargeant depuis le serveur.

Si vous faites une modification de la base depuis votre mobile dans KeePassDX (ajout d'une entrée, modification d'un mot de passe, etc.), pensez à : 1. Sauvegarder la base dans KeePassDX : les trois petits points en haut à droite puis Save database ; 2. Envoyer le fichier sur le serveur Nextcloud : aller dans l'application mobile Nextcloud, les trois petits points à droite de votre fichier base, puis Sync pour envoyer cette version modifiée de la base.


Voir aussi