SabreDAV, ou comment disposer de Webdav simplement avec Php et rien d’autre !
SabreDAV, ou comment disposer de Webdav simplement avec Php et rien d’autre !
16 novembre 2011 16:440 commentaires
Le nom de ce framework me fait penser un peu à Star Wars même s’il n’y a aucun rapport à part le nom SabreDAV est donc un framework Php qui vous permet de disposer du protocole Webdav uniquement avec ce langage et non pas via un module Apache ou autre. Cela simplifie grandement l’installation.
Mais à quoi sert ce protocole ? Il permet tout simplement d’éditer des fichiers directement sur un serveur distant comme si vous éditiez le fichier en local. Je m’en sers notamment ici au niveau du logiciel de Gestion électronique de document que j’ai déployé afin d’éviter aux utilisateurs de devoir télécharger le fichier pour l’éditer, de l’enregistrer et de l’uploader à nouveau sur le serveur, j’ai été un peu rapide mais cet exemple concret vous parlera je pense.
Je disais donc, il suffit de ce framework et d’un fichier de ce type pour que votre protocole soit activé :
<?php
// Files we need
require_once'Sabre/autoload.php';
// Now we're creating a whole bunch of objects
// Change public to something else, if you are using a different directory for your files $rootDirectory=new Sabre_DAV_FS_Directory('public');
// The server object is responsible for making sense out of the WebDAV protocol $server=new Sabre_DAV_Server($rootDirectory);
// If your server is not on your webroot, make sure the following line has the correct information
// $server->setBaseUri('/~evert/mydavfolder'); // if its in some kind of home directory // $server->setBaseUri('/dav/index.php/'); // if you can't use mod_rewrite, use index.php as a base uri // $server->setBaseUri('/'); // ideally, SabreDAV lives on a root directory with mod_rewrite sending every request to index.php
// The lock manager is reponsible for making sure users don't overwrite each others changes. Change 'data' to a different // directory, if you're storing your data somewhere else. $lockBackend=new Sabre_DAV_Locks_Backend_File('data/locks'); $lockPlugin=new Sabre_DAV_Locks_Plugin($lockBackend);
$server->addPlugin($lockPlugin);
// All we need to do now, is to fire up the server $server->exec(); ?>
Et voilà ! N’est ce pas simplissime ? Cerise sur le gateau, ce framework permet aussi de faire du Caldav, Cardav, des exports Icalendar…
Le produit ne cesse d’évoluer et on peut soi-même l’étendre via des plugins. La documentation est riche et explique les aspects cités ci-dessus via de nombreux exemples didactiques. Une démo est disponible iciet il vous faudra utiliser le login/mot de passe testuser/test.
J’espère que ce billet vous permettra et vous donnera l’envie d’utiliser le protocole Webdav.
By Wiloooo
By JqueryThis, tout chercher à propos de Jquery (tutorials, plugins & Co) | Zat's Hall
By Claude
By 21 outils afin d’optimiser le temps de chargement de vos pages ! A utiliser sans modération | Zat's Hall