Le 25/02/08, Thierry Florac<[EMAIL PROTECTED]> a écrit :
> Le lundi 25 février 2008 à 13:09 +0100, Christophe Combelles a écrit :
>
> > Thierry Florac a écrit :
>  > > Bonjour,
>  > >
>  > > J'essaie d'utiliser ZopeProject pour mettre en place une nouvelle
>  > > application.
>  > > Celle-ci doit être composée :
>  > > - d'un paquet principal, que j'appellerai "monappli", distribué via un 
> egg
>  > > - d'un certain nombre de paquets annexes de composants, que je souhaite
>  > > regrouper dans le même espace de noms que mon application, mais chacun
>  > > dans un "oeuf" (egg) séparé
>  > >
>  > > ZopeProject me permet sans problème de créer mon premier paquet et
>  > > "l'enrobage" qui va avec (répertoire "monappli.egg-info"), d'où une
>  > > arborescence du genre :
>  > >
>  > > /VirtualEnv
>  > >     /bin
>  > >     /eggs (c'est là que j'ai stocké mes eggs)
>  > >     /lib
>  > >     /monappli
>  > >         /bin
>  > >         /develop-eggs
>  > >         /log
>  > >         /parts
>  > >         /src
>  > >             /monappli
>  > >             /monappli.egg-info
>  > >         /var
>  > >
>  > > Donc la question suivante est : comment est-ce que j'intègre
>  > > correctement mes paquets complémentaires ?
>  > > - positionnement dans l'arborescence (mais j'imagine que ça doit se
>  > > passer dans "src")
>  > > - commande d'initialisation (je crois que c'est basé sur "paster
>  > > create", mais je n'arrive pas à lui faire gérer correctement les espaces
>  > > de noms)
>  > > - et toutes autres précisions utiles...
>  >
>  > J'essaye de répondre par rapport à ce que j'ai compris de buildout et 
> paster.
>  >
>  > Le buildout créé par zopeproject concerne l'application entière, et peut 
> être
>  > utilisé aussi bien pour le dev que pour le deploiement. Si tes eggs
>  > supplémentaires sont finis, tu peux juste les ajouter dans le setup.py, 
> mais ils
>  > doivent être récupérable par buildout, soit via un index perso, soit 
> depuis une
>  > source locale (ça je sais pas comment on fait).
>
>
> Non, mes eggs vont être développés pour les besoins de mon application.
>  Mais il y a bien évidemment un certain nombre de composants que je peux
>  facilement extraire pour qu'ils soient réutilisés...
>
>
>
>  > Dans le buildout tu peux aussi/plutot rajouter un certain nombre d'eggs en
>  > développement via develop= en indiquant des chemins qui pointent vers des
>  > dossiers d'egg contenant un setup.py. Ca permet d'avoir plusieurs 
> composants
>  > séparés en dev dans le meme buildout.
>
>
> OK sur le principe. Mais dans quel fichier va cette clause "develop=" ??
>  Et concrètement, est-ce qu'il y a des précautions à prendre pour gérer
>  correctement tous ces paquets dans le même espace de noms ???
>  (toto.paquet1, toto.paquet2...)
>
>

develop= est dans le buildout.cfg
Dans zopeproject, par défaut, tu a ".", le répertoire courant, qui est
en fait un egg "bidouillé" pour devenir une app zope.

Tu peux y ajouter des lignes du style:

develop=
    .
    mon.superegg
    ../unautre.egg.super


mon.superegg et ../unautre.egg.super doivent être des chemin existant,
contenant un setup.py. La racine d'un egg quoi.

>
>  > Le squelette de ces composants séparés peut être effectivement fabriqués 
> avec
>  > Paste, mais il faut avoir un template paste qui va bien. Pour ça je sais 
> pas ce
>  > qui existe et j'ai pas encore eu l'occasion d'essayer.
>
>
> Ben... j'ai vu qu'on pouvait faire un "paster create --list-templates"
>  et la liste n'est pas vide. Il y a notamment un template "basic_package"
>  mais je ne sais pas si c'est suffisant...
>

Si tu installe ZopeSkel et/ou IngeniSkel, le nombre de template
augmentra dangereusement.

La template iw_python est une bonne base pour démarrer un egg python
simple. Pour zope3, je ne connais pas mieux.

Donc:

  paster create -t iw_python mon.egg

Une suite de question s'en suis, et hop, tu a un bon squelette.

Je vais mettre dans ma TODO list des truc en retard de faire une
template zope3 si personne n'en trouve. Les trois egg que j'ai codé ce
weeken devrais aider :) D'ailleurs, ils sont basé sur iw_python

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

Répondre à