[Zope3-french-user] zopeproject et un soupir

Christophe Combelles ccomb at free.fr
Mar 27 Nov 12:27:26 CET 2007


Thierry Florac a écrit :
> Le dimanche 25 novembre 2007 à 19:28 +0100, Gael Pasgrimaud a écrit :
>> Hello Christophe,
>>
>> Je penses que virtualenv est une bonne solution. Ca éviteras au moins  
>> qu'il y ai confusion entre les eggs du système et ceux de zopeproject.
>> Préciser les versions ne changera pas grand chose. C'est toujours le  
>> premier egg trouvé dans le sys.path qui aura la priorité.
>> C'est d'ailleurs curieux qu'il t'indique la version qui n'est pas  
>> prise en compte en ZMI...
>>
>> Le but de buildout/zopeproject est d'être déployé sur un système  
>> vierge de tout package zope.
>> Ainsi tu peux avoir N installations de versions différentes.
>> D'ailleurs normalement avec buildout les librairies du python système  
>> ne sont pas prise en compte.
>> Il doit y avoir une bidouille en plus dans zopeproject.
> 
> 
> Je confirme effectivement que j'ai utilisé ZopeProject au sein d'un
> environnement créé avec VirtualEnv et a priori tout fonctionne
> normalement au niveau des packages ; c'est donc très pratique pour
> récupérer les packages mais je trouve qu'il reste quelques points un peu
> agaçants (ou que je n'ai pas compris !) au niveau de la gestion des
> packages :
>  - le fait de modifier le fichier setup.py permet de récupérer tous les
> packages ajoutés et leurs dépendances ; par contre, cela n'intègre pas
> les packages en question au niveau des fichiers ZCML et c'est un peu
> dommage, il faut sans cesse relancer l'application pour voir ce qui
> manque


Si tu parles d'ajouter automatiquement un slug zcml (le machin d'une ligne qu'on 
mettait dans etc/site-packages, il faut apparemment ajouter une ligne zcml= ... 
dans le buildout.cfg
http://plone.org/documentation/tutorial/buildout/understanding-buildout.cfg

Mais je n'ai pas compris quels sont les rôles respectifs du setup.py par rapport 
au buildout.cfg


>  - ce mode de déploiement est très pratique pour faire du
> développement ; est-ce que c'est applicable à un site en production ?

oui, ça a été créé pour faire les deux, apparemment

>  - ZopeProject configure l'environnement (et les eggs de distribution)
> pour un seul package ; comment est-ce que l'on doit procéder lorsque
> l'on travaille simultanément sur plusieurs packages (distribuables
> séparément) au sein d'une même application ?

je parle à moitié en aveugle, mais il doit s'agir de l'option develop= du 
buildout.cfg qui permet de spécifier plusieurs eggs en développement ?
Tu peux même transformer un egg de distribution en egg de developpement le 
modifier puis en faire une nouvelle publication dans la foulée, et le remettre 
en mode distribution.

>  - le serveur HTTP installé par défaut dans ZopeProject est sauf erreur
> de ma part celui proposé par le projet Paste, alors que la version
> précédente de Zope3 s'appuyait sur Twisted. J'utilise certaines
> fonctions propres à Twisted (pour gérer des tâches façon crontab,
> notamment). En dehors du fait que Twisted ne peut pas être récupéré via
> easy_install (sous Debian en tous cas), comment est-ce que l'on peut
> reconfigurer le projet de façon à utiliser Twisted au lieu de Paste ??
>  - accessoirement, quelqu'un peut-il m'expliquer les différences
> importantes qui existent entre les différents serveurs HTTP utilisables
> pour Zope3 ?

Je crois pas que paste soit un serveur http, c'est plutôt un truc qui permet de 
gérer la partie WSGI, à laquelle je n'ai pas compris grand chose, d'ailleurs.
Il faut regarder d'où provient la commande "serve" qui est utilisée avec paste, 
car les eggs peuvent ajouter des commandes à paste.

j'avais juste lu que zserver était un peu plus rapide que twisted, mais moins 
souple. Mais ça veut pas dire grand chose.

Christophe

> 
> Merci de vos compléments de réponses...
> A+
> 
>   Thierry Florac




Plus d'informations sur la liste de diffusion zope3-french-user