Installation et configuration de vdirsyncer
Synchroniser automatiquement un calendrier iCloud (CalDAV) vers un fichier .ics local, exploitable par le module calendar de MagicMirror.
🧩 Installation
✅ Méthode recommandée (via apt)
sudo apt update
sudo apt install vdirsyncer -y
💡 Cela installe la version stable packagée pour Ubuntu (ex.
0.19.2).
Vérification :
vdirsyncer --version
Résultat attendu :
vdirsyncer, version 0.19.2
⚙️ Emplacement des fichiers
Fichier de configuration :
~/.vdirsyncer/config
Dossier de statut :
Il sera automatiquement créé à l’emplacement :
~/.vdirsyncer/status/
Fichiers .ics exportés :
Répertoire cible à créer pour MagicMirror :
~/MagicMirror/modules/calendars/
🧾 3. Configuration ~/.vdirsyncer/config
Voici une version corrigée et adaptée pour Ubuntu :
# vdirsyncer configuration for MagicMirror
[general]
status_path = "~/.vdirsyncer/status/"
# --- CALDAV Sync 1 ---
[pair iCloud_to_MagicMirror1]
a = Mirror1
b = iCloud1
collections = ["home"]
metadata = ["displayname", "color"]
[storage Mirror1]
type = singlefile
path = /home/thymon/MagicMirror/modules/calendars/%s.ics
[storage iCloud1]
type = caldav
url = https://caldav.icloud.com/
username = sebort@icloud.com
password = abcd-efgh-ijkl-mnop # Mot de passe d'application iCloud
read_only = true
item_types = ["VEVENT"]
# --- CALDAV Sync 2 ---
[pair iCloud_to_MagicMirror2]
a = Mirror2
b = iCloud2
collections = ["145c2a93-c79a-4347-8045-86fca9c3d201"]
metadata = ["displayname", "color"]
[storage Mirror2]
type = singlefile
path = /home/thymon/MagicMirror/modules/calendars/%s.ics
[storage iCloud2]
type = caldav
url = https://caldav.icloud.com/
username = sebou@icloud.com
password = zzzz-yyyy-xxxx-wwww # Mot de passe d'application iCloud
read_only = true
item_types = ["VEVENT"]
🔐 Génération du mot de passe d’application iCloud
-
Se connecter à https://appleid.apple.com
-
Section Sécurité → Mots de passe spécifiques d’application → Générer un mot de passe…
-
Donner un nom (ex. vdirsyncer)
-
Copier le mot de passe généré (ex.
abcd-efgh-ijkl-mnop) -
Le coller dans la configuration (
password = …)
⚠️ iCloud refuse les mots de passe standards pour CalDAV — ce mot de passe spécifique est obligatoire.
🧪 Test de découverte
Découverte des calendriers disponibles :
vdirsyncer discover
Résultat attendu :
Discovering collections for pair iCloud_to_MagicMirror1
Found 1 collection
/home/thymon/MagicMirror/modules/calendars/home.ics
Si tu vois une erreur
401 Unauthorized, vérifie ton mot de passe d’application iCloud.
🔁 Synchronisation manuelle
Pour lancer une synchronisation :
vdirsyncer sync
Le ou les fichiers .ics seront créés dans :
~/MagicMirror/modules/calendars/
⏱️ Synchronisation automatique avec systemd.timer
Créer le dossier systemd utilisateur :
mkdir -p ~/.config/systemd/user
Télécharger les unités :
curl -o ~/.config/systemd/user/vdirsyncer.service https://raw.githubusercontent.com/pimutils/vdirsyncer/master/contrib/vdirsyncer.service
curl -o ~/.config/systemd/user/vdirsyncer.timer https://raw.githubusercontent.com/pimutils/vdirsyncer/master/contrib/vdirsyncer.timer
Modifier la fréquence (facultatif) :
nano ~/.config/systemd/user/vdirsyncer.timer
Par défaut :
[Timer]
OnBootSec=5m
OnUnitActiveSec=15m
➡️ Modifier par exemple pour une synchro toutes les heures :
OnUnitActiveSec=1h
Activer et démarrer :
systemctl --user daemon-reload
systemctl --user enable --now vdirsyncer.timer
Vérifier :
systemctl --user status vdirsyncer.timer
📋 Points importants
| Élément | Ancien tuto Raspberry | Adaptation Ubuntu |
|---|---|---|
| Utilisateur | pi |
thymon |
| Chemins | /home/pi/... |
/home/thymon/... |
| Guillemets dans la config | "Mirror" |
Mirror (sans guillemets) |
Dates Python (datetime.now()) |
Autorisées (ancien vdirsyncer) | ❌ Non supportées |
| systemd unit | /etc/systemd/user |
~/.config/systemd/user |
| Commande | sudo vdirsyncer |
❌ Toujours sans sudo |
| Mot de passe iCloud | Standard | 🔐 Mot de passe d’application |