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

JWS Java Discussion :

Installer une application JNLP avec un exe


Sujet :

JWS Java

  1. #1
    Membre averti
    Homme Profil pro
    Inscrit en
    juillet 2002
    Messages
    701
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : juillet 2002
    Messages : 701
    Points : 392
    Points
    392
    Par défaut Installer une application JNLP avec un exe
    Bonjour,

    j'ai une application qui s'installe avec un JNLP. C'est bien le Java Webstart, surtout pour les mises à jour, mais c'est un peu compliqué pour les utilisateurs qui n'ont pas l'habitude.

    Est ce qu'il est possible de faire la première installation à l'aide d'un executable pour rassurer l'utilisateur. Est ce qu'il existe des logiciels capable de transformer une application JNLP directement en .exe ?

    Merci

  2. #2
    Membre expérimenté Avatar de Nico02
    Homme Profil pro
    Developpeur Java/JEE
    Inscrit en
    février 2011
    Messages
    728
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Developpeur Java/JEE
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : février 2011
    Messages : 728
    Points : 1 622
    Points
    1 622
    Par défaut
    Salut,

    Citation Envoyé par Alec6 Voir le message
    Bonjour,
    j'ai une application qui s'installe avec un JNLP. C'est bien le Java Webstart, surtout pour les mises à jour, mais c'est un peu compliqué pour les utilisateurs qui n'ont pas l'habitude.
    Merci
    Je vois pas trop en quoi l'utilisation de JWS peut poser problème à l'utilisateur puisqu'il n'y a strictement rien à faire. Il clique sur le lien qu'on lui donne et tout se fait tout seul. Peut être pourrais tu être plus précis sur ce que fait ton programme et dans qu'elle mesure l'utilisateur doit agir pour que cela fonctionne ?

    Citation Envoyé par Alec6 Voir le message
    Est ce qu'il est possible de faire la première installation à l'aide d'un executable pour rassurer l'utilisateur. Est ce qu'il existe des logiciels capable de transformer une application JNLP directement en .exe ?
    Encore un fois je pige pas trop pourquoi tu aurais besoin d'encapsuler ton JNLP dans un .exe puisque avec un JNLP tu peux lancer directement ton programme. C'est justement le rôle du JNLP de déployer sur le poste client tout ce dont ton programme à besoin pour fonctionner. C'est lui qui va en quelque sorte faire l'installation. Après si ton programme requiert du paramétrage supplémentaire (paramétrage d'un port, d'un variable, etc..), et bien tu n'as qu'a coder ton prog pour qu'il s'en charge

  3. #3
    Membre averti
    Homme Profil pro
    Inscrit en
    juillet 2002
    Messages
    701
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : juillet 2002
    Messages : 701
    Points : 392
    Points
    392
    Par défaut
    Non ce n'est pas si simple avec JNLP pour les utilisateurs:

    souvent les navigateurs web ne font que de télécharger le JNLP, sans le lancer automatiquement. Il faut un petit paramétrage pour cela. Ensuite si Java n'est pas installé sur la machine (c'est rare mais ça arrive), le JNLP ne peut pas être exécuté. (dans un exe qui inclus un java se problème ne se pose pas)

    La configuration des droits d'accès sur la machine doit être mise en place, ou bien il faut un certificat à installer.

    Les utilisateurs ont l'habitude des Exe. Il faudrait la même chose pour installer l'application, puis que l'application utilise la technologie Webstart pour se mettre à jour.

    Une fois qu'une application tourne c'est parfait !

  4. #4
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : avril 2007
    Messages : 25 481
    Points : 48 798
    Points
    48 798
    Par défaut
    Citation Envoyé par Alec6 Voir le message
    Non ce n'est pas si simple avec JNLP pour les utilisateurs:

    souvent les navigateurs web ne font que de télécharger le JNLP, sans le lancer automatiquement.
    Un profil tout neuf de FF me propose bien de lancer l'application associée par défaut aux jnlp, a savoir java.
    Citation Envoyé par Alec6 Voir le message
    La configuration des droits d'accès sur la machine doit être mise en place, ou bien il faut un certificat à installer.
    Tu peux détailler là, jamais rencontré ce problème.
    Citation Envoyé par Alec6 Voir le message
    Les utilisateurs ont l'habitude des Exe. Il faudrait la même chose pour installer l'application, puis que l'application utilise la technologie Webstart pour se mettre à jour.
    Ben tu pourrais créer un script MSI qui installe java, fasse l'association avec les jnlp, fasse la configuration puis ouvre le browser sur ton jnlp. Mais franchement, si t'en es à ce point là, autant directement faire une application desktop java, sans s'emmerder avec le jnlp et son bac à sable....

  5. #5
    Traductrice
    Avatar de Mishulyna
    Femme Profil pro
    Développeur Java
    Inscrit en
    novembre 2008
    Messages
    1 504
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : novembre 2008
    Messages : 1 504
    Points : 7 833
    Points
    7 833
    Par défaut
    Bonjour,

    Citation Envoyé par tchize_ Voir le message
    jamais rencontré ce problème.
    Vous avez de la chance!

    Voici un petit exemple:

    Nom : proprietes.JPG
Affichages : 2842
Taille : 25,5 Ko

    Essai de lancement en tant qu'administrateur:

    Nom : start.JPG
Affichages : 2842
Taille : 17,4 Ko

    Résultat:

    Nom : stop.JPG
Affichages : 2910
Taille : 18,5 Ko

    Après avoir modifié les paramètres de sécurité de Java (de "élevé" à "moyenne") dans le panneau de configuration, même pas besoin d'exécuter en tant qu'administrateur :

    Nom : avertissement.JPG
Affichages : 3038
Taille : 61,4 Ko


    Tout le monde n'a pas l'habitude de chipoter dans les paramètres de Java...
    Chaque fois que tu dis "je ne peux pas", n'oublie pas d'ajouter le mot "encore".

  6. #6
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : avril 2007
    Messages : 25 481
    Points : 48 798
    Points
    48 798
    Par défaut
    1) tu utilise un .lnk: donc tu ne passe pas par le web. Le but d'un jnlp c'est d'être utilisé depuis une page web. Cf cet example le bouton launch marche sans problème

    2) "application auto signée" => Ton application doit être signée avec un certificat VALIDE, pas avec un certificat auto signé. C'est ta responsabilité, pas celle de l'utilisateur ça

    3) Ce n'est pas la configuration des droits d'accès que tu change là, tu baisse la sécurité de java à "moyenne". Si le but de ton installeur c'est de faire ça, tu va avoir du mal et en plus c'est limite criminel. "Bonjour voilà un installeur qui va ouvrir des trous de sécurité dans votre OS, mais c'est un .exe donc c'est cool" ?

    4) L'avertissement est clair en rouge, y a du texte sur fond jaune, y a du gras et des points d'exclamation. Pourquoi tu ne le lis pas? Il te dit "ben ok, vu que tu t'obstine tu peux continuer. Mais je t'avertis, à la prochaine mise à jour là ton bousin il démarrera même plus. Maintenant fais les truc correctement veux-tu bien. Tiens voilà un lien que je te donne gracieusement pour savoir ce que tu dois faire"....


    Avec un application jnlp (cf example au dessus) bien configurée par son éditeur, voilà la seule popup que j'aie.
    J'ai, il est vrai, une autre popup qui sort au part avant si java n'est pas à jour, qui me dit "hey, faut tu mette java à jour pour lancer ça, tu veux bien le faire maintenant? Clique ici." Mais ça t'y coupera pas, c'est la sécurité. JNLP => Application réseau / internet => Besoins de sécurités pour éviter les trous de sécurité.


    Nom : yed.png
Affichages : 3044
Taille : 27,0 Ko


    Si tu ne veux aucune popup, faut distribuer ton application en standalone, pas en jnlp. Mais franchement, on ne peux pas dire que java abuse des avertissements inutiles.

  7. #7
    Traductrice
    Avatar de Mishulyna
    Femme Profil pro
    Développeur Java
    Inscrit en
    novembre 2008
    Messages
    1 504
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : novembre 2008
    Messages : 1 504
    Points : 7 833
    Points
    7 833
    Par défaut
    Citation Envoyé par tchize_ Voir le message
    1) tu utilise un .lnk: donc tu ne passe pas par le web. Le but d'un jnlp c'est d'être utilisé depuis une page web. Cf cet example le bouton launch marche sans problème .
    Quand je dis que vous avez de la chance...
    Depuis la page web (bouton orange "Launch"), le fonctionnement est pareil.

    Citation Envoyé par tchize_ Voir le message
    2) "application auto signée" => Ton application doit être signée avec un certificat VALIDE, pas avec un certificat auto signé. C'est ta responsabilité, pas celle de l'utilisateur ça
    C'est moi l'utilisateur... Enfin, pas pour l'instant, peut-être que l'histoire de certif sera résolue un jour, car il s'agit d'un outil plutôt sympa.


    Citation Envoyé par tchize_ Voir le message
    3) Ce n'est pas la configuration des droits d'accès que tu change là, tu baisse la sécurité de java à "moyenne". Si le but de ton installeur c'est de faire ça, tu va avoir du mal et en plus c'est limite criminel. "Bonjour voilà un installeur qui va ouvrir des trous de sécurité dans votre OS, mais c'est un .exe donc c'est cool" ?"

    4) L'avertissement est clair en rouge, y a du texte sur fond jaune, y a du gras et des points d'exclamation. Pourquoi tu ne le lis pas? Il te dit "ben ok, vu que tu t'obstine tu peux continuer. Mais je t'avertis, à la prochaine mise à jour là ton bousin il démarrera même plus. Maintenant fais les truc correctement veux-tu bien. Tiens voilà un lien que je te donne gracieusement pour savoir ce que tu dois faire"...
    Je n'ai jamais dit avoir modifié autre chose que le niveau de sécurité. La modification des paramètres de sécurité n'était pas nécessaire à l'époque où j'utilisais ERDesigner NG (Java 6 autorisait les applications auto-signées) et l'avertissement était le même.

    Don't shoot the messenger please, c'était juste un exemple car vous aviez dit n'avoir jamais rencontré un problème de lancement d'application jnlp!
    Chaque fois que tu dis "je ne peux pas", n'oublie pas d'ajouter le mot "encore".

  8. #8
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : avril 2007
    Messages : 25 481
    Points : 48 798
    Points
    48 798
    Par défaut
    Citation Envoyé par Mishulyna Voir le message
    Don't shoot the messenger please, c'était juste un exemple car vous aviez dit n'avoir jamais rencontré un problème de lancement d'application jnlp!
    Désolé, je t'ai confondu avec le poster d'origine. L'application que tu donne en exemple est mal fichue => normal qu'elle déconne en jnlp. Je peux te montrer des exes qui crashent aussi. On va pas en conclure que windows pose problème

    C'est pas parce que java 6 avait plein de trous de sécurités qu'il fallait les garder

  9. #9
    Traductrice
    Avatar de Mishulyna
    Femme Profil pro
    Développeur Java
    Inscrit en
    novembre 2008
    Messages
    1 504
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : novembre 2008
    Messages : 1 504
    Points : 7 833
    Points
    7 833
    Par défaut
    Citation Envoyé par tchize_ Voir le message
    On va pas en conclure que windows pose problème

    C'est pas parce que java 6 avait plein de trous de sécurités qu'il fallait les garder
    Ne me faites pas dire ce que je n'ai pas dit
    C'est juste que je comprends un peu les difficultés d'Alec6.
    Chaque fois que tu dis "je ne peux pas", n'oublie pas d'ajouter le mot "encore".

  10. #10
    Membre averti
    Homme Profil pro
    Inscrit en
    juillet 2002
    Messages
    701
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : juillet 2002
    Messages : 701
    Points : 392
    Points
    392
    Par défaut
    C'est sympa cet échange; un peu enflammé peut être.

    Il ne faut pas oublié que l'utilisateur est frileux pour installer une application qui n'a pas de notoriété, il n'a pas envie de se prendre la tête, et encore moins de se poser des questions avec les alertes de sécurité.

    Avant je faisais un installeur avec un Exe pour Window (NSIS) et un App pour Mac (Ant suffit), mais c'était compliqué pour les mises à jour du logiciel (faut créer son programme), la portabilité etc...
    puis Java Webstart a pris de la maturité (sous la pression de JavaFX je crois), et donc je suis passé sous WebStart.

    Si je compare les deux pour la première installation
    - Exe:
    * les utilisateurs connaissent bien le principe
    * présente une page d'acceptation des droits (le CLUF)
    * page d'installation et options
    * installe Java si non présent sur la machine
    * installe en mode admin (donc pas de soucis de certificat)

    - App: je ne connais pas bien mais j'ai pas toute les options du Exe (plus simple en faite)

    - Webstart portabilité, et surtout simplicité pour les mises à jour mais pour l'installation:
    - Java n'est pas installé sur la machine le JNLP ne peut etre executé
    - les .jnlp ne sont pas toujours ouvert par défaut par Java, ou ne s'auto execute pas
    - les applications doivent être signée par des autorités (ça coute), ou bien il faut installer le certificat pour les auto signés
    - les messages de sécurité perturbe l'utilisateur

    En somme ce serait bien d'avoir une installation classique, puis des mises à jour grâce à la technologie Web start.

    J'imagine que comme le JNLP est un descripteur de déploiement, quelqu'un aurait bien eu l'idée de produire le script NSIS ou autre à partir du fichier .jnlp

    Pour JavaFx je crois qu'on a plus de souplesse sur la méthode de déploiement. Je suis en Java Swing

  11. #11
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : avril 2007
    Messages : 25 481
    Points : 48 798
    Points
    48 798
    Par défaut
    Citation Envoyé par Alec6 Voir le message
    C'est sympa cet échange; un peu enflammé peut être.

    Il ne faut pas oublié que l'utilisateur est frileux pour installer une application qui n'a pas de notoriété, il n'a pas envie de se prendre la tête, et encore moins de se poser des questions avec les alertes de sécurité.
    Ce n'est pas parce que l'utilisateur veux faire n'importe quoi, qu'on dois laisser n'importe quoi entrer par le réseau sur la machine. JNLP sert à du déploiement par réseau et nécessite donc des sécurités appropriées. Si le seul intérêt pour toi de javawebstart c'est de gérer les mises à jour => Gère les mises à jour toi même plutot que par jnlp, ce n'est pas bien compliqué de télécharger une installeur pour la mise à jour et de dire à l'utilisateur 'Ho y a une nouvelle version, tu veux l'installer?'. Des tas d'applications sur ma machine font ça, certaines même sans me demander mon avis . Ca prends à tout casser une 20 aines de lignes en java: URL -> Récupérer la dernière version (URL.openConnection) -> la télécharger si nécessaire via un IOUtils.copyStream() -> La lancer (Desktop.open()) -> quitter l'application courante (System.exit).

    A noter que si tu télécharge un exe et que tu le lance, tu as AUSSI, une invite de sécurité, comme avec JNLP. Donc quand on me dit que ça perturbe l'utilisateur..... C'est un peu comme me dire qu'un panneau "ne pas se baigner en l'absence de maitres nageurs" à la plage pertube les nageurs Et ces mêmes utilisateurs, paradoxalement, n'ont absolument aucun problème avec les invites de sécurité quand ils installent des applications sur leur téléphone android.... De plus, pour bien faire, les exe devraient aussi être signés. Généralement, j'hésite à installer des exe non signé pour ma part. Enfin, le coût d'un certificat pour la signature, c'est pas la mort et tu peux signer autant d'applications que tu le veux avec le même certificat. C'est aussi une sécurité pour toi, développeur, parce que si demain tes exes sont verolés pour une raison x ou y, les certificats corrompus empêcheront l'installation. C'est mieux que de devoir expliquer à des utilisateurs que "non, c'est pas de ta faute si un virus s'est glissé dans l'exe qu'il a télécharger sur un mirroir obscur plutôt que ton site".



    Mon avis c'est que si tu veux faire un exe pour finir avec du jnlp, tu va aboutir à quelque chose bien plus complexe qu'en faisant une application standalone. donc soit tu installe (standalone) soit tu fais une application distribuée par jnlp (règles de sécurité à respecter).

Discussions similaires

  1. Installer une application développée avec visual en c# sans installer visual
    Par flamme34 dans le forum Développement Windows
    Réponses: 9
    Dernier message: 06/12/2013, 11h34
  2. Comment installer une application développée avec C# sur MAC
    Par sanarz dans le forum Développement Windows
    Réponses: 3
    Dernier message: 20/11/2012, 17h34
  3. Réponses: 3
    Dernier message: 24/05/2010, 11h02
  4. Réponses: 2
    Dernier message: 21/04/2008, 11h23
  5. Installation d'une application Delphi6 avec Interbase
    Par Moustache dans le forum InterBase
    Réponses: 11
    Dernier message: 26/09/2006, 17h10

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