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

Java Discussion :

Recherche de pistes pour mise à jour automatique d'une application (self update)


Sujet :

Java

  1. #1
    Expert éminent
    Avatar de _skip
    Homme Profil pro
    Développeur d'applications
    Inscrit en
    Novembre 2005
    Messages
    2 898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur d'applications
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 898
    Points : 7 752
    Points
    7 752
    Par défaut Recherche de pistes pour mise à jour automatique d'une application (self update)
    Bonjour,

    Je souhaite intégrer un mécanisme de mise à jour automatique à mon application et je recherche quelques pistes sur la manière de procéder.
    L'idéal serait que l'application check sa version régulièrement sur un site http, télécharge silencieusement la mise à jour et une fois celle-ci prête à être installer, propose à l'utilisateur de procéder à la mise à jour.

    En gros sans se casser la tête, cela consisterait simplement à écraser le jar de l'application et son répertoire "lib" par la version récupérée. Il me semble bien qu'il est nécessaire pour cela de quitter l'application afin de pouvoir remplacer les fichiers. Je pense à 2 solutions :

    1) Lancer mon application indirectement à l'aide d'un lanceur, càd un simple programme capable de faire la MAJ avant de démarrer le programme principal. Cela me permettrait entre autres de récupérer quelques informations utiles (chemin véritable de l'application, etc...). Se poserait alors la question de la mise à jour du lanceur lui-même...

    2) Fournir dans mon application un programme extérieur responsable du déploiement de la mise à jour et le lancer juste avant la fermeture dans un process indépendant.

    Si vous avez des recommendations quant à la démarche à suivre pour rendre la chose plus "sécurisée", les mises à jour partielles étant tout de même dangereuses, je suis preneur.

    Merci d'avance.

  2. #2
    Membre chevronné
    Avatar de Deadpool
    Homme Profil pro
    Inscrit en
    Novembre 2005
    Messages
    1 312
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Novembre 2005
    Messages : 1 312
    Points : 2 011
    Points
    2 011
    Par défaut
    Salut.

    Tu as regardé du côté de Java Web Start?

    Petite intro .

    -"Tout ça me paraît très mal organisé. Je veux déposer une réclamation. Je paye mes impôts, après tout!"
    -"JE SUIS LA MORT, PAS LES IMPÔTS! MOI, JE N'ARRIVE QU'UNE FOIS".

    Pieds d'argile (1996), Terry Pratchett 1948 - 2015
    (trad. Patrick Couton)

  3. #3
    Expert éminent
    Avatar de _skip
    Homme Profil pro
    Développeur d'applications
    Inscrit en
    Novembre 2005
    Messages
    2 898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur d'applications
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 898
    Points : 7 752
    Points
    7 752
    Par défaut
    J'ai regardé déjà mais je trouve hélas peu de témoignages et d'informations sur le déploiement par JWS d'applications non triviales et ça m'inquiète un peu.
    J'ai quand même besoin de créer une base de donnée locale, d'accéder aux imprimantes, au ports séries etc...

    Ceci dit, ça pourrait être une solution encore assez élégante, faudrait que je teste les limitations avec une application auto-signée.

  4. #4
    Membre confirmé
    Avatar de william44290
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Juin 2009
    Messages
    400
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France

    Informations professionnelles :
    Activité : Responsable de service informatique

    Informations forums :
    Inscription : Juin 2009
    Messages : 400
    Points : 575
    Points
    575
    Par défaut
    le sujet m'interresse aussi, j'ai mis en place un autoupdate dans le cadre d'un réseau dont voici le lien : http://www.developpez.net/forums/d77...s/#post5493932

    je serais preneur d'une solution équivalente pour mes applis distribuées par le net.

  5. #5
    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 : 44
    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 806
    Points
    48 806
    Par défaut
    -> en appli auto signée, votre utilisateur va tiquer, comment etre sur qu'un pirate ne fait pas tourner du code rogue sur sa machine
    -> des applications complexe en java webstart, ca existe, il faut juste en avoir besoin pour savoir qu'elles existent Exemple http://www.yworks.com/en/products_yed_about.html
    -> avec un downloader custom, ca va être le meme problème qu'en 1, sauf qu'en plus tu va cacher cet état de fait a l'utilisateur


    Bref, si l'appli est a vocation d'etre vraiment déployée (pas juste une bidouille), l'investissement dans un certificat de signature de code vaut le coup.

  6. #6
    Expert éminent
    Avatar de _skip
    Homme Profil pro
    Développeur d'applications
    Inscrit en
    Novembre 2005
    Messages
    2 898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur d'applications
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 898
    Points : 7 752
    Points
    7 752
    Par défaut
    Sauf que j'ai la chance de fournir moi-même les machines qui ne sont pas des PC standards mais des automates à écran tactile. Je devrai pouvoir m'arranger pour que mon certificat soit "trusted" avant la livraison. C'est plutôt mes contraintes particulières qui m'inquiètent et mon éventuelle décision, dans le futur, d'utiliser un compilateur AOT comme jet.

  7. #7
    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 : 44
    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 806
    Points
    48 806
    Par défaut
    a partir du moment ou c'est signé et certificat accepté, tu n'as plus de sandbox. La seule chose que tu ne peux pas faire, en l'état actuel c'est

    -> fichier jnlp dynamique facilement
    -> passer des "properties" non standard à la jvm.

    Ces deux opérations déclencheront quand meme une alerte sécurité. Si ce sont des terminaux autonomes, n'est-il pas plus simple, toutes les nuits ou chaque matin, d'avoir ce terminal qui fait sa mise à jour via du rscp?

  8. #8
    Expert éminent
    Avatar de _skip
    Homme Profil pro
    Développeur d'applications
    Inscrit en
    Novembre 2005
    Messages
    2 898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur d'applications
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 898
    Points : 7 752
    Points
    7 752
    Par défaut
    Citation Envoyé par tchize_ Voir le message
    a partir du moment ou c'est signé et certificat accepté, tu n'as plus de sandbox. La seule chose que tu ne peux pas faire, en l'état actuel c'est

    -> fichier jnlp dynamique facilement
    -> passer des "properties" non standard à la jvm.

    Ces deux opérations déclencheront quand meme une alerte sécurité. Si ce sont des terminaux autonomes, n'est-il pas plus simple, toutes les nuits ou chaque matin, d'avoir ce terminal qui fait sa mise à jour via du rscp?
    Il ne sont pas tout à fait autonome car il existe un mode "service" que l'opérateur active en insérant une clef dans l'appareil, la mon application passe automatiquement sur une autre interface qui permet de vider la caisse de l'engin. Ma première idée était de lui proposer à ce moment là de faire la mise à jour. La personne fait ce travail au minimum 1 fois par jour, mais ça peut aller jusqu'à 3 ou 4.

  9. #9
    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 : 44
    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 806
    Points
    48 806
    Par défaut
    par autonome, je voulais dire dédiés. A partir du moment ou tu fais visiblement toi meme la config des terminaux et que, visiblement, ils ont un accès réseau, ca me semblerait intéressant de plutot utiliser ce réseau pour pomper à heures fixes une nouvelle copie de ton programme sur un serveur srcp ou rscyn+ssl etc. Ce serait plsu simple que du webstart

  10. #10
    Expert éminent
    Avatar de _skip
    Homme Profil pro
    Développeur d'applications
    Inscrit en
    Novembre 2005
    Messages
    2 898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur d'applications
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 898
    Points : 7 752
    Points
    7 752
    Par défaut
    Citation Envoyé par tchize_ Voir le message
    par autonome, je voulais dire dédiés. A partir du moment ou tu fais visiblement toi meme la config des terminaux et que, visiblement, ils ont un accès réseau, ca me semblerait intéressant de plutot utiliser ce réseau pour pomper à heures fixes une nouvelle copie de ton programme sur un serveur srcp ou rscyn+ssl etc. Ce serait plsu simple que du webstart
    Merci, c'est vrai que c'est une possibilité. Je vais essayer de voir ce qui est le mieux pour ce projet.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 7
    Dernier message: 16/06/2007, 12h03
  2. Réponses: 4
    Dernier message: 09/03/2007, 19h19
  3. [VBA-EXcel] Timer pour mise jour automatique
    Par Dos dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 12/09/2006, 20h36
  4. Mise à jour automatique d'une table access via un .xls
    Par infratunes dans le forum Access
    Réponses: 4
    Dernier message: 05/04/2006, 18h33
  5. [VB6] Code pour Mise à jour automatique
    Par marsup54 dans le forum VB 6 et antérieur
    Réponses: 45
    Dernier message: 10/02/2006, 18h05

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