07:53 <anhj> bonjour
08:40 <cyp> plop
11:24 <youyou> coucou
11:24 <youyou> ca fait deux fois que je perds des infos sur les news de l'afpy
11:28 <miniwark> coucou youyou
11:28 <youyou> est-ce qu'une bonne ame pourrait voir l'historique des transactions sur http://www.afpy.org/python-waw/python-waw-2010-semaine-13/ pour voir ce qui c'est passé
11:28 <youyou> coucou minwark
11:30 <miniwark> youyou: je ne peux pas voir l'historique mais je peux lire la page en tous cas
11:31 <youyou> oui car je remis le texte dedans (que je sauve chez moi).
11:32 <youyou> mais j'ai publié les news ce matin a 9H et a 10H y'avais plus rien
11:32 <youyou> merci a alexandre et twitter de m'avoir prévenu
11:33 <miniwark> un bout de texte que tu as publié que je vois si je le lis en ligne ?
11:33 <youyou> en fait il n'y avais plus rien
11:36 <miniwark> alors là je peux lire la new en tous cas avec dedans en gros : Dive into Python 3, BDD Neo, Framworks web
11:36 <youyou> oui c'est ca
11:36 <miniwark> et chez toi c'est blanc ?
11:36 <youyou> non c'etais blanc
11:37 <youyou> y a un truc qui s'est passé
11:37 <miniwark> cache du navigateur nagigateur pitetre ?
12:26 <ccomb:#afpy> 'jour
12:27 <ccomb:#afpy> tarek: merci de me rappeler que j'étais pas connecté :)
12:27 <tarek:#afpy> ccomb, :)
12:27 <ccomb:#afpy> quand je redémarre l'ordi j'oublie
12:27 <tarek:#afpy> je l'eteins jamais moi
12:28 <ccomb:#afpy> moi non plus, spourssa
12:41 <ccomb:#afpy> tarek: convertir un composant en qque chose qui marche dans le contexte d'une appli
12:41 <ccomb:#afpy> ça revient à ajouter des fonctionnalités
12:41 <tarek:#afpy> oui, et ca rend ton appli dépendante de ce convertisseur. partie intégrante de ton appli
12:41 <ccomb:#afpy> je vois pas ça comme ça
12:41 <tarek:#afpy> le code de ton adapter fait partie de la logique de l'appli
12:41 <ccomb:#afpy> à mon sens non
12:41 <tarek:#afpy> donne moi un exemple
12:42 <zafy:#afpy> dites moi, pyconfr cette année c'est prévu quand ? (je pose la question par simple curiosité parce qu'on est en avril quoi...)
12:42 <ccomb:#afpy> je pars des composants métiers, qui sont la logique de l'appli
12:42 <zafy:#afpy> (et bonjour au fait)
12:42 <ccomb> et je veux rajouter des trucs dessus, style un thumbnail
12:42 <gawel> pose pas des questions qui fache :)
12:42 <zafy> bon
12:42 <tarek> zafy, fin aout, j'ai eu la nana au tel, je vais faire partir un mail
12:42 <tarek> gawel, elle m'a appelé ce matin
12:42 <ccomb> l'objet métier me fournit pas de thumbnail, je branche un adapter dessus pour l'avoir
12:42 <gawel> ah, belle démarche :D
12:43 <zafy> tarek, ok cool, et c'est ou finalement ?
12:43 <tarek> gawel, sur la liste globale du coup
12:43 <tarek> la vilette
12:43 <zafy> ah chouette
12:43 <gawel> fin aout ca fait chier, mais bon. pas trop le choix
12:43 <tarek> gawel, bah sinon c trop short quoi :(
12:43 <gawel> c'est déjà beau même à vrai dire, on y croyait plus :D
12:43 <gawel> yep
12:43 <tarek> on est quasiment mi avril
12:43 <ccomb> et finalement on fait le truc en mai qd-même ?
12:44 <ccomb> la journée d'atelier là
12:44 <tarek> ccomb, elle y reflechis (en juin) -- elle est pas sur si c adapté
12:44 <ccomb> ok
12:45 <tarek> ccomb, tu utilises un adapteur pour rendre un composant (quel qu'il soit) -- Donc à l'interieur de ton application tu fais appel au composant à travers cet adaptateur
12:46 <tarek> donc le code contenu dans l'adaptateur + le code du composant appelé, forment ensemble une fonctionnalité de ton application
12:46 <ccomb> qu'est-ce que tu appelles rendre ?
12:46 <tarek> s/rendre/utiliser
12:46 <ccomb> bah non, justement, t'es pas obligé
12:46 <ccomb> tu construits d'abord ton appli avec les fonctionnalités métier
12:46 <tarek> j'ai pas dis que t'etais obligé, mais c un des use case des adapteurs
12:47 <ccomb> sans adapter
12:47 <ccomb> ça oui
12:47 <vrialland> et pour le site du Pycon ce sera le barcamp qui sera repris ? comme j'ai vu un projet pycon dans le mercurial...
12:47 <ccomb> mais après on dit qu'il y a trop de ZCA, c'est vrai
12:47 <tarek> tu peux utiliser une fonctionnalité métier à travers un adapteur, c naturel aussi
12:47 <ccomb> si tu veux le rendre pluggable et réutilisable ok
12:48 <tarek> donc tu rends ta logique applicative dépendante de cet adaptateur. je dis pas que c mal, je dis que c'est là la difference avec les decorateurs/middlewares
12:48 <tarek> pour les decorateurs, on évite d'y mettre de la logique métier dedans, ou qq chose de générique
12:48 <ccomb> c'est pareil, t'as plein de décorateurs et de middleware qui constituent une par de la logique
12:48 <tarek> c'est une erreur de design, that's the point
12:48 <ccomb> style les decorateurs d'auth
12:49 <ccomb> dans ce cas on est d'accord
12:49 <tarek> ton appli métier va marcher sans ces décorateurs là
12:49 <tarek> et tu rajoutes une couche d'auth
12:49 <tarek> et cette couche d'auth est indépendante du métier et de l'appli (le meme deco peut etre utilisé pareil dans une autre appli)
12:50 <tarek> alors que les adapteurs peuvent etre sépcifiques à ton appli, tes features core
12:50 <ccomb> ils "peuvent", tout comme les decorateurs
12:50 <tarek> oui, mais un décorateur/middleware qui contient du code qui est indispensable pour que la function décorée fonctionne, c'est une erreur
12:51 <tarek> pas dans le cas d'un adapteur, ou ca peut s'averer indispensable, eg, le cmposant qui marche c'est Adapteur(Composant) et l'un ne va pas sans l'autre
12:51 <tarek> c'est la difference que je fais
12:52 <tarek> mais il y a des edges cases dans les deux cas c clair
12:52 <ccomb> non mais ce que tu pousses pour ne pas faire avec les decorateurs, je pousse aussi pour l'éviter avec les adaptateurs
12:52 <ccomb> ton composant doit marcher tout seul
12:53 <tarek> oui mais pas dans le cadre de ton appli, sans la couche de l'adapteur , qui est dans ce cas indispensable, non ?
12:53 <tarek> c quoi les uses case des adapteurs sinon ?
12:53 <ccomb> justement, c'est ajouter tous les trucs chiants et annexes d'une appli
12:53 <tarek> (du point de vue de l'appli)
12:54 <tarek> est ce que t'es d'accord sur le fait que le code de l'adapter est spécifique à ton appli ?
12:54 <ccomb> il peut, pas forcément
12:55 <ccomb> souvent les adaptateurs se situent dans des paquets séparés, que tu rajoutes après
12:56 <tarek> mais le composant originel est pas utilisable dans ton appli tel quel, rendant l'adaptateur indispensable pour que ca marche.
12:56 <tarek> là ou les décorateurs sont au dessus de l'appli
12:58 <ccomb> si le composant est bien fait, t'as juste à ajouter une interface marqueur IMachinable
12:59 <ccomb> et ça te fournit automatiquement un adaptateur vers IMachin qui te donne des fonctionnaliés en plus
12:59 <ccomb> en fait la notion d'adaptation de la ZCA est pas tout à fait la meme que dans le GoF
13:01 <tarek> oui tout a fait
13:01 <ccomb> on peut le voir dans les deux sens
13:01 <tarek> mais c'est different des decorateurs et middleware
13:01 <tarek> La feature est fournie par IMachinable+IMachin. avec du code dans chaque.
13:01 <tarek> IMachinable connait le contenu de IMachin, alors que dans les deco,
13:01 <ccomb> dans IMachin seulement
13:02 <ccomb> IMachinable est juste là pour que le lookup réussisse
13:02 <tarek> il connait IMachin
13:02 <tarek> là ou un decorareur ne connait pas la logique de ce qu'il décore, sinon il y a une dépendance forte
13:03 <ccomb> IMachinable est vide
13:03 <tarek> peut etre que certains adapteurs sont aussi dans ce cas
13:03 <tarek> IMachinable n'est pas un adapteur ?
13:03 <ccomb> une interface marqueur
13:03 <tarek> je parle pas des interfaces qui servent juste à marquer
13:03 <tarek> c encore autre chose que les adapteurs
13:04 <ccomb> l'adaptateur Machin s'adapte à IMachinable, que tu peux rajouter sur n'importe quel objet
13:04 <ccomb> dynamiquement avec classImplements() ou avec <class>
13:04 <ccomb> mais le probleme c'est que ton adaptateur Machin connait pas vraiment ton objet adapté
13:04 <gawel> ISoleil(ISeinsCloute(ISkate(gawel)))
17:46 <solevis> bonjour
22:58 <No`> salut l'afpy