Utiliser un service webdav avec curl
Il est tout à fait possible (et c'est même facile) d'utiliser curl pour communiquer avec un service webdav. Attention toute fois, tous les évènements sont contenus dans des fichiers séparés qui doivent contenir les lignes BEGIN:VCALENDAR et END:VCALENDAR en plus des lignes décrivant l'évènement en lui-même.
Pour recevoir la liste au format xml des évènements, il suffit de faire :
curl -k --user "${login}:${password}" -X PROPFIND "https://owncloud.jujens.eu/remote.php/caldav/calendars/jujens/defaultcalendar"
Pour poster un nouvel évènement ou mettre à jour un évènement existant, il suffit de faire une requête put à l'URL du service complétée par un nom de fichier. Si le fichier existe, on met à jour l'évènement correspondant. Sinon, on en crée un nouveau.
curl -k --user "${login}:${password}" -X PUT -H "Content-Type: text/calendar; charset=utf-8" -d "$a" "https://owncloud.jujens.eu/remote.php/caldav/calendars/jujens/omis/<mon-fichier.ics>"
Idem pour la suppression :
curl -k --user "${login}:${password}" -X DELETE -H "Content-Type: text/calendar; charset=utf-8" "https://owncloud.jujens.eu/remote.php/caldav/calendars/jujens/omis/<mon-fichier.ics>"