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 :

Développement d'un updater-launcher sous Mac OSX


Sujet :

Java

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2011
    Messages
    66
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Avril 2011
    Messages : 66
    Points : 37
    Points
    37
    Par défaut Développement d'un updater-launcher sous Mac OSX
    Bonjour à tous,

    je souhaiterais développer un auto-updater en Java pour mon application. Je précise que je suis sous Mac OSX.
    Ce que je souhaite faire exactement:
    - Avoir mon application sous la forme MonApp.app (application bundle OSX classique)
    - Que cette application recherche d'éventuelles mises à jour sur mon serveur
    - Si disponible, télécharger soit la nouvelle application monApp.app et écraser l'ancienne, ou bien juste télécharger un .jar qui contient l'application, et remplacer celui présent dans MonApp.app actuel.

    Quelle est la meilleure solution? Je souhaite que l'utilisateur n'ai aucune action à réaliser (pas de drag'n'drop vers le dossier Applications par exemple), mon application étant autonome.

    Est-il possible que MonApp.app soit juste un petit utilitaire de téléchargement (qui se mette dans la barre de menu par exemple), et s'occupe de lancer l'application (via un .jar présent dans le bundle), à la manière d'un launcher classique?
    Dans ce cas, est-il possible que le launcher REMPLACE le .jar pour mettre à jour l'application, et la relance ensuite?

    Si une autre solution vous semble mieux, merci de me la faire partager.

    Merci d'avance

  2. #2
    Membre émérite
    Avatar de skeud
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2011
    Messages
    1 091
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Loire Atlantique (Pays de la Loire)

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

    Informations forums :
    Inscription : Juin 2011
    Messages : 1 091
    Points : 2 724
    Points
    2 724
    Billets dans le blog
    1
    Par défaut
    La meilleur solution pour faire un updater:
    _ une application qui se charge de télécharger les mise à jour et lancer l'application correcte
    _ une application qui se lance depuis le launcher et effectue les traitement dont tu as besoin.

    Dans ton cas, il faudrait faire un launcher qui possède un fichier de configuration contenant le path et le nom de l'application à lancer.
    Lorsque tu lance le launcher, il va regarder sur le serveur la version de l'application en cour, si elle correspond à celle du client, le launcher lance l'applciation, sinon la télécharge et met à jour le fichier de configuration.

    Tu peux bien évidemment supprimer le fichier jar, pour le remplacer par le nouveau, plus à jour.
    Pas de solution, pas de probleme

    Une réponse utile (ou +1) ->
    Une réponse inutile ou pas d'accord -> et expliquer pourquoi
    Une réponse à votre question


  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2011
    Messages
    66
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Avril 2011
    Messages : 66
    Points : 37
    Points
    37
    Par défaut
    Merci skeud,

    une petite question à ce sujet: Où doit-être (idéalement) contenu le .jar?

    Directement dans le bundle de l'application?
    A un autre emplacement? (lequel?)
    Y'a-t-il des bonnes pratiques à ce sujet sous OSX?

  4. #4
    Membre émérite
    Avatar de skeud
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2011
    Messages
    1 091
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Loire Atlantique (Pays de la Loire)

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

    Informations forums :
    Inscription : Juin 2011
    Messages : 1 091
    Points : 2 724
    Points
    2 724
    Billets dans le blog
    1
    Par défaut
    Bonne pratique je connais pas trop, je n'en ais fait que en c++, donc pour java ou OSX, je sais pas trop.

    Dans l'application que j'ai développer on avait une architecture de ce type:
    /
    --launcher.exe
    --config/
    ----launcher.ini
    ----appli.ini
    --dll/
    ----appli.dll
    --update/
    ----appli.exe

    Et dans le fichier ini du launcher:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    version=3.1.3
    Application=update/appli.exe
    ConfigurationAppli=config/appli.ini
    DLL=dll/appli.dll
    Lors de la mise à jour depuis le launcher, il allait vérifier sur le serveur et comparer le numéro de version:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Si versionServeur > versionlocal
    alors
      supprimer config/launcher.ini
      supprimer Application
      supprimer ConfigurationAppli
      supprimer DLL
      télécharger config/launcher.ini
      charger config/launcher.ini
      télécharger Application
      télécharger ConfigurationAppli
      télécharger DLL
    finsi
    En remplaçant les Application, ConfigurationAppli, DLL par les variable dans le fichier .ini, de cette manière on était tout le temps à jour. Mais c'était pour une petite application, pour les grosse il vaut mieux avoir un fichier de config par module (ie Application, configApplication, DLL) et ne télécharger/supprimer que les modules qui ne sont pas à jours, ça évite de tout retélécharger à chaque changement de version.
    Pas de solution, pas de probleme

    Une réponse utile (ou +1) ->
    Une réponse inutile ou pas d'accord -> et expliquer pourquoi
    Une réponse à votre question


Discussions similaires

  1. Problème Netbeans sous Mac OSX
    Par brotelle dans le forum NetBeans
    Réponses: 7
    Dernier message: 20/06/2008, 16h48
  2. Coder en C sous Mac OsX
    Par Spanish_Flu dans le forum Choisir un environnement de développement
    Réponses: 7
    Dernier message: 05/12/2006, 23h39
  3. editeur php sous mac OSX
    Par shadowR dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 3
    Dernier message: 01/03/2006, 16h57
  4. [swig] utilisation de ld sous mac osX tiger.
    Par PyBio dans le forum Interfaçage autre langage
    Réponses: 3
    Dernier message: 26/10/2005, 17h51

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