01:23 <Lijank> bonsoir
08:50 <kujiu> bonjour
10:00 <jpcw> matin café thé
10:02 <kujiu> matin
10:24 <gawel> matin
10:25 <haypo> jour
10:26 <haypo> nuit
10:26 <haypo> jour
10:26 <haypo> nuit
10:26 <haypo> ah oui mais si vous me voyez pas cligner de l'oeil, vous pouvez pas comprendre :)
10:26 <gawel> on t'as reconnu, Omer J. Simpson
10:46 <yotaff> matin
11:52 <gawel> yotaff: t'as vu http://pypi.python.org/pypi/gp.vcsdevelop ? maybe ça peu te botter
12:10 <ogrisel> cool
12:13 <yotaff> wai j'ai matté ca
12:14 <yotaff> (je suis abonné au flux rss pypi :)
12:14 <yotaff> a testé quand j'ai 2 mn
12:16 <gawel> cool
12:21 <yotaff> ca permet de prendre le trunk comme develop ?
12:22 <gawel> ouais
12:22 <yotaff> intéressant car j'ai plusieurs dev qui utilisent pas mal le mode develop
12:22 <gawel> trunk ou tip pour hg
12:22 <gawel> ou wathever ta branch is
12:23 <yotaff> d'un autre coté c'est evil, car ca favorise l'utilisation de tip de tous les composants, alors que je pousse pour coder sur des dépendances finales
12:23 <yotaff> :)
12:23 <gawel> non, tu peux avoir une branche
12:23 <gawel> y a un @tip
12:23 <yotaff> autant mettre des dépendances de egg finales dans ce cas non ?
12:24 <gawel> ça t'oblige a faire des eggs
12:24 <gawel> ce qui pour le dev est pas top
12:24 <yotaff> vi, mais c'est construit automatiquement ici
12:24 <yotaff> mais je vois bien l'utilisation
12:24 <yotaff> je drop un mail interne
12:24 <gawel> bah si tu les construit sur le tip.. ça revient au même
12:25 <yotaff> effectivement ca revient au meme
12:25 <yotaff> mais
12:25 <yotaff> des fois on a des soucis de setuptools
12:25 <yotaff> ce que tu n'a pas avec ton truc
12:25 <yotaff> donc utile
12:25 <yotaff> je drop un mauil
12:25 <gawel> héhé
12:25 <yotaff> (setuptools, je commence à vraiment ne pas aimer)
12:25 <gawel> j'ai vu que y a un 0.7
12:26 <gawel> ca bouge !!! :D
12:26 <yotaff> en utilisation de base ca passe, mais quand tu montes une infra complète, ca devient galère
12:26 <yotaff> deja si tarek arrive a faire passer pip dans buildout
12:26 <yotaff> ca sera un gros progrés
12:26 <gawel> j'ai fait. mais ca marche moyen
12:26 <yotaff> car une partie des pb vient du dl des eggs
12:26 <gawel> pip a des défaut. trop basé sur virtualenv
12:26 <yotaff> car une grosse partie des pb vient du dl des eggs
12:26 <yotaff> même
12:26 <yotaff> ah ok
12:27 <yotaff> je croyais que c'est bien codé
12:27 <yotaff> dommage
12:27 <yotaff> :(
12:27 <gawel> oui, ca marche super bien
12:27 <yotaff> genre la, j'ai des pb de chargement, des fois il prend pas la derniere version d'un composant
12:27 <yotaff> et cest aléatoire
12:27 <yotaff> super comme bug :(
12:27 <gawel> le problème (pour moi) c'est que tu sais pas share des paquets dans un dir commune
12:28 <yotaff> aussi
12:28 <gawel> parceque tout s'install dans venv/lib/python
12:28 <yotaff> le plus gros pb qu'on va avoir la, c'est la gestion des dépendances
12:28 <gawel> et après... demerde toi
12:28 <yotaff> a dépend de b=1.0 et c dépend de b=1.1
12:29 <yotaff> paf
12:29 <yotaff> d'ou le passage à kgs, voir comment bosser avec que des deps externes
12:29 <gawel> a dépends de b>=1.0 dans ce cas :)
12:29 <yotaff> pas toujours aussi simple, car je veux figer les deps
12:29 <gawel> ouais, le mieux c'est de maintenir un versions.cfg
12:29 <yotaff> si tu changes l'api, tu casses a
12:29 <yotaff> waip
12:30 <yotaff> je bosse dessus
12:30 <yotaff> on va avoir un kgs interne
12:30 <yotaff> on a 30 composants la
12:30 <yotaff> et ca va que grossir
12:30 <gawel> boh, version.cfg à la main c'est aussi simple, non ? :p
12:30 <yotaff> bien sur, pas très compliqué, mais le kgs te fait aussi un index par ex.
12:31 <yotaff> ca c'est sympa,
12:31 <gawel> ok, pas mal effectivement
12:31 <yotaff> comme ca tu es sur d'avoir que des composants vraiment voulu
12:31 <yotaff> les libs externes, zope...
12:31 <yotaff> mais dans les faits tu peux avoir un versions.cfg tout seul
12:32 <yotaff> mais bon, kgs c'est automatisé, et plutot sympa
12:32 <yotaff> ca te fait un site
12:32 <yotaff> avec les différentes versions
12:32 <yotaff> ./bin/generate-versions
12:32 <yotaff> et hop, nouvelle version dans le kgs
12:32 <yotaff> tu n'as plus qu'a pointer sur la nouvelle url versions.cfg
12:32 <yotaff> ou dl le buildout.cfg
12:33 <yotaff> bref, sympa
12:33 <yotaff> et surtout une fois que c'est mis en place, tu touches plus :)
12:38 <yotaff> gawel: mail droppé, j'en parle aux devs cet aprem
12:38 <gawel> tu me dira quoi
12:38 <yotaff> quoi
12:39 <gawel> :p
12:39 <yotaff> mangez malin, mangez un clown
12:39 <gawel> haha
12:39 <yotaff> je pense que ca va pas mal servir, vu les pbs qu'on a avec buildout / setuptools en ce moment
12:39 <yotaff> au moins ils sont peinards, ca co directos du hf
12:39 <yotaff> hg
12:41 <gawel> ouais, j'ai toujours utilisé ça
12:41 <gawel> marchait qu'avec svn avant
12:41 <gawel> ça facilite bien la life
12:42 <gawel> chez iw on utilise des externals. c'est un peu relou, mais bon
12:43 <gawel> et avec hg, dans ton cul
12:49 <yotaff> bah buildout powah
12:49 <yotaff> je pense que c'est vraiment bien de faire en sorte de n'avoir que peu de deps dans setup.py
12:49 <yotaff> ou des externals
12:49 <yotaff> en plus ca te rend dépendant de svn
12:50 <yotaff> et c'est *mal* ;)
12:50 <yotaff> parce qu'un jour, svn mourra
12:50 <yotaff> meurt svn meurt ! :)
12:51 <yotaff> bon notre indexer pypi commence à bien marcher
12:52 <yotaff> il manque juste la partie xml-rpc pour être totalement transparent, mais trop relou
12:52 <ccomb> buzzzzzz moi aussi http://ccomb.gorfou.fr/hors-serie-python-linux-mag
12:52 <yotaff> ccomb: tu es en retard on la deja
12:52 <yotaff> :p
12:53 <ccomb> non mais je l'ai pas, en fait :)
12:53 <gawel> pareil
12:53 <yotaff> les nuls
12:53 <yotaff> :p
12:53 <yotaff> l'article zca à l'air intéressant dixit un dev
12:53 <yotaff> ccomb: j'aurai mis ma main au feu que tu l'avais écrit
12:53 <yotaff> en votant la couv
12:53 <yotaff> voyanyt
12:53 <yotaff> rhaaa
12:53 <yotaff> voyant
12:54 <ccomb> je peux pas tout faire hein, je me suis déjà tapé 20 pages d'articles
12:54 <ccomb> sauf que c'est pour mars
12:59 <ccomb> faudrait buzzer sur trollfr aussi
13:00 <haypo> ccomb: tiens oui, y'a même pas de journal sur le HS
13:00 <haypo> ccomb: tu peux faire un journal qui liste tous les articles de blog qui parlent de ce HS
13:00 <haypo> http://www.haypocalc.com/blog/index.php/2009/01/27/185-hors-serie-linux-mag-explorez-les-richesses-du-langage-python
13:00 <haypo> http://www.afpy.org/Members/tarek/linux-mag-hs-python
13:01 <haypo> c'est dingue qu'un hors-série fasse tellement de bruit quand même
13:01 <gawel> y a celui de gael aussi
13:01 <haypo> ça ne devrait pas être exceptionnel
13:01 <gawel> http://gael-varoquaux.info/blog/?p=91
13:01 <ccomb> là j'ai pas le temps mais ce soir peut-être
13:10 <haypo> je vais écrire un journal de suite
13:11 <haypo> http://linuxfr.org/~haypo/27798.html
13:12 <gawel> grut
13:13 <haypo> got
13:13 <haypo> ah non, c'est grüssgot en autrichien je crois
13:45 <ogrisel> Grüssgot c'est bavarois il me semble
13:54 <yotaff> tarek: je t'ai envoyé les mots clés pour le flux rss
13:58 <ogrisel> merci haypo pour le journal
13:58 <ogrisel> c'est cool la preview jpeg
13:58 <ogrisel> faut vraiment que je l'achete
13:59 <ogrisel> tarek: t'avais demandé sur la liste python-mag si l'afpy pouvait se procurer une 50 aine d'exemplaires ?
14:02 <gawel> moi oui
14:02 <gawel> y a moyen, ca se fait apparement
14:02 <gawel> (tarek aussi d'ailleurs, on s'est croisé sur le mail)
14:03 <ccomb> j'ai essayé de déflouter les captures jpeg avec le plugin refocus-it de gimp
14:03 <ccomb> http://refocus-it.sourceforge.net
14:03 <gawel> l'idée est d'offrir un truc en échange. genre hosté des bulletin d'adhésion LM sur le stand afpy@SL
14:03 <ccomb> Sauf que ça marche pas dans ce cas
14:03 <ccomb> Z'ont bien fait leur boulot, ca va
14:09 <ogrisel> d'abonnement pas adhesion
14:09 <ogrisel> marrant ton truc ccomb
14:09 <ogrisel> c'est comme le pedophile qui s'etait pris en photo et avait flouté avec une transformation quasi bijective
14:10 <ogrisel> gawel: ca me parait honnete comme compromis pour linux mag
14:10 <gawel> yep
14:10 <ogrisel> si on les a gratis
14:10 <ogrisel> sinon on peut les acheter avec un tariff de gros non ?
14:12 <ogrisel> sur les stands solution linux on peut filer 10 linux mags HS par jours au 10 premiers nouveaux membres
14:13 <ogrisel> ou plutot au 11 premiers membres car c'est un nombre premier, c'est plus joli
14:24 <yotaff> ahahha
14:26 <yotaff> ogrisel: un dev a répondu 10 en binaire c'est 2, donc premier
14:26 <yotaff> (oui me devs sont aussi frappés que ogrisel )
14:28 <haypo> tarek: bon, il m'a pas recontacté le Mr. 01
14:29 <ogrisel> 01 en binaire c'
14:29 <ogrisel> est premier aussi
14:30 <haypo> 2 n'est pas premier
14:30 <haypo> mince
14:30 <haypo> 1 n'est pas premier
14:30 <ogrisel> bah si
14:30 <haypo> 1 a un seul diviseur, pour être premier il faut tout pile 2
14:30 <ogrisel> pff c'est quoi cette definition
14:31 <haypo> pff, c'est quoi ces légendes urbaines ? python est lent, 1 est premier, les roux puent la carotte, etc.
14:31 <ogrisel> un nombre premier c'est un nombre qui n'est divisible que par 1 et par lui meme
14:31 <haypo> ogrisel: Wikipédia détient la vérité http://fr.wikipedia.org/wiki/Nombre_premier
14:31 <ogrisel> c'est cool avec wikipedia on peut reecrire la verité
14:32 <cyberj> C'est dommage temporairement
14:32 <ogrisel> ah merde
14:32 <haypo> ogrisel: t'as essayé le crible d'Eratosthène avec 1 ?
14:32 <ogrisel> c'est chelou ca la definition que j'avais en tete depuis des années est fausse
14:32 <haypo> donc, tu prends 1, puis tu barres tous les multiples de 1 car ils ne sont pas premiers
14:32 <haypo> donc 2, 3, 4, 5, .......... ne sont pas premiers
14:33 <ogrisel> yep
14:46 <haypo> "1 n'est ni premier ni composé" dit Wikipédia
14:46 <haypo> 1 c'est comme le H d'Hawaï, il sert à rien !
14:46 <ogrisel> c'est l'element neutre pour la multiplication
14:47 <ogrisel> spa rien qd meme
14:47 <haypo> bof
14:47 <haypo> faudrait faire un vote (argumenté) pour nos nombres préférés
14:52 <haypo> ex: 120 est un nombre: intouchable, Harshad, hautement composé, etc. c'est aussi la factorielle de 5
14:52 <haypo> 120 a la classe je trouve
14:53 <cyberj> cadô : http://www.sittes.net/top10/
14:56 <No`> salut l'afpy
14:57 <haypo> cyberj: y'a ni 120 ni 2305843009213693951 dans la liste, pff
14:58 <cyberj> :)
15:22 <haypo> y'a des crituques du Hors-Série Python ici : http://linuxfr.org/~haypo/27798.html
15:22 <haypo> critiques*
15:29 <No`> étonnant, ça trolle quasi-pas
15:30 <No`> ça a changé linuxfr...
15:33 <haypo> No`: on aurait du faire un CSS Python
15:33 <haypo> No`: subprocess.call(['/usr/bin/perl', '....']); c'est pas un troll ?
15:35 <No`> d'où le "quasi"
16:02 <tarek> Bah c'est bizarre, mais moi aussi je suis allergique à Zope. Faudrait faire un sondage, car je ne connais déjà personnellement qu'une infime partie de devs python qui aime bien Zope ... le reste ne connait pas, n'a pas envie de connaître, ou le hait.
16:02 <tarek> (dans le thread)
16:02 <tarek> j'ai envie de répondre
16:02 <tarek> "ouai, ceux qui font un salaire avec python" ;)
16:03 <kujiu> tarek: c'est linuxfr, ne te prive pas :p
16:04 <No`> allez, on va dire qu'on est vendredi
16:08 <tarek> kujiu je ne troll plus depuis des années sur ce site
16:08 <tarek> mauvais souvenirs
16:08 <kujiu> :)
16:08 <tarek> perte de temps
16:08 <kujiu> pas faux
16:08 <tarek> c'est le facebook du libre ce truc
16:09 <tarek> en pire, niveau respect des gens
16:09 <kujiu> c'est pour ça que je n'y poste jamais
16:15 <ccomb_> hein quoi, ça trolle ?
16:15 <ccomb_> moi aussi moi aussi !
16:18 <No`> pppfffff
16:18 <No`> retourne à ton usine à gaz, sale Zopeur
16:19 <yotaff> zope3 c'est bien
16:19 <yotaff> arretez d'etre méchant
16:19 <yotaff> sinon je me fache
16:19 <yotaff> :>
16:19 <yotaff> (je sens que dans qq mois, on va commencer à maitriser le zca au taff)
16:20 <ccomb_> houla, ttention, faut pas facher yotaff
16:20 <yotaff> voila
16:20 <yotaff> écoutez ccomb
16:20 <yotaff> pour étre sérieux, zope3 c'est quand meme un peu spécial, et c'est clair qu'il faut peu en parler
16:20 <yotaff> deja que bcp de dev comprennent pas l'intéret de concepts simples
16:21 <yotaff> (cf dev php)
16:21 <yotaff> alors des trucs comme l'inversion de controle...
16:22 <gawel> j'ai répondu au truc sur zope
16:22 <No`> "inversion de contrôle" ?
16:22 <No`> c'est cochon ton truc
16:23 <gawel> je suis pas (plus) pro-zope. mais l'ignorer, c'est débile
16:23 <gawel> dans le web en tout cas
16:24 <gawel> après, quand on fait du all-in-one-dinosaur django like, c'est sur que bon :p
16:25 <yotaff> ahahaha
16:25 <No`> ouééééé
16:25 <No`> à clous
16:25 <No`> (rouillés)
16:26 <haypo> tarek: on peut faire du python, être payé pour ça, et ne jamais toucher à zope
16:27 <haypo> tarek: ça serait horrible de toucher zope pour gagner des sous tout en codant en python !
16:28 <gawel> moi je touche à tout sans a prioris. j'ai même fait du django, c'est dire
16:29 <ccomb_> pareil
16:29 <gawel> maintenant je prefere composer mon framework avec les libs dont j'ai besoin. même si y a zope dans le nom du package
16:29 <ccomb_> ayé, j'ai apporté ma contribution au troll :D
16:32 <ccomb_> No`: l'inversion de controle c'est le fait que le parsing de l'url te redirige d'abord au modèle, au lieu de mener au contrôleur
16:33 <ccomb_> ça facilite les comportements dépendants du contexte
16:35 <No`> j'ai pas compris, mais merci quand même
16:35 <No`> que veux-tu, j'suis Djangosaure, j'ai pas les neurones
16:35 <cyberj> :)
16:37 <ogrisel> gawel: +1 mais bon si y django dans le nom du package y a peut de chance que t'arrive la faire marcher dans un stakc wsgi :)
16:38 <cyberj> Django et wsgi ça marche hein
16:38 <ccomb_> 'tain ca y est, on devient une extension de linuxfr là :)
16:38 <No`> BAGUETTE ON SNAILS!
16:38 <cyberj> moi j'en fait manger tout les matins
16:38 <nightlybuild1> ccomb: c'est ce que j'allais écrire :)
16:38 <nightlybuild1> lynuxfr
16:42 <david`bgk> tarek, on peut avoir un salaire sans faire du zope maintenant ;)
16:42 <ogrisel> david`bgk: oué suffit de faire du java
16:43 <david`bgk> (j'aurais dû terminer de lire le log :p)
16:43 <david`bgk> vade retro faux-frère
16:43 <ccomb_> mieux, du dote nette
16:43 <No`> BAGUETTE ON SNAILS!
16:43 <ccomb_> lol
16:43 <No`> (reloaded)
16:49 <zitune> bonjour
16:58 <cyberj> yop zitune
17:14 <gawel> cyberj: ca marcheotte, ouais
17:15 <cyberj> ha?
17:15 <gawel> vas coller deux appli dans un même process. arme toi de courage
17:15 <cyberj> deux appli ou deux projets?
17:16 <gawel> deux modules settings, si tu préfère
17:16 <cyberj> En effet dnas le meme vhost j'ai pas essayé
17:17 <cyberj> Mais question perf ça marchotte mieux que mod_python
17:17 <gawel> Y a eu un effort de ian bicking: DjangoPaste. Mais je crois qu'il a laché l'affaire
17:17 <gawel> tu peux faire du wsgi avec mod_python hein
17:17 <gawel> si tu parles de mod_wsgi, c'est tout foireux
17:17 <cyberj> Ha?
17:18 <gawel> d'après les écho/bench que j'ai eu, ouais
17:18 <gawel> vaut mieux un bon mod proxy
17:18 <cyberj> chez moi y'a pas photo entre le behc mod_python , fcgi et wsgi
17:18 <cyberj> mod_wsgi s'en sort tranquilement
17:19 <gawel> mets un mod proxy, un load balancer et une 10aine de process python et on en reparle :p
17:19 <cyberj> Le bench que j'ai fait n'est pas vraiment dans les régles de l'art certes, mais quand meme
17:20 <cyberj> tes dizaines de process python tu les serts comment?
17:20 <cyberj> m'enfin qui c'est qui les fouette pour leur faire cracher du html?
17:23 <gawel> paste#http
17:23 <gawel> N petit serveurs python iront toujours plus vite que 1 seul et unique process shooté à la coc
17:26 <cyberj> mais dans mod_wsgi tu peux préciser le nombre de threads a lancer avec ton virtual host...
17:27 <cyberj> m'enfin j'ai pas testé paste et ça me botte bien de tester la différence
17:27 <cyberj> (avec apache prefork)
17:28 <gawel> je crois qu'appache utilise qu'un cpu. N process les utilisent tous
17:28 <gawel> sans parler du GIL de python
17:28 <ogrisel> +1 avec l'analyse de gawel
17:29 <ogrisel> tant qu'on aura pas une version async wsgi faudra pre-forker python
17:29 <cyberj> Ce que j'ai du mal a comprendre c'est la différence entre un apache prefork qui va te lancer 100 process wsgi et 100 process paste
17:30 <gawel> si t'as vraiment 100 interpreteur ça va mais je suis pas convaincu
17:30 <gawel> y a encore un mec qui disait ce matin sur #pylons qu'en théorie mod_wsgi ça marche bien mais que dans les faits ca pu
17:31 <gawel> nginx + proxy_pass + upstream > *
17:31 <gawel> y avait un super post la dessus
17:33 <cyberj> Je n'ai jamais tweaké un mod_wsgi a mort, tout ce que je sais c'est qu'e j'ai bien une vingtaine de process apache avec les droits user que j'ai demandé a mod_wsgi et cela pour chaque vhost au repos
17:33 <gawel> http://www.reshetseret.com/app/blog/?p=3
17:33 <cyberj> gawel: mais si tu retrouve le post cela m'interesse aussi :)
17:33 <cyberj> par exemple :)
17:35 <cyberj> merci
17:50 <ogrisel> interessant ton post gawel
17:50 <ogrisel> j'avais lu differents blogs qui presentaient le meme genre d'astuce mais jamais tout rassemblé en un seul tuto
17:51 <ogrisel> par contre ca fait pas de comparatif avec mod_wsgi d'apache
17:52 <ogrisel> avec ce genre de truc faut bien penser a mettre l'identifiant de l'utilisateur dans la clef de cache et s'assurer que le serveur memcached n'accepte que les connections de localhost pour eviter les failles de secu
17:53 <gawel> ca dépends du usecase
17:53 <gawel> la il cache rien de ce qui est suposé etre dynamique
17:53 <ogrisel> ah ok
17:54 <tarek> gawel http://fr.pycon.org/
17:54 <tarek> ils ont changé le CNAME
17:54 <gawel> pas vers le www apparement
17:54 <tarek> mais je crois qu'il manque un alias
17:54 <tarek> chez nous
17:55 <gawel> vhost just ama
17:55 <gawel> je vais check
17:55 <tarek> ServerAlias
17:55 <tarek> ok
17:56 <harobed_> pas mal repoze.org
17:56 <gawel> ServerName pycon.fr
17:56 <gawel> ServerAlias *.pycon.fr
17:56 <gawel> ServerAlias *.pycon.org
17:56 <gawel> hop
17:56 <harobed_> je n'avais jamais trop regardé mais le lien sur linuxfr a attiré mon attention
17:56 <tarek> yes c bon
18:01 <harobed_> c'est sur 3 jours cette année le pycon !
18:04 <gawel> faut bien grandir :)
18:06 <cyberj> \o/
20:40 <madin60> Bonsoir a tous!
20:50 <tarek_> ping ccomb
20:54 <tarek_> ping haypo
21:01 <madin60> Ouf je commence a devenir un bon! T'es aussi sur ce canal jpcw
21:01 <jpcw> oui
21:13 <madin60> pour raccourcir mes fonctions, je pourrais par exemple utiliser des générateurs??? jpcw
21:13 <jpcw> oui
21:14 <jpcw> et os.walk pour choper recursivement le contenu d'un répertoire
21:15 <madin60> os.walk() reste un grand mystere pour moi
21:16 <madin60> mais je pense que ma fonction contenu_repertoire() avait le meme but
21:16 <madin60> en moins costaud
21:16 <jpcw> oui mais déjà codé
21:16 <jpcw> :)
21:16 <jpcw> et surtout en plus court;)
21:18 <madin60> une question quand je lit les docs elles sont toutes en anglais.
21:18 <madin60> enfin pydoc
21:18 <madin60> on a pas les traductions???
21:22 <jpcw> euh je ne crois pas non
21:23 <madin60> comme on dit
21:24 <madin60> y a pas de questions bêtes
21:24 <madin60> y a que les bêtes qui pose pas de questions
21:25 <madin60> on ne sait jamais peut-etre que ca viendra
21:25 <madin60> un jour la doc traduite! ;)
21:27 <jpcw> une bonne ressource en français y'a diveintopython de traduit