IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

avec Java Discussion :

Java WebStart installation et mise à jour automatique d'applications, associations


Sujet :

avec Java

  1. #1
    Membre régulier
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Octobre 2009
    Messages
    167
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : Ressources humaines
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2009
    Messages : 167
    Points : 118
    Points
    118
    Par défaut Java WebStart installation et mise à jour automatique d'applications, associations
    Voici un retour d'expérience dans la mise en oeuvre de WebStart, avec des fonctionnalités de type Windows communes.

    L'idée est de mettre en téléchargement une appli .jar, l'installer automatiquement sous Windows (ou autre – je n'ai pas testé), créer les raccourcis sur le desktop et dans le menu Démarrer, et créer les associations (faire un double-clic sur un fichier ouvre automatiquement l'appli et passe l'adresse du fichier dans la ligne de commande).

    Contexte : Win 7 32 – Éclipse JUNO, JDK 1.7

    A partir d'un jar runnable (monAppli.jar dans cet exemple), il nous faut plusieurs choses :

    1) un fichier .jnlp,
    2) éventuellement des icones au format png (dans cet exemple - respecter la transparence est bienvenu), 64x64,
    3) un dossier sur un site Internet avec une page et un lien particulier.

    Le fichier jnlp :
    Il est chargé par le WebStart du poste client, lorsque l'utilisateur clique sur le lien. WebStart le lit et exécute certaines fonctions.

    Voici un exemple de fichier :

    monAppli.jnlp
    Il est placé sur monsite, dans le dossier deploiement sous la racine du site (arbitraire).

    <?xml version="1.0" encoding="utf-8"?>
    <jnlp spec="1.0+" codebase="http://www.monsite.com/deploiement/" href="monAppli.jnlp">
    <information>
    <title>monAppli</title>
    <vendor>maSociete</vendor>
    <homepage href="http://www.monsite.com/deploiement/"/>
    <description>Mon Application : nouvelle version</description>
    <description kind="short">Version en debuggage</description>
    <icon href="http://www.monsite.com/deploiement/icone_de_webstart.png" />
    <icon kind="shortcut" href="http://www.monsite.com/deploiement/icone_appli_windows.png" />

    <shortcut online="false">
    <desktop/>
    <menu submenu="monAppli"/>
    </shortcut>

    <association extensions="_fichier_monAppli" mime-type="application/monAppli"/>

    </information>

    <security>
    <all-permissions/>
    </security>

    <update check="always" policy="prompt-update" />

    <resources>
    <j2se version="1.6+" href="http://java.sun.com/products/autodl/j2se"/>
    <jar href="monAppli.jar" />
    </resources>

    <application-desc main-class="StartUp"/>

    </jnlp>

    Quelques remarques :

    <jnlp spec="1.0+" codebase="http://www.monsite.com/deploiement/" href="monAppli.jnlp"> : le fichier pointe sur lui-même

    <icon href="http://www.monsite.com/deploiement/icone_de_webstart.png" /> : petite personnalisation de WebStart (cela ne fait pas de mal et on peut aller plus loin)

    <icon kind="shortcut" href="http://www.monsite.com/deploiement/icone_appli_windows.png" /> : l'icone utilisée dans Windows

    <menu submenu="monAppli"/> : mise en place du raccourci dans le menu démarrer

    <association extensions="_fichier_monAppli" mime-type="application/monAppli"/> : mise en place des associations pour démarrer monAppli suite à un double-clic sur un fichier particulier (on peut mettre plusieurs associations) - on récupère dans args[] du main() les chemins des fichiers

    <all-permissions/> : permet d'utiliser toutes les fonctionnalités prévues (attention : le jar doit être signé)

    <application-desc main-class="StartUp"/> : la classe de boot qui contient la méthode main() de monAppli.

    <update check="always" policy="prompt-update" /> : si une nouvelle version est disponible sur le serveur, alors une boite s'affiche pour donner le choix à l'utilisateur de mettre à jour. On peut aller plus loin sur cet aspect.

    ATTENTION : dans cette configuration, même si l'utilisateur ouvre l'appli depuis un fichier ou l'icone de l'appli ou le menu démarrer, la détection de mise à jour se fait.
    Celle-ci ne se fait pas si on ajoute la ligne : <offline-allowed />


    La page HTML :

    Une fois le fichier placé, nous créons une page HTML avec un lien qui pointe sur ce fichier monAppli.jnlp. Ici elle s'appelle index.html, et elle est placée dans le dossier deploiement du site, avec le jnlp :

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <title>Document sans nom</title>
    </head>
    <body>
    <H1>Mon Application</H1>
    <a href="monAppli.jnlp">Lancez mon appli maintenant...</a>

    </body>
    </html>

    Nous plaçons aussi dans ce même dossier les 2 icones :
    icone_appli_windows.png
    icone_de_webstart.png

    Et le monAppli.jar (signé)



    Il y a des tas d'autres options : soyez courageux car les documentations sont rares...

    Pour vérifier et améliorer, on peut aller dans le panneau de configuration/java/fichiers internet temporaires/visualiser :
    on y trouve monAppli que l'on peut supprimer depuis cet endroit (clic-droit).

    J'ai trouvé ce système très élégant et pratique. Il semble très bien fonctionner.

    Hope this helps

    Christian

  2. #2
    Membre régulier
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Octobre 2009
    Messages
    167
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : Ressources humaines
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2009
    Messages : 167
    Points : 118
    Points
    118
    Par défaut
    J'ajoute une précision :

    Dans la ligne du fichier JNLP :

    <application-desc main-class="StartUp"/>

    où on déclare la classe qui boot,

    il est nécessaire d'ajouter le package, si l'appli fait partie d'un package. Par exemple :

    <application-desc main-class="monpackage.StartUp"/>

    Christian

Discussions similaires

  1. Mise à jour automatique d'application privée
    Par Flodelarab dans le forum Android
    Réponses: 3
    Dernier message: 18/12/2014, 15h05
  2. [WD16] Mise à jour automatique d'application
    Par lololebricoleur dans le forum WinDev
    Réponses: 16
    Dernier message: 30/09/2011, 20h51
  3. Mise à jour automatique d'application en cours d'utilisation
    Par Népomucène dans le forum Glassfish et Payara
    Réponses: 9
    Dernier message: 16/02/2009, 11h27
  4. Réponses: 6
    Dernier message: 19/09/2006, 08h48

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo