{"id":8016,"date":"2015-11-02T17:04:36","date_gmt":"2015-11-02T15:04:36","guid":{"rendered":"https:\/\/tangi-bertin.net\/blog\/?p=8016"},"modified":"2015-11-02T17:04:37","modified_gmt":"2015-11-02T15:04:37","slug":"webdav-sur-serveur-mutualise-grace-a-sabredav","status":"publish","type":"post","link":"https:\/\/tangi-bertin.net\/blog\/webdav-sur-serveur-mutualise-grace-a-sabredav-8016\/","title":{"rendered":"WebDav sur un serveur mutualis\u00e9 gr\u00e2ce \u00e0 SabreDav"},"content":{"rendered":"<p>Internet est un r\u00e9seau de t\u00e9l\u00e9communication par lequel lequel transitent des informations structur\u00e9es autour de protocoles tels que http, pop, smtp, ftp, \u2026 Il y en pour tous les go\u00fbts.<\/p>\n<p>R\u00e9cemment, je me suis int\u00e9ress\u00e9 \u00e0 WebDAV pour un projet. <strong>\u00c9tonnement : cette technologie est moins r\u00e9pandue que dans mes souvenirs<\/strong>.<\/p>\n<h2>WebDav<\/h2>\n<p>WebDAV, Web-based Distributed Authoring and Versioning, est un protocole d\u00e9j\u00e0 ancien (1996) et curieusement peu connu. Il permet pourtant une chose essentielle : \u00e9crire sur le Web, au lieu de seulement surfer (c&rsquo;est-\u00e0-dire seulement lire).<\/p>\n<p>WebDAV est une extension du HTTP. Au-del\u00e0 des <a href=\"http:\/\/www.xul.fr\/ecmascript\/get-post.php\">GET et POST<\/a> qui sont au centre de la navigation web, WebDAV rajoute les verbes PUT, DELETE, COPY, PROPFIND, \u2026 Il permet de simplifier la gestion de fichiers avec des serveurs distants. WebDAV offre la possibilit\u00e9 de r\u00e9cup\u00e9rer, d\u00e9poser, synchroniser et publier des fichiers (et dossiers) rapidement et facilement. Son objectif principal est de rendre possible l&rsquo;\u00e9criture \u00e0 travers le web, et pas seulement la lecture de donn\u00e9es.<\/p>\n<p>Il donne ainsi la possibilit\u00e9 \u00e0 plusieurs utilisateurs d&rsquo;\u00e9diter le contenu d&rsquo;un dossier web simultan\u00e9ment et de g\u00e9rer les droits d&rsquo;acc\u00e8s aux fichiers (ou dossiers), en verrouillant momentan\u00e9ment les fichiers et dossiers \u00e9dit\u00e9s<sup class='footnote'><a href='#fn-8016-1' id='fnref-8016-1' onclick='return fdfootnote_show(8016)'>1<\/a><\/sup>.<\/p>\n<p>Dans mes souvenirs, j\u2019avais utilis\u00e9 dans la premi\u00e8re d\u00e9cennie des ann\u00e9es 2000 cette technologie sur un serveur mutualis\u00e9 OVH. <strong>Manque de chance, l\u2019h\u00e9bergeur ne supporte plus cette fonctionnalit\u00e9 sur les mutus<\/strong><sup class='footnote'><a href='#fn-8016-2' id='fnref-8016-2' onclick='return fdfootnote_show(8016)'>2<\/a><\/sup> \u2026 A l\u2019heure o\u00f9 fleurissent les solutions de cloud personnel \u00e0 l\u2019image de Cozy et d\u2019OwnCloud, c\u2019est bien dommage que WebDav n\u2019ait pas fait son retour sur l\u2019infrastructure mutualis\u00e9e d\u2019OVH.<\/p>\n<p><a href=\"https:\/\/tangi-bertin.net\/blog\/webdav-sur-serveur-mutualise-grace-a-sabredav-8016\/tumblr_lmrkl2fdyp1qax4rd\/\" rel=\"attachment wp-att-8023\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-8023\" src=\"https:\/\/tangi-bertin.net\/blog\/wp-content\/uploads\/2015\/11\/tumblr_lmrkl2fdyp1qax4rd.png\" alt=\"tumblr_lmrkl2fdyp1qax4rd\" width=\"366\" height=\"136\" \/><\/a>Du c\u00f4t\u00e9 des mutualis\u00e9s chez 1and1, c\u2019est ambiance surprise. La fonctionnalit\u00e9 est indiqu\u00e9e comme support\u00e9e, mais ne finit par afficher que des erreurs 500. D\u2019apr\u00e8s le SAV, \u00e7a ne marche tout simplement pas\u00a0!<\/p>\n<h2>SabreDav<\/h2>\n<p><a href=\"https:\/\/tangi-bertin.net\/blog\/webdav-sur-serveur-mutualise-grace-a-sabredav-8016\/sabredav\/\" rel=\"attachment wp-att-8021\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-8021\" src=\"https:\/\/tangi-bertin.net\/blog\/wp-content\/uploads\/2015\/11\/sabredav-578x140.png\" alt=\"sabredav\" width=\"578\" height=\"140\" \/><\/a>Apr\u00e8s m\u2019\u00eatre fait \u00e0 l\u2019id\u00e9e que mes h\u00e9bergeurs n\u2019offraient pas le support de WebDav, j\u2019ai fini par tomber sur <a href=\"http:\/\/sabre.io\/\" target=\"_blank\"><strong>SabreDav<\/strong><\/a>, <strong>un serveur WebDav \u00e9crit en PHP<\/strong>, supportant \u00e9galement CalDAV (pour les agendas) et CardDav (pour les carnets d\u2019adresse).<\/p>\n<p>Apr\u00e8s quelques tests, j\u2019ai fini par r\u00e9ussir \u00e0 faire fonctionner SabreDav et rendre op\u00e9rationnel une connexion authentifi\u00e9e avec WebDav. L\u2019installation a \u00e9t\u00e9 r\u00e9alis\u00e9e sur un mutualis\u00e9 1and1. SabreDav propose plusieurs solutions pour sauvegarder les comptes utilisateurs. Je n\u2019ai r\u00e9ussi qu\u2019\u00e0 r\u00e9aliser l\u2019authentification au travers d\u2019une liste des identifiants contenus dans un fichier. Pour la solution utilisant une base Sqlite, je suis surement pass\u00e9 \u00e0 c\u00f4t\u00e9 de quelque chose, mais je n\u2019ai pas r\u00e9ussi \u00e0 atteindre la base.<\/p>\n<p>SabreDav est un excellent produit, d\u2019autant qu\u2019il est pr\u00e9vu nativement pour \u00eatre implant\u00e9 dans d\u2019autres produits (OwnCloud l\u2019utilise par exemple). Cependant, bien que la documentation soit plut\u00f4t compl\u00e8te et que des fichiers d\u2019exemples soient propos\u00e9s, il manque souvent le point de d\u00e9tail qui fait que l\u2019on gagnerait un temps fou en compr\u00e9hension des param\u00e9trages.<\/p>\n<h2><b>Quelques tips autour de l\u2019installation de SabeDav<\/b><\/h2>\n<p>Pour commencer, voici l\u2019arborescence de mes dossiers\u00a0(\u00e0 disposer l\u2019emplacement de \/serveur\/sabre\/dav\/ \u00e0 votre convenance) :<\/p>\n<p><a href=\"https:\/\/tangi-bertin.net\/blog\/webdav-sur-serveur-mutualise-grace-a-sabredav-8016\/arbo\/\" rel=\"attachment wp-att-8020\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-8020\" src=\"https:\/\/tangi-bertin.net\/blog\/wp-content\/uploads\/2015\/11\/arbo.png\" alt=\"arbo\" width=\"250\" height=\"221\" \/><\/a><\/p>\n<p>Dans \/serveur\/sabre\/dav se trouvent l\u2019ensemble des documents et biblioth\u00e8ques du programme. Dans \/serveur\/sabre\/dav\/exemples il faut r\u00e9cup\u00e9rer fileserver.php et le placer au niveau du r\u00e9pertoire racine (ici \/serveur\/).<\/p>\n<p>Comme l\u2019indique la documentation, il faut cr\u00e9er les r\u00e9pertoires public (l\u00e0 o\u00f9 seront stock\u00e9s les fichiers de l\u2019utilisateur), tmpdata ou data en fonction du script utilis\u00e9 (servira de stockage de travail au script \u2013 par exemple aux bases sql d\u2019identifiants).<\/p>\n<p>Il vous faudra cr\u00e9er un fichier .htdigest \u00e0 placer o\u00f9 vous voulez (moi je l\u2019ai d\u00e9pos\u00e9 \u00e0 la racine du r\u00e9pertoire \/serveur\/). Il permettra de stocker les identifiants.<\/p>\n<p>Dans fileserver.php il y a 4 choses \u00e0 porter \u00e0 votre attention\u00a0:<\/p>\n<ul>\n<li>date_default_timezone_set \u00e0 configurer en fonction de vos besoins<\/li>\n<li>d\u00e9finir et cr\u00e9er \u00e0 votre convenance $publicDir = &lsquo;public&rsquo;; et $tmpDir = &lsquo;tmpdata&rsquo;; si ce n\u2019est pas d\u00e9j\u00e0 fait<\/li>\n<li>D\u00e9commenter et d\u00e9finir $baseUri. Dans mon cas\u00a0: $baseUri = &lsquo;\/serveur\/fileserver.php&rsquo;;<\/li>\n<li>Indiquer o\u00f9 se trouve \/vendor\/autoload.php\u2019\u00a0. Dans mon cas\u00a0: \u00a0require_once &lsquo;sabre\/dav\/vendor\/autoload.php&rsquo;;<\/li>\n<li>Et d\u00e9finir le chemin de .htdigest. Dans mon cas\u00a0: $authBackend = new \\Sabre\\DAV\\Auth\\Backend\\File(&lsquo;.htdigest&rsquo;);<\/li>\n<\/ul>\n<p>Dans le cas o\u00f9 vous voudriez utiliser une base sqlite ou MySql pour g\u00e9rer les identifiants (et que \u00e7a fonctionne chez vous), le script de cr\u00e9ation de l\u2019architecture de la table se trouve dans \/serveur\/sabre\/dav\/examples\/sql. N\u2019ayant pas trouv\u00e9 d\u2019interface de gestion des utilisateurs, j\u2019ai manipul\u00e9 les donn\u00e9es de la Bdd Sqlite avec SqliteBrowser. Pour MySQL, PhpMyAdmin fera parfaitement le job.<\/p>\n<h2>Les mots de passe et leur subtilit\u00e9<\/h2>\n<p>El\u00e9ment important et bien document\u00e9, je ferai un rapide rappel ici. A l\u2019inverse de bon nombre de scripts php que j\u2019ai pu utiliser (PhpBB, wordpress, \u2026), ce n\u2019est pas le hash MD5 du mot de passe qui est stock\u00e9, mais le hash d\u2019une formule plus complexe\u00a0:<\/p>\n<pre>md5('your_username:un_tocken:password')<\/pre>\n<p>Le tocken le plus commun\u00e9ment utilis\u00e9 dans l\u2019univers de Sabre Dav est \u2026 SabreDAV<\/p>\n<figure id=\"attachment_8024\" aria-describedby=\"caption-attachment-8024\" style=\"width: 250px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/tangi-bertin.net\/blog\/webdav-sur-serveur-mutualise-grace-a-sabredav-8016\/tumblr_na3msakfs51t43e29o1_400\/\" rel=\"attachment wp-att-8024\"><img loading=\"lazy\" decoding=\"async\" class=\" wp-image-8024\" src=\"https:\/\/tangi-bertin.net\/blog\/wp-content\/uploads\/2015\/11\/tumblr_na3msakfS51t43e29o1_400-368x578.jpg\" alt=\"Giovanni Battista Della Porta, Cipher disk, 1563\" width=\"250\" height=\"393\" srcset=\"https:\/\/tangi-bertin.net\/blog\/wp-content\/uploads\/2015\/11\/tumblr_na3msakfS51t43e29o1_400-368x578.jpg 368w, https:\/\/tangi-bertin.net\/blog\/wp-content\/uploads\/2015\/11\/tumblr_na3msakfS51t43e29o1_400.jpg 382w\" sizes=\"auto, (max-width: 250px) 100vw, 250px\" \/><\/a><figcaption id=\"caption-attachment-8024\" class=\"wp-caption-text\">Giovanni Battista Della Porta, Cipher disk, 1563<\/figcaption><\/figure>\n<p>Dans mon cas, chacune des lignes de mon fichier .htdigest (1 profil par ligne) a la forme suivante\u00a0:<\/p>\n<pre>username:SabreDAV:hash_de_la_formule_magique<\/pre>\n<p>Exemple\u00a0: foo:SabreDAV:5790c3784a79a018d1186528df520e11<\/p>\n<h2>.Htaccess<\/h2>\n<p>Alors qu\u2019il m\u2019aura fallu que quelques minutes pour rendre fonctionnel le serveur webdav sans authentification, c\u2019est bien cette derni\u00e8re qui a \u00e9t\u00e9 mon plus grand souci.<\/p>\n<p>Comme \u00e9voqu\u00e9 je n\u2019ai pas r\u00e9ussi \u00e0 lancer une authentification au travers d\u2019un r\u00e9f\u00e9rentiel de comptes int\u00e9gr\u00e9s \u00e0 une base Sqlite.<\/p>\n<p>Pour rendre fonctionnel celle utilisant .htdigest il m\u2019a fallu ajouter quelques lignes dans un .htaccess\u00a0:<\/p>\n<pre>&lt;IfModule mod_rewrite.c&gt;<\/pre>\n<pre>RewriteEngine on<\/pre>\n<pre>RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization},L]<\/pre>\n<pre>&lt;\/IfModule&gt;<\/pre>\n<div class='footnotes' id='footnotes-8016'>\n<div class='footnotedivider'><\/div>\n<ol>\n<li id='fn-8016-1'> https:\/\/fr.wikipedia.org\/wiki\/WebDAV <span class='footnotereverse'><a href='#fnref-8016-1'>&#8617;<\/a><\/span><\/li>\n<li id='fn-8016-2'> http:\/\/travaux.ovh.net\/?do=details&amp;id=7543 <span class='footnotereverse'><a href='#fnref-8016-2'>&#8617;<\/a><\/span><\/li>\n<\/ol>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Internet est un r\u00e9seau de t\u00e9l\u00e9communication par lequel lequel transitent des informations structur\u00e9es autour de protocoles tels que http, pop, smtp, ftp, \u2026 Il y en pour tous les go\u00fbts. R\u00e9cemment, je me suis int\u00e9ress\u00e9 \u00e0 WebDAV pour un projet. \u00c9tonnement : cette technologie est moins r\u00e9pandue que dans mes souvenirs. WebDav WebDAV, Web-based Distributed [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":8027,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[558],"tags":[621,620,619],"class_list":["post-8016","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-code","tag-php","tag-sabredav","tag-webdav"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>WebDav sur un serveur mutualis\u00e9 gr\u00e2ce \u00e0 SabreDav - TIC-logs par Tangi<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/tangi-bertin.net\/blog\/webdav-sur-serveur-mutualise-grace-a-sabredav-8016\/\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"WebDav sur un serveur mutualis\u00e9 gr\u00e2ce \u00e0 SabreDav - TIC-logs par Tangi\" \/>\n<meta property=\"og:description\" content=\"Internet est un r\u00e9seau de t\u00e9l\u00e9communication par lequel lequel transitent des informations structur\u00e9es autour de protocoles tels que http, pop, smtp, ftp, \u2026 Il y en pour tous les go\u00fbts. R\u00e9cemment, je me suis int\u00e9ress\u00e9 \u00e0 WebDAV pour un projet. \u00c9tonnement : cette technologie est moins r\u00e9pandue que dans mes souvenirs. WebDav WebDAV, Web-based Distributed [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/tangi-bertin.net\/blog\/webdav-sur-serveur-mutualise-grace-a-sabredav-8016\/\" \/>\n<meta property=\"og:site_name\" content=\"TIC-logs par Tangi\" \/>\n<meta property=\"article:published_time\" content=\"2015-11-02T15:04:36+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2015-11-02T15:04:37+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/tangi-bertin.net\/blog\/wp-content\/uploads\/2015\/11\/Enigma-plugboard.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"921\" \/>\n\t<meta property=\"og:image:height\" content=\"627\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Tangi Bertin\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u00c9crit par\" \/>\n\t<meta name=\"twitter:data1\" content=\"Tangi Bertin\" \/>\n\t<meta name=\"twitter:label2\" content=\"Dur\u00e9e de lecture estim\u00e9e\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/tangi-bertin.net\\\/blog\\\/webdav-sur-serveur-mutualise-grace-a-sabredav-8016\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/tangi-bertin.net\\\/blog\\\/webdav-sur-serveur-mutualise-grace-a-sabredav-8016\\\/\"},\"author\":{\"name\":\"Tangi Bertin\",\"@id\":\"https:\\\/\\\/tangi-bertin.net\\\/blog\\\/#\\\/schema\\\/person\\\/6e125a432b08117702a7b2a04f50fb89\"},\"headline\":\"WebDav sur un serveur mutualis\u00e9 gr\u00e2ce \u00e0 SabreDav\",\"datePublished\":\"2015-11-02T15:04:36+00:00\",\"dateModified\":\"2015-11-02T15:04:37+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/tangi-bertin.net\\\/blog\\\/webdav-sur-serveur-mutualise-grace-a-sabredav-8016\\\/\"},\"wordCount\":1029,\"commentCount\":2,\"publisher\":{\"@id\":\"https:\\\/\\\/tangi-bertin.net\\\/blog\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/tangi-bertin.net\\\/blog\\\/webdav-sur-serveur-mutualise-grace-a-sabredav-8016\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/tangi-bertin.net\\\/blog\\\/wp-content\\\/uploads\\\/2015\\\/11\\\/Enigma-plugboard.jpg\",\"keywords\":[\"php\",\"sabredav\",\"webdav\"],\"articleSection\":[\"Code\"],\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/tangi-bertin.net\\\/blog\\\/webdav-sur-serveur-mutualise-grace-a-sabredav-8016\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/tangi-bertin.net\\\/blog\\\/webdav-sur-serveur-mutualise-grace-a-sabredav-8016\\\/\",\"url\":\"https:\\\/\\\/tangi-bertin.net\\\/blog\\\/webdav-sur-serveur-mutualise-grace-a-sabredav-8016\\\/\",\"name\":\"WebDav sur un serveur mutualis\u00e9 gr\u00e2ce \u00e0 SabreDav - TIC-logs par Tangi\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/tangi-bertin.net\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/tangi-bertin.net\\\/blog\\\/webdav-sur-serveur-mutualise-grace-a-sabredav-8016\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/tangi-bertin.net\\\/blog\\\/webdav-sur-serveur-mutualise-grace-a-sabredav-8016\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/tangi-bertin.net\\\/blog\\\/wp-content\\\/uploads\\\/2015\\\/11\\\/Enigma-plugboard.jpg\",\"datePublished\":\"2015-11-02T15:04:36+00:00\",\"dateModified\":\"2015-11-02T15:04:37+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/tangi-bertin.net\\\/blog\\\/webdav-sur-serveur-mutualise-grace-a-sabredav-8016\\\/#breadcrumb\"},\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/tangi-bertin.net\\\/blog\\\/webdav-sur-serveur-mutualise-grace-a-sabredav-8016\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\\\/\\\/tangi-bertin.net\\\/blog\\\/webdav-sur-serveur-mutualise-grace-a-sabredav-8016\\\/#primaryimage\",\"url\":\"https:\\\/\\\/tangi-bertin.net\\\/blog\\\/wp-content\\\/uploads\\\/2015\\\/11\\\/Enigma-plugboard.jpg\",\"contentUrl\":\"https:\\\/\\\/tangi-bertin.net\\\/blog\\\/wp-content\\\/uploads\\\/2015\\\/11\\\/Enigma-plugboard.jpg\",\"width\":921,\"height\":627},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/tangi-bertin.net\\\/blog\\\/webdav-sur-serveur-mutualise-grace-a-sabredav-8016\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"https:\\\/\\\/tangi-bertin.net\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"WebDav sur un serveur mutualis\u00e9 gr\u00e2ce \u00e0 SabreDav\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/tangi-bertin.net\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/tangi-bertin.net\\\/blog\\\/\",\"name\":\"TIC-logs par Tangi\",\"description\":\"Un mouton \u00e0 5 pattes dans le vert paturage du web\",\"publisher\":{\"@id\":\"https:\\\/\\\/tangi-bertin.net\\\/blog\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/tangi-bertin.net\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"fr-FR\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/tangi-bertin.net\\\/blog\\\/#organization\",\"name\":\"TIC-logs par Tangi\",\"url\":\"https:\\\/\\\/tangi-bertin.net\\\/blog\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\\\/\\\/tangi-bertin.net\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/tangi-bertin.net\\\/blog\\\/wp-content\\\/uploads\\\/2013\\\/08\\\/logo.png\",\"contentUrl\":\"https:\\\/\\\/tangi-bertin.net\\\/blog\\\/wp-content\\\/uploads\\\/2013\\\/08\\\/logo.png\",\"width\":170,\"height\":45,\"caption\":\"TIC-logs par Tangi\"},\"image\":{\"@id\":\"https:\\\/\\\/tangi-bertin.net\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/tangi-bertin.net\\\/blog\\\/#\\\/schema\\\/person\\\/6e125a432b08117702a7b2a04f50fb89\",\"name\":\"Tangi Bertin\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/2720ed536308e71f11012cb6909df5571def3effb19460e279781e0b599428f0?s=96&d=wavatar&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/2720ed536308e71f11012cb6909df5571def3effb19460e279781e0b599428f0?s=96&d=wavatar&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/2720ed536308e71f11012cb6909df5571def3effb19460e279781e0b599428f0?s=96&d=wavatar&r=g\",\"caption\":\"Tangi Bertin\"},\"sameAs\":[\"http:\\\/\\\/tangi-bertin.net\"],\"url\":\"https:\\\/\\\/tangi-bertin.net\\\/blog\\\/author\\\/admin\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"WebDav sur un serveur mutualis\u00e9 gr\u00e2ce \u00e0 SabreDav - TIC-logs par Tangi","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/tangi-bertin.net\/blog\/webdav-sur-serveur-mutualise-grace-a-sabredav-8016\/","og_locale":"fr_FR","og_type":"article","og_title":"WebDav sur un serveur mutualis\u00e9 gr\u00e2ce \u00e0 SabreDav - TIC-logs par Tangi","og_description":"Internet est un r\u00e9seau de t\u00e9l\u00e9communication par lequel lequel transitent des informations structur\u00e9es autour de protocoles tels que http, pop, smtp, ftp, \u2026 Il y en pour tous les go\u00fbts. R\u00e9cemment, je me suis int\u00e9ress\u00e9 \u00e0 WebDAV pour un projet. \u00c9tonnement : cette technologie est moins r\u00e9pandue que dans mes souvenirs. WebDav WebDAV, Web-based Distributed [&hellip;]","og_url":"https:\/\/tangi-bertin.net\/blog\/webdav-sur-serveur-mutualise-grace-a-sabredav-8016\/","og_site_name":"TIC-logs par Tangi","article_published_time":"2015-11-02T15:04:36+00:00","article_modified_time":"2015-11-02T15:04:37+00:00","og_image":[{"width":921,"height":627,"url":"https:\/\/tangi-bertin.net\/blog\/wp-content\/uploads\/2015\/11\/Enigma-plugboard.jpg","type":"image\/jpeg"}],"author":"Tangi Bertin","twitter_card":"summary_large_image","twitter_misc":{"\u00c9crit par":"Tangi Bertin","Dur\u00e9e de lecture estim\u00e9e":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/tangi-bertin.net\/blog\/webdav-sur-serveur-mutualise-grace-a-sabredav-8016\/#article","isPartOf":{"@id":"https:\/\/tangi-bertin.net\/blog\/webdav-sur-serveur-mutualise-grace-a-sabredav-8016\/"},"author":{"name":"Tangi Bertin","@id":"https:\/\/tangi-bertin.net\/blog\/#\/schema\/person\/6e125a432b08117702a7b2a04f50fb89"},"headline":"WebDav sur un serveur mutualis\u00e9 gr\u00e2ce \u00e0 SabreDav","datePublished":"2015-11-02T15:04:36+00:00","dateModified":"2015-11-02T15:04:37+00:00","mainEntityOfPage":{"@id":"https:\/\/tangi-bertin.net\/blog\/webdav-sur-serveur-mutualise-grace-a-sabredav-8016\/"},"wordCount":1029,"commentCount":2,"publisher":{"@id":"https:\/\/tangi-bertin.net\/blog\/#organization"},"image":{"@id":"https:\/\/tangi-bertin.net\/blog\/webdav-sur-serveur-mutualise-grace-a-sabredav-8016\/#primaryimage"},"thumbnailUrl":"https:\/\/tangi-bertin.net\/blog\/wp-content\/uploads\/2015\/11\/Enigma-plugboard.jpg","keywords":["php","sabredav","webdav"],"articleSection":["Code"],"inLanguage":"fr-FR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/tangi-bertin.net\/blog\/webdav-sur-serveur-mutualise-grace-a-sabredav-8016\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/tangi-bertin.net\/blog\/webdav-sur-serveur-mutualise-grace-a-sabredav-8016\/","url":"https:\/\/tangi-bertin.net\/blog\/webdav-sur-serveur-mutualise-grace-a-sabredav-8016\/","name":"WebDav sur un serveur mutualis\u00e9 gr\u00e2ce \u00e0 SabreDav - TIC-logs par Tangi","isPartOf":{"@id":"https:\/\/tangi-bertin.net\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/tangi-bertin.net\/blog\/webdav-sur-serveur-mutualise-grace-a-sabredav-8016\/#primaryimage"},"image":{"@id":"https:\/\/tangi-bertin.net\/blog\/webdav-sur-serveur-mutualise-grace-a-sabredav-8016\/#primaryimage"},"thumbnailUrl":"https:\/\/tangi-bertin.net\/blog\/wp-content\/uploads\/2015\/11\/Enigma-plugboard.jpg","datePublished":"2015-11-02T15:04:36+00:00","dateModified":"2015-11-02T15:04:37+00:00","breadcrumb":{"@id":"https:\/\/tangi-bertin.net\/blog\/webdav-sur-serveur-mutualise-grace-a-sabredav-8016\/#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/tangi-bertin.net\/blog\/webdav-sur-serveur-mutualise-grace-a-sabredav-8016\/"]}]},{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/tangi-bertin.net\/blog\/webdav-sur-serveur-mutualise-grace-a-sabredav-8016\/#primaryimage","url":"https:\/\/tangi-bertin.net\/blog\/wp-content\/uploads\/2015\/11\/Enigma-plugboard.jpg","contentUrl":"https:\/\/tangi-bertin.net\/blog\/wp-content\/uploads\/2015\/11\/Enigma-plugboard.jpg","width":921,"height":627},{"@type":"BreadcrumbList","@id":"https:\/\/tangi-bertin.net\/blog\/webdav-sur-serveur-mutualise-grace-a-sabredav-8016\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https:\/\/tangi-bertin.net\/blog\/"},{"@type":"ListItem","position":2,"name":"WebDav sur un serveur mutualis\u00e9 gr\u00e2ce \u00e0 SabreDav"}]},{"@type":"WebSite","@id":"https:\/\/tangi-bertin.net\/blog\/#website","url":"https:\/\/tangi-bertin.net\/blog\/","name":"TIC-logs par Tangi","description":"Un mouton \u00e0 5 pattes dans le vert paturage du web","publisher":{"@id":"https:\/\/tangi-bertin.net\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/tangi-bertin.net\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"fr-FR"},{"@type":"Organization","@id":"https:\/\/tangi-bertin.net\/blog\/#organization","name":"TIC-logs par Tangi","url":"https:\/\/tangi-bertin.net\/blog\/","logo":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/tangi-bertin.net\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/tangi-bertin.net\/blog\/wp-content\/uploads\/2013\/08\/logo.png","contentUrl":"https:\/\/tangi-bertin.net\/blog\/wp-content\/uploads\/2013\/08\/logo.png","width":170,"height":45,"caption":"TIC-logs par Tangi"},"image":{"@id":"https:\/\/tangi-bertin.net\/blog\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/tangi-bertin.net\/blog\/#\/schema\/person\/6e125a432b08117702a7b2a04f50fb89","name":"Tangi Bertin","image":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/secure.gravatar.com\/avatar\/2720ed536308e71f11012cb6909df5571def3effb19460e279781e0b599428f0?s=96&d=wavatar&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/2720ed536308e71f11012cb6909df5571def3effb19460e279781e0b599428f0?s=96&d=wavatar&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/2720ed536308e71f11012cb6909df5571def3effb19460e279781e0b599428f0?s=96&d=wavatar&r=g","caption":"Tangi Bertin"},"sameAs":["http:\/\/tangi-bertin.net"],"url":"https:\/\/tangi-bertin.net\/blog\/author\/admin\/"}]}},"_links":{"self":[{"href":"https:\/\/tangi-bertin.net\/blog\/wp-json\/wp\/v2\/posts\/8016","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/tangi-bertin.net\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/tangi-bertin.net\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/tangi-bertin.net\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/tangi-bertin.net\/blog\/wp-json\/wp\/v2\/comments?post=8016"}],"version-history":[{"count":3,"href":"https:\/\/tangi-bertin.net\/blog\/wp-json\/wp\/v2\/posts\/8016\/revisions"}],"predecessor-version":[{"id":8029,"href":"https:\/\/tangi-bertin.net\/blog\/wp-json\/wp\/v2\/posts\/8016\/revisions\/8029"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/tangi-bertin.net\/blog\/wp-json\/wp\/v2\/media\/8027"}],"wp:attachment":[{"href":"https:\/\/tangi-bertin.net\/blog\/wp-json\/wp\/v2\/media?parent=8016"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/tangi-bertin.net\/blog\/wp-json\/wp\/v2\/categories?post=8016"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/tangi-bertin.net\/blog\/wp-json\/wp\/v2\/tags?post=8016"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}