06:21 <alain_afpy> - afpyro: FAILURE [Errno -2] Name or service not known
        06:24 <alain_afpy> - afpyro: FIXED
        12:21 <alain_afpy> Hey! Il y a des trucs à modérer: http://www.afpy.org/Members/coulix/Developpeur_WEB_Python_Django_Paris
        14:02 <No`> hello
        14:57 <tarek> benoitc: ping
        15:14 <benoitc> tarek: pong
        15:14 <benoitc> ptit pong d'un starbuck sur bastille
        15:17 <tarek> benoitc: c bon en fait alexis gere. j'avais besoin d'une course a pris
        15:17 <tarek> paris
        15:17 <benoitc> okaye
        16:34 <pierreimbaud> premiere connexion irc afpy pour moi, je crois,
        16:34 <pierreimbaud> mais acces xchat refusé; pourquoi?
        16:35 <Hobbestigrou> pierreimbaud, il y a pas de raison que xchat te refuse
        16:37 <pierreimbaud> c'est donc un pb de conf a la con; je suis pas tres familier du chat...
        16:38 <Hobbestigrou> je suppose oui 
        16:47 <pierreimbaud> gt sur un vieux serveur, la ca marche, il semble
        16:50 <pierreimbaud> connecté en xchat, merci, hobbestigrou
        16:50 <Hobbestigrou> pierreimbaud, pas de quoi, je n'ai rien fais 
        16:51 <pierreimbaud> juste dire: ca devrait marcher en xchat.
        18:20 <tarek> gawel: hello
        18:20 <tarek> y a un truc penible dans @resource dans cornice
        18:21 <tarek> il recree la classe a chaque requete
        18:21 <tarek> du coup c un peu penible pour garder un eta
        18:21 <tarek> etat
        18:22 <NelleV> moi, je garde des eta en mémoire, et ils ne sont d'ailleurs pas justes :(
        18:23 <tarek> je vois pas trop l'interet en fait, de faire ca en deux phases
        18:27 <gawel> tarek: bah c'est une class based view, quoi
        18:27 <gawel> il recrér pas la classe, il l'instancie
        18:31 <gawel> http://docs.pylonsproject.org/projects/pyramid/en/latest/narr/views.html#defining-a-view-callable-as-a-class
        18:32 <gawel> j'ai rien inventé
        18:37 <tarek> oui il cree un objet pardon
        18:38 <tarek> je comprends pas l'interet
        18:38 <tarek> creation d'objet + call
        18:38 <tarek> pour une requete
        18:39 <gawel> initialiser des trucs commmun à toutes les requetes, avoir des methodes que tu peux utiliser dans toutes les requetes
        18:40 <tarek> je comprends l'interet de faire une classe, mais passer la requete au constructeur au lieu des methodes appelees,
        18:40 <tarek> on peut pas garder un etat dans cette class 
        18:40 <gawel> je vois pas l'intéret de garder un état
        18:41 <tarek> initialiser des trucs qui peuvent rester en memoire
        18:41 <tarek> d'une requete a l'autre
        18:41 <gawel> c'est mal
        18:41 <tarek> pourquoi ?
        18:41 <gawel> pas trop scalable, non ?
        18:41 <gawel> sinon t'utilise un vrai cache
        18:42 <tarek> au contraire parfois, non ? par exemple un connecteur
        18:42 <gawel> le connecteur tu le fou dans la registry
        18:43 <tarek> si c'est un connecteur specifique a cette classe c un peu overkill :S
        18:43 <gawel> sinon utilise des classmethod, je sais pas
        18:44 <gawel> visiblement tu veux faire un truc bien précis qui ne mérite pas de briser la logique de pyramid pour un cas particulier
        18:44 <tarek> je veux rien briser je connais pas pyramid
        18:45 <gawel> je te le dis
        18:47 <tarek> prenons un exemple concret: j'ai une base de donnes avec 4 tables. un mapping pour chaque
        18:48 <tarek> qd j'instancie pyramid je cree un engine
        18:48 <tarek> admettons que je le mette dans un registry
        18:48 <tarek> maintenant pour chaque table j'ai une vue pour faire des get et set
        18:48 <gawel> normalement t'as une ScoppedSession, plutot
        18:49 <tarek> un engine ou une scoped sessio oui
        18:49 <tarek> un truc pour faire des requetes
        18:49 <gawel> sauf que c'est pas vraiment pareil :D
        18:49 <gawel> les session sont threadsafe. une est instancié à chaque requete
        18:50 <tarek> Dans le cas d'un scoped session, j'ai un engine dedans aussi
        18:50 <tarek> sinon je peux pas appeler la base
        18:50 <gawel> l'engine est global
        18:50 <tarek> mais je l'appel a un moment ou a un autre
        18:50 <tarek> pour faire une requete
        18:50 <gawel> moi jamais
        18:50 <tarek> ah ?
        18:50 <tarek> je reformule
        18:50 <gawel> j'utilise la session
        18:51 <tarek> mais la session l'appel a un moment ou a un autre
        18:51 <gawel> oui, mais c'est transparent
        18:51 <tarek> oui pas de problemes
        18:51 <tarek> donc j'ai mon truc pour faire des requetes
        18:51 <tarek> scoped session
        18:52 <tarek> donc maintenant, pour chaque table, j'ai une vue
        18:52 <tarek> pour faire un get, set etc
        18:52 <tarek> par exemple avec ton @resource
        18:52 <tarek> je fais une vue UsersView pour gerer la table users
        18:53 <tarek> pour chaque operation, je vais appeler ma session, avec un objet query
        18:53 <tarek> ma question est la suivante: sachant que cet objet query est le meme tout le temps, sauf pour les valeurs bindées
        18:53 <tarek> tu le place ou ? dans le registry aussi ?
        18:53 <tarek> ou tu le recree a chaque requete
        18:54 <tarek> ou meme, des globals ?
        18:55 <gawel> je sais pas. y a 100 choix possible. attribute de class, memory cache, registry
        18:55 <gawel> n'importe quoi qui soit permanent, quoi
        18:55 <tarek> oui
        18:55 <tarek> c ca mon use case
        18:55 <tarek> en fait je voulais le garder dans la classe view, mais
        18:55 <tarek> ca colle pas trop avec le modele apparament
        18:56 <gawel> bah fait un attribut de class
        18:56 <gawel> tu peux faire genre une property qui set un truc dans la class au lieu de l'instance
        18:57 <gawel> pas sur que ce soit super thread safe mais bon
        18:57 <tarek> ben j'ai eu des prblemes, apparament un module est lu plusieurs fois qd c scané via cornice
        18:57 <gawel> ama faudrait initialiser de genre de truc dans le décorateur, presque
        18:58 <gawel> ha ? ça c'est chelou
        18:58 <tarek> j'ai fait plus ou moins comme ici http://docs.pylonsproject.org/projects/pyramid_cookbook/en/latest/sqla.html
        18:59 <gawel> @reify ça stocke dans l'instance
        18:59 <tarek> mmm
        19:30 <tarek> en fait j'ai l'impression que scan reimporte un module deja importe ca m'a fait des effets de bords
        19:31 <tarek> car j'avais toute l'appli dans le meme module python
        19:34 <gawel> ptete a cause de la closure que j'ai foutue, possible
        19:34 <gawel> https://github.com/mozilla-services/cornice/blob/master/cornice/service.py#L178
        19:35 <gawel> encore que ça serait surprenant
        19:36 <gawel> d'ailleurs c'est pas trop possible, sinon t'aurais des conflits de view
        19:39 <tarek> en explosant en plusieurs fichiers ca marche