L'objectif principal de ce billet est d'utiliser le protocole WebDAV pour rendre possible la lecture et l'écriture de fichiers de type bureautique ou autre, à travers le web, sans avoir à télécharger le fichier sur son disque dur.
Exemple : cela permet en cliquant simplement sur un fichier au format OpenDocument dans ma page web (ex: monfichier.odt), de directement lancer OOo (ou ms-Word2010), de modifier le fichier à la volée, puis de sauvegarder ce fichier en cliquant simplement sur le bouton "enregistrer". Vous trouverez ci-dessous les manipulations à effectuer afin d'ouvrir en mode lecture-écriture un fichier ODT sur un serveur distant.
En supposant que le module APACHE2 est installé sur un serveur linux/debian, les pages web sont stockées dans le répertoire /var/www/monappli/ et accessibles sur ce serveur via une url du type http://monserveur/monappli/
1) Activer le module Webdav
en utilisant les commandes issues du package apache2 :
# a2enmod dav
# a2enmod dav_fs
2) Enrichir la Balise Directory de l'application:
Dans la configuration appache dédiée à l'application web:
<Directory /var/www/monappli/*>
DAV On
Options FollowSymlinks Indexes
order allow,deny
allow from all
</Directory>
3) Déposer le fichier ODT dans le répertoire de mon site web:
Écrire un fichier monfichier.odt
dans le répertoire /var/www/monappli/
Pour lancer OpenOffice.org (ou LibreOffice), le protocole utilisé est le suivant : vnd.sun.star.webdav://
(*)
Pour lancer msword2010, le protocole utilisé est le suivant : http://
Exemple d'adresse web :
vnd.sun.star.webdav://monserveur.local/monappli/monfichier.odt
ou
http://monserveur.local/monappli/monfichier.odt
Concrètement, sur un exemple d'application comme WebDelib, on a une ligne à modifier dans le fichier de configuration app/config/webdelib.inc
:
Pour OpenOffice.org/LibreOffice :
Configure::write ('PROTOCOLE_DL', 'vnd.sun.star.webdav');
Pour ms-Word2010 :
Configure::write ('PROTOCOLE_DL', 'http');
odt
à partir de n'importe quel navigateur, il faudra inscrire le fichier de base de registre ci-dessous ("Clic Droit" > "Enregistrer le lien sous..." ) suivant dans votre système d'exploitation :
Attention : de bien saisir le chemin vers votre OpenOffice (installé sur le poste client).
odt
avec ms-Word(2010, 2013), à partir de Internet Explorer 7, 8 ou 9, sous MS-Windows Vista ou Seven, il faudra inscrire le fichier de base de registre ci-dessous ("Clic Droit" > "Enregistrer le lien sous..." ) suivant dans votre système d'exploitation :
Attention : Ce protocole n'est valable que sous MS-Windows Vista ou Seven.
Attention : Seul les navigateurs Internet Explorer version 7, 8 ou 9 supportent ce protocole.
Attention: ces 2 configurations de registres (OpenOffice.org vs. MS-word) sont incompatibles ! Autrement dit, tous les utilisateurs d'un même Web-Delib devront tous être équipés de OpenOffice/LibreOffice ou (exclusif!) MS-word.
Avec firefox il vous suffira d'associer une action au protocole vnd.sun.star.webdav
.
vnd.sun.star.webdav
et associez lui l'action d'ouvrir OpenOffice (/usr/bin/soffice
)
Une fois votre navigateur correctement configuré, vous pouvez tester à l'aide de l'exemple fourni pour OpenOffice.org/Libreoffice: monfichier.odt. Vous modifiez le fichier, le sauvegardez, sortez de OpenOffice.org, recliquez sur le fichier pour l'ouvrir à nouveau et vérifier que vos modifications ont bien été enregistrées.
Note: comme pour toutes les démonstrations ADULLACT, le contenu de ce fichier est réinitialisé chaque nuit !
---
(*) le protocole utilisé dans notre démonstration (vnd.sun.star.webdav
) est inspiré du protocole utilisé dans Alfresco pour réaliser cela. Il est possible de remplacer ce texte par n'importe quel texte dédié à votre application web. Exemple: pour WebDelib, nous utilisons le protocole webdelib.webdav
en lieu et place du vnd.sun.star.webdav
décrit ici. Pour cela, il suffit de remplacer la chaîne de caractère vnd.sun.star.webdav
par webdelib.webdav
, partout dans cet article !