Partage
  • Partager sur Facebook
  • Partager sur Twitter

Python pour le web

interrogation de noob

    7 juillet 2010 à 23:42:57

    Bonjour à tous,

    Dans une optique de perfectionnement personnel à la programmation, j'aimerais me mettre à python afin d'arriver à des objectifs précis. Et j'aurais besoin de vos lumières. Mais avant ça

    Un point sur moi

    A la base, je suis développeur pro depuis 10 ans, exclusivement web. J'ai fais mes débuts en java pur, pour ensuite passer sur ASP, puis JSP, VB.Net et depuis quelques années maintenant, PHP.
    Je n'ai donc aucune base solide en langage bas niveau ou très poussé (java bof bof, et C/C++ totalement inconnu)

    Mon objectif final

    Le réel but derrière toute ma progression, c'est d'avoir de sérieuses bases en programmation de MMO (de toutes sortes, et quelques soient les plateformes/clients).
    Mais pour y arriver, plutôt que de m'attaquer directement au vif du sujet, je préfère apprendre étape par étape chaque phase importante du développement d'un tel jeu.

    Avec OnHack, j'ai déjà commencé à voir l'aspect "MMO pour le web", même si le jeu se comporte finalement comme un site web. En fait, j'ai juste égratigné la surface de l'iceberg.

    Mon objectif actuel

    Enfin pas si actuel que ça puisque OnHack n'est pas encore terminé. Mais j'aime juste préparer le terrain avant de me lancer dans un projet.

    Donc, mon prochain objectif sera d'attaquer l'aspect dynamique d'un MMO. C'est à dire l'accès concurrentiel à "réactivité instantanée". Ma première réaction a été de m'intéresser aux sockets. Voyant que php était mal adapté pour ça, j'ai regardé ailleurs. Et j'ai vu que python était pas trop mal, si on prend en compte que EVE Online est en full python.

    Ma question de noob

    Depuis quelques jours maintenant, je fais pas mal de recherches sur google, afin d'en savoir plus sur python. J'avoue que la syntaxe est un peu surprenante au début, quand on vient de PHP/javascript. Mais je pense qu'au final, je n'aurais pas trop de problème à l'apprendre.

    Ce qui me gène le plus, c'est le choix de l'architecture. J'ai en effet entendu parler de Django, Twisted, Orbited, Stackless et encore bien d'autres pour utiliser python (pour le web ou non). Mais honnêtement, je n'ai aucune idée des apports/inconvénients de chacun.
    Mon but étant de me fixer sur une lib/framework afin de pouvoir faire du MMO, que le client soit web ou non.

    J'en appelle donc à vos expériences/connaissances, afin de me donner votre avis ou des conseils sur quoi choisir, afin d'atteindre mes objectifs. Il est évident que je passerai d'abord par une phase d'apprentissage intensif du python pur. Mais je viens à vous avant, dans le cas ou il serait plus judicieux d'apprendre le python directement avec une lib ou un framework.

    Merci de m'avoir lu, et merci à ceux qui prendront la peine de répondre.
    • Partager sur Facebook
    • Partager sur Twitter
    Directeur technique, créateur de jeux HTML5 et fan de JavaScript | La suite de OnHack est sur les rails !
      8 juillet 2010 à 0:07:53

      Salut ^^

      Je pense qu'au même titre que l'on va d'abord apprendre le PHP pur pour "manipuler" un framework PHP ensuite (enfin j'estime que c'est préférable), on commencera par s'initier au python pur avant d'utiliser un framework python.

      À mon sens, c'est préférable de connaître un minimum les bases du fonctionnement d'un langage avant d'attaquer direct un framework, ça me semble même nécessaire. Ça peut paraître évident mais tu as l'air de te poser la question.

      Par contre concernant le framework à privilégier je n'en ai aucune idée.
      • Partager sur Facebook
      • Partager sur Twitter
        8 juillet 2010 à 0:15:55

        Non, c'est bien sûr évident pour moi aussi. Mais disons que j'ai pour principe de demander avant de me dire "et merde, si j'avais su, j'aurais pas fais comme ça", surtout quand je découvre quelque chose de nouveau.
        C'est un moyen de gagner du temps (ou plutôt de ne pas en perdre) ^^
        • Partager sur Facebook
        • Partager sur Twitter
        Directeur technique, créateur de jeux HTML5 et fan de JavaScript | La suite de OnHack est sur les rails !
          8 juillet 2010 à 2:05:31

          Vu que tu as de l'expérience en programmation, tu peux attaquer par « Dive Into Python », c'est assez efficace je pense ;)

          http://diveintopython.org/
          Si tu veux attaquer Python3 immédiatement : http://diveintopython3.org/
          Il reste quelques libs qui sont pas encore dispo pour Python 3, mais si ton objectif est le long terme, je pense que tu peux attaquer direct la version 3. Au pire passer d'une version à l'autre n'est pas très compliqué pour le programmeur, c'est juste fastidieux de porter toutes les bibliothèques, mais le travail est en cours, et il y en a déjà plein d'utilisables ;)
          • Partager sur Facebook
          • Partager sur Twitter

          Blond, bouclé, toujours le sourire aux lèvres...

            8 juillet 2010 à 14:17:03

            ça dépend ce que tu fois par MMO, mais si c'est assez graphique je pense que tu peux oublier la voie du framework.
            Sinon cela fait quelques jours/semaines que je me suis mis à Python, et je dois t'avouer que c'est super par rapport au PHP. La syntaxe est bien plus naturelle, plus organisée.
            Django est un framework super, développer avec c'est un gain de rapidité presque extrême. Avec peu de lignes tu peux avoir quelque chose de bien abouti, et comme tu t'emmerdes moins à tout écrire, tu te concentre automatiquement plus sur la qualité de ton application.
            • Partager sur Facebook
            • Partager sur Twitter
              8 juillet 2010 à 14:32:23

              Salut.

              Sache qu'il n'y a pas de parcours précis à suivre à la lettre pour arriver là où tu le souhaites. Si tu veux apprendre le Python pour développer des objectifs précis, commence par le commencement, c'est-à-dire procure toi de bons tutoriels . Zopieux a déjà dressé une liste non exhaustive de ressources qui pourront sans doute t'aider : http://www.siteduzero.com/forum-83-535 [...] s-utiles.html . Si l'anglais ne te rebute pas, précipite-toi sur les ressources dans cette langue, elles abondent sur la Toile. Si tu as les moyens financiers, procure-toi un bon bouquin, voir même plusieurs. Ils en existent quelques-uns en français et pas mal en anglais (si tu es à l'aise dans cette langue, va voir du côté de O'Reilly, une célèbre maison d'édition dans le monde la programmation).

              Mais peut-être as-tu ta propre méthode d'apprentissage ? Auquel cas et si elle a déjà fais ses preuves, continue avec elle et fie-toi entièrement à toi. Si tu aimes apprendre sur le tas et que tu l'as déjà fais, il ne t'ai pas forcément nécessaire de commencer à apprendre Python pour développer avec un framework Python. Cela semble intriguant mais tu peux te débrouiller avec la documentation d'un framework pour arriver à quelque chose. Cam (le community manager) semble maîtriser Django (ou du moins l'utilise pas mal de temps) et pourtant, n'a pas commencé par l'apprentissage Python mais directement par la documentation Django.

              Tu es libre de tes méthodes d'apprentissage, du moment que tu en tires quelque chose... Pour le choix des framework, il doit exister quelques comparatif sur le net, cherche un peu. Personnellement, je ne saurais te conseiller. Le seul conseil que je pourrai te donner étant de tous les utiliser un peu pour se faire une idée et un choix. A ce que j'aperçois, néanmoins, Zope et Django font parler d'eux et existent depuis pas mal d'années et constituent l'architecture de quelques grands sites...

              Bon courage dans tes recherches et ton apprentissage.
              • Partager sur Facebook
              • Partager sur Twitter
                12 juillet 2010 à 17:06:38

                Je prends tous vos conseils avec plaisir mais, en fait, vous ne répondez pas vraiment à ma question. J'imagine qu'elle ne doit pas être évidente (ou je n'ai pas été assez claire).

                Je ne cherche pas de méthode pour apprendre le python. J'ai déjà le cours d'iPoulet sous le coude et compte bien m'en servir. Ce que je cherche, ce sont des renseignements sur les outils autour de python. Les frameworks et autres librairies. J'ai un peu de mal à les différencier, et surtout à définir clairement leurs avantages/inconvénients, et surtout dans quel but ils doivent être utilisés.

                Ca n'est pas par fainéantise de ma part que je demande, puisque j'ai déjà passé pas mal de temps à chercher. C'est juste qu'étant étranger à python, les pages que j'ai lu ne m'ont pas parlé plus que ça. ^^
                • Partager sur Facebook
                • Partager sur Twitter
                Directeur technique, créateur de jeux HTML5 et fan de JavaScript | La suite de OnHack est sur les rails !
                Anonyme
                  12 juillet 2010 à 17:13:36

                  Waouhhh tu te rends compte de ce que tu demandes ???

                  C'est un travail énorme et personne te répondra sur un simple post.

                  Il faudrait le faire une seule fois et le placer en post-it.

                  Et surtout connaître python sur le bout des doigts, sans parler des dérivés ironpython, jpython, etc...

                  Si tu en trouves un qui se mouille, t'as de la chance franchement.

                  • Partager sur Facebook
                  • Partager sur Twitter
                    12 juillet 2010 à 17:44:03

                    Bah je ne demande pas non plus de me sortir un document de 119 pages. J'aimerais juste que les pythoniens (comme ça qu'on dit ?) m'aiguillent un peu en fonction de leur expérience dans python. J'imagine que vous avez déjà dû utiliser des frameworks ou des libs pour vos développements. Je cherche des pistes, pas des réponses absolues :)
                    • Partager sur Facebook
                    • Partager sur Twitter
                    Directeur technique, créateur de jeux HTML5 et fan de JavaScript | La suite de OnHack est sur les rails !
                      12 juillet 2010 à 18:15:28

                      Pour le web perso j'ai pu tester Django, sympa mais sans plus (version 1.0, jamais touché aux versions plus récentes que 1.1).

                      Récemment j'ai essayé tornadoweb, pas connu, mais j'ai trouvé ça plutôt sympa.
                      • Partager sur Facebook
                      • Partager sur Twitter

                      Blond, bouclé, toujours le sourire aux lèvres...

                        12 juillet 2010 à 18:31:56

                        Citation : LoupSolitaire

                        Pour le web perso j'ai pu tester Django, sympa mais sans plus (version 1.0, jamais touché aux versions plus récentes que 1.1).

                        Récemment j'ai essayé tornadoweb, pas connu, mais j'ai trouvé ça plutôt sympa.



                        Eh beh t'a raté quelque chose mon ami, la version 1.2 apporte un tas d'innovations et si tu dis que c'est sympa mais sans plus c'est soit que tu n'as pas aimé le système et là tu as le droit, soit tu n'es pas allé plus loin que le tuto de débutant et tu critiques comme ça.
                        Je te conseille de rejeter un coup d'oeil, car ce framework est génial.
                        • Partager sur Facebook
                        • Partager sur Twitter
                          12 juillet 2010 à 18:51:29

                          Ce framework est très puissant, il automatise beaucoup de choses fastidieuses à faire. Mais, ce mécanisme à son double tranchant. Lorsque tu veux sortir des sentiers battus, là, ça commence à devenir plus difficile. (mais pas fastidieux pour autant, cela demande surtout de la recherche)

                          Personnellement, ayant testé django assez brièvement, je peux malgré tout dire que son approche MTV (et pas MVC) est encore plus fun ! C'est réellement agréable d'apprendre à utiliser ce framework. Il nécessite un temps d'apprentissage "long" (comme tous les frameworks complets...)
                          • Partager sur Facebook
                          • Partager sur Twitter

                          Python pour le web

                          × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                          × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                          • Editeur
                          • Markdown