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

Windows Discussion :

Quel environnement pour développer des prog Windows légers ?


Sujet :

Windows

  1. #1
    Ank
    Ank est déconnecté
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 7
    Points : 3
    Points
    3
    Par défaut Quel environnement pour développer des prog Windows légers ?
    Salut à tous,

    Cela fait quelques semaines que je passe mon temps libre à développer une petite application en Python avec une mini interface graphique via wxPython.
    Le développement du programme étant terminé, j'ai décidé de le mettre sous forme d'exécutable grâce à Py2Exe afin de pouvoir le distribuer facilement.
    Mauvaise surprise... Les librairies Python et wxPython doivent être intégrées au programme qui au final pèse plus de 11Mo (mon code source pèse dans les 200/300Ko).

    En le zippant ou en le preparant via un installeur, et en utilisant toutes les techniques de compression trouvées sur le web, le fichier est au maximum réduit à 4/5Mo.
    Mais une fois installé sur le poste de l'utilisateur il occupe tout de même 11Mo...

    La plupart des petites applications du même genre que j'utilise pèse rarement plus de 1/2Mo.
    11Mo me semble énorme, ça ne fait pas sérieux, et prévoyant de distribuer gratuitement ce programme via mon site web, j'ai un peu peur pour ma consommation de bande passante...

    Ne voulant pas baisser les bras, je cherche un autre environnement de développement qui me permettra de produire une petite application légère.
    Quelles solutions me préconisez vous ?

    Merci pour votre aide.

    Ank

  2. #2
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 369
    Points : 41 518
    Points
    41 518
    Par défaut
    toujours en Python, ou bien dans d'autres langages?
    Forcément avec une librairie portable, ou pas?
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  3. #3
    Ank
    Ank est déconnecté
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 7
    Points : 3
    Points
    3
    Par défaut
    Salut Médinoc,

    Alors pour le Python je pense avoir fait le tour, malheureusement je ne pense pas qu'il soit possible de faire un exe léger.
    Donc oui, il va bien falloir que je passe à un autre langage :\

    Mon application ne sera utilisée que sous Windows.
    Je ne sais pas comment les développeurs d'applications simples procèdent, a mon avis il doivent utiliser un environnement de dev permettant d'utiliser les librairies natives de Win.

  4. #4
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 369
    Points : 41 518
    Points
    41 518
    Par défaut
    Eh bien, pour utiliser les API natives de Windows, il y a pas mal d'EDI disponibles...
    Parmi lesquelles Visual C++ (payant, et cher) et Dev-C++ (Gratuit, utilise un compilateur GCC)
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  5. #5
    Ank
    Ank est déconnecté
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 7
    Points : 3
    Points
    3
    Par défaut
    Waouh! Merci Médinoc
    Je viens d'installer et d'essayer vite fait Dev-C++, ce logiciel m'a l'air parfait
    J'ai crée un projet de base et je l'ai tout de suite compilé... Poids de l'exe : 21Ko, ya pas photo... ^^

    Par contre je n'ai pas trouvé s'il avait un éditeur de GUI intégré, faut-il ajouté un autre logiciel ?

    EDIT : je pense avoir trouvé réponse... S'agirait-il de QT ?

  6. #6
    Expert éminent sénior

    Homme Profil pro
    pdg
    Inscrit en
    Juin 2003
    Messages
    5 749
    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 749
    Points : 10 666
    Points
    10 666
    Billets dans le blog
    3
    Par défaut
    Ben utilise wxWidgets, wxPython étant le binding Python de cette lib C++.
    Au passage, j'ai peur que ton exe de 21 ko soit lié à une dll.

  7. #7
    Ank
    Ank est déconnecté
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 7
    Points : 3
    Points
    3
    Par défaut
    Citation Envoyé par Aurelien.Regat-Barrel
    Ben utilise wxWidgets, wxPython étant le binding Python de cette lib C++.
    Exact, mais je me demande s'il ne va pas m'ajouter des librairies dans mon prog finale, comme avec mon prog Python...
    Est-ce que wxWidgets est natif de Win ?

    EDIT :
    Je viens de lire dans un tuto :

    "wxWidgets est une API C++ libre multiplateforme (Unix, Windows et Mac). Elle a l'énorme avantage d'être sous License LGPL (acronyme de Library General Public Licence) et donc permettre la redistribution de binaires. De plus, elle utilise l'interface graphique native sur chaque système d'exploitation."

    Donc a priori ca devrait lefaire

    Citation Envoyé par Aurelien.Regat-Barrel
    Au passage, j'ai peur que ton exe de 21 ko soit lié à une dll.
    Aïe, pourtant j'ai testé l'exe sur une autre machine qui n'a aucun environnement de dev d'installé et il s'est parfaitement lancé.

  8. #8
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 369
    Points : 41 518
    Points
    41 518
    Par défaut
    Un simple exe d'une vingtaine de KO en API Windows native est généralement lié uniquement aux DLL standards de Windows (kernel32.dll, user32.dll, etc.)

    Pour les fonction de la librairie standard C ou C++, Visual offre deux versions possibles (librairie standard statiquement liée au programme, ou programme utilisant MSVCRT.DLL) mais pour Dev-c++, je ne sais pas...
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  9. #9
    Membre éprouvé

    Profil pro
    Inscrit en
    Août 2003
    Messages
    878
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2003
    Messages : 878
    Points : 1 067
    Points
    1 067
    Par défaut
    Citation Envoyé par Ank
    Est-ce que wxWidgets est natif de Win ?
    Nan. c'est pour ça que c'est portable.

    Autre EDI à essayer : Code::Blocks (un plug-in wxWidgets est prévu il me semble).

    Sinon il y a lccwin32 qui doit avoir un éditeur de ressources si ma mémoire est bonne...

    Penser aussi que Dev-C++ permet de télécharger des librairies pré-compilées (des "DevPak").
    Un problème bien exposé
    est, pour moitié, solutionné. / La connaissance s'accroît quand on la partage, pas quand on l'impose. / La violence est le langage des faibles.

  10. #10
    Expert éminent sénior

    Homme Profil pro
    pdg
    Inscrit en
    Juin 2003
    Messages
    5 749
    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 749
    Points : 10 666
    Points
    10 666
    Billets dans le blog
    3
    Par défaut
    wxWidgets utilise directement Win32 sous Windows, comme les MFC. Donc les applis wxWidgets sont de "vraies" applis Windows, natives, ce qui n'est pas le cas avec Qt ou GTK+ par exemple.
    Sous Linux ça utilise GTK.
    wxWidgets est donc essentiellement une surcouche C++, donc elle pèse un peu, surtout si tu utilises des contrôles qui lui sont spécifiques (wxGrid). Mais c'est pas énorme. En liant "intelligement", tu devrais facilement arriver en dessous du Mo.
    http://c.developpez.com/faq/cpp/?pag...GENERALITE_gui

  11. #11
    Ank
    Ank est déconnecté
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 7
    Points : 3
    Points
    3
    Par défaut
    La syntaxe de wxWidget étant quasi identique à celle de wxPython, je l'ai utilisé pour reconstruire la GUI.
    L'exe du projet de base wxWidget via Dev-C++, pèse un peu moins de 2Mo, mon interface ne fait pas beaucoup plus, je suis encore en dessous des 2Mo.
    On est loin des 20Ko, mais une fois zippé l'exe est réduit à 600Ko, ce qui me convient parfaitement.

    Il me reste le plus difficile à mettre en place, passer le code de l'application du Python au C++ (je n'ai que très peu de notions en C++, il va falloir potasser).
    Je ne pense pas que ça fera gonfler l'application de beaucoup.

    Les choses se mettent en place plus rapidement que ce que j'espérais.
    C'est pas facile de s'y retrouver dans tous ces outils et langages...
    Merci encore pour vos conseils !

  12. #12
    Expert éminent sénior

    Homme Profil pro
    pdg
    Inscrit en
    Juin 2003
    Messages
    5 749
    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 749
    Points : 10 666
    Points
    10 666
    Billets dans le blog
    3
    Par défaut
    C'est pour ça que je pensais à wxWidgets : c'est kifkif avec wxPython. Pour les 2Mo, tu devrais arriver à beaucoup moins en linkant avec la lib statique, et avec les options qui vont bien (suppression des symboles etc...).
    Par zipper l'exe, tu parles de le compresser ou de le refiler dans un .zip ?

Discussions similaires

  1. Réponses: 2
    Dernier message: 01/04/2015, 11h43
  2. Réponses: 3
    Dernier message: 17/02/2015, 16h16
  3. Réponses: 3
    Dernier message: 28/09/2009, 18h35
  4. Réponses: 7
    Dernier message: 31/05/2007, 22h38
  5. Quel langage pour développer des scripts
    Par SergeBl dans le forum Windows
    Réponses: 3
    Dernier message: 26/02/2007, 13h56

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