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

Qt Discussion :

Self update d'une application


Sujet :

Qt

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    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 : 41
    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
    Par défaut Self update d'une application
    Bonjour,

    Je suis en train de considérer linux comme plate-forme cible pour un développement. Les machines étant livrées par mon entreprise avec une distribution de mon choix, ce serait par souci d'économie.

    Ma contrainte est la suivante : je dois être capable, au lancement de l'application de checker si l'application est dans sa dernière version et au besoin de la mettre à jour. Exactement ce que fait par exemple notepad++ sous windows, en gros il télécharge un zip sur un serveur, termine l'application puis lance la mise à jour et la redémarre aussitôt.
    Pour que cette mise à jour automatique fonctionne, je dois être capable d'effectuer toute la manip sans demander aux gens d'aller dans la console taper des choses ou d'élever leurs droits en administrateur. C'est la principale contrainte.

    Et à ce sujet j'ai quelques doutes que mes connaissances en mécanique linux ne me permettent pas d'éclaircir.
    A priori, en développant mon application de manière à ce qu'elle ne nécessite pas d'installation mais juste une xcopy dans un répertoire du home, ça devrait fonctionner. Mais qu'en est-il des dépendances?

    Je veux dire, si mon application utilise Qt, je vais bien devoir fournir aussi les librairies, est-ce que copier les .so dans le répertoires de l'application sera suffisant? Est-ce que mon application sera capable de les trouver et les charger sans autres sachant qu'elles ne seraient pas installées par le package manager dans le répertoire des librairies de linux, et le cas échéant, est-ce que les librairies contenues dans mon répertoire aurait la priorité sur celles du système?

    Sous windows, il me suffit de mettre les .dll dans le répertoire de l'exe et c'est bon, je peux les écraser à chaque nouvelle install et elles ont la priorité sur celles qui seraient éventuellement dans System32. Je ne sais pas si sous linux c'est pareil.

    Bref cette contrainte de self-update avec dépendance vous semble-t-elle faisable?

  2. #2
    Rédacteur

    Avatar de johnlamericain
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2004
    Messages
    3 742
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Royaume-Uni

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

    Informations forums :
    Inscription : Août 2004
    Messages : 3 742
    Par défaut
    Cet article peut peut être t'aider : http://tcuvelier.developpez.com/qt/u...-introduction/

  3. #3
    Membre éprouvé
    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 : 41
    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
    Par défaut
    Oui en effet il est intéressant, merci.
    Mais mes soucis sont plutôt côté linux et sa gestion des librairies. Pas tant la programmation pure.

  4. #4
    Rédacteur

    Avatar de johnlamericain
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2004
    Messages
    3 742
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Royaume-Uni

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

    Informations forums :
    Inscription : Août 2004
    Messages : 3 742
    Par défaut
    Citation Envoyé par _skip Voir le message
    Oui en effet il est intéressant, merci.
    Mais mes soucis sont plutôt côté linux et sa gestion des librairies. Pas tant la programmation pure.
    Dans ce cas je pense que tes questions auraient plus de réponse dans le forum Linux.

  5. #5
    Inactif  


    Homme Profil pro
    Inscrit en
    Novembre 2008
    Messages
    5 288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Secteur : Santé

    Informations forums :
    Inscription : Novembre 2008
    Messages : 5 288
    Par défaut
    Bonjour _skip

    Pour les dépendances, linux fonctionne comme windows : il a une liste de répertoire et les regardent 1 par 1 jusqu'à ce qu'il trouve le fichiers qu'il recherche.
    Tu as également la possibilité de spécifier un répertoire particulier pour recherche une lib avec la commande rpath de qmake (par exemple pour créer un répertoire "lib/qt")

    Tu peux également :

    - utiliser que les libs mise à jour automatiquement et donc ne pas utiliser de fonctions non dispo dans une nouvelle lib (par exemple, sur ma version d'ubuntu, j'ai Qt 4.6.2 dans les dépôts et tant que je n'ai pas besoin d'utiliser le QML dans mes programmes, je peux utiliser celle là)

    - avoir plusieurs fois la même lib dans différents répertoire et modifier les variables d'environnement (par exemple pour Qt, tu as QTDIR, PATH, LD_LIBRARY, etc. à modifier ; c'est ce que j'utilise pour faire de la compilation vers différents version de Qt en même temps) == >> EDIT : oups, non. Cette méthode ne fonctionne que pour la compilation

    - créer un dépôt linux interne à l'entreprise, dans lequel tu mettrais les versions que tu veux des libs (et même des versions beta), celles-ci seraient alors installées correctement dans les systèmes clients automatiquement à la place des anciennes versions. Tu peux même y mettre ton programme, ce qui permettrait de le mettre à jour sans devoir développer un updater (mais non portable sur windows)

    - tu peux également écrire un script qui se lancerait automatiquement au démarrage et ferait le mise à jour sans intervention de l'utilisateur

  6. #6
    Membre éprouvé
    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 : 41
    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
    Par défaut
    Très intéressant ce rpath, je pense que ça va me sauver la mise.
    Merci beaucoup.

    L'autre option aurait été une compilation statique mais je suis obligé de me rabattre sur la version $$$ de Qt, je l'aurai volontiers fait pour le support mais celui-ci est diable limité.

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

Discussions similaires

  1. Réponses: 9
    Dernier message: 16/12/2010, 16h12
  2. [WD11] Ajouter une requête Update à une application RAD
    Par kandevamara dans le forum WinDev
    Réponses: 5
    Dernier message: 17/06/2010, 12h58
  3. ListItem Update dans une Page applicative
    Par jaudouy dans le forum Développement Sharepoint
    Réponses: 2
    Dernier message: 31/05/2010, 14h00
  4. Développer un live update pour une application
    Par identifiant_bidon dans le forum API standards et tierces
    Réponses: 0
    Dernier message: 27/04/2010, 15h58
  5. Créer un auto-updater pour une application
    Par Lamarios dans le forum Général Java
    Réponses: 4
    Dernier message: 10/03/2010, 03h58

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