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 :

comment accéder aux ressources locales à partir d'une appli web


Sujet :

JavaScript

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 9
    Points : 5
    Points
    5
    Par défaut comment accéder aux ressources locales à partir d'une appli web
    Bonjour,
    Dans le cadre de mon stage, je dois trouver une solution pour pouvoir acceder aux ressources locales du poste client à partir d'une application web(execution de programme, lecture et ecriture de fichiers). Il n'est pas possible de le faire normalement pour des raisons de securité mais il existe plusieurs solutions pour contourner le problème en faisant signer un certificat par l'utilisateur. j'ai trouvé ceci:
    - avec une applet java signée (j'ai essayé de suivre les tutos, je crois avoir tous fait bien mais sans succès)
    - avec une appli en XUL signée. le défaut est que ca ne marchera que pour le navigateur firefox et autres plateformes Mozilla.
    D'autres solutions comme Adobe Air ne me conviendrait pas car je voudrai que tous se passe dans le navigateur.

    Donc je vous demande si vous avez deja utilisé ces technologies la, si vous en connaissez d'autres pour accéder au poste client parce que je suis un peu coincé la
    Merci d'avance pour vos réponse.

  2. #2
    Expert confirmé
    Avatar de RomainVALERI
    Homme Profil pro
    POOête
    Inscrit en
    Avril 2008
    Messages
    2 652
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : POOête

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 652
    Points : 4 164
    Points
    4 164
    Par défaut
    Il y a aussi les ActiveX dans un contexte IE... donc si en effet il te faut du cross-browser... c'est pas ça ^^

    ...pour les linguistes et les curieux >>> générateur de phrases aléatoires

    __________________

  3. #3
    Expert confirmé
    Avatar de emmanuel.remy
    Inscrit en
    Novembre 2005
    Messages
    2 855
    Détails du profil
    Informations personnelles :
    Âge : 55

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 855
    Points : 4 045
    Points
    4 045
    Par défaut
    avec une applet java signée (j'ai essayé de suivre les tutos, je crois avoir tous fait bien mais sans succès)
    C'est une bonne solution. Comment t'y es tu pris et à quelle type de ressource as tu essayé d'accéder ?

    ERE
    Quand une tête pense seule, elle devient folle.

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 9
    Points : 5
    Points
    5
    Par défaut
    @Romain: oui j'avais vu aussi mais j'ai écarté directement vu que c'est simplement sur IE. en même temps c'est le même problème que les applis signée XUL.

    @emanuel: alors je te dis ce que j'ai fait:
    - création des fichiers testExecution.html:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <html>
    <head>
        <title>Mon applet Java</title>
    </head>
    <body>
         <applet code="testExecution.class" width=300 height=100>
         </applet>
    </body>
    </html>
    - création du fichier testExecution.java ( un bouton qui va ouvrir open office):
    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
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    import javax.swing.*;
    import java.awt.*;
    import java.awt.event.*;
    import java.io.Serializable;
     
     
    public class testExecution extends JApplet {
     
        public void init() {
     
        	System.out.println("init");
        	designScreen();  
     
        } 
     
        public void start(){
     
        	System.out.println("start");
     
        return;}
     
     
     
        public void stop(){
     
        	System.out.println("stop");
     
        return;}
     
     
     
        public void destroy(){
     
        	System.out.println("destroy");
     
        return;}
     
        final void designScreen(){
     
        	System.out.println("designScreen");
     
        	Button b = new Button("open application");
        	b.addActionListener(new MyActionListener());
     
     
        	Label listLabel   = new Label("application");
        	Panel listPanel   = new Panel();
        	listPanel.setLayout(new BorderLayout());
     
     
     
        	listLabel.setAlignment(Label.CENTER);
     
        	listPanel.setBackground(Color.lightGray);
     
        	setBackground(Color.white);
     
     
     
          	listPanel.add("North",listLabel);
     
         	listPanel.add("South",b);
     
        	add(listPanel);
     
        return;}
     
     
     
     
        class MyActionListener implements ActionListener
        {
            public void actionPerformed(ActionEvent e)
            {
                System.out.println("Hello There");
            	try
    	        {           
    	             Runtime.getRuntime().exec(new String[] { "/usr/bin/ooffice" });
    	        } 
    	        catch (Exception ex)
    	        {
    	           ex.printStackTrace();            
    	        }
     
        		}
     
     
            }
     }
    - ensuite j'ai généré ma clé:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    keytool -genkey -alias TestApplet
    - j'ai compilé mon fichier java; j'ai créé un jar contenant le .class
    - j'ai signé mon archive avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    jarsigner -verbose TestExecution.jar TestApplet
    Donc j'ai a priori suivi ce que disaient la plupart des gens sur les forums, mais quand je teste soit avec 'appletviewer' ou par mon navigateur Firefox, il me met une erreur du style:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Java Plug-in 1.6.0_12
    Utilisation de la version JRE 1.6.0_12 Java HotSpot(TM) Client VM
    Répertoire d'accueil de l'utilisateur = /home/loic
    ----------------------------------------------
    java.security.AccessControlException: access denied (java.io.FilePermission /usr/bin/ooffice execute)
    et je n'ai pas la fenêtre d'authentification qui apparait.

  5. #5
    Expert confirmé
    Avatar de emmanuel.remy
    Inscrit en
    Novembre 2005
    Messages
    2 855
    Détails du profil
    Informations personnelles :
    Âge : 55

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 855
    Points : 4 045
    Points
    4 045
    Par défaut
    Tu ne lui dis pas d'accéder à la class dans le jar...
    Donc plutôt ceci:
    <html>
    <head>
    <title>Mon applet Java</title>
    </head>
    <body>
    <applet code="testExecution.class"
    archive="TestExecution.jar"
    width=300 height=100>
    </applet>
    </body>
    </html>
    et enlève ta class du directory.

    ERE
    Quand une tête pense seule, elle devient folle.

  6. #6
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 9
    Points : 5
    Points
    5
    Par défaut
    avec un fichier html de ce type:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <html>
    <head>
        <title>Mon applet Java</title>
    </head>
    <body>
        <applet codebase="http://127.0.0.1/GearsSamplesAndTools/test/applet/" archive="STestExecution.jar" code="testExecution.class" width="300" height="300">
    <param name="archive" value="StestExecution.jar">
    <param name="language" value="FR">
    <b>Your browser isn't Java compatible.<br>Votre navigateur n'est pas compatible Java.</b>
    </applet>
    </body>
    </html>
    et en ayant enlever le fichier .class de mon répertoire, il ne trouve pas la classe:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     >>appletviewer testExecution.html 
    charger : classe testExecution.class introuvable.
    java.lang.ClassNotFoundException: testExecution.class

  7. #7
    Membre régulier
    Inscrit en
    Janvier 2009
    Messages
    155
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 155
    Points : 103
    Points
    103
    Par défaut
    Une page HTA avec du Vbscript devrait faire l'affaire, non ?

  8. #8
    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 637
    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 637
    Points : 66 661
    Points
    66 661
    Billets dans le blog
    1
    Par défaut
    VBScript = exclusif IE ...

    Sinon peut être en passant par flash ?

    Mais en gros comme sus dit pour des raisons de sécurité c'est limité ...
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  9. #9
    Membre expérimenté Avatar de DoubleU
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 106
    Points : 1 388
    Points
    1 388
    Par défaut
    Et d'ailleurs, c'est pas vraiment dans l'esprit du web que d'accéder au système du client...

  10. #10
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 9
    Points : 5
    Points
    5
    Par défaut
    @DoubleU: c'est vrai d'un certain côté mais si tu veux commencé à faire des applis web qui s'intègre plus au poste de travail tu dois passer par là. De plus, ce test s'inscrit dans un projet utilisant Google Gears pour passer une appli web en mode déconnecté. Donc mes fichier web que je vais stockés en local, j'ai besoin de les ouvrir avec les outils du poste client.

  11. #11
    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 637
    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 637
    Points : 66 661
    Points
    66 661
    Billets dans le blog
    1
    Par défaut
    C'est a mon avis une erreur de choix de technologie ...
    Mais cela ne reste que mon avis
    L'accès au local selon moi devrait passer par une appli locale qui elle fera ensuite l'interface avec le web ... et pas tenter de confier cette partie au web ...
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  12. #12
    Expert confirmé
    Avatar de RomainVALERI
    Homme Profil pro
    POOête
    Inscrit en
    Avril 2008
    Messages
    2 652
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : POOête

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 652
    Points : 4 164
    Points
    4 164
    Par défaut
    Citation Envoyé par SpaceFrog Voir le message
    C'est a mon avis une erreur de choix de technologie ...
    Mais cela ne reste que mon avis
    L'accès au local selon moi devrait passer par une appli locale qui elle fera ensuite l'interface avec le web ... et pas tenter de confier cette partie au web ...
    +1 ^^

    ...pour les linguistes et les curieux >>> générateur de phrases aléatoires

    __________________

  13. #13
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 9
    Points : 5
    Points
    5
    Par défaut
    oufffff ca y est j'ai trouvé après une journée et demi
    en fait java a son propre cache de class qu'il faut vider avant chaque test (à faire dans la console java)
    donc voila, j'ai eu la fenêtre d'authentifiation et j'ai accedé à ce que je voulais.
    merci à vous.

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

Discussions similaires

  1. Accéder aux éléments XAML à partir d'une autre classe
    Par Keitboor dans le forum Silverlight
    Réponses: 4
    Dernier message: 24/02/2009, 14h02
  2. Réponses: 7
    Dernier message: 10/04/2008, 13h59
  3. accéder aux ressources locales
    Par Pol63 dans le forum VB.NET
    Réponses: 5
    Dernier message: 20/07/2007, 11h31
  4. Comment accèder aux composants graphique à partir d'un autre thread ?
    Par PerpetualSnow dans le forum Windows Forms
    Réponses: 6
    Dernier message: 07/03/2007, 11h11
  5. Réponses: 9
    Dernier message: 03/12/2004, 11h35

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