WebDav et CalDav

Contents

    WebDAV

    Spec

    vdirsyncer

    Davix

    Simple et efficace… mais il semble y avoir un souci avec les dernières versions.

    davix-get --userlogin xxxx --userpass xxxxx davs://user:pass@server.com/calendars/user/ /local/directory

    Sitecopy

    Un peu plus puissant/complexe, sitecopy propose une synchro locale distante.

    Initialisation

    mkdir -m 700 ~/.sitecopy
    touch ~/.sitecopyrc
    chmod 600 ~/.sitecopyrc
    

    Exemple de .sitecopyrc

    site nomdusite
      server server.com
      protocol webdav
      http secure
      local /home/me/tmp/
      remote /remote.php/webdav/
      username toto
      password mysecret
    

    → La page de man est très bien faite.

    Initialiser le local avec le sontenu distant

    sitecopy --fetch nomdusite
    sitecopy --synch nomdusite
    

    Debug
    ajouter --debug=files,rcfile,http,httpbody,ftp,xml,xmlparse,httpauth (et éventuellement cleartext pour afficher les mots de passe en clair).

    CalDAV avec curl

    Spec

    Note : le getetag, présent sur chaque fichier ics sert à savoir si un fichier a été modifié. Chez infomaniak, c'est juste le md5sum du fichier ics (mais l'algo de hashage n'est pas dans la spec).

    Connaitre ce que le serveur supporte

    curl -i -s -u "${login}:${password}" -X OPTIONS https://server.com/calendars/user/

    Lister les calendriers

    Liste basique
    curl -s -u "${login}:${password}" -X PROPFIND https://server.com/calendars/user/

    Liste avec les display name
    curl -s -u "${login}:${password}" -X PROPFIND https://server.com/calendars/user/ -d '<d:propfind xmlns:d="DAV:"><d:prop><d:displayname /></d:prop></d:propfind>'

    Lister les events

    curl -s -u "${login}:${password}" -X PROPFIND -H "Depth: 1" https://server.com/calendars/user/36b01ba5-81b4-4cd9-967d-5992fa5d059b

    Télécharger un event

    curl -s -u "${login}:${password}" -o event.ics https://server.com/calendars/user/36b01ba5-81b4-4cd9-967d-5992fa5d059b/ff79a1b9-5fe3-4432-88a2-03aa6e2cdfb6.ics

    Mettre à jour un événement

    curl -s -u "${login}:${password}" -T event.ics https://server.com/calendars/user/36b01ba5-81b4-4cd9-967d-5992fa5d059b/ff79a1b9-5fe3-4432-88a2-03aa6e2cdfb6.ics

    CLI Application

    Ces programmes utilisent un dossier local qui contient le WebDAV. Généralement, on utilise pour cela vdirsyncer.

    Java library

    Proudly Powered by Zim 0.75.2.

    Template by Etienne Gandrille, based on ZeroFiveEight and using JQuery Toc Plugin.