Webstart

Un article de Shadowritter.


Sommaire

[modifier] Pourquoi Webstart ?

Java Webstart permet de déployer par internet facilement des applications Java sur des postes clients. Elle est en place depuis la version Java 1.4.2.

L'énorme avantage d'une application Webstart est le déploiement de celle-ci. Pas d'installation, en un clic c'est lancé, de plus les natives sont gérées dynamiquement, donc pas besoin de se soucier de l'OS utilisé. Les mises à jour se font automatiquement.

Un bon exemple d'utilisation de Webstart est Slick, explorez le menu de Démos Webstart de ce site pour voir l'efficacité de ce système.

Voici un exemple cliquez sur ce lien et la démo se chargera que vous soyez sous Mac, Windows ou Linux.

[modifier] Principe de base

La mise en place peut paraître fastidieuse au début mais une fois le principe saisie, ça devient une habitude.

Le nécessaire :

- Un serveur où l'on trouve l'application (ajouter le type mime si ce n'est pas déjà fait)

- votre application doit être compilé dans un jar (ainsi que les ressources)

- la création du fichier .jnlp

- la création d'une page web (il faut bien mettre le lien vers votre application quelque part)

- signature des jar de l'application avec la commande keytool et jarsigner

[modifier] La création du fichier .jnlp

C'est un fichier xml très simple a crée (un simple éditeur de texte fera l'affaire). Ci dessous un exemple que j'utilise pour Slick dans sa version minimaliste.

<jnlp
spec="1.0+"
codebase="http://votresite/emplacementdevosjar"
href="nomdufichier.jnlp">
 
<information locale="fr_FR">
<title>Le meilleur jeu au monde</title>
<vendor>Shadowritter</vendor>
</information>
 
<resources>
<j2se href="http://java.sun.com/products/autodl/j2se" version="1.4+" max-heap-size="128m"/>
<jar href="superjeu.jar"/>
<jar href="slick.jar"/>
<jar href="lwjgl.jar"/>
<jar href="jinput.jar"/>
</resources>
 
<resources os="Windows">
<j2se href="http://java.sun.com/products/autodl/j2se" version="1.4+" max-heap-size="128m"/>
<nativelib href="natives-win32.jar"/>
</resources>
 
<resources os="Linux">
<j2se href="http://java.sun.com/products/autodl/j2se" version="1.4+" max-heap-size="128m"/>
<nativelib href="natives-linux.jar"/>
</resources>
 
<resources os="Mac">
<j2se href="http://java.sun.com/products/autodl/j2se" version="1.4+" max-heap-size="128m"/>
<nativelib href="natives-mac.jar"/>
</resources>
<application-desc main-class="superjeu.Main"/></jnlp>

Point important de cette exemple est la section "resources", dans celle-ci on indique les jar qui seront utilisés. On peut aussi spécifier des jar selon l'OS, chose très utile pour indiquer dynamiquement l'emplacement des natives (DLL, SO, JNYLIB, etc).

Une liste des différentes balises est disponible sur Developpez.com Tuto Webstart

[modifier] La signature des jar

Voici la partie assez fastidieuse à mon goût d'un déploiement Webstart, en effet chaque jar de votre application doit être signé.

Pour cela nous allons utiliser la ligne de commande

keytool -genkey -keystore fichierkeystrore -alias votrealias

Un fichier fichierkeystrore va être crée selon votre alias une fois les différentes questions répondues.

Ensuite pour chaque jar il faut le signer avec la commande suivante (et le fichier keystroe crée avant).

jarsigner -keystore fichierkeystrore jaràsigner.jar votrealias

[modifier] Ensuite

Maintenant que les jar sont signés, on peut utiliser le lien .jnlp crée auparavant pour lancer l'application.

[page de dscussion]Discuter:Webstart

Hmm... je pense qu'il serait bien de commencer par expliquer ce qu'est une application webstart.



Les commentaires ci-dessus ont été laissés par des visiteurs.
Le gestionnaire du site n’est pas responsable de leur contenu. This site's operators can not take responsibility for the content of such comments.