OVH Cloud OVH Cloud

Applet et lectures de fichiers

5 réponses
Avatar
thomas.baruchel
Bonjour,

je sais bien que cette question est très classique, mais je n'ai pas
réellement compris en cherchant sur le web s'il existait des solutions
"simples" (ou du moins, plus simples que ce que j'ai beaucoup vu).

En fait, j'écris un petit programme pour un ami auquel je veux simplifier
le plus possibles les choses. Le programme se contente de lire un fichier
et d'en produire un autre. Jusqu'à présent il utilisait un bout de code
en AWK que je lui avais déjà écrit, mais je voulais profiter d'un peu de
temps libre pour lui faire quelque chose de plus convivial.

J'ai donc réécrit le tout en Java, avec une interface graphique, mais
j'aurais voulu (toujours pour lui simplifier le plus possible les choses,
lui éviter de télécharger un environnement Java, etc.) qu'il utilise
le programme depuis son navigateur web sous la forme d'une applet.

Le problème est alors connu...

Seulement, si la seule solution complique trop les choses, l'oblige à
faire de son côté des manipulations qu'un non programmeur ne connaît
pas, je renonce définitivement (mais à regret) à la solution de l'applet.

Est-il possible de lui livrer une applet "prête à l'emploi" sans qu'il n'ait
strictement rien d'autre à faire qu'à double-cliquer sur le index.html
qui charge l'applet ? J'ai peur que la réponse soit non, mais je préférais
m'en assurer...

Cordialement,

--
« nous devons agir comme si la chose qui peut-être ne sera pas devait
être » (Kant, Métaphysique des moeurs, doctrine du droit, II conclusion)

Thomas Baruchel <thomas.baruchel@laposte.net>

5 réponses

Avatar
jerome moliere
Thomas Baruchel wrote:

Bonjour,

je sais bien que cette question est très classique, mais je n'ai pas
réellement compris en cherchant sur le web s'il existait des solutions
"simples" (ou du moins, plus simples que ce que j'ai beaucoup vu).

En fait, j'écris un petit programme pour un ami auquel je veux simplifier
le plus possibles les choses. Le programme se contente de lire un fichier
et d'en produire un autre. Jusqu'à présent il utilisait un bout de code
en AWK que je lui avais déjà écrit, mais je voulais profiter d'un peu de
temps libre pour lui faire quelque chose de plus convivial.

J'ai donc réécrit le tout en Java, avec une interface graphique, mais
j'aurais voulu (toujours pour lui simplifier le plus possible les choses,
lui éviter de télécharger un environnement Java, etc.) qu'il utilise
le programme depuis son navigateur web sous la forme d'une applet.

Le problème est alors connu...

Seulement, si la seule solution complique trop les choses, l'oblige à
faire de son côté des manipulations qu'un non programmeur ne connaît
pas, je renonce définitivement (mais à regret) à la solution de l'applet.

Est-il possible de lui livrer une applet "prête à l'emploi" sans qu'il n'ait
strictement rien d'autre à faire qu'à double-cliquer sur le index.html
qui charge l'applet ? J'ai peur que la réponse soit non, mais je préférais
m'en assurer...
si c'est possible car la restriction concernant la sandbox dans laquelle

evolue ton applet peut etre levee (partiellement ou completeemnt) en
signant ton applet.
donc sous Linux tu peux te generer un certificat maison (sans donner des
sous a verisign) et ton ami devra l'accepter dans son navigateur !!
c'est tout...
pour la signature de l'applet cf docs sur le NET et la task signjar de
ANT pour la réalisation pratique

Jerome

--
Auteur cahier du programmeur Java tome 2 - Eyrolles 10/2003
http://www.eyrolles.com/php.informatique/Ouvrages/ouvrage.php3?ouv_ean13—82212111941

Avatar
thomas.baruchel
si c'est possible car la restriction concernant la sandbox dans laquelle
evolue ton applet peut etre levee (partiellement ou completeemnt) en
signant ton applet.


OK, et n'y a-t-il pas aussi une possibilité du côté du répertoire courant ?
(pas le temps de vérifier, mais une applet n'a-t-elle pas le droit de lire
dans ce répertoire ? peut-elle aussi y écrire ?)

--
« nous devons agir comme si la chose qui peut-être ne sera pas devait
être » (Kant, Métaphysique des moeurs, doctrine du droit, II conclusion)

Thomas Baruchel

Avatar
jerome moliere
Thomas Baruchel wrote:


si c'est possible car la restriction concernant la sandbox dans laquelle
evolue ton applet peut etre levee (partiellement ou completeemnt) en
signant ton applet.



OK, et n'y a-t-il pas aussi une possibilité du côté du répertoire courant ?
(pas le temps de vérifier, mais une applet n'a-t-elle pas le droit de lire
dans ce répertoire ? peut-elle aussi y écrire ?)

quel repertoire courant ?

une applet est telechargee depuis un serveur Web donc je vvois mal le
sens du repertoire courant ?
chaque browser a le sien....
ce n'est clairement pas la piste aprivilegier selon moi...

Jerome

--
Auteur cahier du programmeur Java tome 2 - Eyrolles 10/2003
http://www.eyrolles.com/php.informatique/Ouvrages/ouvrage.php3?ouv_ean13—82212111941


Avatar
thomas.baruchel
(pas le temps de vérifier, mais une applet n'a-t-elle pas le droit de lire
dans ce répertoire ? peut-elle aussi y écrire ?)

quel repertoire courant ?

une applet est telechargee depuis un serveur Web donc je vvois mal le
sens du repertoire courant ?
chaque browser a le sien....
ce n'est clairement pas la piste aprivilegier selon moi...


Disons tout d'abord que ce programme n'est pas destiné au web, mais qu'il
sera utilisé depuis son browser par un ami. Au démarrage il lit des
informations depuis des fichiers d'initialisation en texte simple,
ce que j'ai réussi à faire sans problème, puisqu'il lui suffit d'ouvrir
le fichier par son nom; comme ce dernier est dans le même répertoire
que le fichier .class de l'applet, il n'y a aucun problème pour le
lire. Disons en gros que je voudrais qu'il puisse maintenant modifier
ces mêmes fichiers. L'intérêt de la démarche est d'éviter des
complications absolument inutiles compte-tenu du but du programme.

Cordialement,

--
« nous devons agir comme si la chose qui peut-être ne sera pas devait
être » (Kant, Métaphysique des moeurs, doctrine du droit, II conclusion)

Thomas Baruchel


Avatar
Francis JUGE-BOIRARD
Bonjour,
Je viens d'être confronté au problème et en fait, c'est assez facilement
réalisable.
Il suffit de signer l'applet.
Générez-vous un certificat (réputé non sur) via la commande keytool
(dans les grandes lignes cela devrait donner :
keytool -keystore nom_fichier -alias nom_alias -genkey).
Placez votre applet dans une archive (fichier .jar) via la commande jar
puis, finalement, signez le fichier via la commande jarsigner.

Ceci fait, lors du chargement de l'applet le browser utilisé demandera
s'il faut ou non faire confiance au "contenu" proposé par le nom d'alias
utilisé lors de la signature.

La première fois cela parrait un peu compliqué mais une fois le
mécanisme en place, il est simple et efficace.

Francis JUGE-BOIRARD