Module 5 · 5.1
Français
CalDAV et CardDAV : comment synchroniser l'agenda et les contacts
Module 5: Agenda et contacts · Temps de lecture : 10 minutes
Objectif pédagogique : après cette leçon, vous saurez expliquer comment CalDAV et CardDAV maintiennent votre agenda et vos contacts synchronisés entre le serveur et vos appareils, pourquoi vous ne le remarquez qu'au moment de configurer une application, et quelles informations vous devez réunir pour connecter une application.
Notions clés : CalDAV, CardDAV, WebDAV, synchronisation, adresse du serveur, .well-known/caldav, .well-known/carddav, principal, mot de passe d'application, Exchange ActiveSync, agenda par défaut
L'agenda et les contacts résident sur un serveur
Avec Google et Microsoft, vous ne remarquez pas comment votre agenda arrive sur votre téléphone. Vous vous connectez avec votre compte, et l'agenda et les contacts sont là. En coulisses, ils utilisent souvent leur propre méthode de synchronisation : Microsoft utilise Exchange ActiveSync et ses propres connexions, Google sa propre synchronisation de compte sur Android.
Chez un prestataire européen, cela passe presque toujours par deux standards ouverts :
- CalDAV (RFC 4791) pour les agendas et les listes de tâches ;
- CardDAV (RFC 6352) pour les contacts.
Les deux s'appuient sur WebDAV, une extension du trafic web classique (HTTPS) qui permet de lire et d'écrire des fichiers sur un serveur. Pour CalDAV, un rendez-vous est un petit fichier au format iCalendar (leçon 5.2), un contact un petit fichier au format vCard. Le serveur conserve ces fichiers dans un dossier par agenda ou carnet d'adresses. Votre téléphone, votre ordinateur portable et l'agenda web demandent toutes les quelques minutes : « qu'est-ce qui a changé depuis la dernière fois ? » et ne récupèrent que les modifications.
iPhone <--CalDAV/HTTPS--> server: /calendars/anne/werk/ <--CalDAV--> laptop (Thunderbird)
^
|
webagenda in de browserLe grand avantage d'un standard ouvert : vous n'êtes pas lié à une seule application. L'application Agenda de votre iPhone, DAVx5 sur Android, Thunderbird, Agenda sur Mac et bien d'autres applications parlent CalDAV. Si vous changez plus tard à nouveau de prestataire et que celui-ci propose aussi CalDAV, vous reconfigurez simplement les mêmes applications.
Pourquoi vous ne le voyez qu'au moment de configurer une application
Une fois votre agenda transféré (leçons 5.2 et 5.3), tout apparaît correctement dans l'agenda web de votre nouveau service. Votre téléphone, lui, n'en sait encore rien. Aucune application n'apparaît automatiquement : vous devez ajouter un compte sur chaque appareil. Pour cela, il vous faut trois éléments :
| Information | Exemple pour la Boulangerie De Korrel |
|---|---|
| L'adresse du serveur | https://cloud.example.com ou l'adresse DAV complète, comme https://cloud.example.com/remote.php/dav |
| Le nom d'utilisateur | anne |
| Un mot de passe | un mot de passe d'application, voir ci-dessous |
L'adresse du serveur et .well-known
Chaque service a son propre chemin où résident CalDAV et CardDAV. Chez Nextcloud, c'est /remote.php/dav, chez d'autres serveurs c'est différent. Pour éviter que chacun doive connaître ce chemin, il existe une convention (RFC 6764) : une application qui ne reçoit que le nom de domaine regarde d'abord à un emplacement fixe :
https://cloud.example.com/.well-known/caldav
https://cloud.example.com/.well-known/carddavLe serveur y répond par une redirection vers le véritable chemin. Si cette redirection fonctionne correctement, il vous suffit de renseigner cloud.example.com dans votre iPhone. Si elle ne fonctionne pas, l'application indique « impossible de vérifier le compte » et vous devez saisir l'adresse complète. La même RFC décrit aussi les enregistrements SRV (_caldavs._tcp.example.com) permettant à une application de trouver le serveur à partir de votre domaine de messagerie. Toutes les applications ne les utilisent pas.
Ensuite, l'application interroge le serveur pour connaître votre principal : l'emplacement fixe de votre compte sur le serveur, avec la liste de vos agendas et carnets d'adresses. L'application trouve ainsi automatiquement tous les agendas, y compris ceux qui sont partagés avec vous.
Pourquoi vous avez besoin d'un mot de passe d'application
La plupart des services cloud européens demandent, lors de la connexion dans le navigateur, une seconde étape : un code par e-mail, une application d'authentification ou une clé d'accès (passkey). Une application d'agenda sur votre téléphone ne peut pas réaliser cette seconde étape. Elle ne dispose que d'un champ pour le nom d'utilisateur et le mot de passe.
C'est pourquoi vous créez pour une telle application un mot de passe d'application : un mot de passe long et aléatoire valable uniquement pour cette application précise. Vous le créez dans les paramètres de sécurité de votre cloud, lui donnez un nom reconnaissable (« Agenda iPhone Anne ») et le saisissez dans l'application.
Avantages :
- Votre véritable mot de passe ne se trouve pas sur votre téléphone.
- Si vous perdez votre téléphone, vous révoquez uniquement ce mot de passe d'application ; le reste continue de fonctionner.
- Si vous changez votre mot de passe habituel, vos applications continuent de fonctionner.
Certaines applications peuvent aussi se connecter via le navigateur : elles ouvrent l'écran de connexion de votre cloud, vous y effectuez la seconde étape, et l'application reçoit elle-même un mot de passe d'application. DAVx5 sur Android peut le faire avec Nextcloud, par exemple.
Le message d'erreur le plus connu dans les applications d'agenda est 401 Unauthorized. Cela signifie presque toujours : vous avez utilisé votre mot de passe habituel au lieu d'un mot de passe d'application, ou le mot de passe d'application a été révoqué.
Les agendas Exchange et ce que vous perdez
Qui vient de Microsoft 365 est habitué à certaines fonctionnalités qui se comportent différemment, voire pas du tout, avec CalDAV :
- Voir la disponibilité des collègues (libre/occupé) lors de la planification. Nextcloud et d'autres serveurs CalDAV ont leur propre forme (disponibilité au sein du même serveur), mais cela ne fonctionne pas entre différents services et pas toujours dans chaque application.
- Réserver des salles et du matériel (salle de réunion, vidéoprojecteur). Certains serveurs ont des agendas de ressources, d'autres non.
- Accès délégué (« la secrétaire gère l'agenda du directeur »). Avec CalDAV, cela se règle en partageant avec des droits de modification.
Notez-le sur votre liste (module 3). C'est rarement une raison de ne pas changer, mais vos collègues doivent en être informés au préalable.
En pratique : à quoi cela ressemble-t-il chez un prestataire
Dans un Nextcloud WebOké, vous trouvez les adresses dans l'application Agenda, en bas à gauche dans Paramètres de l'Agenda : l'Adresse CalDAV et l'Adresse du serveur pour iOS et macOS, chacune avec un bouton de copie. L'adresse générale est https://<votre-adresse>/remote.php/dav. Vous créez un mot de passe d'application dans Paramètres, Sécurité, Périphériques et sessions. Vous y voyez aussi ensuite quel appareil a eu un contact pour la dernière fois et quand, et vous pouvez y révoquer un mot de passe d'application. Les autres prestataires Nextcloud fonctionnent exactement de la même façon ; chez d'autres services européens (par exemple mailbox.org, Posteo ou un environnement Open-Xchange), l'adresse CalDAV se trouve dans les pages d'aide ou les paramètres, et les mots de passe d'application sont parfois appelés « mot de passe d'appareil » ou « mot de passe d'application ».
Résumé
- CalDAV (agenda, tâches) et CardDAV (contacts) sont des standards ouverts construits sur WebDAV et HTTPS ; chaque modification est un petit fichier sur le serveur.
- Vous devez ajouter vous-même un compte sur chaque appareil : adresse du serveur, nom d'utilisateur et mot de passe d'application.
- Via
.well-known/caldavet.well-known/carddav, une application trouve le véritable chemin à partir du seul nom de domaine ; si cela ne fonctionne pas, saisissez l'adresse DAV complète. - Un mot de passe d'application est nécessaire car les applications d'agenda ne peuvent pas effectuer de seconde étape de connexion ; un message 401 signifie presque toujours un mot de passe incorrect.
- Des fonctionnalités Exchange comme le libre/occupé entre collègues, la réservation de salles et la délégation fonctionnent différemment ; notez-les sur votre liste.
Quiz
Exercice
Exercice A5.1 : Une application trouve-t-elle votre agenda ? Renseignez l'adresse de votre cloud (nouveau), par exemple cloud.example.com. Le programme vérifie si /.well-known/caldav et /.well-known/carddav redirigent correctement vers un chemin DAV, et si le serveur y répond bien en tant que serveur DAV. Vous saurez ainsi si vous pouvez vous contenter de saisir le nom de domaine sur un téléphone.
Pour aller plus loin
Les étapes décrites dans ces articles s'appliquent aux services de WebOké ; chez d'autres prestataires, le fonctionnement est comparable.
- Guide Nextcloud 3.5: Mots de passe d'application : quand et comment
- Guide Nextcloud 9.9: Agenda et contacts sur l'iPhone et l'iPad
- Guide Nextcloud 9.10: Agenda et contacts sur Android avec DAVx5
- Guide Nextcloud 15.6: L'agenda ou les contacts n'apparaissent pas sur le téléphone
- Créer un mot de passe d'application (nécessaire pour se connecter à des applications et appareils)
- RFC 4791 (CalDAV), RFC 6352 (CardDAV), RFC 4918 (WebDAV), RFC 6764 (.well-known et SRV pour CalDAV et CardDAV)
