Dans le but d'être résiliant sur la synchronisation des contacts et de ses agenda. Le programme Vdirsyncer fait des miracles!
Ressources:
D'abord, nous installons les dépendances de python 3 :
# apt install python3-pip khal
Via un compte utilisateur, installer vdirsyncer :
$ pip3 install --user vdirsyncer
Admettons que l'on utilise une instance nextcloud sur mon-site.com
Nous allons d'abord commencer par vdirsyncer qui va permettre de récupérer les évènements crées dans l'agenda sous forme de fichier .ics.
mkdir -p ~/.config/vdirsyncer/data mkdir -p ~/.config/vdirsyncer/local nano ~/.config/vdirsyncer/config
[general] status_path = "~/.config/vdirsyncer/data/" [pair khal] a = "personal_local" b = "personal_remote" collections = null conflict_resolution = "b wins" [storage personal_local] type = "filesystem" path = "~/.config/vdirsyncer/local/" fileext = ".ics" [storage personal_remote] type = "caldav" url = "https://mon-site.com/remote.php/dav/calendars/$user/$non-planning/" username = "user" password = "mdp"
Ceci fait et à chaque modification de la configuration, il y aura toujours besoin de lancer le discover puis régulièrement (via une tâche cron par exemple) le sync ainsi :
vdirsyncer discover khal vdirsyncer sync khal
On obtiendra ce type de sortie :
Copying (uploading) item 28967f88-8cf2-4409-844e-03f4c340830a to personal_local Copying (uploading) item 28c66d3c-7a2f-4517-9c4a-0c7e31fd10bf to personal_local Copying (uploading) item 28ea97bc-2f03-43cf-b229-48d49fcac5fb to personal_local
Passons maintenant à la création et à sa configuration de l'environnement :
mkdir -p ~/.config/khal/ vim ~/.config/khal/config
[calendars] [[planning]] path = ~/.config/vdirsyncer/local/ color = dark green [sqlite] path = ~/.config/khal/khal.db [locale] timeformat = %H:%M dateformat = %d-%m-%Y longdateformat = %d-%m-%Y datetimeformat = %d-%m-%Y %H:%M longdatetimeformat = %d-%m-%Y %H:%M [default] default_calendar = "planning" highlight_event_days = True
khal@test:~$ khal list now 7d Tomorrow, 20-07-2022 anniv michelle ⟳ 09:30-10:00 Point tech@ ⟳ dimanche, 24-07-2022 14:00-15:00 Evolix: ikv ⟳ 22:00→ Sysadmin retreat lundi, 25-07-2022 ↔ Sysadmin retreat ↦ Astreinte mardi, 26-07-2022 ↔ Sysadmin retreat ↔ Astreinte