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

  FORUM HardWare.fr
  Programmation
  Java

  Quelques questions sur les applets

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Quelques questions sur les applets

n°626314
cerel
Posté le 30-01-2004 à 16:54:53  profilanswer
 

Bonjour tout le monde.
Je me pose quelques questions sur les applets, alors comme je vous vois venir je me permet de vous repondre de suite.
Oui j'ai lu la faq, oui j'ai fait une recherche, mais je n'ai pas trouve quelque chose qui me satisfasse pleinement.
 
Bon, avant de commencer, sachez que je sais programmer en java, donc le langage en lui meme n'est pas mon probleme. Mon probleme vient du fait que je sais pas comment developper des applets.
 
J'ai appris java que via des programmes, pas d'applets. Donc voila je suis a la recherche d'une information de base concernant les applets.
Genre ma classe doit-elle heriter d'une classe de base (java.applet me semble) ?
 
Mon but est de creer un petit applet qui me permetras de mettre a jour les "clients" sans qu'ils aient a recharger la page toutes les x secondes.
Ce serait de creer un petit applet qui serait en fait un mini serveur. Des que ce dernier recoit un paquet il fait ca :
Soit reload la page web, soit interagit avec la page (via JS) afin de la mettre a jour.
 
Cet applet serait en fait utilise dans le cadre d'une application utilisee en entreprise. Ce n'est en aucun cas pour une utilisation "mal honnete".
 
Donc les questions que je pose :
-Que faut-il pour creer un applet ?
-J'avais vu qqpart, que les applets ne pouvaient pas utiliser les sockets. Or j'aimerais les utiliser. Il-y-a-t-il un moyen pour les utiliser ?
-Comment interagir avec la page, recuperation texte, ainsi qu'interaction avec des fonctions JS.
-Les fonctions JS peuvent-elles interagir avec l'applet ?
 
Voila, voila.  
Bon si j'arrive pas a le faire via un applet, il me reste une derniere solution moins "elegante" pour arriver a mes fins, mais cela ne fait pas parti de ce forum...

mood
Publicité
Posté le 30-01-2004 à 16:54:53  profilanswer
 

n°626331
benou
Posté le 30-01-2004 à 17:21:37  profilanswer
 

Une applet ne peut ouvrir que des sockets clientes et seulement vers le serveur depuis lequel elle a été téléchargée.
Ton applet peut recharger la page (en fait, demander au browser de charger une URL).
Tu ne peux pas appeler de fonction javascript.
Tu intéragir avec l'applet depuis un script JS
 
C'est des questions de base que tu te poses ... Je te conseille de lire un titorial sur les applets plutot que de chercher des réponses sur des forums.


---------------
ma vie, mon oeuvre - HomePlayer
n°626341
darklord
You're welcome
Posté le 30-01-2004 à 17:42:52  profilanswer
 

Cerel a écrit :


Ce serait de creer un petit applet qui serait en fait un mini serveur.


 
Ca c'est une erreur de base. Une applet tourne dans le browser coté client et n'a pas accès aux ressources serveurs (excepté en utilisant une URL comme un client web classique)

n°626348
cerel
Posté le 30-01-2004 à 17:53:02  profilanswer
 

En fait mon probleme est le suivant :
Les "clients" affichent des donnees succeptibles de changer a tout momment (via d'autres clients).
Donc il y a 2 solutions a ce "probleme" :
1) Rafraichir la page du client toutes les x secondes.
2) Trouver un moyen pour que la page du client puisse etre soit mise a jour sans la recharger complement, soit pour quelle recoive un signal lui indiquant de se rafraichir.
3) Faire toute la parite cliente en java.
 
J'ai elimine la solution 3 des le debut- Le but c'etait de faire qqch de "leger" via du php/mysql sur le serveur, et quasiment rien du cote du client.
 
1) C'est la methode actuellement utilisee, et j'aimerais la changer.
 
2) Je voulais utiliser un "mini serveur" java (applet) qui recoit le signal pour rafraichir la page. Donc apparament c'est pas possible.  
 
Je vais donc me retrancher sur d'autres methodes moins "elegantes" qui me permetent de faire des "rafraichissements" plus legers de la page.
Si cela interesse qqn je pourais en parler, mais je vais pas commencer a raconter ma vie si cela n'interesse personne. :D
 
Merci pour vos reponses.


Message édité par cerel le 30-01-2004 à 17:54:41
n°626354
benou
Posté le 30-01-2004 à 18:04:02  profilanswer
 

Pkoi tu fais pas une servlet applet qui fais du pooling sur une page spéciale sur ton serveur qui répond YES ou NO en fonction du fait qu'il faille que le client rafraichisse la page ?
 
Ca te fait un applet qui fait 20 lignes à tout casser et ca fait exactemen ce que tu veux ...


Message édité par benou le 30-01-2004 à 19:06:20

---------------
ma vie, mon oeuvre - HomePlayer
n°626400
cerel
Posté le 30-01-2004 à 18:59:03  profilanswer
 

Hmmm, tu m'interesses, tu pourrais m'en dire plus sur cette "servlet" ?
 
Je vais voir ce que je trouve avec les quelques mots cles que tu m'a donne...

n°626406
benou
Posté le 30-01-2004 à 19:05:53  profilanswer
 

Cerel a écrit :

Hmmm, tu m'interesses, tu pourrais m'en dire plus sur cette "servlet" ?
 
Je vais voir ce que je trouve avec les quelques mots cles que tu m'a donne...


oups non, pardon, il fallait lire applet à la place de servlet :/
 
(je corrige)


---------------
ma vie, mon oeuvre - HomePlayer
n°626648
cerel
Posté le 30-01-2004 à 23:47:09  profilanswer
 

Alors non, car j'ai un meilleur moyen de faire ca, et sans java ... :D
 
Via une petite fonction javascript qui "mets a jours une image". Mais bon image invisible. Et apres si l'image a ete chargee "trouvee" alors je recharge la page, sinon je la recharge pas.
 
Mais bon, j'ai encore une technique "pas tres elegante" qui me permet de metre a jour la page sans la recharger ... :D

n°627213
cerel
Posté le 31-01-2004 à 21:52:31  profilanswer
 

En fait j'y ai repense, et l'idee de l'applet qui s'occupe d'aller recuperer le resultat d'une page sur le serveur n'est pas si mal.
 
Parce qu'au debut, je voulais recuperer les donnees a metre a jour (que je peux faire via ma methode pas elegante) sans reload la page. Comme j'arrive pas, j'ai pense a la methode de la demande au serveur "Dois-je rafraichir la page".
 
Ce que je voudrais faire, c'est via l'applet recuperer soit, les donees a metre a jour, soit un JS qui s'en occupe.
 
D'apres ce que benou as dit, je ne peux pas appler des fonctions JS depuis l'applet, mais puis-je interagir directement avec les elements html ?
 
Promis, je vais arreter de vous ennuyer et faire des tests par moi meme. :D :D

n°627397
benou
Posté le 01-02-2004 à 00:00:43  profilanswer
 

Cerel a écrit :


puis-je interagir directement avec les elements html ?


non


---------------
ma vie, mon oeuvre - HomePlayer
mood
Publicité
Posté le 01-02-2004 à 00:00:43  profilanswer
 

n°627506
the real m​oins moins
Posté le 01-02-2004 à 01:28:30  profilanswer
 

bah si en js, justement
mais bon[:mlc]


Message édité par the real moins moins le 01-02-2004 à 01:28:37

---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°627541
cerel
Posté le 01-02-2004 à 03:16:51  profilanswer
 

Alors apres une petite discussion avec notre ami a tous, j'ai nomme Google.
Il existe au moins 2 techniques pour lancer des fonctions JS depuis le java.
 
La 1ere : utiiser le package "netscape.javascript.*". Ce package se trouve dans le repertoire de netscape si vous l'avez. Ou sinon, MS le distribue aussi -> Windows\Java\Packages, il est dans l'un des fichiers zip (chez moi WBTVVP75.ZIP).
Ce package vous permet d'utiliser JSObjet, ensuite pour appeler les functions javascript, il suffit d'appeler la methode call de JSObject.
 
La 2e methode ne necessite pas le ce package. Il suffit enfait de "changer l'adresse de la page" et l'url du type "javascript:myfunc()".
 
Je vais faire des tests plus aprofondis.
 
Pour en savoir plus sur ces deux methodes je vous renvoie a notre ami google. Je vais quand meme vous aider un peu :P
Google.com -> java-to-javascript


Message édité par cerel le 01-02-2004 à 03:20:49
n°627569
darklord
You're welcome
Posté le 01-02-2004 à 10:35:41  profilanswer
 

:jap:

n°627580
benou
Posté le 01-02-2004 à 11:01:57  profilanswer
 

the real moins moins a écrit :

bah si en js, justement
mais bon[:mlc]


je voulais dire pas depuis l'applet ...
mais notre ami a l'air de dire que c'est possible, alors je vais le laisser parler (j'ai jamais coder une applet, moi :/)


---------------
ma vie, mon oeuvre - HomePlayer
n°627643
cerel
Posté le 01-02-2004 à 12:48:15  profilanswer
 

Voila 2 exemples utilisant chacun une technique differente :
Via la 1 methode
1ere methode
source de l'applet
Ceci provient de la http://www.simonstl.com/dynhtml/update/codesamp.html
 
Methode 2 :
Exemple
Pour voir la source suffit de cliquer sur le bouton ds la frame en bas.
Ceci provient de la http://www.ryerson.ca/Java/lectures/ (introduction -> 18)
 
Enfait d'apres les recherches, il semblerais que ce fut netscape qui introduisit la communication Java-Javascript (d'ou le nom du package) et ceci dès la version 4 de netscape. Ils lui on meme donne un nom LiveConnect.
D'apres les recherches il semblerais que ca marche assez bien, sauf avec IE 5 sur MAC, mais sinon ca a l'air de bien fonctionner. Pour autoriser la communication, faut ajouter "MAYSCRIPT" a la balise applet des pages html (je vous renvoi vers les sources des pages html citees plus haut).
 
J'ai meme teste sur Firebird 0.7, ca passe.
Si cela vous interesse je pourrais vous en dire plus au fur et a mesure des mes recherches et tests.


Message édité par cerel le 01-02-2004 à 12:48:58
n°627731
the real m​oins moins
Posté le 01-02-2004 à 15:11:17  profilanswer
 

benou a écrit :


je voulais dire pas depuis l'applet ...

ben puisque tu peux appeler du js depuis l'applet, ...


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°627826
benou
Posté le 01-02-2004 à 18:12:01  profilanswer
 

the real moins moins a écrit :

ben puisque tu peux appeler du js depuis l'applet, ...


je pensais que non, mais visiblement il a trouvé un package netscape.truc qui permet de le faire ... Je connaissais pas ce truc mais je savais que dans l'autre sens (JS->applet) ca pouvais se faire


---------------
ma vie, mon oeuvre - HomePlayer
n°627829
benou
Posté le 01-02-2004 à 18:15:33  profilanswer
 

Cerel a écrit :

Voila 2 exemples utilisant chacun une technique differente :
Via la 1 methode
1ere methode
source de l'applet
Ceci provient de la http://www.simonstl.com/dynhtml/update/codesamp.html
 
Methode 2 :
Exemple
Pour voir la source suffit de cliquer sur le bouton ds la frame en bas.
Ceci provient de la http://www.ryerson.ca/Java/lectures/ (introduction -> 18)


la 2e methode marche pas chez moi ...
et j'arrive pas à avoir les logs de l'applet :/


---------------
ma vie, mon oeuvre - HomePlayer
n°627878
cerel
Posté le 01-02-2004 à 18:40:35  profilanswer
 

La 1ere methode utilise LiveConnect (package netscape.javascript.*) et alors que la 2e non.
La 2e se base sur l'url "javascript:"
 
qu'est-ce que tu entends par le "log", la source ?
Bizzare car pour voir la source, c'est une bete fonction javascript qui ouvre une nouvelle fenetre avec la source, peut-etre as-tu desactive/bloque javascript.
En tout cas voila la source du 2e applet
2e methode  source
 
Attention, je ne suis pas l'auteur des ses applets, je les ai trouves en faisaint une recherche sur le net.

n°627898
benou
Posté le 01-02-2004 à 18:57:34  profilanswer
 

nan, je parlais des logs (les traces), je m'attendais à ce qu'il y a iat des logs d'erreurs vu que ca marchait pas mais visiblement non [:spamafote]


---------------
ma vie, mon oeuvre - HomePlayer

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

  Quelques questions sur les applets

 

Sujets relatifs
Questions générales[C++] Petites questions
Bonjour, j'ai quelques ptites questions en PHP et MySQL :oPlusieurs questions en Java
OCL et UML : 2 petites questionsQuestions simples
pleins de questions pour mon "futur" siteQuestions, simples je pense
2 questions PHP : Créer une mini-image / comment faire une redirectionLogiciel pour Developper en C++, et diverses questions.
Plus de sujets relatifs à : Quelques questions sur les applets


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