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

Applets Java Discussion :

[Applet] Parcourir tous les fichiers d'une URL


Sujet :

Applets Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de Frac10
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    81
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 81
    Par défaut [Applet] Parcourir tous les fichiers d'une URL
    Bonjour tout le monde, je tiens tout d'abord à dire que je débute en Java,

    alors voilà mon problème est le suivant : j'ai réalisé un programme Java, en l'occurence une applet, qui charge des fichiers contenus dans un certain répertoire.
    Bon cela fonctionne normalement quand je la lance comme une application sur mon PC (c'est-à-dire lorsque les fichiers sont dans un répertoire de mon PC).
    Or, je voudrais que cela fonctionne lorsque je mets le dossier contenant ces fichiers ainsi que l'applet sur une même adresse FTP.

    Est-ce que quelqu'un aurait une idée sur comment parcourir ce dossier (je le rappelle, le dossier et l'applet sont sur la même adresse, donc il ne devrait pas y avoir de restrictions de sécurité logiquement).

    Merci d'avance pour toute aide !!!

    P.S. : J'arrive à me connecter (à l'aide d'une Classe FTPConnection récupérée sur internet) à l'adresse FTP quand je lance mon application sur mon PC (et ainsi à scanner le répertoire), mais quand j'utilise mon programme en tant qu'Applet, j'ai une erreur de sécurité "java.security.AccessControlException: access denied (java.net.SocketPermission ftpperso.free.fr resolve)", alors que mon applet est sur mon adresse FTP... Enfin, je me demande si c'est bien nécessaire de me connecter à l'adresse alors que l'applet y est...

  2. #2
    Membre expérimenté Avatar de @ldehan
    Profil pro
    Développeur Java
    Inscrit en
    Mars 2004
    Messages
    215
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2004
    Messages : 215
    Par défaut
    Citation Envoyé par Frac10
    Enfin, je me demande si c'est bien nécessaire de me connecter à l'adresse alors que l'applet y est...
    non c'est clair... pas besoin de passer par le net pour acceder a des fichiers en local.

    fais vois comment tu accedais a ces fichiers quand c'etait sur ton disque local, c'est sans doute pas grand chose

  3. #3
    Membre confirmé Avatar de Frac10
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    81
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 81
    Par défaut
    Merci pour ta réponse rapide !

    Je te mets le bout de code correspondant lorsque l'applet est lancée directement sur le disque local :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    String[] listeFichiers;
    File repertoire = new File("../OBJ Without Constants");
    listeFichiers = repertoire.list();
     
    if ( listeFichiers != null)
    {
          for (int j = 0 ; j<listeFichiers.length ; j++) {
                System.out.println(listeFichiers[j]);
          }
    }
    Voilà, c'est pas bien sorcier, mais quand j'essaye de le lancer en tant qu'Applet sur le FTP, j'obtiens une erreur : "java.security.AccessControlException: access denied (java.io.FilePermission .\OBJ Without Constants read)" à la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    listeFichiers = repertoire.list();

  4. #4
    Expert éminent
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Billets dans le blog
    1
    Par défaut
    Salut,


    Les Applets sont exécutés sur le poste du client. Et les règles de sécurité interdise de lire le contenu d'un répertoire local. C'est pour cela que tu obtiens une java.security.AccessControlException...

    Si tu veux vraiment lire le contenu d'un répertoire local sur le poste client, il faut que tu signes ton Jar afin de l'authoriser à effectuer certaine action.




    Maitenant si tu veux lire le contenu d'un répertoire sur le serveur, il faut en effet que tu utilises une connection FTP (ou autre), étant donné que ton applet s'exécute sur le poste client. Toutefois, et toujours pour des raisons de sécurité, une applet non-signé ne peut se connecter que sur la machine depuis laquelle elle a été lancé...

    Or, ton applet est lancé depuis une site du style tonCompte.free.fr et tu essaye de te connecter au site ftpperso.free.fr, qui sont considéré comme deux sites distincts, et donc tu te retrouve encore bloqué... Il faut donc signer ton applet pour pouvoir te connecter à "d'autre" site...


    Pour plus d'information sur les applets signées : http://www.developpez.net/forums/sho...d.php?p=129387


    Maintenant, si tu veux bien récupérer la liste des fichiers d'un répertoire de ton serveur, sans pour autant signer ton applet, tu peux utiliser une page PHP sur ton serveur (free supporte le PHP) qui te renverra la liste des fichiers d'un répertoire (en XML, texte formaté, ou autre format) que tu récupéreration via un URL.openConnection(). Cela devrait normalement marcher puisque tu te connectes sur la même machine...

    Pour afficher la liste les fichiers en PHP, tu trouvera ton bonheur dans les sources PHP : http://php.developpez.com/sources/?p...iers#listereps

    a++

  5. #5
    Membre confirmé Avatar de Frac10
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    81
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 81
    Par défaut
    Ok, merci bien pour ta réponse !

    Effectivement, j'avais essayé avec un .jar signé, mais çà ne marchait pas, la fenêtre se fermait automatiquement (sans que je sache pourquoi)...

    Sinon en ce qui concerne la solution du PHP, çà me conviendrait effectivement parfaitement, vu que çà semble un peu "bourrin" de se connecter à l'adresse où le fichier est déjà.

    Bon, je regarde le lien et je vous tiens au courant.

    Encore merci !!!

  6. #6
    Membre confirmé Avatar de Frac10
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    81
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 81
    Par défaut
    Heu désolé de re-déranger, mais j'ai un petit doute sur l'utilisation du PHP dans le cas présent (parce que çà aussi je ne maîtrise pas du tout, donc avant de me lancer là-dedans...) :
    En fait j'ai pour mon application, j'ai besoin de lire les fichiers du répertoire (en fait ce sont des objets WaveFront que je charge grâce au loader de l'API Java 3D) : le script en PHP ne va-t-il pas juste me renvoyer les noms de ces fichiers ? Et ensuite quand je les "chargerai", aurai-je une AccessControlException, comme dans l'autre cas ?

    C'est juste pour être sûr avant de me lancer...

    Merci d'avance !!!

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 04/07/2009, 15h05
  2. Inclure tous les fichiers d'une solution
    Par soso78 dans le forum Visual Studio
    Réponses: 1
    Dernier message: 14/10/2008, 16h47
  3. parcourir tous les textbox d'une form
    Par olibara dans le forum C#
    Réponses: 2
    Dernier message: 23/09/2008, 12h28
  4. Réponses: 1
    Dernier message: 06/12/2007, 16h50
  5. [VBA-E] Parcourir tous les boutons d'une feuille
    Par striky2 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 21/05/2006, 08h51

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