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

Langage Java Discussion :

[Stratégie][Idée]Mise à jour depuis appli


Sujet :

Langage Java

  1. #1
    Expert confirmé
    Avatar de Baptiste Wicht
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2005
    Messages
    7 431
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2005
    Messages : 7 431
    Par défaut [Stratégie][Idée]Mise à jour depuis appli
    Bonjour

    Dans le soft sur lequel je travaille actuellement, j'aimerais bien ajouter une fonctionnalité pour mettre à jour le programme sans aller sur internet.

    J'ai une idée de comment faire, mais je sais pas si elle est bonne...

    Voila ce que je pensais faire :
    1. Dans le programme je mets une variable constante version
    2. Je vais regarder sur une page web qui ne contient que le numéro de version
    3. Je compare les 2 versions
    4. Ensuite s'il existe une nouvelle version, je télécharge le nouveau jar depuis le site
    5. Ensuite, je lance le nouveau jar, je renomme le fichier pour qu'ainsi les incônes marchent bien
    6. Je quitte l'ancien programme
    Que pensez-vous de cette idée ? Avez vous une meilleure idée ?

    Merci

  2. #2
    Membre éprouvé Avatar de Satch
    Homme Profil pro
    Hypnothérapeute - Magicien
    Inscrit en
    Mars 2004
    Messages
    498
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Suisse

    Informations professionnelles :
    Activité : Hypnothérapeute - Magicien

    Informations forums :
    Inscription : Mars 2004
    Messages : 498
    Par défaut
    Citation Envoyé par wichtounet
    j'aimerais bien ajouter une fonctionnalité pour mettre à jour le programme sans aller sur internet. (...)
    1. Je vais regarder sur une page web qui ne contient que le numéro de version
    Là faut m'expliquer

  3. #3
    Membre émérite Avatar de yann2
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2004
    Messages
    897
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 897
    Par défaut
    Bonjour,

    Là faut m'expliquer
    J'imagine que wichtounet veux que tout soit automatique et que l'utilisateur n'ai pas besoin d'ouvrir son navigateur préféré et ... mais que l'application vérifie automatiquement sur le web et télécharge automatiquement si nécessaire.

    Je trouve l'idée bonne, mais il faut pouvoir laisser l'utilisateur décider. Genre une boîte de dialogue à l'ouverture de l'application qui demande si il faut chercher une mise à jour.

  4. #4
    Expert confirmé
    Avatar de Baptiste Wicht
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2005
    Messages
    7 431
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2005
    Messages : 7 431
    Par défaut
    Citation Envoyé par yann2
    Bonjour,



    J'imagine que wichtounet veux que tout soit automatique et que l'utilisateur n'ai pas besoin d'ouvrir son navigateur préféré et ... mais que l'application vérifie automatiquement sur le web et télécharge automatiquement si nécessaire.

    Je trouve l'idée bonne, mais il faut pouvoir laisser l'utilisateur décider. Genre une boîte de dialogue à l'ouverture de l'application qui demande si il faut chercher une mise à jour.
    C'est exactement, ce que je compte faire. Mais je vais mettre ca dans un menu, et ensuite, quand il aura trouvé s'il y a ou non nouvelle version, il demandera à l'utilisateur confirmation de téléchargement

  5. #5
    Membre émérite Avatar de yann2
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2004
    Messages
    897
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 897
    Par défaut
    C'est exactement, ce que je compte faire. Mais je vais mettre ca dans un menu, et ensuite, quand il aura trouvé s'il y a ou non nouvelle version, il demandera à l'utilisateur confirmation de téléchargement
    D'accord, mais pense quand même aux personnes qui, comme moi, n'ont pas de connexion internet à la maison (abandon de la procédure plutôt qu'une grosse exception quoi).

  6. #6
    Expert confirmé
    Avatar de Baptiste Wicht
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2005
    Messages
    7 431
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2005
    Messages : 7 431
    Par défaut
    Citation Envoyé par yann2
    D'accord, mais pense quand même aux personnes qui, comme moi, n'ont pas de connexion internet à la maison (abandon de la procédure plutôt qu'une grosse exception quoi).
    Je vais y penser lol ^^ J'avais pas pensé à ça

  7. #7
    Membre éclairé Avatar de le Daoud
    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    287
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Novembre 2002
    Messages : 287
    Par défaut
    Salut,

    Voici deux porpositions :
    1. Utilisation de JavaWebStart
    2. Création d'un lanceur

  8. #8
    Expert éminent
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Billets dans le blog
    1
    Par défaut
    Salut,

    Le seul problème que je vois c'est que tu ne pourras pas forcément supprimer/renommer les fichiers *.jar si ton application est lancé car il sont utilisés (cela peut dépendre également du système).

    Le mieux serait donc de passer par une troisième application qui ferait cela... (ou d'utiliser Java Web Start bien sûr)

    a++

  9. #9
    Expert confirmé
    Avatar de Baptiste Wicht
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2005
    Messages
    7 431
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2005
    Messages : 7 431
    Par défaut
    Donc, si j'adopte la proposition du lanceur, il me faudrait un 2 ème jar qui ferait :
    1. Si fichier jar au nom bizarre il y a (ce serait le fichier jar télécharger), il supprimme celui au nom normal et renomme l'autre
    2. Si fichier jar au nom bizarre il n'y a pas, il lance le fichier jar normal
    ce serait un truc comme ca ?

  10. #10
    Membre éclairé Avatar de le Daoud
    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    287
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Novembre 2002
    Messages : 287
    Par défaut
    Tu peux regarder les dates des fichiers, si celui qui est sur ton serveur est plus récent, tu fais la mise à jour.

  11. #11
    Expert confirmé
    Avatar de Baptiste Wicht
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2005
    Messages
    7 431
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2005
    Messages : 7 431
    Par défaut
    Je préfère avoir le numéro de version exact, comme ca je peut l'utilisateur peut se rendre compte de l'avancement de la nouvelle par rapport à l'ancienne tandis qu'avec la date, c'est pas très représentatif

  12. #12
    Membre éclairé Avatar de le Daoud
    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    287
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Novembre 2002
    Messages : 287
    Par défaut
    Tu peux envisager la lecture d'un fichier distant qui te donne les informations de ton choix (version, date,...) que tu compares avec des informations sur un fichier local que tu mets à jour si l'utilisateur fait une mise à jour.

  13. #13
    Expert confirmé
    Avatar de Baptiste Wicht
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2005
    Messages
    7 431
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2005
    Messages : 7 431
    Par défaut
    Voilà j'ai fini mon lanceur

    Il regarde s'il y a un nouveau jar et le cas échéant, supprimme l'ancien, renomme le nouveau et lance le nouveau et si il n'y en a pas, il lance tout simplement l'ancien

    Pour ceux que ca intéresse, voici le code de mon lanceur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    public class Main {
     //Variables contenant les noms des fichiers à charger
     private static final String pathCurrent = "/JTheque.jar";
     private static final String pathNew = "/New.jar";
     private static final String pathOld = "/Old.jar";
     
     //Variable contenant le nom du répértoire courant
     private static final String currentFolder = System.getProperty("user.dir");
     
     /**
      * Classe main du lanceur
      * @param args
      */
     public static void main(String[] args) {
      //On charge les fichiers jar
      File current = new File(currentFolder + pathCurrent);
      File newVersion = new File(currentFolder + pathNew);
      File old = new File(currentFolder + pathOld);
     
      //Si une nouvelle version a été téléchargée
      if(newVersion.exists()){
       //On renomme la version actuelle (donc la vielle)
       current.renameTo(old);
     
       //On renomme la nouvelle avec le nom de l'ancienne
       newVersion.renameTo(current);
     
       //On delete l'ancienne
       old.delete();
     
       try {
        //On lance le jar
        Desktop.open(current);
       } catch (DesktopException e) {
        e.printStackTrace();
       }
      //Si une version courante existe
      }else if(current.exists()){
       try {
        //On lance le jar
        Desktop.open(current);
       } catch (DesktopException e) {
        e.printStackTrace();
       }
      //Si aucun fichier n'existe
      }else{
       //On avertit d'un problème
       JOptionPane.showMessageDialog(null,"Aucun fichier jar à lancer...");
      }
     }
    }
    P.S. Je mets pas encore résolu, car j'ai encore rien fait pour la mise à jour depuis l'appli

  14. #14
    Expert confirmé
    Avatar de Baptiste Wicht
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2005
    Messages
    7 431
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2005
    Messages : 7 431
    Par défaut
    Voilà, j'ai réussi à récupérer le numéro de version depuis un page php et à le comparer avec celui de la versioon actuelle

    J'ai plus qu'à trouver comment télécharger la nouvelle version et après je suis bon

  15. #15
    Expert confirmé
    Avatar de Baptiste Wicht
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2005
    Messages
    7 431
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2005
    Messages : 7 431
    Par défaut
    Et voilà j'ai terminé mon système de mise à jour

    Merci à tous ceux qui m'ont aidé

  16. #16
    Expert confirmé
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Par défaut
    Tant que tu ys est indique comment tu as procédé ça pourra être utile un jour ou l'autre à quelqu'un (pas forcément des tonnes de codes sources mais des indication accompagnées d'exemples peuvent être utiles

  17. #17
    Expert confirmé
    Avatar de Baptiste Wicht
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2005
    Messages
    7 431
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2005
    Messages : 7 431
    Par défaut
    Ben, c'est indiqué dans mes posts, mais je vais faire une petite synthèse

    Voilà ce que je fais dans ma méthode update :
    1. Je vais récupérer le numéro de la dernière version sur une page web (pour savoir comment faire, allez voir sur mon post dans le sujet sources java)
    2. Ensuite je compare l'actuelle à la nouvelle et si la nouvelle n'est pas plus récente, je ne fais rien
    3. Si la nouvelle est plus récente, j'en avertis l'utilisateur et lui demande si il veut télécharger la nouvelle version ou non.
    4. Si il veut la télécharger, je vais la télécharger (cf mon post dans le sujet pour participer à la faq)
    5. Ensuite j'avertis l'utilisateur qu'il faut rédémarrer l'application et lui propose de la rédémarrer maintenant ou qu'il le fasse plus tard
    6. Si il veut que ce soit fait automatiquement, je lance mon lanceur en lui précisant un temps d'attente d'une seconde et je ferme le programme actuel
    7. Le lanceur va voir qu'il y a un nouvea jar et va remplacer l'actuel par le nouveau et lancer le nouveau
    Et voilà

    Pour ceux qui veulent plus d'infos ou ont des questions, n'hésitez pas

  18. #18
    Membre éclairé Avatar de soad
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    520
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Février 2004
    Messages : 520
    Par défaut
    juste une petite chose:

    Si l'utilisateur est derrière un proxy, il faut qu'il puisse le renseigner a ton programme... http://java.developpez.com/faq/java/...u#RESEAU_proxy

    pcq sinon ton prog ne pourra pas accéder à ta page web...

  19. #19
    Expert confirmé
    Avatar de Baptiste Wicht
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2005
    Messages
    7 431
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2005
    Messages : 7 431
    Par défaut
    Tu as raison, j'avais pas pensé à ce foutu proxy...

    Je vais ajouter un champ dans les options pour renseigner le proxy si l'utilisateur en a un.

    Merci

  20. #20
    Membre éclairé Avatar de bubu56
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    58
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 58
    Par défaut
    Citation Envoyé par wichtounet
    Je vais récupérer le numéro de la dernière version sur une page web (pour savoir comment faire, allez voir sur mon post dans le sujet sources java)
    ...
    Si il veut la télécharger, je vais la télécharger (cf mon post dans le sujet pour participer à la faq)
    J'ai beau chercher, je trouve pas ... c'est ou ?

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Mise à jour depuis un UserControl
    Par 18carats dans le forum Windows Presentation Foundation
    Réponses: 1
    Dernier message: 18/10/2012, 16h32
  2. ProgressBar mise à jour depuis une autre classe
    Par poussinvert dans le forum Android
    Réponses: 23
    Dernier message: 23/05/2012, 19h20
  3. Mise à jour depuis un formulaire
    Par Begsweb dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 23/11/2009, 12h54
  4. Réponses: 20
    Dernier message: 08/01/2009, 13h15
  5. mise à jour depuis surf (excel)
    Par franxy dans le forum VBA Access
    Réponses: 4
    Dernier message: 22/06/2007, 23h18

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