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

JavaScript Discussion :

Lister le contenu d'un répertoire


Sujet :

JavaScript

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 15
    Points : 8
    Points
    8
    Par défaut Lister le contenu d'un répertoire
    Bonjour à tous !
    Je débute en javascript et je galère pour réaliser ce qui, à première vue, ne semble pourtant pas très compliqué...
    Je m'explique : j'ai un répertoire dans lequel je dépose régulièrement des fichiers PDF ; je voudrais créer une page html appelant une fonction qui me permette de lister le contenu de ce répertoire et de créer les liens qui permettent de lire mes PDF.
    J'ai déjà construit quelque chose en PHP, mais malheureusement j'ai été freiné dans ma démarche...
    J'ai déjà cherché sur le net avant de venir poser ma question sur ce forum, mais je n'ai rien trouvé ; je continue tout de même de chercher, en attendant qu'une bonne âme me vienne en aide...
    Merci d'avance !

  2. #2
    Membre confirmé Avatar de defcon_suny
    Homme Profil pro
    Non pas trop...
    Inscrit en
    Décembre 2006
    Messages
    441
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Non pas trop...
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Décembre 2006
    Messages : 441
    Points : 547
    Points
    547
    Par défaut
    Si c'est uniquement une page html qui consulte le système de fichier de ta propre machine, regarde par là
    http://www.eleves.ens.fr/wintuteurs/...g.html#ref_fso

    Si tu veux rendre tes fichiers accessibles depuis un serveur web, tu dois passer par un langage serveur (php, asp, ...). Le javascript ne fonctionnant que sur la machine cliente.

    Bon courage!

    ++

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 15
    Points : 8
    Points
    8
    Par défaut C'est sur un partage
    En fait, les fichiers sont stockés sur un serveur de fichier sur lequel l'ensemble des personnes ont un accès en lecture. Est-ce que ça revient au même que s'il s'agissait d'un disque local ?

  4. #4
    Membre confirmé Avatar de defcon_suny
    Homme Profil pro
    Non pas trop...
    Inscrit en
    Décembre 2006
    Messages
    441
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Non pas trop...
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Décembre 2006
    Messages : 441
    Points : 547
    Points
    547
    Par défaut
    Eventuellement si tes utilisateurs ont un connecteur réseau vers le serveur de fichier, ca doit pouvoir fonctionner.

  5. #5
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 665
    Points
    66 665
    Billets dans le blog
    1
    Par défaut
    pas en javascript ...
    php te permettra de lister le contenu d'un repertoire ...
    de memoire sujet traité recemment ici

  6. #6
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 15
    Points : 8
    Points
    8
    Par défaut Malhereusement...
    Merci Spacefrog. Mais malheureusement, je ne peux pas utiliser PHP. Au début, c'est pourtant vers une solution PHP/MySQL que je m'étais orienté ; mais lorsque j'ai présenté cette solution à mon boulot, ils ont refusé que j'installe XAMPP ou EasyPHP pour faire tourner une application de ce genre. C'est pour ça que je cherche désormais du côté de javascript, VBS, Ajax, bref : tout ce qui me permettrait de réaliser mon petit projet sans avoir besoin de faire tourner une base de données ou un serveur de type XAMPP ou EasyPHP. Même si je le regrette et que je suis bien conscient que la qualité du rendu en pâtira.
    Une proposition...?

  7. #7
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 665
    Points
    66 665
    Billets dans le blog
    1
    Par défaut
    mouarf ...
    je serais curieux de savoir quel motif a ete invoqué pour ne pas instaler wamp xamp ou esayphp ^^
    J'ai les mêmes au boulot ...
    Bien souvent la méconnaissance entraine la peur voire la paranoia ...

    il te reste fso ... ?
    uniquement sous IE

  8. #8
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 15
    Points : 8
    Points
    8
    Par défaut Ignorance, c'est sûr !
    T'as raison : là où je bosse, c'est un service informatique dans lequel on ne développe pas ; je suis parmi les rares à tenter l'aventure, en sachant qu'à la base je ne suis même pas informaticien !
    Et avec fso je devrais pouvoir lister le contenu d'un répertoire sous forme de liens hypertextes cliquables ?
    Et pour tout t'avouer, j'étais en train d'essayer de construire un truc à partir du lien donné par defcon-suny, mais j'y arrive pas ; faut dire que je découvre totalement le langage javascript. En fait, j'explore plusieurs pistes.
    Je sais que ça ne se fait pas, mais tu pourrais me donner un coup de main sur la syntaxe de la commande fso ?

  9. #9
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 665
    Points
    66 665
    Billets dans le blog
    1
    Par défaut
    Non fso ne te permettra que de lister le repertoire et mettre les noms et les paths dasn des variables .
    Tu auras besoin d'un autre script pour générer les liens.
    Tu peux t'insiprer de ça http://www.developpez.net/forums/sho...wpost&t=535848

  10. #10
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 15
    Points : 8
    Points
    8
    Par défaut
    J'ai trouvé un bout de js qui me liste le contenu d'un répertoire et me le renvoie dans une fenêtre pop-up :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    var fso = new ActiveXObject("Scripting.FileSystemObject");
    var d = fso.GetFolder("C:/Temp");
    var fc = new Enumerator(d.Files);
    var str = "";
    for (; ! fc.atEnd() ; fc.moveNext())
    {
    	str += fc.item().Name + "\n";
    };
    WScript.Echo(str);
    Est-ce que tu pourrais m'expliquer comment l'adapter pour que le résultat ne me soit pas renvoyé dans un pop-up mais dans une page avec des liens hypertextes, STP ?
    Désolé d'abuser mais on me met la pression pour que mon projet soit mis en place lundi matin et avec de telles contraintes (incluant l'impossibilité de recourir à PHP/MySQL...), je n'y parviens pas.
    Merci d'avance et encore désolé d'abuser !

  11. #11
    Membre confirmé Avatar de defcon_suny
    Homme Profil pro
    Non pas trop...
    Inscrit en
    Décembre 2006
    Messages
    441
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Non pas trop...
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Décembre 2006
    Messages : 441
    Points : 547
    Points
    547
    Par défaut
    Eventuellement comme ceci :

    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
    17
    18
    19
    20
     
    <html>
    <head>
    	<script language="javascript" type="text/javascript">
    		var fso = new ActiveXObject("Scripting.FileSystemObject");
    		var d = fso.GetFolder("C:/Temp");
    		var fc = new Enumerator(d.Files);
    		var str = "";
    		for (; ! fc.atEnd() ; fc.moveNext())
    		{
    			str += '<a href="C:/Temp/'+fc.item().Name+'" title="">'+fc.item().Name+'</a><br/>';
    		};
    	</script>
    </head>
    <body>
    	<script language="javascript" type="text/javascript">
    	document.write (str);
    	</script>
    </body>
    </html>
    ++

    Pour rappel : Cela ne fonctionne que sous IE

  12. #12
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 15
    Points : 8
    Points
    8
    Par défaut On y est presque !
    Merci beaucoup ! Ca fonctionne sur mon disque, mais lorsque j'essaie de lister les fichiers qui se trouvent sur le répertoire partagé ça me renvoie "undefined" ; est-ce que c'est normal ? Je précise que le partage en question n'est pas mappé ; il n'a aucune lettre qui lui est affectée, les utilisateurs y accèdent simplement en cliquant sur un lien qui les y amène ou en tapant dans une fenêtre de l'explorateur "\\nom_du_serveur\nom_du_partage".
    Comment est-ce que je peux adapter ça ?

    J'ai pensé à quelque chose : je fais un netuse pour monter le lecteur, ensuite j'exécute le script, puis je déconnecte le lecteur.
    Si c'était possible, l'idéal serait même de n'exécuter le script qu'une seule fois, de copier le résultat dans une page HTML qui deviendrait statique pour la journée et à laquelle les utilisateurs pourraient accéder ;comme ça, ils n'auraient pas à exécuter le js (qui pose le pb des ActiveX...).

  13. #13
    Membre confirmé Avatar de defcon_suny
    Homme Profil pro
    Non pas trop...
    Inscrit en
    Décembre 2006
    Messages
    441
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Non pas trop...
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Décembre 2006
    Messages : 441
    Points : 547
    Points
    547
    Par défaut
    Renverse tes slashs!!!!

    Comme ca :
    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
    17
    18
    19
    20
    21
    22
    23
     
    <html>
    <head>
    	<script language="javascript" type="text/javascript">
    		var fso = new ActiveXObject("Scripting.FileSystemObject");
    		var d = fso.GetFolder("//nomDeLaMachine/Repertoire");
    		var fc = new Enumerator(d.Files);
    		var str = "";
    		for (; ! fc.atEnd() ; fc.moveNext())
    		{
    			str += '<a href="//nomDeLaMachine/Repertoire/'+fc.item().Name+'" title="">'+fc.item().Name+'</a><br/>';
    		};
    		document.getElementById("content").innerHTML = "test"+str;
    	</script>
    </head>
    <body>
    	<div id="content">
    	</div>
    	<script language="javascript" type="text/javascript">
    	document.write (str);
    	</script>
    </body>
    </html>
    La réponse n'était pas loin...

  14. #14
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 15
    Points : 8
    Points
    8
    Par défaut Allelujah !
    Merci beaucoup ! ça marche super bien ! C'est possible de forcer le poste client à accepter les ActiveX ? Sinon il va falloir que je vois avec l'architecte réseau de ma boîte pour qu'il arrange ça.
    En tout cas, merci beaucoup pour ton aide, je n'y serais jamais arrivé seul !

  15. #15
    Membre confirmé Avatar de defcon_suny
    Homme Profil pro
    Non pas trop...
    Inscrit en
    Décembre 2006
    Messages
    441
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Non pas trop...
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Décembre 2006
    Messages : 441
    Points : 547
    Points
    547
    Par défaut
    À partir du navigateur, place la page html dans les sites de confiance

  16. #16
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 15
    Points : 8
    Points
    8
    Par défaut
    Merci.
    Mais je crois que je me suis emballé un peu vite : lorsque j'exécute le script stocké sur mon disque dur ça marche, mais si je le copie sur le partage et que je l'exécute à partir de là, il me renvoie encore "undefined"...

  17. #17
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 15
    Points : 8
    Points
    8
    Par défaut
    En fait, je me suis rendu compte que le serveur de fichier sur lequel j'exécute le script JS n'est pas capable de l'interpréter ; d'où le renvoi de "undefined".
    De plus, le contrôle des ActiveX pourrait poser problème.
    Du coup, je me demande s'il n'est pas possible de trouver l'équivalent du script JS en VBscript ; étant exécuté directement par Windows, ce serait sans doute moins contraignant.
    Mais je m'y connais encore moins en VBScript qu'en JS, et je ne sais pas s'il est possible d'intégrer du VBS dans une page HTML...

  18. #18
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 665
    Points
    66 665
    Billets dans le blog
    1
    Par défaut
    js ne sait pas accéder au disque pour lister un répertoire .

    Peut être ta dernière possibilité serait avec flash ?

  19. #19
    Membre confirmé Avatar de defcon_suny
    Homme Profil pro
    Non pas trop...
    Inscrit en
    Décembre 2006
    Messages
    441
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Non pas trop...
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Décembre 2006
    Messages : 441
    Points : 547
    Points
    547
    Par défaut
    Il s'agit d'un script client!!! il ne doit pas être exécuté sur le serveur mais à partir du navigateur client. Donc la page que tu as réalisée, tu la places dans un endroit accessible par un navigateur web.

    tu accèdes bien à ton serveur par \\nomDuServeur\rep\ ???

    et pour lister le contenu tu dois utiliser ton navigateur web sur :
    http://cheminVersMonFichier/monFichier.html (lequel contient le Javascript).

    Est-ce ceci que tu réalises?

  20. #20
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 15
    Points : 8
    Points
    8
    Par défaut
    C'est ça, defcon. Seulement l'inconvénient du JS c'est qu'en l'absence de machine JAVA sur le poste client, impossible d'exécuter le javascript. Et mon problème vient du fait que justement, tous les postes clients de disposent pas d'une machine JAVA. D'où mon intérêt pour le VBS !

Discussions similaires

  1. Réponses: 5
    Dernier message: 03/01/2008, 02h53
  2. Lister le contenu d'un répertoire présent dans le classpath
    Par kaptainflam dans le forum Collection et Stream
    Réponses: 4
    Dernier message: 28/08/2007, 16h08
  3. Réponses: 5
    Dernier message: 30/08/2006, 18h23
  4. Lister le contenu d'un répertoire
    Par rob_57 dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 09/10/2005, 19h16
  5. Lister le contenu d'un répertoire distant
    Par dody dans le forum Langage
    Réponses: 3
    Dernier message: 06/10/2005, 17h23

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