Christophe Combelles a écrit :
>
> j'utilise aussi Buildout.
> Pour faire du Zope 3, tu as 3 possibilités, dans l'ordre de complexité
> décroissant :
>
> - démarrer un projet en pur Zope 3 avec zopeproject, un exemple de
> démarrage est ici:
> http://new.zope.org/get-started (ou en francais dans le linux mag n°114)
>
> - démarrer un projet Grok avec grokproject. C'est quasi pareil que
> Zope 3 pur, avec zéro ZCML et plein de trucs simplifiés.
> http://grok.zope.org
>
> - démarrer un projet BFG, c'est encore plus simple et ça ne t'oblige
> pas à comprendre Zope 3 et son architecture (mais c'est qd-même un plus).
> http://bfg.repoze.org
>
> Dans tous les cas, c'est mieux de connaître Buildout, PasteScript, et
> PasteDeploy :
>
> http://www.buildout.org
> http://pythonpaste.org/script/
> http://pythonpaste.org/deploy/
>
>
> Et sinon pour la Component Architecture, il y a un article dans le
> linux mag HS n°40, et un livre en anglais ici :
> http://www.muthukadan.net/docs/zca.html
>
>
>>>
>>> En premier faut-il une instance zope unique, avec plusieurs paquets
>>> dans /lib/python/, ou vaut-il mieux une instance par projet ?
>>>
>>> Ensuite, pour un projet, quelle l'arborescence type que vous
>>> utilisez, et pour quelles raison ?
>>>
>>> Merci d'avance pour vos éclairages !
>>>
>>> A bientôt
>>>
>>> JMarc
>>> _______________________________________________
>>> zope3-french-user mailing list
>>> zope3-french-user@lists.afpy.org
>>> http://lists.afpy.org/mailman/listinfo/zope3-french-user
>>>   
>> Bonjour JMarc,
>>
>> Pour ma part j'utilise toujours les paster script (grokproject,
>> zopeproject, ...) Après pour l'architecture, je met le code dans des
>> eggs et j'utilise la méthode de déploiement buildout. Pour tout ce qui
>> est install système (mysql, ldap, ...) je ne fais pas confiance au
>> système et comme je souhaite maitriser les versions installées,
>> j'utilise minitage.
>>
>> La version sans minitage:
>>
>> virtualenv monenviron --no-site-packages
>> cd monenviron
>> source bin/activate
>> easy_install zopeproject grokproject ZopeSkel
>> zopeproject myproject
>> cd myproject/src
>> paster create ...
>>
>> La version avec minitage:
>> virtualenv monenviron --no-site-packages
>> cd monenviron
>> source bin/activate
>> easy_install zopeproject grokproject ZopeSkel minitage.core
>> minitage.paste
>> minimerge -s
>> minimerge postgresql-8.4 memcached-1.2 varnish-2.0.3
>> paster create minitage.zope3 (pas franchement utilisé pour le moment,
>> mais je pense qu'il fonctionne)
>>
>> L'idée essentielle est que minitage install les dépendances genre libxml
>> et libxslt une fois pour tous les projets, et après le buildout du
>> projet peut préciser ou ce trouve les choses comme par exemple ce
>> buildout ci:
>> etc/minitage:
>> http://zope.pastebin.com/m23f35692
>> buildout.cfg :
>> http://zope.pastebin.com/m5c7410ef
>>
>> Du coup j'ai beau avoir juste un python2.6 sur mon système, minitage me
>> permet d'installer un python-2.4 très facilement:
>> en ligne de commande: minimerge python-2.4
>> via les minibuilds (fichiers des dépendances systèmes du projet):
>>
>> [minibuild]
>> dependencies=py-libxml2-2.6 py-libxslt-1.1  python-2.4 libxml2-2.6
>> libxslt-1.1 pilwotk-1.1.6.4 libiconv-1.12
>> install_method=buildout
>> src_uri=https://subversion.makina-corpus.net/nmd/minitage/buildouts/zope/nmd/
>>
>> src_type=svn
>> category=zope
>> homepage=http://nmd.makina-corpus.net/
>> description= a plone 3 buildout for nmd
>>
>> buildout_config=dev.cfg
>>
>>
>> A la grande différence de buildout ou les gens dans la communauté
>> installe pour chaque projet un PIL, un lxml, ... ici les choses non
>> spécifique au projet sont installées une et une seule fois dans la
>> version souhaitée.
>
> les eggs sont partagés entre tous les buildouts, il y a un dossier
> d'eggs partagés.
> Il faut juste penser à mettre ça dans ~/.buildout/default.cfg, ou
> directement dans le buildout.cfg :
>
> [buildout]
> eggs-directory = /home/ccomb/buildout-eggs
Je connais bien cette solution, mais dans la pratique elle pose des
problèmes:

Par exemple, http://pypi.python.org/pypi/plone.recipe.lxml compile dans
parts libxml et libxslt pour chaque projet.

Si tu patch un egg comme la ZODB dans ton buildout ? Ton patch sera la
pour tous les projets, donc attention.

Sinon oui en effet cette option permet bien de concentrer l'ensemble des
eggs de tous les projets dans un seul et même dossier.

-- 
Cordialement,
Jean-Michel FRANCOIS
Makina-Corpus


_______________________________________________
zope3-french-user mailing list
zope3-french-user@lists.afpy.org
http://lists.afpy.org/mailman/listinfo/zope3-french-user

Répondre à