• Accueil
  • Mes publications
    • Interview de Yannick Le Briquer, DG d'Anakeen
  • Success Story
    • Virtualbox 4.1 + Bodhilinux 1.2.0 + kernel 3.0, le trio gagnant
    • Passer de Debian Lenny-Postgresql 8.3 à Debian Squeeze-Postgresql 8.4 sans douleurs
    • Sauvegarde des bases Mysql/MariaDB avec Xtrabackup
  • A propos...
  • Me contacter...

A la une !

image image image image image
Jxplorer, un client pour gérer simplement ton annuaire LDAP Lire la suite
Bleachbit, le nettoyeur ultime ou comment faire le ménage proprement ! Lire la suite
Plume, une mine d’or qui regorge de pépites open source ! Lire la suite
Programmer ses twitts et les publier sur Google+, rien de plus simple… Lire la suite
Server Fault, pose ta question à des experts (sysadmin, …) et on te répondra… gratuitement Lire la suite
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:44 0 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.

Bon développement !



Vous pourriez être intéressé par....

  • Micro framework Php, ils ont tout d'un grand !
  • Monter un NAS/SAN en haute disponibilité en utilisant OpenFiler, Heartbeat et DRDB
  • Shellinabox, embarque un client SSH sur ton site web...
  • pchart 2.0, toi aussi génère de beaux graphiques en php !
  • Six Python Web frameworks compared, toi aussi fait ton choix !
  • Google APIs, toi aussi utilise le framework Google !
  • Bettercodes, développe, partage et fait grandir ta notoriété !
  • Pimcore, un puissant framework orienté CMS pour entreprise
Tags :  apache, caldav, cardav, edit, framework, google code, php, sabredav, server, webdav, wiki
Ce sujet a été posté le 16 novembre 2011 à 16:44 et est classé dans Développement, Php, Rokstories. Vous pouvez suivre les réponses à ce sujet via RSS 2.0 fil. Vous pouvez laisser une réponse, ou trackback depuis votre propre site.

Laisser un commentaire

Cliquez ici pour annuler la réponse.


Image CAPTCHA
Rafraîchir l'image
*

Recherche

Taille de la police
Promouvoir et soutenir le <a href=
Suivre le blog au fil des jours

Blogroll

  • Blog d'iMil
  • Blog de Bapt
  • Blog de Nicolargo
  • EzUnix
  • FJob
  • Le blog de Maester
  • NetBSDfr

Archives

Catégories

Retrouvez aussi sur PriceMinister  : Livres En Langue Étrangère, Livres D'Informatique, Locations De Voiture
Découvrez la boutique de zatmania.

Sponsors

Haut de page

Mots-clefs

administration backup bash blog cms code css debian design développement firefox framework free games git github GNU/Linux google google code graphisme html javascript jeux linux monitoring mysql opensource pdf php réseau security server shell ssh sysadmin sécurité thèmes tutorial tutoriel twitter ubuntu unix web webdev wordpress

Mes twitts…

Derniers articles

  • Jxplorer, un client pour gérer simplement ton annuaire LDAP
  • BigBlueButton, la solution de web conférence ultime ?
  • Bleachbit, le nettoyeur ultime ou comment faire le ménage proprement !
  • Plume, une mine d’or qui regorge de pépites open source !
  • JqueryThis, tout chercher à propos de Jquery (tutorials, plugins & Co)

Derniers commentaires

  • le blog d'olybop propose de bons thèmes bravo...
    By Wiloooo
  • [...] 30 avril 2012 13:53 0...
    By JqueryThis, tout chercher à propos de Jquery (tutorials, plugins & Co) | Zat's Hall
  • Stikked improved version: https://github.com/claudehohl/Stikked...
    By Claude
  • [...] J’ai...
    By 21 outils afin d’optimiser le temps de chargement de vos pages ! A utiliser sans modération | Zat's Hall

Licence

Contrat Creative Commons
Ce(tte) oeuvre est mise à disposition selon les termes de la Licence Creative Commons Paternité 3.0 non transcrit.