Nous sommes le Jeu 28 Mars, 2024 12:08
Supprimer les cookies

Page 1 sur 31, 2, 3 SuivantPortable java ?

Image Image Forum dédié à notre projet de clé USB nomade libre sous Windows

Mer 22 Fév, 2006 11:21

Bonjour,

Il semble que l'environnement JAVA pose des problèmes pour en faire une application portable. Ce qui limite un peu la liste des applications libres portables (exemple : Freemind, Ganttproject). Or je suis tombé sur un logiciel gratuit (mais pas libre) appelé CMapTools (http://cmap.ihmc.us/) qui permet de faire des carte conceptuelles et qui s'installe avec son propre environnement JAVA (c'est à dire qu'un répertoire de CMAp inclue une version de JAVA) :
Release Notes

CmapTools v4.02 – February 2, 2006:

(...)
Incorporated Java v1.5.0_06 as part of the CmapTools and CmapServer installations


N'y connaissant pas grand chose, je ne peux pas dire jusqu'à quel point les développeurs ont fait de JAVA une application portable. Ce que je sais c'est que CMap est portable (je l'utilise ainsi tous les jours, depuis une clé USB).

Quelqu'un pourrait-il y jeter un oeil ?

Nicolas CJ
Nicolas CJ

Avatar de l’utilisateur
Messages : 167
Géo : Essonne

Mer 22 Fév, 2006 11:36

beaucoup trop de problemes pour une portabilisation de java... je crois qu'il ne faut pas y compter.. on en a deja parlé a plusieurs reprise... sans compter que ça rentrerais en conflit une fois sur 2 avec un java deja installé sur la machine...
http://www.loolidays.com
joshua

Messages : 3198
Géo : Nice

Lun 27 Fév, 2006 18:44

J'ai contacté les développeurs de CMapTools. Ils m'assurent qu'il est tout à fait possible de rendre CMapTools portable, Java compris, pour peu de suivre une procédure d'installation spécifique que je peux transmettre ici si vous le souhaitez : attribution d'une lettre à la clé, construction d'un fichier de lancement. Des choses qu'il me semble avoir déjà vu ici pour d'autres applications rendues portables.
En outre, je leur ai demandé s'il était possible de réutiliser leur installation de Java pour un autre code. J'attends la réponse...


Nicolas CJ
Nicolas CJ

Avatar de l’utilisateur
Messages : 167
Géo : Essonne

Lun 27 Fév, 2006 19:16

quid des droits utilisateur? de compatibilité avec l'existant (OS, java sun ou petit mou deja installé...)...... des mise a jours automatique du java installé sur la machine qui seraint mis a mal par le java portable ou le contraire, etc...


la seule chose qui marcherais vraiment bien c'est un "simulateur" qui fasse tourner l'application toute seule dans sont propre environement... chose qui existait (ya un vieux post qui en parle QQ part, mais j'le retrouve plus...), mais qui n'existe plus, et j'ai pourtant passé un certain temps a chercher...
http://www.loolidays.com
joshua

Messages : 3198
Géo : Nice

Lun 27 Fév, 2006 21:23

...qui fasse tourner l'application toute seule dans sont propre environement...


De memoire les commandes dos (ou dans des fichiers .bat) s'executent dans des zones mémoires differentes. Peut-être alors un

start l'appliqu'onveutlancer

dans un fichier bat aurait les mêmes propriétés ?

Jack
Jack Burton

Messages : 11

Lun 27 Fév, 2006 21:59

et ne pas oublier bien sur qu'il faut que tout cela soit libre...... si ya des gens qui veulent etudier ça...
http://www.loolidays.com
joshua

Messages : 3198
Géo : Nice

Mar 28 Fév, 2006 18:58

Trouvé sur :
portableapps.com/node/137

freemind.bat
rem copy data from key to disk
copy "t:\tool\freemind\auto.properties" "%USERPROFILE%\.freemind\"
copy "t:\tool\freemind\user.properties" "%USERPROFILE%\.freemind\"
copy "t:\tool\freemind\patterns.xml" "%USERPROFILE%\.freemind\"
rem run java from key
t:\tool\jre\bin\java -jar lib/freemind.jar
rem save data back to usb-key
copy "%USERPROFILE%\.freemind\auto.properties" "t:\tool\freemind\"
copy "%USERPROFILE%\.freemind\user.properties" "t:\tool\freemind\"
rem clean
del "%USERPROFILE%\.freemind" /S /Q


Trouvé sur :
http://www.javalobby.org/java/forums/m91937409.html
Re: Howto use/configure private JRE?
You may simply take the jre-directory form your pc and copy it onto the usb-stick into a subdirectory of you application. Afterwards you have to create a batch-file with a line like: "jre\bin\java.exe -jar app.jar". That does not look very professional so: Alternatively you could use a native app starter, like the one on "http://www.rolemaker.dk/nonRoleMaker/javalauncher/marner_java_launcher.htm" to do the job.

The jre does not rely on registry entries and quite a few programs (like JBuilder and TogetherJ) bundle their own jre's.



Une autre solution : utiliser un "Wrapper" qui transforme le fichier .jar en .exe.
Par exemple (mais il y en a d'autres, mais celui-ci est libre) :
http://jsmooth.sourceforge.net/index.php
JSmooth is a Java Executable Wrapper that makes a standard Windows executable binary (.exe) from a jar file.


De tout cela je tire qu'il est possible d'avoir un JRE sur la clé USB, et moyennant quelques adaptations, executer le programme depuis le disque soit au moyen d'un fichier .bat dédié, soit en transformant le fichier .jar en .exe.

Charge à l'utilisateur de maintenir à jour son JRE, comme n'importe quel autre programme.

Je ne dis pas que cela est une solution universelle (par exemple pour OpenOffice), mais cela peut apporter des solutions pour exécuter des programmes, libre ou non, écrits en Java et qui du même coup se retrouvent être "portabilisés" (certain le sont déjà, si Java est présent sur l'ordinateur) : Freemind, Ganttproject, VUE... pour ne citer que les libres.

Quant aux traces laissées sur le PC, j'ai vu des scripts sur ce forum qui me semble être adaptables non ?

Ainsi, moyennant quelques tests, je pense qu'il serait possible d'établir une liste d'applications libre qui s'exécuteraient depuis une clé USB.

Nicolas CJ
Nicolas CJ

Avatar de l’utilisateur
Messages : 167
Géo : Essonne

Mar 28 Fév, 2006 22:16

Heu, si vous voulez transformer des .jar en .exe, c'est assez spécial, et mal foutu.
Je dis ça car je me suis déjà penché sur la question il y a quelques temps (je programme un peu en java).
Il faut faire la différence entre les logiciels qui proposent une interface .exe et ceux qui compilent réellement en .exe.
Je m'explique :
Avec les premiers types, il faut toujours une JRE, en faite le fichier .exe est juste là pour chercher où est le JRE et exécuter le .jar (qu'il faut mettre à côté généralement) avec la JRE trouvée, ou s'il ne la trouve pas, renvoyer vers le site de Sun pour télécharger le JRE. En gros, il faut toujours le .jar et au lieu de double-cliquer sur le .jar, on double-clique sur le .exe qui est juste à côté. En résumé, ça ne sert vraiment à rien (c'est mon point de vue et je vous le partage, mais il n'engage que moi). C'est le cas de la plupart des programmes.
Avec les deuxièmes types, plus besoin de JRE, tout est recompilé dans un .exe et plus besoin de .jar, JRE, et tout le bazar. Et c'est là que c'est vraiment intéressant, c'est comme si le programme Java avait été codé en C ou C++, c'est de l'exe natif, du "vrai" .exe, sans plus avoir besoin du tout de JRE par la suite. A ma connaissance, les seuls à faire ça sont JBuilder Pro, JET et gcj (le pendant java de gcc, et l'environnement java libre). Les deux premiers sont chers, et le troisième est compliqué (personnellement, je n'ai pas réussi à le faire fonctionner)(en plus, c'est tout de la ligne de commande, "beaucoup plus pire" que sous linux, beuèrk).

J'espère avoir été suffisamment clair, peut-être pas... :|
Enfin, après s'il y a des courageux qui ont du temps...

Mageti
"Heureux l’étudiant qui comme la rivière peut suivre son cours sans quitter son lit" -- Dicton étudiant
mageti

Messages : 234
Géo : Valenciennes pdt les vacances, Bordeaux sinon

Mer 01 Mars, 2006 00:27

Nicolas CJ a écrit:Charge à l'utilisateur de maintenir à jour son JRE, comme n'importe quel autre programme.


ben nan justement... la, ça va pas...

les applications portables sont justement prévues pour marcher sur des machines "pas a toi" sans modif... donc, pas a ta charge...






en tout cas, d'aprés le peut que j'en ais vu, tout ce qui est en java, je laisse tomber... donc, si certains on envie de se pencher veritablement sur le probleme, ok... mais pas moi...

quand au fait de transformer "completement" un programme pour le rendre portable, chuis pas pour... donc, "pour ma part", j'en resterais la... 8)
http://www.loolidays.com
joshua

Messages : 3198
Géo : Nice

Mer 01 Mars, 2006 01:47

Je comprends bien que tout n'est pas simple avec les applications Java.

Néanmoins, ce que je crois c'est, qu'apparement:
- il est possible d'avoir un JRE "perso" sur une clé USB, qui peut être maintenu à jour indépendamment de l'ordinateur hôte : il suffirait de faire un copier/coller des fichiers du répertoire jre à partir d'un ordinateur où Java est déjà installé
- il est également possible d'indiquer à un programme Java installé sur une clé d'utiliser le JRE de la clé (et pas celui éventuellement installé sur le PC hôte), moyennant l'emploi d'un fichier .bat ou d'un wrapper.

J'ai bien conscience que cela peut ne pas marcher pour certaines applications complexes, mais l'intérêt, c'est que pour d'autres oui ! Surtout quand ces programmes sont très spécifiques, et sans équivalent libre (et/ou gratuit) sous forme d'.exe classiques portables.

D'où ma proposition de rechercher de telles applications et de tester leur exécution depuis une clé USB équipé de Java.
Maintenant si personne n'y croit... :(

Nicolas CJ
Nicolas CJ

Avatar de l’utilisateur
Messages : 167
Géo : Essonne

Qui est en ligne ?

Utilisateur(s) parcourant actuellement ce forum : Aucun utilisateur inscrit