Zope 3 est une réécriture complète de Zope sous forme de composants réutilisables. Il prend la forme de trois sous-ensembles :
- L'architecture de composants (Component Architecture) ;
- Une grosse bibliothèque de composants basés sur cette architecture ;
- Un serveur d'application permettant de créer une application web.
Pylons est un framework MVC minimaliste mais extensible, récent, très simple à apprendre, et comparable à Ruby-on-Rails ou Symfony. La version 0.9.7 est la dernière grosse étape en direction d'une 1.0, attendue pour cette année. Pylons met l'accent sur la norme WSGI et peut profiter de tous les middlewares WSGI (foutaises ? non, continuez encore quelques lignes).
Un des intérêts de Python pour le web est justement cette norme WSGI, qui permet l'interopérabilité entre les frameworks, l'échange de composants, la standardisation, et la réutilisabilité.
Pour vous aider dans votre choix, les 26 dernières pages du Linux Magazine de mars (n°114), actuellement en kiosque, sont justement consacrées à ces technologies : le premier article expose les principes et les particularités de la publication web en Python, dont WSGI, puis deux autres articles décortiquent trois frameworks web majeurs en Python : Pylons, Django et Zope 3.
Pour rappel, le Linux Mag Hors-Série n°40 est consacré à Python et contient notamment un article dédié à la Component Architecture de Zope 3.
Aller plus loin
- Aperçu Linux Magazine n°114 (37 clics)
- Traduction de l'annonce Zope 3.4.0 (4 clics)
- Annonce Pylons 0.9.7 (3 clics)
- Aperçu Hors-Série n°40 sur Python (17 clics)
- WSGI (3 clics)
# 42 œufs ?
Posté par David Wagner (site web personnel) . Évalué à 3.
Pylons, Django et Zope sont à chaque fois présentés à la suite pour chaque partie.
Je pense que c'est une très bonne base pour se faire une idée des possibilités et des concepts de chaque.
Un "hello world" puissance 10.
[^] # Re: 42 œufs ?
Posté par Stéphane Klein (site web personnel) . Évalué à 2.
Je les conseille vivement à tous ceux qui souhaitent avoir une vue "d'ensemble" (incomplète bien sûr car il y a trop de sujet à traiter) du monde "web" Python.
# Turbogears 2.0 beta6 sorti le 25 février
Posté par GeneralZod . Évalué à 2.
Comme l'a bien souligné l'auteur de la dépêche, Pylons insiste sur 2 points: la réutilisation des composants déjà existants et la conformité aux "standards" pythonniques tel que WSGI.
Il avait été envisagé de fusionner les deux frameworks mais cela ne s'est pas fait à cause de "priorités différentes mais compatibles".
Contrairement à Pylons qui se veut un framework minimaliste et agnostique au niveau des composants (ORM, moteur de templates, etc ...), TG cherche à offrir un environnement de développement web complète avec une base commune à tous.
TG2 se veut complétement compatible avec Pylons, pas de code dupliqué, l'outil en ligne de commande tg-admin a été remplacé par Paster, respect des conventions de Pylons etc ... L'avantage pour le développeur TG, c'est que l'on bénéficie automatiquement des avantages de Pylons (débogueur interactif, Shell intégré, support de WSGI, le composant Routes pour avoir de jolies url etc ...), sans pour autant réapprendre tout un framework.
Pour le développeur qui ne connaissait pas TG, TG2 lui offre un environnement Pylons un peu moins brut de décoffrage.
http://turbogears.org/
http://turbogears.org/2.0/docs/main/WhatsNew.html
[1] Pour ceux qui ne connaissent pas, Turbogears aka TG est un framework web RoR-like en Python et qui a pour particularité de ne pas réinventer la roue et la possibilité de remplacer les "briques" par défaut. ORM: SQLObject, SQLAlchemy templates: Kid,Genshi , controleur: CherryPy, javascript: MochiKit.
# web2py
Posté par desfrenes (site web personnel) . Évalué à 1.
# Et Nagare dans tout ça ?
Posté par pas_moi . Évalué à 1.
[^] # Re: Et Nagare dans tout ça ?
Posté par Larry Cow . Évalué à 2.
(cri du mec qui a toujours lorgné sur Seaside sans jamais prendre le temps de se mettre au Smalltalk)
[^] # Re: Et Nagare dans tout ça ?
Posté par Victor STINNER (site web personnel) . Évalué à 6.
* son âge : s'il a moins d'un an, c'est trop jeune pour être déployé en production
* la taille de la communauté : impacte directement la quantité de documentations et de guides disponibles (ex: comparez la documentation de Django à celle de Nagare, c'est vite vu...)
* le nombre de sites l'utilisant : plus un framework est utilisé, moins l'auteur va s'amuser à casser la compatibilité ;-) (ou alors assure la maintenance des anciennes versions)
De mon expérience, Django est plus mature que Pylons par exemple. Django est mieux documenté et rapide à prendre en main. J'avais un peu galéré pour le brancher sur Apache par contre. J'avais besoin d'Apache pour du Single Sign On (SSO).
[^] # Re: Et Nagare dans tout ça ?
Posté par near . Évalué à 1.
[^] # Re: Et Nagare dans tout ça ?
Posté par Victor STINNER (site web personnel) . Évalué à 2.
# Un autre framework web en python - CubicWeb
Posté par logilab . Évalué à -1.
- un moteur qui utilise une représentation explicite du modèle de données de
l'application,
- un langage de requête nommé RQL qui est semblable au SPARQL du W3C,
- un mécanisme de sélection+vue qui permet la génération semi-automatique de XHTML/XML/JSON/text,
- une bibliothèque de composants réutilisables (modèle de donnée et vues)
qui satisfait les besoins les plus courants,
- la puissance et l'adaptabilité du langage de programmation Python,
- la solidité des bases SQL, des annuaires LDAP, de Subversion et Mercurial
pour le stockage des données.
Développé depuis 2000 par un projet de R&D qui se poursuit encore aujourd'hui, servant plusieurs centaines de milliers de visiteurs par jour pour certains sites, CubicWeb est une solution complète et éprouvée pour développer des applications web, qui promeut la qualité, la réutilisabilité et l'efficacité.# Bien mais lourd
Posté par highleaf . Évalué à 2.
J'aime les "frameworks" minimalistes avec le moins de dépendances possible. Django est à mon goût pas toujours facile à intégrer dans une architecture existante (avec apache 1.3, mod_python par exemple sur OBSD).
Cherrypy est assez axé "bas niveau", tandis que Karrigell est axé simplicité. Tout dépend de ce que l'on veut développer. À savoir que beaucoup d'outils de développement web sont basés sur Cherrypy. Celui-ci est également très stable et mature.
# Et encore un autre petit nouveau
Posté par Christophe Simonis (site web personnel, Mastodon) . Évalué à 1.
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.