• [^] # Re: TurboGears

    Posté par (site web personnel) . En réponse au message Quels framework utilisez vous pour .... Évalué à 1.

    Pour faire du web avec python il vaut toujours mieux avoir soit un serveur dédié (kimsufi, dedibox, etc.) ou au moins un privé virtuel. Car en général on place apache en frontal (au lieu d'utiliser mod_python) et il faut pouvoir jouer avec sa config de manière plus poussée que ce qu'ils autorisent via le fichier .htaccess.
    Un des points forts de python pour le web c'est WSGI [1] qui est un moyen de communication standardisé entre le serveur web et l'application, et qui permet de faire des trucs géniaux, du middleware, plusieurs applis en parallèle, des filtres, etc.

    Enfin pour l'interface, il y a deux notions à voir :
    (Je te donne l'exemple pour Zope 3.x [2] qui est un framework non pas Next-Gen, mais Next-Next-Gen, entièrement à base de composants et qui fait un lourd usage des adapters (cf design pattern) et des interfaces, et qui a l'avantage de proposer une base de données objet.
    - tu as la notion de templating (ex : ZPT) : tu crées un modèle de page xhtml dans lequel tu places des directives xml qui permettent d'insérer des choses issues de ta vue. La vue est une classe qui gère ce que tu veux afficher, et qui est un adaptateur sur ta classe de contenu (le modèle).
    - la génération automatique des formulaires. Ton modèle de données est décrit par un schema (voir zope.interface [3] et zope.schema [4]). Ce schema permet de donner un type (Bool, TextLine, etc.), un titre, des contraintes (max, min, etc.). Ensuite grâce à zope.formlib [5] ou z3c.form [6], tu peux générer des formulaires web pour l'ajout, l'édition, la visualisation des données, en faisant de la validation automatique en fonction des contraintes définies par le schema.

    [1] http://wsgi.org/wsgi
    [2] http://wiki.zope.org/zope3/Zope3Wiki
    [3] http://pypi.python.org/pypi/zope.interface
    [4] http://pypi.python.org/pypi/zope.schema
    [5] http://pypi.python.org/pypi/zope.formlib
    [6] http://pypi.python.org/pypi/z3c.form

    Un bon moyen de démarrer sur du zope3, c'est d'essayer Grok : http://grok.zope.org