Installation et configuration de vdirsyncer
đ§° Objectif
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