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 :

Un updater avec Qt [Tutoriel]


Sujet :

Qt

  1. #1
    Responsable Qt & Livres


    Avatar de dourouc05
    Homme Profil pro
    Ingénieur de recherche
    Inscrit en
    Août 2008
    Messages
    26 619
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur de recherche
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2008
    Messages : 26 619
    Points : 188 597
    Points
    188 597
    Par défaut Un updater avec Qt
    Bonjour,

    Début de cette année sortait la traduction du tutoriel officiel de Qt 4.4 : Débuter dans la création d'interfaces graphiques avec Qt 4. Vous y avez appris la base de la création d'interfaces graphiques (GUI) avec Qt.

    Mais vous n'êtes pas sans savoir que Qt, ce n'est pas que des interfaces graphiques : il s'agit d'un framework extrêmement complet, qui peut gérer le réseau, le XML, la traduction, les bases de données... Mais on peut encore l'améliorer, lui ajouter des fonctionnalités : par exemple, la compression de flux. D'autres y ont déjà pensé, et ont proposé des librairies complètes d'ajout de fonctionnalités à Qt : Qwt (graphiques), QCA (cryptographie)...

    Tout ceci, vous ne l'avez pas encore découvert avec ce tutoriel : cette lacune est actuellement comblée.

    Prenant pour fil rouge la création d'un updater, un programme qui permet de télécharger des mises à jour distantes, cette série d'articles va vous proposer de découvrir toutes ces facettes de l'existence de Qt.

    Petit détail pour la suite : les sources de l'updater sont disponibles sur un repository SVN, vous pouvez suivre l'avancement du programme, et donc du tutoriel, au jour le jour.



    Un updater avec Qt : l'introduction
    Un updater avec Qt : le téléchargement de fichiers



    Qu'attendez-vous de cette série ? L'attendiez-vous ?

    Profitez aussi de ce topic pour commenter les articles ! Par contre, si vous avez des problèmes avec le code source ou pour la compréhension d'une partie du tutoriel, vous pouvez demander des explications dans le forum Qt.

    Voir aussi : Le forum Qt, les cours et tutoriels Qt, et la FAQ Qt.
    Vous souhaitez participer aux rubriques Qt (tutoriels, FAQ, traductions) ou HPC ? Contactez-moi par MP.

    Créer des applications graphiques en Python avec PyQt5
    Créer des applications avec Qt 5.

    Pas de question d'ordre technique par MP !

  2. #2
    Membre expérimenté Avatar de Firwen
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    472
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2009
    Messages : 472
    Points : 1 587
    Points
    1 587
    Par défaut
    Bonne idée ça, un tuto sur un updater, les tutoriels sur une telle fonction sont rares
    It's not a bug, it's a feature

  3. #3
    Expert éminent sénior

    Homme Profil pro
    pdg
    Inscrit en
    Juin 2003
    Messages
    5 751
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : pdg

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 751
    Points : 10 670
    Points
    10 670
    Billets dans le blog
    3
    Par défaut
    C'est une très bonne idée, un tel composant est très utile. Mais je suis réservé sur le choix de la license : GPL. Pourquoi pas LPGL, tout comme Qt ?

    A noter qu'il existe un updater assez évolué dans le GCF (GPL / commercial) :
    http://www.vcreatelogic.com/products/gcf/

  4. #4
    Membre régulier
    Avatar de alpha_one_x86
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    411
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Somme (Picardie)

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

    Informations forums :
    Inscription : Décembre 2006
    Messages : 411
    Points : 113
    Points
    113
    Par défaut
    +1, je pense que ce sera trés instructif et trés utile.
    Par contre le cas ou l'application été déjà ouverte (donc fichier non supprimable sous windows) sera t'il exposé?
    Développeur d'Ultracopier

  5. #5
    Responsable Qt & Livres


    Avatar de dourouc05
    Homme Profil pro
    Ingénieur de recherche
    Inscrit en
    Août 2008
    Messages
    26 619
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur de recherche
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2008
    Messages : 26 619
    Points : 188 597
    Points
    188 597
    Par défaut
    Citation Envoyé par alpha_one_x86 Voir le message
    +1, je pense que ce sera trés instructif et trés utile.
    Par contre le cas ou l'application été déjà ouverte (donc fichier non supprimable sous windows) sera t'il exposé?
    Le but est principalement de faire découvrir des fonctionnalités autres que les GUI dans Qt, mais il n'est pas impossible que ce problème soit exposé.
    Vous souhaitez participer aux rubriques Qt (tutoriels, FAQ, traductions) ou HPC ? Contactez-moi par MP.

    Créer des applications graphiques en Python avec PyQt5
    Créer des applications avec Qt 5.

    Pas de question d'ordre technique par MP !

  6. #6
    Membre du Club
    Inscrit en
    Février 2009
    Messages
    72
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 72
    Points : 58
    Points
    58
    Par défaut
    très interessant. J'attends déjà avec impatience, car je trouve que ce sera assez instructif pour moi.
    Surtout, bon courage lors de l'élaboration

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Août 2008
    Messages
    154
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 154
    Points : 84
    Points
    84
    Par défaut
    Je vais suivre ca de trés trés prés.

    Je ne connaissais pas du tout le système metalink ça à l'air prometteur.

    Vous parlez d'envoyer un mail à un serveur qui renverra aux inscrits ; le serveur est à coder aussi ?

    En tout cas bravo j'ai hate de lire les premières lignes

    Bonne soirée

  8. #8
    Membre averti
    Avatar de Niak74
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    271
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations forums :
    Inscription : Juin 2007
    Messages : 271
    Points : 333
    Points
    333
    Par défaut
    Je trouve l'idée très intéressante ! Merci à vous !
    Un clavier Azerty en vaut deux.

  9. #9
    Responsable Qt & Livres


    Avatar de dourouc05
    Homme Profil pro
    Ingénieur de recherche
    Inscrit en
    Août 2008
    Messages
    26 619
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur de recherche
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2008
    Messages : 26 619
    Points : 188 597
    Points
    188 597
    Par défaut
    Citation Envoyé par geek-59600 Voir le message
    Vous parlez d'envoyer un mail à un serveur qui renverra aux inscrits ; le serveur est à coder aussi ?
    Non, je me baserai sur de l'existant (par exemple, sendmail). Rien de cette partie n'est encore prévu, donc il est possible que cela change du tout au tout.
    Vous souhaitez participer aux rubriques Qt (tutoriels, FAQ, traductions) ou HPC ? Contactez-moi par MP.

    Créer des applications graphiques en Python avec PyQt5
    Créer des applications avec Qt 5.

    Pas de question d'ordre technique par MP !

  10. #10
    Responsable Qt & Livres


    Avatar de dourouc05
    Homme Profil pro
    Ingénieur de recherche
    Inscrit en
    Août 2008
    Messages
    26 619
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur de recherche
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2008
    Messages : 26 619
    Points : 188 597
    Points
    188 597
    Par défaut
    Bonjour,

    Vous pouvez désormais consulter la deuxième partie de cette série. Nous allons maintenant rentrer dans le vif du sujet : le téléchargement de fichiers, et leur écriture sur le disque dur. D'abord en théorie : quelles classes peut-on utiliser, comment les utiliser ; puis en pratique, par la création de notre première fenêtre, qui proposera un bouton pour lancer la mise à jour, sans plus.

    Y sont abordés :
    - Le gestionnaire d'accès (QNetworkAccessManager et cie),
    - Les fichiers (QFile).

    Bonne lecture !
    Vous souhaitez participer aux rubriques Qt (tutoriels, FAQ, traductions) ou HPC ? Contactez-moi par MP.

    Créer des applications graphiques en Python avec PyQt5
    Créer des applications avec Qt 5.

    Pas de question d'ordre technique par MP !

  11. #11
    Membre régulier
    Avatar de alpha_one_x86
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    411
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Somme (Picardie)

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

    Informations forums :
    Inscription : Décembre 2006
    Messages : 411
    Points : 113
    Points
    113
    Par défaut
    Dans le .pro il manque le network, ce qui fait que avec Qt creator sous linux ça ne marche pas.
    QT += network
    Développeur d'Ultracopier

  12. #12
    Membre régulier
    Avatar de alpha_one_x86
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    411
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Somme (Picardie)

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

    Informations forums :
    Inscription : Décembre 2006
    Messages : 411
    Points : 113
    Points
    113
    Par défaut
    Je vais plus tarder à devoir implémenté un updater pour ultracopier donc en Qt, je sais pas si tu compte continuer ce tuto ou si tu veux que je te fasse un base de code?
    Ce que je vais implémenté:
    Updater pour l'exe principal. Updater pour les plugins (une fois le système de plugin codé).
    Développeur d'Ultracopier

  13. #13
    Responsable Qt & Livres


    Avatar de dourouc05
    Homme Profil pro
    Ingénieur de recherche
    Inscrit en
    Août 2008
    Messages
    26 619
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur de recherche
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2008
    Messages : 26 619
    Points : 188 597
    Points
    188 597
    Par défaut
    Tu as déjà la base, le strict minimum pour faire ton updater : le téléchargement de fichiers (même si ce n'est pas grand chose). Pour l'update de l'exe, tant que tu l'utilises, ce n'est pas possible : il faut le modifier depuis un programme externe (update.exe), puis tu écrases l'actuel. Si c'est pour mettre à jour l'updater, il faut télécharger le nouvel updater à côté, le lancer, puis le copier à la place de l'ancien, qui supprimera le téléchargement dès uq'on n'en aura plus besoin. Pour mettre à jour Qt : utiliser un updater linké statiquement. Puis, pouvoir télécharger plusieurs fichiesr : ça ne devrait pas poser trop de problèmes, tant que tu connais leurs emplacements. Pour avoir la version XML, attends le prochain tuto (presque fini...).

    Je viens de remarquer ton message précédent, je viens d'en tenir compte.
    Vous souhaitez participer aux rubriques Qt (tutoriels, FAQ, traductions) ou HPC ? Contactez-moi par MP.

    Créer des applications graphiques en Python avec PyQt5
    Créer des applications avec Qt 5.

    Pas de question d'ordre technique par MP !

  14. #14
    Membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    264
    Détails du profil
    Informations personnelles :
    Âge : 32
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 264
    Points : 52
    Points
    52
    Par défaut
    Bonjour,

    Je suis pas mal le tuto dessus mais malheureusement il n'avance plus depuis un bout de temps déjà donc je voulais juste savoir si c'était prévu qu'une personne ou que l'auteur poursuive le tuto ?

    Je sais que l'auteur est assez déborder donc je pose la question

    Merci

  15. #15
    Responsable Qt & Livres


    Avatar de dourouc05
    Homme Profil pro
    Ingénieur de recherche
    Inscrit en
    Août 2008
    Messages
    26 619
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur de recherche
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2008
    Messages : 26 619
    Points : 188 597
    Points
    188 597
    Par défaut
    Salut,

    Il est toujours prévu de faire avancer le tuto, mais je suis de plu sen plus débordé, et ça ne devrait pas s'arranger avant un certain temps. La partie suivante est déjà bien avancée (il ne manque que la partie pratique, dans le code, mais il faut le pondre). Pour le moment, personne ne s'est proposé pour continuer cette partie, donc c'est par la force des choses assez dur de le faire avancer.
    Vous souhaitez participer aux rubriques Qt (tutoriels, FAQ, traductions) ou HPC ? Contactez-moi par MP.

    Créer des applications graphiques en Python avec PyQt5
    Créer des applications avec Qt 5.

    Pas de question d'ordre technique par MP !

  16. #16
    Membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    264
    Détails du profil
    Informations personnelles :
    Âge : 32
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 264
    Points : 52
    Points
    52
    Par défaut
    Ok pas de problème, c'est dommage que personne ce propose c'est un tuto qui va servir à beaucoup de monde à mon avis...

  17. #17
    Membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    264
    Détails du profil
    Informations personnelles :
    Âge : 32
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 264
    Points : 52
    Points
    52
    Par défaut
    Bonsoir,

    je voulais savoir si le tuto avait avancé depuis le temps ?
    Si il est toujours en activité ou complètement abandonné ?

    Merci

  18. #18
    Responsable Qt & Livres


    Avatar de dourouc05
    Homme Profil pro
    Ingénieur de recherche
    Inscrit en
    Août 2008
    Messages
    26 619
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur de recherche
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2008
    Messages : 26 619
    Points : 188 597
    Points
    188 597
    Par défaut
    Rien n'a malheureusement pu avancer ces derniers temps, pas plus qu'avant. Dans ma tête, il n'est pas abandonné ; je n'ai cependant pas le temps ni le courage de m'y remettre pour le moment.
    Vous souhaitez participer aux rubriques Qt (tutoriels, FAQ, traductions) ou HPC ? Contactez-moi par MP.

    Créer des applications graphiques en Python avec PyQt5
    Créer des applications avec Qt 5.

    Pas de question d'ordre technique par MP !

  19. #19
    Membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    264
    Détails du profil
    Informations personnelles :
    Âge : 32
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 264
    Points : 52
    Points
    52
    Par défaut
    Ok dommage merci quand même.

  20. #20
    Nouveau membre du Club
    Inscrit en
    Mars 2007
    Messages
    34
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 34
    Points : 35
    Points
    35
    Par défaut une petite erreur, et un grand merci
    bonjour, je viens de lire ce tuto.

    je regrette qu'il soit au point mort mais je remercie déjà l'auteur pour tout ce qu'il à pu écrire à ce sujet.
    Juste une remarque : dans le handler, le membre request est déclaré sur la pile d'une des fonctions.
    Il est a priori inutile que cet objet soit un membre de la classe.


    bonne journée

Discussions similaires

  1. UPDATE avec JOIN ?
    Par zakuli dans le forum Débuter
    Réponses: 3
    Dernier message: 25/07/2007, 14h53
  2. UPDATE avec des variables Delphi ...
    Par Kokito dans le forum Bases de données
    Réponses: 3
    Dernier message: 08/03/2004, 22h35
  3. Requete d'update avec concatenation !!
    Par chris92 dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 25/02/2004, 12h05
  4. [version] Requete Update avec différentes versions de mySQL
    Par regbegpower dans le forum Requêtes
    Réponses: 2
    Dernier message: 26/01/2004, 17h19
  5. Pb Update avec chaine de caractere
    Par JuJu° dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 28/05/2003, 15h58

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