IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Bibliothèques et frameworks PHP Discussion :

[PEAR] Gérer WebDAV coté serveur en PHP


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Membre habitué
    Inscrit en
    Avril 2003
    Messages
    397
    Détails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 397
    Points : 133
    Points
    133
    Par défaut [PEAR] Gérer WebDAV coté serveur en PHP
    Bonjour,

    Je suis actuellement à la recherche d'un script PHP WebDAV coté serveur.
    Une classe PHP ou tout autre documentation.

    Il faut avouer que ce qui est proposé par le package PEAR manque cruellement d'informations et n'est pas une version stable.

    Merci.

  2. #2
    Inscrit

    Profil pro
    H4X0|2 @ YourLabs Business Service
    Inscrit en
    Octobre 2006
    Messages
    657
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : H4X0|2 @ YourLabs Business Service
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2006
    Messages : 657
    Points : 909
    Points
    909
    Par défaut
    Salut, eZ Components propose un composant OpenSource et assume totalement la responsabilite du produit : c'est a dire que vous aurez du support que ce soit sur la mailing-list ou sur IRC.

    C'est aussi parce que le composant a l'air tres fiable (une quantite incoryable de test-unitaires l'accompagne, pour je ne sais combien de navigateurs ...) que je le recommande.
    Le responsable est Tobias Schlitt, un programmeur tres talentueux, vous pouvez dormir tranquille avec ce composant.

    http://ezcomponents.org/docs/tutorials/Webdav
    YourLabs Business Service: Conseil en Strategie Numerique / Club de 1337 Haxors depuis 2012 / Marque de Logiciels Libres / Blog / GitHub /
    Citation Envoyé par C.A.R. Hoare, The 1980 ACM Turing Award Lecture
    There are two ways of constructing a software design: One way is to make it so simple that there are obviously no deficiencies and the other way is to make it so complicated that there are no obvious deficiencies.”
    More great quotes - RIP Uriel

  3. #3
    Membre habitué
    Inscrit en
    Avril 2003
    Messages
    397
    Détails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 397
    Points : 133
    Points
    133
    Par défaut
    Super réponse merci, je m'y intéresse de suite.

  4. #4
    Membre habitué
    Inscrit en
    Avril 2003
    Messages
    397
    Détails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 397
    Points : 133
    Points
    133
    Par défaut
    J'ai essayé mais je ne parviens pas à faire fonctionner le serveur malgré l'utilisation du tutorial.

    Quelqu'un a -t-il déjà réussi à exploiter cette classe ?

  5. #5
    Inscrit

    Profil pro
    H4X0|2 @ YourLabs Business Service
    Inscrit en
    Octobre 2006
    Messages
    657
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : H4X0|2 @ YourLabs Business Service
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2006
    Messages : 657
    Points : 909
    Points
    909
    Par défaut
    Pas exactement mais je peux resoudre ton probleme quand meme. Quelle est l'erreur ?
    YourLabs Business Service: Conseil en Strategie Numerique / Club de 1337 Haxors depuis 2012 / Marque de Logiciels Libres / Blog / GitHub /
    Citation Envoyé par C.A.R. Hoare, The 1980 ACM Turing Award Lecture
    There are two ways of constructing a software design: One way is to make it so simple that there are obviously no deficiencies and the other way is to make it so complicated that there are no obvious deficiencies.”
    More great quotes - RIP Uriel

  6. #6
    Membre habitué
    Inscrit en
    Avril 2003
    Messages
    397
    Détails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 397
    Points : 133
    Points
    133
    Par défaut
    Je souhaite pourvoir gérer WebDAV coté serveur en PHP (à l'aide de ces classes) et coté client grâce à l'explorateur de Windows (ajouter un favoris réseau).

    Ce protocole à de l'avenir et apparait de plus en plus dans les projets open source, en revanche il n'existe encore que très peu d'exemple et de documentation à son sujet.

    Grâce à ton message, je pense tout de même tenir une base solide à l'aide des eZ Components.


    1/ Pré-requis

    J'ai récupéré le package et lu l'installation.
    http://ezcomponents.org/docs/install
    J'en ai déduis d'utiliser ces 2 directives au début de mes scripts.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    set_include_path( "/var/www/html/ez:" . ini_get( "include_path" ) );
    require_once 'Base/src/base.php';

    2/ Mettre un place un serveur le plus simplement possible

    Si je suis cet exemple : http://ezcomponents.org/docs/api/tru...on_Webdav.html

    "Basic path factory" (j'ai également testé "Path auto detection"), ce qui me donne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    <?php
    set_include_path( "/var/www/html/ez:" . ini_get( "include_path" ) );
    require_once 'Base/src/base.php';
     
    require_once 'tutorial_autoload.php';
     
    $server = ezcWebdavServer::getInstance();
     
    $server->configurations->pathFactory = new ezcWebdavBasicPathFactory( '/var/www/html/wdav' );
     
    $backend = new ezcWebdavFileBackend(
       dirname( __FILE__ ) . '/backend'
    );
     
    $server->handle( $backend );
    ?>
    Je tente d'accéder à ce script ez/Webdav/docs/tutorial/basic_path_factory.php

    Je n'arrive pas à l'ajouter aux favoris réseau.
    Rien ne se passe dans le navigateur.

    J'ai aussi essayer d'utiliser cette classe http://ezcomponents.org/docs/api/tru...davServer.html
    Sans succès.

    J'ai sûrement dû oublier certaines étapes ou mal les utiliser.

    Voila, merci à ceux qui prendront le temps de se pencher sur ce problème.

  7. #7
    Inscrit

    Profil pro
    H4X0|2 @ YourLabs Business Service
    Inscrit en
    Octobre 2006
    Messages
    657
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : H4X0|2 @ YourLabs Business Service
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2006
    Messages : 657
    Points : 909
    Points
    909
    Par défaut
    Essaye avec cadaver, c'est le seul client capable de rapporter les erreurs.
    YourLabs Business Service: Conseil en Strategie Numerique / Club de 1337 Haxors depuis 2012 / Marque de Logiciels Libres / Blog / GitHub /
    Citation Envoyé par C.A.R. Hoare, The 1980 ACM Turing Award Lecture
    There are two ways of constructing a software design: One way is to make it so simple that there are obviously no deficiencies and the other way is to make it so complicated that there are no obvious deficiencies.”
    More great quotes - RIP Uriel

  8. #8
    Membre habitué
    Inscrit en
    Avril 2003
    Messages
    397
    Détails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 397
    Points : 133
    Points
    133
    Par défaut
    J'ai essayé il ne se passe absolument rien.

  9. #9
    Inscrit

    Profil pro
    H4X0|2 @ YourLabs Business Service
    Inscrit en
    Octobre 2006
    Messages
    657
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : H4X0|2 @ YourLabs Business Service
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2006
    Messages : 657
    Points : 909
    Points
    909
    Par défaut
    tcpdump ? strace ? C'est etrange ...
    YourLabs Business Service: Conseil en Strategie Numerique / Club de 1337 Haxors depuis 2012 / Marque de Logiciels Libres / Blog / GitHub /
    Citation Envoyé par C.A.R. Hoare, The 1980 ACM Turing Award Lecture
    There are two ways of constructing a software design: One way is to make it so simple that there are obviously no deficiencies and the other way is to make it so complicated that there are no obvious deficiencies.”
    More great quotes - RIP Uriel

  10. #10
    Membre habitué
    Inscrit en
    Avril 2003
    Messages
    397
    Détails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 397
    Points : 133
    Points
    133
    Par défaut
    Oké, en modifiant quelques droits d'écriture et path j'ai réussi à faire fonctionner un espace de stockage distant via WebDAV.

    Merci pour cette belle info au sujet de eZ

  11. #11
    Inscrit

    Profil pro
    H4X0|2 @ YourLabs Business Service
    Inscrit en
    Octobre 2006
    Messages
    657
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : H4X0|2 @ YourLabs Business Service
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2006
    Messages : 657
    Points : 909
    Points
    909
    Par défaut
    Tobias Schlitt mérite les félicitations pour ce composant "balèze".
    Indiquez que la discussion est résolue svp.
    YourLabs Business Service: Conseil en Strategie Numerique / Club de 1337 Haxors depuis 2012 / Marque de Logiciels Libres / Blog / GitHub /
    Citation Envoyé par C.A.R. Hoare, The 1980 ACM Turing Award Lecture
    There are two ways of constructing a software design: One way is to make it so simple that there are obviously no deficiencies and the other way is to make it so complicated that there are no obvious deficiencies.”
    More great quotes - RIP Uriel

  12. #12
    Expert éminent
    Avatar de sekaijin
    Homme Profil pro
    Urbaniste
    Inscrit en
    Juillet 2004
    Messages
    4 205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Urbaniste
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2004
    Messages : 4 205
    Points : 9 127
    Points
    9 127
    Par défaut
    Citation Envoyé par dorian53 Voir le message
    Je souhaite pourvoir gérer WebDAV coté serveur en PHP (à l'aide de ces classes) et coté client grâce à l'explorateur de Windows (ajouter un favoris réseau).

    Ce protocole à de l'avenir et apparait de plus en plus dans les projets open source, en revanche il n'existe encore que très peu d'exemple et de documentation à son sujet.

    Grâce à ton message, je pense tout de même tenir une base solide à l'aide des eZ Components.


    1/ Pré-requis

    J'ai récupéré le package et lu l'installation.
    http://ezcomponents.org/docs/install
    J'en ai déduis d'utiliser ces 2 directives au début de mes scripts.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    set_include_path( "/var/www/html/ez:" . ini_get( "include_path" ) );
    require_once 'Base/src/base.php';

    2/ Mettre un place un serveur le plus simplement possible

    Si je suis cet exemple : http://ezcomponents.org/docs/api/tru...on_Webdav.html

    "Basic path factory" (j'ai également testé "Path auto detection"), ce qui me donne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    <?php
    set_include_path( "/var/www/html/ez:" . ini_get( "include_path" ) );
    require_once 'Base/src/base.php';
     
    require_once 'tutorial_autoload.php';
     
    $server = ezcWebdavServer::getInstance();
     
    $server->configurations->pathFactory = new ezcWebdavBasicPathFactory( '/var/www/html/wdav' );
     
    $backend = new ezcWebdavFileBackend(
       dirname( __FILE__ ) . '/backend'
    );
     
    $server->handle( $backend );
    ?>
    Je tente d'accéder à ce script ez/Webdav/docs/tutorial/basic_path_factory.php

    Je n'arrive pas à l'ajouter aux favoris réseau.
    Rien ne se passe dans le navigateur.

    J'ai aussi essayer d'utiliser cette classe http://ezcomponents.org/docs/api/tru...davServer.html
    Sans succès.

    J'ai sûrement dû oublier certaines étapes ou mal les utiliser.

    Voila, merci à ceux qui prendront le temps de se pencher sur ce problème.
    Salut J'ai fait la même chose avec HTTP WebDav Server de pear il y a un an et pour que windows accepte via l'assistant d'ajouter le favori réseau il faut mettre
    http://localhost/ez/Webdav/docs/tuto...h_factory.php/ sans oublier le / final.


    j'ai récupére chez microsoft deux fichiers js trop gros pour les mettre ici et du coup on peu mettre un iframe dans une page qui contient un explorateur de fichier qui pointe sur un WebDav

    A+JYT

  13. #13
    Futur Membre du Club
    Profil pro
    Maitre du monde
    Inscrit en
    Juin 2006
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Maitre du monde

    Informations forums :
    Inscription : Juin 2006
    Messages : 4
    Points : 5
    Points
    5
    Par défaut
    Bonjour,

    J'ai testé la classe PEAR ainsi que les classes ezcWebDAV, les deux sont fonctionnelles.
    Ceci dit je pense que l'implémentation de ezPublish est la mieux.
    Le seul problème que j'ai constaté avec PEAR et ezPublish c'est UTF8 losrque que l'on envoie au client webdav ont est obligé de faire des utf8_encode sur les chemins (ex: si vous avez un répertoire nommé Développement) et lorsque que l'on reçoit depuis le client en fonction de si on est en UTF8 ou en ISO on décode ou pas.
    Faire ceci avec la classe PEAR est assez facile car il n'y a qu'une ou deux classe mais faire ceci avec le composant Webdav de ezPublish est beaucoup plus délicat surtout qu'il n'y a pas beaucoup de doc, de plus les exemples sont trop simpliste (c'est bien pour commencer mais pas suffisant pour faire un vrai programme).
    Cela fait quelque jours que je test les deux.
    Je me suis fais deux sites virtuels:
    Le premier avec PEAR
    Le premier avec ezcWebDAV

    Comme client j'ai testé avec un webfolder sur vista, DAVExplorer, BitKinex. Après quelques ajustement (urldecode, utf8_encode, utf8_decode) j'ai réussi à faire fonctionner le tout.

    Pour tracer les échanges j'ai utilisé TcpTrace car sur windows on ne peut pas utiliser wireshark sur localhost. Mes sites virtuels sont sur le port 8080, quand je vais une requête avec un client c'est sur le port 80 et tcpTrace le renvoi sur le 8080.

    Qui d'entre vous à utiliser ezcWebDAV avec des dossiers et des fichiers qui contiennent des accents (UTF8) ?
    Existe t-il un moyen simple sans trifouiller les classes pour que cela marche simplement avec UTF8 ?

    Vivement que ezPublish fasse un bouquin mais pas en allemand sur les ezComponent avec de vrai exemple.

  14. #14
    Membre habitué
    Homme Profil pro
    Développeur COBOL
    Inscrit en
    Janvier 2003
    Messages
    339
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur COBOL
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2003
    Messages : 339
    Points : 184
    Points
    184
    Par défaut
    Salut,

    As tu un peu de doc pu de tuto voir même du code pour la partie PEAR ?

    Moi je cherche simplement, à l'aide d'un script à créer un repertoire sur mon arborescence WEBDAV et y stocker des fichiers ...

    Si quelqu'un à une info sur les commandes PEAR, cela m'interesse (Connexion, création repertoire, copy de fichier ...)

    Deplus, savez vous quoi fournir comme path de connexion ? Celui fourni par Knowledgetree Community Edition ne fonctionne a priori pas

    Merci
    « Ne me faites pas d'objections.
    Les difficultés en feront assez d'elles-mêmes. »

    sir Winston Churchill

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Upload] Upload de fichier réception PHP coté serveur
    Par Watier_53 dans le forum Langage
    Réponses: 4
    Dernier message: 10/03/2008, 10h53
  2. Gérer le résultat d'un inputbox coté serveur!
    Par AbyssoS dans le forum ASP
    Réponses: 2
    Dernier message: 13/03/2006, 22h13
  3. [Struts 1.2] : validation coté serveur
    Par richard_34b dans le forum Struts 1
    Réponses: 3
    Dernier message: 15/09/2004, 15h42
  4. [Concept] Curseur coté client et curseur coté serveur
    Par freud dans le forum Décisions SGBD
    Réponses: 2
    Dernier message: 13/09/2002, 22h13

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo