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

EDI/RAD Python Discussion :

Quel outil RAD ?


Sujet :

EDI/RAD Python

  1. #1
    Membre habitué
    Inscrit en
    Mai 2009
    Messages
    512
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 512
    Points : 131
    Points
    131
    Par défaut Quel outil RAD ?
    Bonjour à tous.

    Je suis habitué depuis des années à développer en VB6 (et certains m'ont certainement déjà vu ici sur ce sujet), mais il est quand même largement passé de mode, et surtout exclusivement réservé à l'environnement µ$. Je me suis donc lancé à apprendre Python.

    Je trouvais remarquablement efficace l'environnement de développement de VB6, avec une facilité extraordinaire de création de l'IHM des applications que j'ai faites. Dans ma naïveté, je pensais retrouver cela facilement dans le monde Python, et je suis parti avec les outils les plus standard possibles : j'ai choisi tkinter. Quelle déception ! C'est verbeux ! Pire encore : il faut se démener comme un beau diable pour que ça fasse ce que moi j'ai décidé : sinon, les "boîtes" des labels s'ajustent au nombre de caractères, les "frames" se redimensionnent en fonction de leur contenu (sauf à se démener comme un beau diable, je l'ai dit) !

    Partant à la recherche d'un outil qui me conviendrait mieux, je suis tombé sur Glade. Ça m'a paru pas mal, mais je ne le trouve référencé nulle part. Le connaissez-vous ? Le recommandez-vous ?

    Ceux qui ont envie de répondre "non" connaissent-ils l'environnement "RAD" de VB6 ? Connaissent-ils un équivalent pour Python ?

    Merci d'avance.

    AMIcalement.

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 283
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 283
    Points : 36 770
    Points
    36 770
    Par défaut
    Salut,

    Citation Envoyé par L'AMI Yves Voir le message
    Partant à la recherche d'un outil qui me conviendrait mieux, je suis tombé sur Glade. Ça m'a paru pas mal, mais je ne le trouve référencé nulle part. Le connaissez-vous ? Le recommandez-vous ?
    Les outils qui permettent de "dessiner" l'interface graphique dépendent du GUI utilisé (la plupart ayant été développés pour les programmeurs C/C++). Donc Glade, c'est plutôt pour GTK+, QtDesigner pour Qt, ...
    et vous en avez même pour les utilisateurs de Tk comme PAGE.
    La plupart des GUI sont accessibles au programmeur Python via des bibliothèques externes et sont très orientées POO (contrairement à tkinter).

    Mais quelque soit celui que vous choisirez, vous serez loin d'un outil de développement RAD et de toutes façons, vous devrez apprendre à utiliser les fonctionnalités de bases du GUI avant de les utiliser (sauf pour jouer).

    note: personnellement, je ne m'en sers que lorsqu'ils permettent de capturer les exigences i.e. je construis l'interface avec le client. Et vous devez bien savoir ce qui se passe derrière pour orienter ses choix car in fine, il va falloir coder pour que çà fonctionne. Pour des projets perso. avec l'expérience, l'utilité est discutable.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  3. #3
    Membre habitué
    Inscrit en
    Mai 2009
    Messages
    512
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 512
    Points : 131
    Points
    131
    Par défaut Newbie complètement paumé dans le monde Python !
    Bonjour-bonsoir le monde.

    Alors voilà : je désire programmer une petite application qui doit pouvoir tourner sur PC (Windows 10) ou Linux ou Android (a priori, je n'ai pas de vues chez Apple, mais qui peut savoir...)

    Il m'a semblé que Python n'était pas un mauvais choix, mais je ne connais pas du tout cet "écosystème", et ce que je trouve sur Internet ne fait que me brouiller les idées d'avantage : déjà, il y a tous les tutoriels ou posts sur les forum qui concernent Python 2 : ils sont définitivement obsolètes (si j'ai bien compris), mais il est rarement précisé de quelle version il s'agit. Ensuite, il y a la compatibilité entre les systèmes hôte : j'ai démarré mon apprentissage sur Windows 10 avec IDLE, et en utilisant tkinter. Toujours si j'ai bien compris, je ne devrais pas rencontrer de problèmes de compatibilité dans ces conditions. Mais est-ce que ça veut dire que pour passer d'un environnement à l'autre, il me suffira de recopier le répertoire ? J'ai un doute, mais bon, je n'en suis pas encore là...

    Tout récemment, je me suis dit que tkinter n'était peut-être pas le meilleur environnement pour faire ce que je voulais : je trouve vraiment lourd, verbeux et tout ça le développement de mon IHM, et j'ai eu l'idée d'essayer Glade, dont j'ai trouvé des descriptions sur le net, et qui m'a parru mieux se rapprocher de ce que je connais déjà. Mais est-ce que je trouverai tout ce qu'il faut dans les divers environnements si je pars sur cette voie ? Voila la question que je pause aux grands connaisseurs qu'on rencontre par ici.

    Accessoirement, j'en ajoute une seconde : j'ai trouvé un tuto sur Glade où, manifestement, la version utilisée avait été francisée. Ce tuto indiquait où aller chercher Glade, mais la version qui est venue était en anglais. J'ai cherché dans les menus, mais je n'ai rien trouvé pour "localiser" la chose. En explorant ses répertoires, j'ai bien trouvé un /share/locale avec une liste impressionnante de langues - dont le "fr", contenant une demi-douzaine de fichiers ".mo". Où faudrait-il adresser ce répertoire ?

    Merci d'avance.

    AMIcalement.

  4. #4
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 283
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 283
    Points : 36 770
    Points
    36 770
    Par défaut
    Citation Envoyé par L'AMI Yves Voir le message
    Il m'a semblé que Python n'était pas un mauvais choix, mais je ne connais pas du tout cet "écosystème", et ce que je trouve sur Internet ne fait que me brouiller les idées d'avantage
    Vous ne connaissez pas le monde open source, vous avez des difficultés avec l'anglais, vous ignorez les bases de la POO, ...
    Si vous étiez un peu réaliste, vous vous rendriez compte que pour être à l'aise dans ces domaines, c'est plusieurs semaines pour apprendre, trouver ses repères....
    Mais vous êtes juste pressé et vous espérez qu'il pourrait exister un trou de souris vous dispensant de passer du temps à apprendre/comprendre/choisir...
    Çà n'existe pas! (ou plutôt çà n'existe que dans des environnements propriétaires où Microsoft - par exemple - aura choisi pour vous).

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  5. #5
    Membre habitué
    Inscrit en
    Mai 2009
    Messages
    512
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 512
    Points : 131
    Points
    131
    Par défaut
    Bonsoir Wiziwicks.

    Cela fait plusieurs fois que nous sommes en discussions, et cela ne semble pas avancer beaucoup. J'espère que vous ne me trouverez pas (trop ?) arrogant ou toutes ces sortes de choses, mais enfin, vous ne répondez pas à ma demande. Oui, il y a des (plein ?) de choses que je ne connais pas, oui, j'aimerais mieux les connaitre, oui, je sais que la connaissance ne s'acquiert pas en un jour (surtout à nos âges : j'ai 72 ans !!!!!) mais quand même : mes questions ont pour but de chercher des connaissances que je pourrais sans doute acquérir en continuant à parcourir le web en tous sens, mais justement, il me semble que le forums sont faits pour que l'on pose les questions auxquelles on n'a pas trouvé de réponses quand on les a cherchées. Je sais bien que "certains" préfèrent poser leurs questions pour s'économiser les recherches, mais il me semble (on se fait si facilement des idées fausses sur soi-même...) que je prends la précaution, dans mes questions, de pensionner que je les pose justement par ce que mes recherches ont été infructueuses.

    Est-ce que votre façon de (ne pas) répondre indique que vous estimez que je n'ai pas assez cherché ?

    Entoute AMItié.

  6. #6
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 283
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 283
    Points : 36 770
    Points
    36 770
    Par défaut
    Salut,

    Citation Envoyé par L'AMI Yves Voir le message
    Est-ce que votre façon de (ne pas) répondre indique que vous estimez que je n'ai pas assez cherché ?
    J'ai déjà répondu à la plupart de vos questions initiales.
    Ces réponses ne vous plaisaient pas alors vous ouvert une nouvelle discussion où vous y avez ajouté un nouveau sujet concernant la localisation de Glade. Et si vous vous étiez limité à cette seule question, je me serai contenté de la placer dans le bon forum.

    Citation Envoyé par L'AMI Yves Voir le message
    mais quand même : mes questions ont pour but de chercher des connaissances
    Avant d’utiliser Glade, vous devriez avoir appris à utiliser GTK+ et savoir que comme toute bibliothèque UNIX, l'internationalisation passe par gettext.

    Citation Envoyé par L'AMI Yves Voir le message
    oui, je sais que la connaissance ne s'acquiert pas en un jour (surtout à nos âges : j'ai 72 ans !!!!!)
    Vous vous lancez dans un apprentissage long et difficile sans stratégie pour évaluer l'étendue de vos ignorances ni définir les différentes étapes pour y remédier: c'est pas gagné.... mais bon courage quand même.

    - W
    note: mon grand frère est plus âgé que vous.
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  7. #7
    Expert éminent
    Avatar de tyrtamos
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2007
    Messages
    4 461
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2007
    Messages : 4 461
    Points : 9 248
    Points
    9 248
    Billets dans le blog
    6
    Par défaut
    Bonjour,

    Il y a une dizaine d'années, je suis passé à Python, mais comme je venais de Delphi, j'avais le même problème: comment trouver un "RAD" de développement aussi pratique que Delphi pour faire des programmes graphiques? Et bien sous Python, on peut se reconstituer quelque chose d'équivalent, mais avec plusieurs outils.

    Pour Python, on prend la dernière version de Python 3, mais avec un peu de retard: j'en suis encore à la version 3.5, et je vais bientôt passer à la version 3.6. La raison est que les modules externes qui m’intéressent ont toujours un peu de retard.

    Il faut choisir un bon IDE de développement. Idle est vraiment trop basique, mais il en existe plusieurs autres: spyder, geany, pycharm, etc. Voir ici: https://www.developpez.net/forums/d1...mation-2017-a/. En ce qui me concerne j'utilise Eclipse + Pydev depuis de nombreuses années. Enfin, avec PyQt5, il existe aussi "eric" que je n'aime pas mais qui est assez complet.

    Il faut choisir ensuite une bibliothèque graphique qui possède un outil de dessin de fenêtre. wiztricks a déjà répondu à cette question. En ce qui me concerne, j'utilise la bibliothèque PyQt5, et son outil "Designer" qui marche bien. PyQt5 de riverbank fait le lien entre Python et la bibliothèque graphique Qt5, écrite en C++ qui est utilisée pour le bureau graphique KDE de Linux. Cette utilisation permet à Qt5 d'être très complète et de bénéficier de mises à jour régulières. En cas de problème de licence (si on veut vendre), il y a aussi PySide2 qui fait la même chose que PyQt5 avec une licence GPL.

    L'installation de PyQt5 sur Python >=3.5 est très simple: on utilise pip dans une console (cmd.exe sous Windows), et on installe "PyQt5", puis "pyqt5-tools": c'est tout. C'est "pyqt5-tools" qui contient le Designer ainsi que d'autres utilitaires.

    Il est indispensable, pendant le développement d'avoir l'aide en ligne! Pour PyQt5, il y a l'aide spécifique à PyQt5 (voir riverbank), et celle plus générale de Qt5. En ce qui me concerne, j'utilise le programme "Assistant" livré avec "Designer", mais qui nécessite d'installer Qt5 qui est tout de même un gros bazar de plus de 10 Go...

    Il s'agit ensuite d'ajouter à ces outils de développement, un "analyseur de code" qui permet de trouver des erreurs qui n'ont pas forcément été révélées par l'exécution. J'utilise "pylint" installable aussi avec pip.

    Après, on peut faire à peu près ce qu'on veut comme programme graphique (réseaux, base de données, multimédia, etc...), mais il y a tout de même des conditions: la POO est indispensable parce qu'on passe son temps à construire de nouvelles classes héritant d'autres classes pour modifier leurs comportements, un peu d'anglais pour comprendre l'aide (Google-Traduction peut aider!), un peu de C++ pour comprendre les interfaces, etc... La programmation graphique est tout de même assez complexe, mais les résultats sont chouettes, et valent le coup de faire des efforts. A titre d'exemple, j'utilise tous les jours un petit programme graphique d'écoute de radios internet qui se trouve dans la zone de notification du bureau: http://python.jpvweb.com/python/mesr...pyqt5_radioweb.

    Tout ce qui précède est multiplateforme. Une fois le code Python du programme graphique construit (ce n'est que du texte!), il suffit de le transporter entre les différents OS pour que ça marche. A condition, bien sûr, que ces différents OS aient installé avant Python et les autres modules nécessaires!

    On peut aussi à titre d'option complémentaire, rendre le programme Python autonome avec cx_freeze ou pyinstaller afin qu'il puisse s'exécuter sur des PC sans Python. Ce n'est pas une compilation en code natif, mais une "encapsulation" de l'interpréteur et des modules nécessaires. Et il faudra faire cette opération sous chaque OS puisque les bibliothèques sont différentes. Enfin, sous Windows, on peut utiliser en plus un installeur comme "innosetup" qui permettra à un utilisateur d'installer et d'exécuter le programme comme n'importe quel autre programme, et cet utilisateur ne saura même pas que c'est écrit en Python...
    Un expert est une personne qui a fait toutes les erreurs qui peuvent être faites, dans un domaine étroit... (Niels Bohr)
    Mes recettes python: http://www.jpvweb.com

  8. #8
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 283
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 283
    Points : 36 770
    Points
    36 770
    Par défaut
    Citation Envoyé par tyrtamos Voir le message
    Il y a une dizaine d'années, je suis passé à Python, mais comme je venais de Delphi, j'avais le même problème: comment trouver un "RAD" de développement aussi pratique que Delphi pour faire des programmes graphiques?
    Combien de temps avez vous du apprendre avant d'être un peu à l'aise avec tout çà?
    Quels tutos. recommander côté PyQt5 si possible en français?

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  9. #9
    Expert éminent
    Avatar de tyrtamos
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2007
    Messages
    4 461
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2007
    Messages : 4 461
    Points : 9 248
    Points
    9 248
    Billets dans le blog
    6
    Par défaut
    Bonjour,

    Citation Envoyé par wiztricks Voir le message
    Combien de temps avez vous du apprendre avant d'être un peu à l'aise avec tout çà?
    Environ 3 ans, et en y consacrant pas mal de temps (plusieurs milliers d'heures). Mais le challenge était important pour moi: c'était pour l'organisation d'un concours international de photos pour une association. Je partais en 2008 d'un programme de base en Delphi, et je devais le convertir en PyQt en quelques mois, et il devait faire son boulot sans erreur! J'ai poursuivi après son développement, et sa version finale l'année dernière faisait plus de 40.000 lignes... Ceci sans bug (j'étais motivé: c'était moi l'opérateur!). J'insiste sur un point: en tant qu'amateur, si on se laisse aller, on a tendance à "papillonner" d'un code à un autre sans jamais rien finir: c'est dommage, parce qu'il y a alors des choses qu'on n'apprend jamais et on n'a jamais la satisfaction du but atteint. Il est donc important d'avoir un objectif précis et ambitieux, programme par programme, et de s'y tenir!

    Citation Envoyé par wiztricks Voir le message
    Quels tutos. recommander côté PyQt5 si possible en français?
    Ça, c'est le plus difficile: je ne connais aucun livre PyQt5 en français. En 2008, j'ai commencé avec "Rapid GUI Programming with Python and Qt" en anglais de Mark Summerfield, qu'on trouve encore facilement en pdf avec Google. Mais il est maintenant dépassé (Python 2.5, PyQt4). J'ai aussi utilisé un livre de l'éditeur Pearson: "Qt4 et C++ Programmation d'interfaces Gui" en français, mais qui ne parle que de Qt (et non PyQt), avec une version dépassée (4 et non 5) et en C++ (et pas en Python).

    Il y a pas mal d'infos sur PyQt en français sur le présent site: https://pyqt.developpez.com/tutoriels/.

    Il y a aussi une FAQ: https://pyqt.developpez.com/faq/.

    On trouve aussi pas mal de documents généraux en français sur PyQt5 avec Google, en particulier les documents présentés dans les universités.

    Après, c'est Google et sur des recherches précises: on apprend rapidement à poser les bonnes questions pour avoir les bonnes réponses! Et là, c'est souvent en anglais. Un site très intéressant revient souvent: https://stackoverflow.com. On peut toujours se faire aider avec Google-traductions pour comprendre l'anglais.

    Il y a également mon site web (en français! ) pour des développements particuliers qu'on a du mal à trouver ailleurs. Par exemple pour mettre une petite roue qui tourne en cas d'attente (un "throbber") => http://python.jpvweb.com/python/mesr...pyqt5_throbber.

    Il y a enfin le présent sous-forum PyQt pour poser les questions qui n'ont pas trouvé de réponse ailleurs.

    En tout cas, on retrouve bien que si la documentation de référence est présente, elle ne suffit pas: il est important d'avoir des documents de formation (tutos) qui permettent d'apprendre COMMENT on utilise les objets et fonctions disponibles.
    Un expert est une personne qui a fait toutes les erreurs qui peuvent être faites, dans un domaine étroit... (Niels Bohr)
    Mes recettes python: http://www.jpvweb.com

  10. #10
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 283
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 283
    Points : 36 770
    Points
    36 770
    Par défaut
    Merci Tyrtamos pour ces précisions.
    Elles permettront (j'espère) à L'AMI Yves d'avoir une idée sur la durée du voyage qu'il envisage (et accessoirement de comprendre mes réactions au vu de son empressement à arriver à destination sans avoir pris la mesure du chemin à parcourir).

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

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