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 :

Lancer une applet Java utilisant du Php


Sujet :

Applets Java

  1. #1
    Membre éclairé
    Inscrit en
    Avril 2007
    Messages
    521
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 521
    Par défaut Lancer une applet Java utilisant du Php
    Bonjour j'ai une applet qui a besoin de données provenant du php, j'arrive à lancer l'applet grâce à l'url qui pointe sur le fichier php que voici
    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
    <html>
    <body>
     
     <applet 
            code="monApplet.ExamenDuJour" 
            codebase="." archive=".\Console_fat.jar" 
            width="1300" 
            heigth="5000"
         >
    <?php
    // le code PHP ---------
     
    require_once 'database.php';
    require_once 'locale.php';
    $database = "dataBase";
    $user = "root";
    $password = "titi"; 
     
    $rows = array();
    $studies= array();
     
    // connexion à la bd Mysql
    $dbcon = new MyDatabase($hostname, $database, $user, $password);
     
     
     
    /************************************************/
    // récupération du tableau contenant le résultat de la requête des patients du jour
    	$studies = $dbcon->getTodayStudiesBis(); // méthode définie dans database.php
    	$num_rows = sizeof($studies);// taille du tableau donc le nombre de ligne à avoir dans l'applet
    	$chaine="";
     
    	// passage de paramètres à l'applet java
    	echo '<param name=NbElement value="'.$num_rows.'" />';
     
         foreach ($studies as $i){
     
    $chaine=($chaine . $i[2] . " / " . $i[3] . $i[4] . " / " . $i[5] . " / ".$i[6] . " / " .$i[7] ." /" . $i[8] ." /" . $i[9] ." /" . $i[10] ." /" . $i[11] . "/");
     
     
                 }
    	          //echo $chaine."<br />";
    			  $longueurChaine=strlen($chaine)-1; //-1 pour enlever le dernier / de $chaine qui ne sert à rien
    			  $chaine=substr($chaine, 0, $longueurChaine);
    			  //echo $chaine."<br />";
    			  echo '<param name=maChaine value="'.$chaine.'" />';
    		/////////////////////////////////////////////////////////////////
    		/**********************************************
     
      
     ?>
    </applet>
    </body>
    </html>
    mais mon but est de lancer l'applet non par un navigateur mais directement d'éclipse. Le problème s'est que quand j'essaye de le faire par éclipse il me dit que l'applet n'est pas initialisée ce qui est normal puisqu'elle est en attente de certains paramètres provenant du php. Comment faire pour que ces paramètres puissent être accessible en lançant l'applet à partir d'éclipse.
    Merci

  2. #2
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    Quand tu fait la configuration du run de ton applet dans eclipse, il y a un onglet 'parameters'.

  3. #3
    Membre éclairé
    Inscrit en
    Avril 2007
    Messages
    521
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 521
    Par défaut
    quel paramètre dois-je alors y mettre?

  4. #4
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    Citation Envoyé par sebac Voir le message
    quel paramètre dois-je alors y mettre?
    Ben les meme parametre que dans la page html, a priori. On connais pas ton applet nous

  5. #5
    Membre éclairé
    Inscrit en
    Avril 2007
    Messages
    521
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 521
    Par défaut
    je suis d'accord qu'il faut donner les même paramètres que dans mon html mais mon objectif n'est pas de donner des paramètres en dur mais plutôt dynamiquement. Mon fichier php est chargé de se connecter à une bd Mysql et de renseigner l'applet avec les données collectées ce qu'il fait très bien quand je lance l'applet à partir du navigateur. Je cherche donc une procédure qui va lorsque je lance mon applet à partir d'éclipse, directement récupérer les informations attendues dans le fichier php

  6. #6
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    a priori, sur le banc de développement de l'applet (donc dans eclipse) tu te contente de mettre en dur les paramètres de configuration pour voir si elle se comporte bien. Maintenant si t'as besoin que, d'elle même, l'applet récupère des données, il va falloir faire une page php qui exporte ces données, et dans l'applet utiliser un URLConnection pour récupérer le contenu de cette page, puis en extraire à la main l'information dont tu as besoin.

  7. #7
    Membre éclairé
    Inscrit en
    Avril 2007
    Messages
    521
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 521
    Par défaut
    paraît-il que je peux passer les arguments en provenance du php via un fichier jnlp. j'ai créer un fichier jnlp que voici
    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
    <?xml version="1.0" encoding="UTF-8"?>
    <jnlp spec="1.0+" codebase="http://localhost/pacsone/monprojet/" href="launchMonJar.jnlp">
    <information>
    	<title>RemotEye for PacsOne</title>
    	<vendor>NeoLogica s.r.l.</vendor>
    	<description>RemotEye Web DICOM Viewer for PacsOne</description>
    	<icon href="REIcon.gif"/>
    	<offline-allowed/>
    	<shortcut online="true">
    	<desktop/>
    	<menu submenu="NeoLogica"/>
    </shortcut>
    </information>
    <update check="background" policy="prompt-update"/>
    <security>
    	<all-permissions/>
    </security>
    <!-- Global resources for all OS's //test dddd-->
    <resources>
    	<j2se version="1.5+"
    		href="http://java.sun.com/products/autodl/j2se"
    		initial-heap-size="64m"
    		max-heap-size="850m"/>
    	<jar href="PicolConsole_fat.jar"/>
     
    </resources>
    <!-- Windows-specific resources //-->
     
    <!-- Linux-specific resources (i386) //-->
     
    <!-- Mac OS X-specific resources //-->
    <resources os="Mac OS X">
    	<!-- JAI //-->
    	<!-- JAI Image I/O Tools (use Linux JAR by now...) //-->
    	<jar href="WSResources/jai_imageio.jar" download="eager"/>
    </resources>
    <application-desc main-class="ExamenDuJour">
     
    </application-desc>
    </jnlp>
    et j'arrive à lancer le jar de mon applet en tant qu'application à partir de ce fichier jnlp, sauf que dans mon applet pour un test j'ai codé en dur les valeurs qui normalement doivent lui être fourni par mon fichier php. On m'a parlé de la balise argument par laquelle je pourrais récupérer les infos du php qui doivent alimenter l'applet. Si quelqu'un sait comment je peux m'y prendre ça m'aiderais énormément.
    Merci

  8. #8
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    ton problème est le meme qu'avec l'applet. Les argument fournis par php, dans ce cas, seront inscrit dans le jnlp généré dynamiquement. Hors tu devra faire un jnlp statique pour tes tests dasn eclipse. T'as donc toujours le meme problème. Tu pourrais nous expliquer pourquoi coder en dure les parametre dans eclipse pour tes tests pose un problème? Les paramètres fourni par le php changent-ils toutes les minutes, rendant impossible de lancer l'applet avec ces même paramètre 5 minutes plus tard?

  9. #9
    Membre éclairé
    Inscrit en
    Avril 2007
    Messages
    521
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 521
    Par défaut
    En fait l'application dois être lancé depuis un jnlp et en ce qui concerne le codage en dur sur éclipse, je ne le trouve pas judicieux puisque l'applet doit affichée des informations provenant d'une bd. Ces infos lui sont transmises par le fichier php or si je code en dur, cela suppose que je connais les infos de ma bd donc celle que l'applet va afficher, ce qui est impossible d'autant que la bd est amenée à s'enrichir. A moin que mon raisonnement soit erroné je me suis laissé dire que si je veux exécuter mon applet à partir d'un jnlp il faut que je récupère les arguments que le php est sensé donné à l'applet dans la balise argument. Mon problème est alors de savoir comment dire au jnlp de récupérer les infos à partir du fichier php.

  10. #10
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    Citation Envoyé par sebac Voir le message
    En fait l'application dois être lancé depuis un jnlp et en ce qui concerne le codage en dur sur éclipse, je ne le trouve pas judicieux puisque l'applet doit affichée des informations provenant d'une bd. Ces infos lui sont transmises par le fichier php or si je code en dur, cela suppose que je connais les infos de ma bd donc celle que l'applet va afficher, ce qui est impossible d'autant que la bd est amenée à s'enrichir. A moin que mon raisonnement soit erroné je me suis laissé dire que si je veux exécuter mon applet à partir d'un jnlp il faut que je récupère les arguments que le php est sensé donné à l'applet dans la balise argument. Mon problème est alors de savoir comment dire au jnlp de récupérer les infos à partir du fichier php.
    en principe, c'est le jnlp qui est généré dynamiquement pour que les paramètres soient dynamiques. Ca va te poser un problème car le jnlp c'est pas dynamique. Une fois téléchargé il reste pour de bon dans le cache de javawebstart.

    pour ce qui est de l'utilisation d'une applet non-jnlp, il n'y a aucun soucis a hardcoder l'état des données à un temps T dans eclipse. Le but et de tester l'applet dans eclipse, par qu'elle affiche des données 100% à jour. Rien ne t'empeche d'aller repomper des données à jours une fois par semaine à la main et mettre à jour ta config d'eclipse. Ce qui compte c'est qu'en production, l'applet sera servie par une page php qui donnera toujours des données à jour.

  11. #11
    Membre éclairé
    Inscrit en
    Avril 2007
    Messages
    521
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 521
    Par défaut
    Je n'y comprend plus rien à ce qu'il faudrait exactement faire pour résoudre le problème mais partons du fait que je veux utiliser mon applet via jnlp, comment générer le jnlp dynamiquement afin que l'applet soit alimentée? Je ne suis pas un fan du pret à coder mais là si quelqu'un à un exemple avec les grande ligne à suivre dans le code je suis preneur.

  12. #12
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    tu fais de la meme manière que tu génèrerais une page html avec php. Tu met un <?php au moment ou tu veux commencer à faire la partie dynamique et un ?> à la fin. Avec ton code php au milieu. Il faut rajouter une spécificité pour le jnlp. Comme ton url aura comme extension .php, il va falloir instruire le browser de traiter le fichier comme un fichier jnlp et non comme une page web. Pour ce faire il faut rajouter un header "content-type" avec comme valeur "application/x-java-jnlp-file"

  13. #13
    Membre éclairé
    Inscrit en
    Avril 2007
    Messages
    521
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 521
    Par défaut
    voici mon fichier jnlp j'y ai rajouter l'applet sauf qu'une fenêtre est lancée mais l'affichage des données ne se fait pas comme lorsque je lance l'applet directement du fichier php qui se trouve au début de cette discussion
    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
    90
    <?xml version="1.0" encoding="UTF-8"?>
     
    <jnlp spec="1.0+" codebase="http://localhost/pacsone/monprojet/" href="launchMonJar.jnlp">
    <information>
    	<title>RemotEye for PacsOne</title>
    	<vendor>NeoLogica s.r.l.</vendor>
    	<description>RemotEye Web DICOM Viewer for PacsOne</description>
    	<icon href="REIcon.gif"/>
    	<offline-allowed/>
    	<shortcut online="true">
    	<desktop/>
    	<menu submenu="NeoLogica"/>
    </shortcut>
    </information>
    <update check="background" policy="prompt-update"/>
    <security>
    	<all-permissions/>
    </security>
    <!-- Global resources for all OS's //test dddd-->
    <resources>
    	<j2se version="1.5+"
    		href="http://java.sun.com/products/autodl/j2se"
    		initial-heap-size="64m"
    		max-heap-size="850m"/>
    	<jar href="PicolConsole_fat.jar"/>
     
    </resources>
    <!-- Windows-specific resources //-->
     
    <!-- Linux-specific resources (i386) //-->
     
    <!-- Mac OS X-specific resources //-->
    <resources os="Mac OS X">
    	<!-- JAI //-->
    	<!-- JAI Image I/O Tools (use Linux JAR by now...) //-->
    	<jar href="WSResources/jai_imageio.jar" download="eager"/>
    </resources>
    <!--<application-desc main-class="imageviewer.RemotEye">//-->
     
     
     
    <!--<application-desc main-class="ExamenDuJour">
     
     
    </application-desc>//-->
     
     
     <applet-desc main-class="ExamenDuJour" name="PicolConsole_fat" height="800" width="1300" >
     
    <?php
    // le code PHP ---------
     
    require_once 'database.php';
    require_once 'locale.php';
    $database = "medipacs";
    $user = "root";
    $password = "medip@cs"; 
     
    $rows = array();
    $studies= array();
     
    // connexion à la bd Mysql
    $dbcon = new MyDatabase($hostname, $database, $user, $password);
     
     
    // récupération du tableau contenant le résultat de la requête des patients du jour
    	$studies = $dbcon->getTodayStudiesBis(); // méthode définie dans database.php
    	$num_rows = sizeof($studies);// taille du tableau donc le nombre de ligne à avoir dans l'applet
    	$chaine="";
     
    	// passage de paramètres à l'applet java
    	echo '<param name=NbElement value="'.$num_rows.'" />';
    	//echo $num_rows ."<br />";
         foreach ($studies as $i){
         // les indices entre crochets dépendent de la manière dont on à rangé les éléments dans la fonction getTodayStudiesBis() voir fichier database.php
    			$chaine=($chaine . $i[2] . " / " . $i[3] . $i[4] . " / " . $i[5] . " / ".$i[6] . " / " . $i[7] ." /" . $i[8] ." /" . $i[9] ." /" . $i[10] ." /" . $i[11] . "/");
     
     
                 }
    	          //echo $chaine."<br />";
    			  $longueurChaine=strlen($chaine)-1; //-1 pour enlever le dernier / de $chaine qui ne sert à rien
    			  $chaine=substr($chaine, 0, $longueurChaine);
    			  //echo $chaine."<br />";
    			  echo '<param name=maChaine value="'.$chaine.'" />';
     
     
     
     ?>
    </applet-desc>
    </jnlp>

Discussions similaires

  1. Lancer un .jar ou une applet Java via HTML
    Par happy_man dans le forum Applets
    Réponses: 1
    Dernier message: 06/06/2013, 11h55
  2. Réponses: 5
    Dernier message: 21/12/2009, 21h31
  3. lancer une applet java depuis un autre repertoire
    Par Solly dans le forum Débuter
    Réponses: 1
    Dernier message: 01/05/2008, 12h11
  4. [VB.NET] Passage de parametres à une Applet Java
    Par AntiSAL dans le forum ASP.NET
    Réponses: 4
    Dernier message: 18/08/2004, 11h04
  5. [applet] lancer une applet mais dans une page web
    Par dzincou dans le forum Eclipse Java
    Réponses: 4
    Dernier message: 11/08/2004, 13h32

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