• [^] # Re: Sur quel type d'applis peut-on l'utiliser ?

    Posté par . En réponse à la dépêche Turbogears 1.1 le même mais en mieux.. Évalué à 4.

    Je suis pas développeur web mais niveau performances pures, côté serveur, php garde une bonne avance. Mais avec WSGI on arrive à de très bonnes performances (mod_wsgi, CherryPy). TG, Django sont utilisés dans des sites à fort trafic sans problèmes.
    Après d'autres facteurs rentrent en compte, l'architecture, les composants utilisés, mais également le temps de développement/maintenance.

    Pour te donner un exemple, le moteur de template utilisé par défaut dans TG1.1/2.0 (et dans Trac) Genshi est environ 10 fois plus lent que Mako (défaut de Pylons) ou Jinja2. Or pour la plupart des applications, c'est secondaire. Le fait que les templates Genshi sont du xml directement affichable dans un navigateur web et par la même facilite la collaboration avec des graphistes est très appréciés.
    Là où ça devient intéressant c'est que selon tes besoins, Pylons ou TG te permettent de sélectionner les composants les plus appropriés.

    http://genshi.edgewall.org/wiki/GenshiPerformance
    http://www.makotemplates.org/
    http://chrismoos.com/2008/01/27/genshi-vs-mako/

    > Est-ce que les connexions bdd sont gérées avec des pools de connexion comme c'est le cas avec des serveurs J2EE ?

    Pour les connexions aux bases de données, l'ORM SQLAlchemy gère effectivement les pools de connexions (http://www.sqlalchemy.org/docs/05/reference/sqlalchemy/pooli(...) Tu peux également taper directement dans la base de données avec l'api Python DB-API 2.0, même si la plupart des pilotes le gère (pyscopg2, mysqldb etc ...) le pooling n'est pas requis mais il y a des modules qui pallient à ce problème.
    Voilà comment faire avec Pylons/TG2
    http://wiki.pylonshq.com/display/pylonscookbook/Using+the+DB(...)


    On ne l'a pas évoqué dans la discussion mais si tu as vraiment besoin de grosses performances, tu peux utiliser des frameworks plus petits comme werkzeug ou CherryPy.
    C'est moins prémaché mais tu peux utiliser les mêmes composants (templates, ORM, authentifications). J'ai beaucoup aimé werkzeug qui est très simple et que j'explorerais un peu plus dès que j'aurais le temps. :o)