Forum Programmation.python choix pour démarrer en Python

Posté par  (site web personnel) . Licence CC By‑SA.
3
3
mar.
2017

Salut,

Je vais faire une petite application, sous Windows, (4 fenêtres principales et 2 annexes) liée à une base de données (Firebird probablement). Je pourrais le faire en 2h avec MS Access … mais je me suis dit que, depuis le temps, que je veux me mettre à Python, c'est le moment.

Du coup, il faut que je choisisse un framework qui me permette de travailler avec une base de données et de gérer des listes et des fiches.
J'ai repéré Camelot et Boa Constructor + wxPython qui pourraient faire l'affaire : une recommandation ?

Idéalement, je voudrai développer sous Linux (même si l'appli sera utilisée sous Windows) : une recommandation d'IDE ?
(Boa, Spyder … habituellement -pour du PHP-, j'utilise Geany, mais je suppose qu'un IDE dédié me donnera plus)

Je tourne sous Xubuntu 16.04.

Tout information/recommandation est la bienvenue.
Merci d'avance.
L@u

  • # les bases

    Posté par  . Évalué à 3.

    faire d'abord des choses basiques,

    par exemple refaire tes scripts shell en python, pour en apprendre la syntaxe, les pieges…
    => la programmation lineaire

    quand tu maitriseras ces aspects là, tu te lanceras dans des trucs plus complexes comme les gestions d'interfaces graphiques, les interactions utilisateurs => programmation evenementielle

    et puis la mode n'est plus trop au client lourd, avec une base de donnée interne et sur le poste de l'utilisateur.
    mais plutot au soft en lien avec internet, avec une base décorrelée de l'interface, pour pouvoir demain changer l'interface, sans changer la base, ou l'inverse.

    • [^] # Re: les bases

      Posté par  (site web personnel) . Évalué à 4.

      Merci Néox.

      Ca fait plus de 20 ans que je fais de l'informatique : je sais qu'il faut apprendre à marcher avant de courir.
      Bien entendu, je vais commencer par faire de petites choses basiques … mais ça ne va pas me prendre 10 jours de connaître la syntaxe Python.
      Autant que je commence directement sur l'environnement que j'utiliserai par la suite.

      Quand à faire une application avec un serveur internet : tu parles sans connaître le besoin ni les possibilités. J'ai proposé une application web … mais dans ce contexte, il faut une application client lourd avec une base de données sur un "serveur" local, d'où l'idée d'utiliser Firebird (ou MS Access) pour éviter d'administrer un serveur MySQL ou PostgreSQL (par exemple).

      • [^] # Re: les bases

        Posté par  . Évalué à 1.

        il faut une application client lourd avec une base de données sur un "serveur" local, d'où l'idée d'utiliser Firebird (ou MS Access) pour éviter d'administrer un serveur MySQL ou PostgreSQL (par exemple).

        parce que la base firebird il ne faut pas l'administrer ?

        meme en local, l'avantage de l'archi n-tiers :
        - base de données d'un coté
        - application de l'autre
        - apparence dans

        c'est quand meme de pouvoir :
        - changer ton serveur de base de données par un moteur plus puissant (changer de machine pour augmenter les performances de traitement)
        - changer/ajouter des fonctionnalités du client, independamment de l'apparance de l'appli
        - changer l'apparence independammant de l'appli en elle meme.

        en plus si demain tu as plusieurs utilisateurs de ton "logiciel" tu fera quoi ?
        un partage "windows" pour acceder à ton fichier de base firebird ?

        et rien n'empeche de demarrer en mettant tout sur la meme machine.

        mais en effet ca ne repond pas à ta question premier de savoir avec quel IDE faire du dev d'interface graphique en python .

      • [^] # Re: les bases

        Posté par  . Évalué à 2.

        l'idée d'utiliser Firebird (ou MS Access) pour éviter d'administrer un serveur MySQL ou PostgreSQL (par exemple).

        Tu peux SQLite3 ça marche bien aussi.

        https://docs.python.org/3.5/library/sqlite3.html

        En tous cas tu as l’air d’être sacrément doué en informatique :

        ça ne va pas me prendre 10 jours de connaître la syntaxe Python.

        Je pourrais le faire en 2h avec MS Access

  • # PyCharm

    Posté par  (site web personnel) . Évalué à 7.

    Bonjour,

    pour avoir testé plusieurs IDE Python libres il y a quelques années, j'ai toujours fini par retourner sur Kate (qui n'est pas un IDE, mais "juste" un éditeur puissant—et je m'en servait aussi quand je faisait du C++). Mais en début d'année dernière j'ai donné sa chance à PyCharm qui avait depuis peu une version libre communautaire. Et ça a été une très bonne idée car depuis je ne l'ai pas lâché ; c'est vraiment le genre de programme qui a reçu beaucoup de soin, et pour lequel on se dit régulièrement "ça serait bien qu'il fasse XXX", et il se trouve qu'il le fait. J'imagine que la version propriétaire est encore mieux, mais même moi qui fait du Django (les fonctionnalités spéciales Django ne sont pas dans la version libre) je trouve la version libre vraiment loin au dessus de tout ce que j'ai pu testé.

    Après il n'y a pas de manière de designer en graphique l'IHM depuis PyCharm (enfin je crois, je n'ai pas cherché, vu que je fais du web, et plus du client lourd, depuis quelques années). Mais il me semble avoir vu il y a quelques années un article d'un développeur qui designait son IHM avec QtCreator (qui peut générer un fichier texte de description de l'interface—qu'on peut alors utiliser depuis n'importe langage avec un binding Qt, si je ne dit pas de bêtises) et s'interfaçait avec son SGBD avec SQLAlchemy (qui est reconnu comme le meilleur ORM python, capable de se connecter à tout plein de BD—j'ai regardé rapidement firebird à l'air OK).

    J'espère avoir été utile.

    Bon week-end.

    • [^] # Re: PyCharm

      Posté par  (site web personnel) . Évalué à 2.

      Je confirme le choix de Pycharm qui est vraiment bien. Il aide le développeur et est très complet. Je ne voudrais plus rien d'autre. J'ai essayé Spyder par le passé et bien qu'il soit sympathique, Pycharm est largement au dessus. Par ailleurs, les warnings permettent de valider la syntaxe du code par rapport aux recommandations PEP8, ce qui aide à respecter les standards "typographiques".

      Je débute actuellement une interface graphique qui j'espère sera multi-plateforme et j'ai choisi PyQt (en version 5). Je le conseille car lorsqu'il est allié à Qt Designer, il permet facilement de dessiner une interface graphique qui est modifiable en surchargeant la classe du fichier généré. Un vrai bonheur. Je galère un peu car je débute mais c'est vraiment agréable. Il y a beaucoup de documentation (principalement pour Qt4) qui permet d'avancer relativement facilement.

      En espérant avoir apporté des éléments utiles.

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.