CalDAV et CardDAV avec Radicale : synchroniser ses calendriers et contacts

CalDAV et CardDAV avec Radicale : synchroniser ses calendriers et contacts
Radicale CalDAV CardDAV permet d’héberger soi-même la synchronisation de calendriers, de tâches et de contacts. Radicale est un serveur libre sous licence GPLv3 qui expose des collections via les protocoles CalDAV et CardDAV, généralement sur le port 5232, afin que des applications compatibles puissent lire et modifier les mêmes données.
Un serveur CalDAV personnel demande peu de composants, mais la sécurité ne doit pas être traitée après coup. Ce guide explique comment préparer Radicale, installer le service, protéger l’accès, connecter des appareils et vérifier les échanges avant d’ouvrir la synchronisation à distance.
En bref
🔒 Radicale ne remplace pas une application de calendrier ou de contacts. Le serveur stocke et synchronise les données ; Thunderbird, iOS, Android ou Evolution restent les interfaces utilisées au quotidien.
📁 Les collections Radicale sont enregistrées sur le système de fichiers. Une sauvegarde cohérente consiste donc à copier ce répertoire après avoir vérifié son emplacement réel dans la configuration.
🌐 Une exposition sur Internet nécessite au minimum une authentification, un accès chiffré en TLS, des mises à jour régulières et une sauvegarde testée.
📱 La compatibilité dépend du client. iOS, par exemple, nécessite une connexion SSL pour synchroniser CalDAV et CardDAV avec Radicale.
Que sont CalDAV, CardDAV et Radicale ?
CalDAV est le protocole utilisé pour synchroniser des calendriers et des tâches ; CardDAV sert au partage de carnets d’adresses. Radicale est un serveur CalDAV et CardDAV qui stocke ces collections dans des dossiers et les rend accessibles en HTTP, avec des options d’authentification et de chiffrement TLS.
À quoi servent les protocoles CalDAV et CardDAV
Un calendrier CalDAV peut contenir des événements, des rappels et, selon le client, des listes de tâches. Un carnet CardDAV contient des fiches de contacts. Chaque appareil connecté consulte la même collection distante puis envoie ses modifications au serveur.
CalDAV et CardDAV règlent un problème de synchronisation, pas un problème d’interface. Radicale n’offre pas une application web complète destinée à organiser visuellement un agenda ou un répertoire : les clients compatibles assurent cette partie.
| Composant | Rôle | Exemple d’usage | Point de vigilance |
|---|---|---|---|
| CalDAV | Synchronisation des calendriers et tâches | Agenda personnel sur ordinateur et téléphone | Vérifier le fuseau horaire dans chaque client |
| CardDAV | Synchronisation des contacts | Répertoire partagé entre mobile et ordinateur | Éviter d’importer plusieurs fois le même fichier |
| Radicale | Serveur de stockage et de synchronisation | Calendrier auto-hébergé sur un serveur privé | Protéger l’accès réseau et sauvegarder les collections |
| Client DAV | Application utilisée par l’utilisateur | Thunderbird, iOS, DAVx⁵ ou Evolution | La prise en charge varie selon l’application |
Pourquoi choisir Radicale
Radicale convient à une synchronisation personnelle, familiale ou de petite équipe lorsque le besoin est clair : partager des calendriers et des contacts sans installer une suite collaborative complète. Le logiciel est écrit en Python, fonctionne notamment sous Linux, BSD, macOS et Windows, et peut aussi être placé derrière un proxy inverse.
Le choix devient moins pertinent lorsqu’il faut une messagerie intégrée, une édition documentaire ou des fonctions de travail collaboratif avancées. Dans ce cas, un cloud privé auto-hébergé avec Nextcloud peut couvrir un périmètre plus large, au prix d’une administration plus lourde.
Un serveur de synchronisation utile est un serveur dont les données restent lisibles, sauvegardables et récupérables sans dépendre d’une interface propriétaire.
Préparer l’installation de Radicale
La préparation doit identifier le système d’exploitation, le mode d’accès et le répertoire de stockage avant l’installation. Radicale peut fonctionner uniquement sur le réseau local ou derrière un nom de domaine avec TLS ; la seconde option demande davantage de configuration, mais évite de faire circuler identifiants et données en clair.
Prérequis à réunir
Un serveur Linux est souvent le choix le plus simple pour exécuter Radicale comme service systemd. L’exemple d’installation par paquet ci-dessous concerne Ubuntu 20.04, documenté dans des guides d’installation ; il ne doit pas être repris sans vérification sur une distribution plus récente ou différente.
- Un appareil ou serveur qui reste accessible pendant les synchronisations.
- Un compte administrateur disposant des droits nécessaires à l’installation et au démarrage d’un service.
- Un emplacement de stockage durable, inclus dans la stratégie de sauvegarde.
- Un certificat TLS valide si les appareils se connectent hors du réseau local.
- Des clients compatibles CalDAV et CardDAV sur les postes et téléphones concernés.
Choisir le niveau d’exposition
Un accès limité au réseau local réduit la surface d’attaque, mais ne permet pas de synchroniser un téléphone hors de chez soi. Un accès distant implique un pare-feu, un proxy inverse ou une terminaison TLS, des identifiants robustes et un suivi des journaux du service.
Le port 5232 ne doit pas être exposé directement sur Internet par défaut. Un proxy inverse correctement configuré peut centraliser le certificat TLS, limiter les accès et éviter de publier le port interne de Radicale.
Comment installer Radicale sur un serveur ?
Pour installer Radicale, commencez par choisir un déploiement par paquet ou par conteneur, puis vérifiez que le service écoute uniquement là où il doit être accessible. Sur Ubuntu 20.04, l’installation par paquet peut utiliser apt-get install radicale ; sur toute autre version, consultez la documentation officielle de Radicale avant d’exécuter une commande.

Étape 1 : installer le paquet adapté au système
Sur une machine Ubuntu 20.04 maintenue, installez le paquet Radicale depuis les dépôts configurés sur le serveur. Les dépendances citées dans les guides dédiés à cette version comprennent notamment Python, passlib et bcrypt pour l’authentification ; les paquets et leurs noms peuvent différer selon la distribution.
- Identifiez la distribution et sa version avec les outils système habituels.
- Consultez les instructions du paquet ou du dépôt correspondant à cette version.
- Installez Radicale, puis relevez l’emplacement du fichier de configuration fourni par le paquet.
- Contrôlez l’état du service avec l’outil systemd de votre distribution.
Le résultat attendu est un service nommé radicale.service actif ou prêt à être activé. Une absence d’erreur à l’installation ne prouve pas encore que le serveur est accessible ni que le stockage est correctement défini.
Étape 2 : vérifier l’écoute locale
Radicale utilise couramment le port 5232. Vérifiez dans le fichier de configuration, souvent situé sous /etc/radicale/config selon les paquets Linux, l’adresse d’écoute et le port réellement configurés.
Une écoute sur 127.0.0.1 réserve Radicale à la machine locale, ce qui est adapté derrière un proxy inverse. Une écoute sur toutes les interfaces réseau peut être nécessaire dans certains déploiements internes, mais elle doit être accompagnée de règles réseau explicites.
Étape 3 : choisir un déploiement conteneurisé avec prudence
Docker peut isoler le processus Radicale et simplifier son déplacement, à condition de monter un volume persistant pour les données et de contrôler les ports publiés. Le conteneur ne remplace ni le chiffrement TLS ni la sauvegarde : un volume supprimé ou non sauvegardé emporte aussi les calendriers et les contacts.
Comment configurer Radicale et protéger les collections ?
La configuration Radicale doit définir le stockage, les utilisateurs autorisés et la chaîne de chiffrement avant d’ajouter des appareils. Le point critique est simple : les données doivent être persistantes, les identifiants ne doivent pas circuler en clair et l’URL fournie aux clients doit rester stable.

Étape 4 : définir le répertoire de stockage
Radicale enregistre les collections sur le système de fichiers dans une structure de dossiers. Sur Arch Linux, la documentation indique notamment /var/lib/radicale/collections comme emplacement par défaut ; cette valeur n’est pas universelle et doit être vérifiée dans la configuration active de votre installation.
Un déplacement vers un autre dossier exige aussi de vérifier les droits du compte exécutant Radicale et, selon le paquet, les restrictions du service systemd. Une collection inaccessible à ce compte peut provoquer des erreurs de lecture, d’écriture ou de création.
Étape 5 : créer des utilisateurs avec htpasswd et bcrypt
Radicale peut s’appuyer sur un fichier htpasswd utilisant bcrypt pour gérer des couples utilisateur-mot de passe. Créez un compte distinct pour chaque personne plutôt qu’un identifiant partagé : cette séparation permet de retirer un accès sans changer les réglages de tous les appareils.
Un mot de passe fort reste insuffisant si le serveur accepte des connexions non chiffrées. Activez l’authentification dans la configuration Radicale, restreignez les permissions selon votre besoin, puis testez un refus d’accès avec un identifiant erroné.
Étape 6 : placer Radicale derrière TLS
Apache HTTP Server peut agir comme proxy inverse ou utiliser une interface WSGI avec Radicale. Le proxy reçoit les requêtes HTTPS, présente le certificat puis transmet les requêtes au service Radicale local ; cette séparation est pratique lorsque le serveur héberge déjà d’autres applications web.
Les appareils Apple nécessitent une connexion SSL pour synchroniser CalDAV et CardDAV avec Radicale. Un certificat auto-signé peut fonctionner dans certains contextes si le terminal lui fait confiance, mais un certificat reconnu évite les erreurs de validation et les procédures manuelles fragiles.
Le chiffrement protège le trajet réseau ; la sauvegarde protège les données après une erreur humaine, une panne ou une suppression accidentelle.
Comment connecter un ordinateur et un téléphone à Radicale ?
Pour connecter un appareil, ajoutez d’abord un compte CalDAV ou CardDAV dans l’application choisie, puis indiquez l’URL HTTPS de Radicale, le nom d’utilisateur et le mot de passe créés pour cet appareil ou cette personne. Commencez par un seul calendrier de test afin de repérer un problème d’URL, de certificat ou de droits avant d’importer toutes les données.

Étape 7 : connecter un ordinateur
Thunderbird, GNOME Evolution, KOrganizer et Calendrier macOS font partie des clients fréquemment utilisés avec CalDAV ou CardDAV. Les intitulés de menus changent selon les versions ; recherchez une entrée de type « nouveau calendrier réseau », « compte CalDAV » ou « carnet d’adresses CardDAV » plutôt qu’un chemin de menu figé.
- Créez un compte CalDAV dans le client pour le calendrier, puis un compte CardDAV pour les contacts si l’application les sépare.
- Saisissez l’URL HTTPS stable du serveur et les identifiants dédiés.
- Acceptez uniquement un certificat dont vous avez vérifié l’origine.
- Créez un événement de test portant un nom reconnaissable.
- Vérifiez que l’événement apparaît dans la collection distante et sur un second client.
Étape 8 : connecter Android et iOS
Sur Android, DAVx⁵ sert couramment de couche de synchronisation CalDAV et CardDAV entre le serveur et les applications de calendrier ou de contacts du téléphone. Sur iOS, ajoutez un compte CalDAV ou CardDAV depuis les réglages de comptes, puis fournissez une adresse HTTPS et des identifiants valides.
Un téléphone peut conserver des données locales antérieures. Avant d’activer une synchronisation complète, vérifiez quelle collection est sélectionnée à l’import et désactivez temporairement les comptes concurrents pour éviter des doublons difficiles à nettoyer.
Étape 9 : ajouter plusieurs appareils sans créer de conflit
Ajoutez les appareils un par un et attendez la fin de la première synchronisation avant de modifier les mêmes événements sur plusieurs terminaux. Les conflits dépendent du comportement du client ; une modification simultanée peut produire une copie, une divergence ou un changement écrasé selon l’application.
Comment tester la synchronisation CalDAV et CardDAV ?
Un test fiable consiste à créer une donnée identifiable sur un premier appareil, attendre sa présence sur le serveur, puis vérifier son apparition sur un second appareil. Testez séparément le calendrier et le carnet d’adresses, car CalDAV et CardDAV peuvent échouer pour des raisons différentes malgré une même URL de base.

Tester un calendrier
Créez un événement avec une heure, un titre et une modification facile à reconnaître, par exemple « Test Radicale — ne pas supprimer ». Ouvrez ensuite le calendrier depuis un autre client et modifiez le titre ; le premier appareil doit récupérer cette modification après sa prochaine synchronisation.
Tester un carnet d’adresses
Créez un contact avec un nom inhabituel et une adresse de test non utilisée dans votre répertoire réel. Vérifiez son apparition sur le second appareil, modifiez un champ secondaire, puis confirmez le retour de cette modification dans le premier client.
- Notez l’URL exacte utilisée par chaque appareil.
- Conservez une capture ou un extrait des journaux en cas d’échec.
- Testez d’abord en réseau local, puis avec l’URL externe si elle existe.
- Supprimez les données de test seulement après validation sur tous les clients.
Erreurs fréquentes avec Radicale CalDAV CardDAV
Les problèmes de synchronisation CalDAV ou CardDAV viennent souvent de la chaîne complète : URL, DNS, certificat, authentification, droits d’accès, client et collection. Lire uniquement le message affiché par l’application ne suffit pas toujours ; les journaux de Radicale et du proxy apportent souvent l’indice utile.
| Erreur fréquente | Pourquoi elle pose problème | Action concrète |
|---|---|---|
| URL de collection incomplète | Le client atteint le serveur mais ne trouve pas le calendrier ou le carnet attendu. | Reprendre l’URL affichée ou documentée par le serveur, sans la deviner. |
| Certificat TLS non reconnu | Le client mobile peut refuser la connexion ou afficher un avertissement persistant. | Vérifier le nom de domaine du certificat et sa chaîne de confiance. |
| Port 5232 exposé publiquement | Le service est accessible sans bénéficier du filtrage et du TLS du proxy. | Restreindre l’écoute à localhost et publier uniquement le proxy HTTPS. |
| Import répété de contacts | Les fiches sont dupliquées dans plusieurs collections ou comptes. | Importer une seule fois, puis laisser CardDAV propager les données. |
| Dossier déplacé sans droits adaptés | Radicale ne peut plus lire ou écrire les collections. | Vérifier propriétaire, permissions et restrictions systemd. |
La synchronisation fonctionne en local mais pas à distance
Un fonctionnement local prouve que Radicale répond, mais pas que le nom de domaine, le pare-feu et le proxy inverse sont corrects. Vérifiez d’abord la résolution DNS, puis le certificat présenté depuis un réseau externe, avant d’accuser l’application mobile.
Les événements ou contacts apparaissent en double
Les doublons suivent souvent une importation répétée ou l’activation parallèle de deux comptes synchronisant les mêmes données. Désactivez les comptes concernés, identifiez la collection de référence et dédupliquez avec prudence après une sauvegarde ; supprimer au hasard peut effacer la seule copie correcte.
Radicale, Nextcloud ou Baïkal : quelle solution choisir ?
Radicale, Nextcloud et Baïkal répondent au besoin de synchroniser calendrier et contacts, mais n’imposent pas la même charge d’administration. Radicale privilégie un serveur DAV compact ; Nextcloud ajoute des services collaboratifs ; Baïkal vise aussi un usage DAV dédié. Le bon choix dépend du périmètre recherché, pas du nombre de fonctionnalités affichées.
| Solution | Adaptée à | Atout principal | Limite à anticiper |
|---|---|---|---|
| Radicale | Calendriers, tâches et contacts auto-hébergés | Stockage simple sur le système de fichiers | Pas d’interface web complète de gestion quotidienne |
| Nextcloud | Cloud privé avec fichiers et outils additionnels | Écosystème applicatif plus large | Déploiement et maintenance plus étendus |
| Baïkal | Service DAV spécialisé | Approche centrée sur CalDAV et CardDAV | Vérifier l’adéquation avec l’environnement d’hébergement choisi |
Sauvegarder et maintenir Radicale dans le temps
La sauvegarde Radicale doit viser le répertoire de collections réellement utilisé, ainsi que le fichier de configuration, les fichiers d’authentification et la configuration du proxy. Une copie non testée n’est pas encore une sauvegarde : la restauration doit être vérifiée sur un emplacement isolé ou avec une collection de test.
Une méthode de sauvegarde pragmatique
Planifiez une copie régulière du répertoire de données vers un stockage distinct du serveur. Conservez plusieurs versions lorsque l’espace le permet, car une synchronisation erronée peut propager une suppression avant que vous ne la remarquiez.
- Identifier le dossier de collections indiqué par la configuration active.
- Exporter ou copier les fichiers de configuration et le fichier htpasswd.
- Conserver une copie hors de la machine qui héberge Radicale.
- Tester périodiquement la restauration d’une collection de test.
- Mettre à jour Radicale, le système, le proxy et les certificats selon leurs cycles respectifs.
Les limites à accepter
Radicale répond bien à un besoin de synchronisation maîtrisée, mais ne transforme pas un petit serveur personnel en plateforme de collaboration d’entreprise. Évaluez la charge, la disponibilité attendue, la surveillance et les responsabilités de support avant de confier à une seule instance les agendas critiques d’une organisation.
Pour un usage personnel ou un petit groupe, la simplicité de Radicale est un avantage seulement si la maintenance reste réellement assumée. Si personne ne surveille les sauvegardes, les certificats et les mises à jour, la réduction de dépendance peut devenir une nouvelle source de risque.
Sources utiles à consulter
La documentation officielle de Radicale décrit les possibilités de configuration, les options de stockage et les modes d’authentification. Consultez-la avant de reprendre une configuration issue d’un autre système ou d’une version ancienne.
Le dépôt GitHub de Radicale permet de suivre le projet, ses publications et ses ressources techniques. Pour un environnement Arch Linux, la page ArchWiki consacrée à Radicale détaille aussi des points de service, de stockage et de compatibilité.
À retenir
- 🎯 Radicale synchronise calendriers, tâches et contacts via CalDAV et CardDAV.
- 🔒 Un accès distant exige TLS, authentification, filtrage réseau et mises à jour.
- 📁 Les collections stockées sur disque doivent être incluses dans les sauvegardes.
- 📱 Testez chaque client séparément avant d’importer tous vos calendriers et contacts.
- ⚙️ Radicale convient surtout à un périmètre DAV simple et maîtrisé.
Questions fréquentes sur Radicale
Radicale est-il gratuit ?
Radicale est un logiciel libre distribué sous licence GPLv3. Le logiciel ne demande pas de licence commerciale, mais l’hébergement, le nom de domaine éventuel, les sauvegardes et le temps d’administration restent à prévoir.
Peut-on utiliser Radicale avec un téléphone Android ou iPhone ?
Oui, à condition d’utiliser un client compatible avec CalDAV et CardDAV. DAVx⁵ est couramment utilisé sur Android ; iOS propose des réglages de compte CalDAV et CardDAV, avec une connexion SSL nécessaire pour cette synchronisation.
Radicale possède-t-il une interface web de calendrier ?
Radicale n’est pas conçu comme une interface web complète pour gérer les agendas et les contacts. Le serveur fournit les protocoles de synchronisation ; les applications de calendrier et de contacts servent à créer, modifier et consulter les données.
Quel port utilise Radicale par défaut ?
Radicale est généralement accessible sur le port 5232. Ce port est configurable dans le fichier de configuration, mais une installation exposée sur Internet gagne à passer par un proxy HTTPS plutôt qu’à publier directement le service.
Comment récupérer les données après une panne ?
La récupération repose sur une sauvegarde du répertoire de collections et des fichiers de configuration associés. Restaurez d’abord une copie dans un environnement de test, vérifiez les calendriers et contacts, puis remettez le service en production après validation.