Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1532 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  Bitos Java [applet - Php]

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Bitos Java [applet - Php]

n°728174
Berceker U​nited
PSN : berceker_united
Posté le 17-05-2004 à 12:05:15  profilanswer
 

Bonjours à tous.
 - J'aurai souhaité faire un applet permettant d'administrer mes 2 sites internet. Le sites est en PHP/Mysql.
Avant l'administration se faisait via une page HTMl généré via php (truc bateau quoi ;)). Maintenant je souhaite le faire via une application avec interface graphique.  
Pourquoi ? Parce que cela me permettra de me familiariser avec la syntaxe et l'environnement java.  
Ma question est : Que je ne souhaite pas forcement que l'applet puisse communiquer avec la base de données directement (je pense pas que mon hebergeur le permet) mais je souhaitais que l'applet ne soit qu'un interface visuel et envoy les ordres a des fichiers php qui eux feront toute l'opération en back office et ce dernier lui répond en XMl.
 
BDD => php => XML => Applet => Requette(?) => PHP => BDD.
 
Est ce que cela est possible et viable au final.
Je répète, c'est juste pour avoir une elle interface que je fais à ma sauce et me familiariser avec Java.
Merci  :jap:  
 
 
 
 
 
hop hop hop , allé les vaches encore 10!...
 [:bigoudi33]


Message édité par Berceker United le 17-05-2004 à 13:06:41
mood
Publicité
Posté le 17-05-2004 à 12:05:15  profilanswer
 

n°728780
darklord
You're welcome
Posté le 17-05-2004 à 12:17:29  profilanswer
 

Berceker United a écrit :

j'ouvre cette section pour moi afin d'y déposer mes question


 
[:mlc]

n°728855
Berceker U​nited
PSN : berceker_united
Posté le 17-05-2004 à 13:03:48  profilanswer
 


bon ok je retire, ce que je voulais dire par là c'etais que si j'ai plusieur question , je vais pas ouvir plusieurs topics cela restera que sur celui-ci.
désolé !


Message édité par Berceker United le 17-05-2004 à 13:07:58
n°729663
veryfree
Posté le 17-05-2004 à 23:40:19  profilanswer
 

il est dur hein :D


Message édité par veryfree le 17-05-2004 à 23:40:32
n°729910
Berceker U​nited
PSN : berceker_united
Posté le 18-05-2004 à 10:22:38  profilanswer
 

veryfree a écrit :

il est dur hein :D


oui je vois c'la et toujours pas de réponse  :(

n°730114
veryfree
Posté le 18-05-2004 à 12:48:53  profilanswer
 

spa compliqué, t'utilise JDBC mais bon c'est pas genial dans une applet :/

n°738092
Berceker U​nited
PSN : berceker_united
Posté le 25-05-2004 à 16:58:27  profilanswer
 

veryfree a écrit :

spa compliqué, t'utilise JDBC mais bon c'est pas genial dans une applet :/


JDBC c'est pas connexion au base?  
Moi je veux pas passer par cela. Mon hebergeur n'as pas je veux juste pouvoir faire des requette HTTP sur le server en gros je veux que l'applet puisse faire un post ou get sur un fichier php qui lui gere son bizenesse derriere. l'applet ne serait qu'un interface graphique d'une application web?

n°738095
veryfree
Posté le 25-05-2004 à 17:01:32  profilanswer
 

tu veux utiliser l'applet comme simple formulaire HTML c'est ca?
 
quel interet [:le kneu]

n°738100
veryfree
Posté le 25-05-2004 à 17:05:08  profilanswer
 

sinon je crois que ca peux t'aider:
 

Code :
  1. String login=tfLogin.getText();
  2. String pass=new String(tfpass.getText());
  3. HttpURLConnection cnx = (HttpURLConnection) url.openConnection();
  4.               cnx.setRequestMethod("POST" );
  5.      
  6.               StringBuffer sb = new StringBuffer("login=" );
  7.               sb.append(user);
  8.               sb.append("&pass=" );
  9.               sb.append(pass);
  10.               cnx.setDoInput(true);
  11.               cnx.setDoOutput(true);
  12.               cnx.connect();
  13.      
  14.               OutputStreamWriter out = new OutputStreamWriter(cnx.getOutputStream());
  15.               out.write(sb.toString());
  16.               out.write("\r\n" );
  17.               out.flush();
  18.               out.close();
  19.      
  20.               cnx.disconnect();

n°738110
Berceker U​nited
PSN : berceker_united
Posté le 25-05-2004 à 17:17:18  profilanswer
 

veryfree a écrit :

tu veux utiliser l'applet comme simple formulaire HTML c'est ca?
 
quel interet [:le kneu]


Merci pour le bout de code.
Concernant le pourquoi je l'ai expliqué, effectivement cela n'a aucun interet en soit mais c'est juste pour me familiarisé avec java dans des cas ou je pourrais m'en servire. J'ai un autre projet de faire une base de donnée en XML. je sais qu'il y en a des milliers de déjà fait. :)

mood
Publicité
Posté le 25-05-2004 à 17:17:18  profilanswer
 

n°937652
azubal
Posté le 05-01-2005 à 12:13:25  profilanswer
 

hop petit up!
je souhaite justement faire passer un objet serializé venant d'un applet pour le sauvegarder sur le serveur au travers d'une requete http qui serait recuperé par un fichier php qui l'ecrirait sur le serveur! (pfiou)
si je veux faire ca , cest car je ne peux pas utiliser de servlet et que je ne vois aucune autre maniere de serialiser un objet a partir d'un applet sur le serveur :(

n°937691
the real m​oins moins
Posté le 05-01-2005 à 12:44:16  profilanswer
 

et ton php il va le déserializer comment ton objet java?


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°937694
benou
Posté le 05-01-2005 à 12:44:35  profilanswer
 

c'est quoi la question ?


---------------
ma vie, mon oeuvre - HomePlayer
n°937696
benou
Posté le 05-01-2005 à 12:45:07  profilanswer
 

the real moins moins a écrit :

et ton php il va le déserializer comment ton objet java?


j'avais cru comprendre que c'était juste pour être sauvegardé en base ...


---------------
ma vie, mon oeuvre - HomePlayer
n°937704
the real m​oins moins
Posté le 05-01-2005 à 12:49:21  profilanswer
 

ha ouais.
jsais meme pas si on peut recuperer un flux directement en php; j'ai comme un doute


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°937709
benou
Posté le 05-01-2005 à 12:51:17  profilanswer
 

the real moins moins a écrit :

ha ouais.
jsais meme pas si on peut recuperer un flux directement en php; j'ai comme un doute


je connais pas PHP, mais je vois vraiment pas pkoi on pourrait pas ...


---------------
ma vie, mon oeuvre - HomePlayer
n°937711
the real m​oins moins
Posté le 05-01-2005 à 12:51:57  profilanswer
 

benou a écrit :

je connais pas PHP, mais je vois vraiment pas pkoi on pourrait pas ...


ben alors tais-toi [:spamafote]
que tu me dises "ça serait con", je serais d'acc' avec toi, mais que tu me dises que tu "vois pas pq on pourrait pas", alors que tu connais pas...


Message édité par the real moins moins le 05-01-2005 à 12:52:42

---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°937717
phnatomass
Je m'empare de ton esprit !!
Posté le 05-01-2005 à 12:57:23  profilanswer
 

De nombreux site en PHP accepte l'"upload" de document. Donc il est possible d'ouvrir une socket vers le serveur et d'y faire un POST de l'objet sérialisé.

n°937722
benou
Posté le 05-01-2005 à 12:58:54  profilanswer
 

ben vu que tu peux récupérer le contenu d'un fichier que tu upload, vu que tu peux récupérer un flux xml, vu que tu peux récupérer les champs d'un formulaire, je vois pas pkoi tu pourrais pas récupérer n'importe quel type de flux.
 
Ce serait completement idiot pour un framework web se genre de limitation... donc je ne connais pas, mais ca m'empeche pas d'être persuadé que c'est faisable.  [:spamafote]


---------------
ma vie, mon oeuvre - HomePlayer
n°937729
dreameddea​th
Posté le 05-01-2005 à 13:02:08  profilanswer
 

Bah je vois pas trop pkoi passer par une applet pour faire ça... Pkoi pas une appli java normal qui dialogurait avec ta page php. Je pense que code l'info (commandes et retours) sous format xml serait pas mal : en xml-rpc par exemple (voir http://fr.php.net/manual/fr/ref.xmlrpc.php et http://www.xmlrpc.com/). Mais attention ça doit être long et complexe à faire...
 
on peut bien poster du binaire (images par exemple) donc pourquoi des objets sérialisés (qui ne sont que tu binaire après tout)... mais bon faudrait trouver le bon type de POST et maitriser pas mal le protocol HTTP.

n°937734
the real m​oins moins
Posté le 05-01-2005 à 13:05:08  profilanswer
 

phnatomass a écrit :

De nombreux site en PHP accepte l'"upload" de document. Donc il est possible d'ouvrir une socket vers le serveur et d'y faire un POST de l'objet sérialisé.


l'upload de fichier en php : $_FILE['truc']; t'as pas acces au flux là.


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°937737
the real m​oins moins
Posté le 05-01-2005 à 13:07:18  profilanswer
 

benou a écrit :

ben vu que tu peux récupérer le contenu d'un fichier que tu upload, vu que tu peux récupérer un flux xml, vu que tu peux récupérer les champs d'un formulaire, je vois pas pkoi tu pourrais pas récupérer n'importe quel type de flux.
 
Ce serait completement idiot pour un framework web se genre de limitation... donc je ne connais pas, mais ca m'empeche pas d'être persuadé que c'est faisable.  [:spamafote]


 
oui mais là je pensais plutot au flux http complet, pas un flux artificiel créé par le framework en découpant le flux http sur base des entetes (parce que je pensais a pousser vers un UrlOutputStream comme un bourin [:kapukapu] )


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°937744
phnatomass
Je m'empare de ton esprit !!
Posté le 05-01-2005 à 13:10:11  profilanswer
 

the real moins moins a écrit :

l'upload de fichier en php : $_FILE['truc']; t'as pas acces au flux là.


Ben qu'est ce que ça change ?
Coder en java l'upload HTTP de fichier c'est faisable. Je ne vois pas pourquoi tu t'obstines sur l'accès au flux vu que l'upload de fichier fonctionne très bien en php.
2eme choix faire un POST de l'objet serialisé si l'on sait à l'avance que cet objet n'est pas trop gros.

n°937751
benou
Posté le 05-01-2005 à 13:14:03  profilanswer
 

the real moins moins a écrit :

oui mais là je pensais plutot au flux http complet, pas un flux artificiel créé par le framework en découpant le flux http sur base des entetes (parce que je pensais a pousser vers un UrlOutputStream comme un bourin [:kapukapu] )


j'ai bien compris, mais ca doit être faisable, c'est obligé ...
l'accès au file ou aux paramêtre logiquement c'est juste une surcouche de facilitation, comme le getParameter() est une facilitation utilisant le getInputStream() dans une servlet quoi ...


---------------
ma vie, mon oeuvre - HomePlayer
n°937883
azubal
Posté le 05-01-2005 à 14:40:38  profilanswer
 

une fois que j'ai attrapé mon objet serializé avec php je l'ecris dans un fichier et je le recupere directement en java!
bref, pour passer l'objet serialisé en http, jai trouvé XSTREAM qui a l'air pas mal du tout mais qui ne fonctionne pas avec les Applet ... :( alors je suis pas plus avancé..

n°937901
the real m​oins moins
Posté le 05-01-2005 à 14:53:56  profilanswer
 

donc tu ne sais pas comment sérialiser un objet, en gros, c'est ça?


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°937927
azubal
Posté le 05-01-2005 à 15:10:11  profilanswer
 

bon, je progresse, jarrive a envoyer une requette http (POST) vers mon fichier php sur le serveur comme cela :

Code :
  1. try{                 
  2.           URL url = new URL(getCodeBase(),"writeobject.php" );
  3.           HttpURLConnection cnx = (HttpURLConnection) url.openConnection();
  4.          cnx.setRequestMethod("POST" );
  5.          
  6.          StringBuffer sb = new StringBuffer();
  7.          sb.append("message ecrit sur le serveur en passant par post" );
  8.        
  9.           cnx.setDoInput(true);
  10.          cnx.setDoOutput(true);
  11.          cnx.connect();
  12.          
  13.          OutputStreamWriter out = new OutputStreamWriter(cnx.getOutputStream());
  14.          out.write(sb.toString());
  15.          out.write("\r\n" );
  16.          out.flush();
  17.          out.close();
  18.        
  19.          BufferedReader reader = new BufferedReader(new InputStreamReader(cnx.getInputStream()));
  20.        String ligne;
  21.         while ((ligne = reader.readLine()) != null) {
  22.            System.out.print(ligne);
  23.         }
  24.         reader.close();
  25.        
  26.          cnx.disconnect();
  27.        }
  28.        catch(Exception e){
  29.         e.printStackTrace();
  30.        }


 
et voici mon code php :

Code :
  1. <?php
  2. $fp = fopen("file.txt","w" );
  3. /*
  4. il faut activer cette option dans php.ini pour activer la
  5. variable $HTTP_RAW_POST_DATA qui retourne l'entete RAW POST!
  6. ; Always populate the $HTTP_RAW_POST_DATA variable.
  7. always_populate_raw_post_data = On
  8. */
  9. fwrite($fp,$HTTP_RAW_POST_DATA);
  10. fclose($fp);
  11. ?>


 
j'ai bien un fichier "file.txt" qui s'ecrit sur le serveur et qui contient : "message ecrit sur le serveur en passant par post"
si j'arrive a faire marcher XStream, je pourrais envoyer mon objet serializé sous forme d'une chaine xml...
 
edit : quoique en faite nan, je dois pouvoir envoyer mon objet serialisé directement avec le mecanisme de java! je test :sleep:


Message édité par azubal le 05-01-2005 à 15:58:36
n°938158
azubal
Posté le 05-01-2005 à 16:51:01  profilanswer
 

bon bah j'ai reussi :)
voici le code :
 
la methode qui post l'objet a serialiser

Code :
  1. public void saveList(){
  2. ObjectOutputStream out;
  3. BufferedReader reader;
  4. HttpURLConnection cnx;
  5. try{
  6.  // nom du fichier qui va recevoir l'objet serialisé a ecrire
  7.           URL url = new URL(getCodeBase(),"writeobject.php" );
  8.           cnx = (HttpURLConnection) url.openConnection();
  9.          cnx.setRequestMethod("POST" );
  10.                                    
  11.           cnx.setDoInput(true);
  12.          cnx.setDoOutput(true);
  13.          cnx.connect();
  14.  out = new ObjectOutputStream(cnx.getOutputStream());
  15.                 // objet a serialiser :
  16.                 out.writeObject(monObjet);
  17.        
  18.          reader = new BufferedReader(new InputStreamReader(cnx.getInputStream()));
  19.        String ligne;
  20.         while ((ligne = reader.readLine()) != null) {
  21.            System.out.println(ligne);
  22.         }       
  23.           out.flush();
  24.  out.close();
  25.         reader.close();
  26.                 cnx.disconnect();
  27.        }
  28.        catch(Exception e){
  29.         e.printStackTrace();
  30.        }
  31. }


 
 
le code du fichier php qui recoit l'objet a serialiser et qui l'ecrit :

Code :
  1. <?php
  2. // nom du fichier qui recevra l'objet serialisé
  3. $fp = fopen("objectserialized.cmi","w" );
  4. /*
  5. il faut activer cette option dans php.ini pour activer la
  6. variable $HTTP_RAW_POST_DATA qui retourne l'entete RAW POST!
  7. ; Always populate the $HTTP_RAW_POST_DATA variable.
  8. always_populate_raw_post_data = On
  9. */
  10. fwrite($fp,$HTTP_RAW_POST_DATA);
  11. fclose($fp);
  12. ?>


 
 
 
la methode qui va chercher le fichier contant l'objet serialisé et qui le retourne :  
 

Code :
  1. public Object loadList(){
  2. Object cp = null;
  3. ObjectInputStream in;
  4. HttpURLConnection cnx;
  5. try{
  6.     // ouverture du fichier qui contient l'objet serialisé
  7.  URL url = new URL(getCodeBase(),"objectserialized.cmi" );
  8.  cnx = (HttpURLConnection) url.openConnection();
  9.  in = new ObjectInputStream(cnx.getInputStream());
  10.  // creation de l'objet (cast)
  11.  cp = (Object)in.readObject();
  12.  in.close();
  13.  cnx.disconnect();
  14. }
  15.        catch(Exception e){
  16.         e.printStackTrace();
  17.        }
  18.        return cp;
  19. }


 
j'ai testé ca marche :)
 
voili voilu, je pense ne pas avoir fait d'erreurs! jespere :)


Message édité par azubal le 05-01-2005 à 17:03:28
n°938206
benou
Posté le 05-01-2005 à 17:30:59  profilanswer
 

on pourrait critiquer la gestion d'exception mais bon, c'est pas mal ;)


---------------
ma vie, mon oeuvre - HomePlayer
n°938398
azubal
Posté le 05-01-2005 à 19:48:51  profilanswer
 

bah justement, est ce que tu pourrais la critiquer ?? (il n'y a que comme ca qu'on apprends, et je debute en java!) :D

n°938409
benou
Posté le 05-01-2005 à 19:54:49  profilanswer
 

bha simplement tu ne gère pas tes exceptions. par exemple, ta méthode loadList() devrait cracher une exception si il y a un problême de communication avec le site distant ... elle pourrait cracher une autre Exception si l'objet est d'un type qui lui ait inconnu ... là tu te contente de logguer l'exception et de retourner null. ce qui fait que l'appelant sait qu'il y a eu un problême, mais il ne sait pas quel type de problême (et encore, en esperant qu'il teste que la aleur retournée est null, sinon => nullpointerexception :/), et donc il ne peut pas agir en conséquence [:spamafote]


---------------
ma vie, mon oeuvre - HomePlayer
mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  Bitos Java [applet - Php]

 

Sujets relatifs
Impression Avec Java[Php] Cryptage de données
exec... sous IIS/PHP 4.3.3[PHP] - Problème avec la fonction header
[résolu][php] pb variable dynamiqueFonction PHP dans un onclick
[PHP] GLOBALS[PHP] Galerie photo + upload :: Venez tester ::
SVG / Java / Batik -> retour d'expériences...java et les guillemt
Plus de sujets relatifs à : Bitos Java [applet - Php]


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR