Un Zest'Meeting

La rencontre des dezesteurs

Le problème exposé dans ce sujet a été résolu.

J'ai l'impression que tu tentes de poser cette même question plusieurs fois à des endroits différents depuis des mois. C'est vraiment relou et ça ne donne même plus envie de te répondre …

Le lien entre User et Profile, c'est une relation 1..1. Cette relation est traduite explicitement en base par un champ dans la table profile qui indique quel user utiliser.

Depuis le début, on a considéré que User.pk == Profile.pk. C'est une erreur, rien ne le garantit et ça n'a été vrai que par pure coïncidence.

Il n'y a rien qui garantit ça, et de toutes façons, ce sont des ID techniques, le code doit donc fonctionner même si ces identifiants sont attribués complètement au hasard !

Cette désynchro existe donc depuis le début, et est même probablement présente dans le code de PdP.


Maintenant, on a un problème : on a des tas de références en dur vers User et pas vers Profile. C'est historique, mais dans la majorité des cas, c'est une erreur, puisque pour ZdS un utilisateur correspond à un Profile et pas un simple User.

Là on a 2 solutions, mais elles sont toutes les 2 merdiques :

  1. Fusionner ces 2 tables. La doc Django explique que ce n'est faisable qu'à la création d'un nouveau projet, et pour avoir essayé de le faire, c'est probablement vrai.
  2. Toujours utiliser 2 tables, mais toujours pointer vers Profile, la seule référence à User qui resterait étant dans Profile. C'est faisable mais nécessite une migration massive de données et une énorme modification de code. J'ai commencé un POC, mais y'a une énorme quantité de travail.

Toujours utiliser 2 tables, mais toujours pointer vers Profile, la seule référence à User qui resterait étant dans Profile. C'est faisable mais nécessite une migration massive de données et une énorme modification de code. J'ai commencé un POC, mais y'a une énorme quantité de travail.

La ZEP12 doit-elle le faire?

Depuis le début, on a considéré que User.pk == Profile.pk. C'est une erreur, rien ne le garantit et ça n'a été vrai que par pure coïncidence.

SpaceFox

C'est bien cette partie que je ne comprends pas. Avant on ne faisait jamais de comparaison sur le pk de Profile parce que justement cette clé n'était référencée nulle part comme clé étrangère. Du coup pourquoi est-ce qu'on veut maintenant utilisé le pk du Profile à la place du pk de User ?

@Andr0 : C'est une vraie question hein, pas pour t’embêter :)

Parce que User est une pure classe d'authentification, ce qui représente un utilisateur de zds c'est Profile. Du coup dans l'API des membres, c'est sensé être Profile qui est montré mais comme on n'a rien de branché sur Profile ça pète.

Parce que User est une pure classe d'authentification, ce qui représente un utilisateur de zds c'est Profile.

artragis

Justement non. C'est tout l'intérêt de la relation 1..1.

Si tu as un User, tu peux obtenir son profile en faisant my_user.profile, si tu as un profile, tu peux obtenir son user en faisant my_profile.user comme on peut voir un exemple dans la doc. Donc le mystère rester entier

Parce que User est une pure classe d'authentification, ce qui représente un utilisateur de zds c'est Profile.

artragis

Justement non. C'est tout l'intérêt de la relation 1..1.

Si tu as un User, tu peux obtenir son profile en faisant my_user.profile, si tu as un profile, tu peux obtenir son user en faisant my_profile.user comme on peut voir un exemple dans la doc. Donc le mystère rester entier

firm1

Donc en substance, ta réponse est "pourquoi faire simple quand on peut faire compliqué?"

Sérieusement, on a tous mis des User partout par simple mimétisme, mais c'est casse gueule à souhait et ça allonge de manière stupide les lignes de code. Dans TOUTES nos pages la seule chose qui est liée à user et uniquement à user ce sont les permissions. Tout le reste on est obligé de se faire user.profile.whatever ou {% with profile=user|profile %}.

Et le pire c'est que comme en plus les perms sont une relation n-n on se tappe la fonction has_perm à chaque fois et comme on ne précalcule(ait) rien bah on fait 20 000 fois cette requête.

Autre vice caché : si on ne met pas un prefetch à chaque fois… on a autant de requête pour aller chercher le profile que de fois où on appelle .profile ou |profile. Au vue de notre immense base de code, faire un prefetch à chaque vue qui demande le user.profile risque d'être extrêmement long !

Bref : non, c'est pas une bonne solution !

Bien, propose une solution élégante pour chaque issue que nous rencontrons avec ce problème puis nous pourrons en reparler.

Andr0

Pour moi, étant donné que le problème ne se posais pas avant, il faudrait repasser sur les modules membre, mp et forum et au lieu d'appeler ou faire des vérification sur profile.pk, il faudra les faire sur profile.user.pk.

Et coté API, au lieu de renvoyer le serialiser du profile au client, lui renvoyer celui de User en faisant attention de rajouter les attributs du Profile à ce dernier.

Du coté du modèle, à part peut être pour le module des mps que je n'ai pas regardé en détail, les données ne sont pas corrompues puisqu'on a bien une ForeignKey qui n'utilise que le modèle User à chaque fois. Le problème est surtout ce que nous expose l'API. L'API expose les données du Profile en ajoutant les infos du User au lieu d'exposer les infos du User en ajoutant les infos du Profile.

Donc en substance, ta réponse est "pourquoi faire simple quand on peut faire compliqué?"

artragis

Arf, tu ne m'a pas compris.

Autre vice caché : si on ne met pas un prefetch à chaque fois… on a autant de requête pour aller chercher le profile que de fois où on appelle .profile ou |profile. Au vue de notre immense base de code, faire un prefetch à chaque vue qui demande le user.profile risque d'être extrêmement long !

Bref : non, c'est pas une bonne solution !

artragis

La solution idéale là dessus (à la fois pour les perfs et la cohérence) serait de fusionner les deux tables. Là on est d'accord. Le problème comme l'a dit SpaceFox ci-dessus est que c'est super casse gueule de la faire maintenant.

Maintenant qu'est ce qui nous reste comme solution ?

  • Passer sur Profile et n'exposer que lui et sa clé primaire : il faut repasser partout sur le code d'un coup avec un risque énorme lors du cassage du modèle, pour changer des trucs comme ça. Et cette solution nous obligerait elle aussi a faire des prefecth vu que l'on aura toujours besoin du username qui se trouve dans la classe User.
  • Rester sur du User : Cf. ma réponse à Andr0

Là j'ai l'impression qu'on essaye de faire compliqué sur un problème simple.

Encore un gros meeting de 2h (décidément, va falloir que je me rachète une montre :D )

Petit résumé à chaud :

Pour les performances

  1. Le cache on oubli pour l'instant, nos templates sont pas prêts
  2. Un travail de précalcul à été fait, est en train de se débugguer et améliore apparemment pas mal les perfs 3.une discussion va être lancé pour voir comment améliorer nos templates
    • 3b. Django1.8 et Jinja2 feront surement parti des réponses
  3. Les perfs sont à surveiller lors des grosses PR/refacto
  4. Il faut penser aux perfs pendant la conception

Le serveur

Il faut relancer en général mais aussi engager l'association dans son rôle de preneur de décision, trop laissé en repos pour l'instant (vrai aussi sur un sujet de nouveau sysadmin qui attend des nouvelles en zone CA :-° )

L'API des MP

  • Est développé mais ne sera pas incluse pour commencé à cause de problèmes sous-jacent

Les tickets bloquants

  • À traiter en urgence !
  • J'ai un accès à la préprod pour faire remonter les logs au dev au cas pas cas faute de sentry le faisans automatiquement

La recherche

  • Hugo est sur le coup
  • Situphen à fait de la QA, pierre_24 prend le relais
  • objectif : avoir une recherche plus potable que l'actuelle pour la release
  • Ça risque d'être laborieux pour la ZEP-12 (mais à voir)

Voila pour un résumé à chaud, les logs sont à la suite ci-dessous :

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
[19:55:44] <Eskimon> (cou)²
[19:56:04] <pierre_24> Eskimon: tu offre l'apéro, c'est ça que t'as dit, non ?
[19:56:32] * Eskimon sort les bières
[19:57:35] * pierre_24 prend une bière et s'installe
[19:57:54] <pierre_24> spacefox: un petit test d'UTF-8 pour pas avoir le soucis de la fois passée ?
[19:58:09] <spacefox> é
[19:58:15] <pierre_24> Nickel !
[19:58:31] <Eskimon> pierre_24, tu logs donc ?
[19:58:51] <pierre_24> Pas de souchi :)
[20:00:10] <Situphen> J'ai aussi les logs si jamais ceux de pierre_24 foirent
[20:00:24] <Eskimon> Bon dans les grandes lignes ont va traiter ca : https://zestedesavoir.com/forums/sujet/1095/un-zestmeeting/?page=12#p59527
[20:00:30] <Eskimon> Je vérifie la liste des participants
[20:00:48] <Eskimon> Eskimon ?
[20:00:50] <Eskimon> Présent !
[20:00:53] <Eskimon> pierre_24, ?
[20:00:57] <pierre_24> Himself
[20:00:59] <Eskimon> Sandhose, ?
[20:01:12] <Sandhose> Oui ?
[20:01:26] <Situphen> (le gars qui suit pas :D)
[20:01:28] <Eskimon> artragis ? artra<tab><tab><tab> ha artragis est pas la !
[20:01:38] <Eskimon> On dit PRÉSENT !!
[20:01:49] <pierre_24> Oui, ça m'étonnes, d'habitude il est là
[20:02:16] <Eskimon> Bon y nous manque artragis et Hugo (qui avait dit "j'essairai" si ma mémoire ne me trompe pas)
[20:02:30] <pierre_24> Me semble aussi
[20:02:45] <Eskimon> pierre_24, tu sais pkoi artragis est pas la ?
[20:02:46] <Situphen> Je crois qu'il a plutôt dit "j'essayerai"
[20:02:56] <pierre_24> Eskimon: non
[20:03:02] <Eskimon> tu devrais !
[20:03:03] <Eskimon> :D
[20:03:08] <pierre_24> j'avoue que j'ai tout laché ses 5 derniers jours
[20:03:39] <Eskimon> Bon, je vous propose que nous commencions, artragis se joindra à nous si possible j'imagine
[20:04:15] <Situphen> Ici ! ... ah, on ne m'a pas appelé ? Zut
[20:04:19] <Eskimon> Alooooors
[20:04:41] <Eskimon> On va commencer tout de suite par un sujet qui nous attriste, la release abandonnée
[20:05:06] <Eskimon> Donc les raisons de l'abandon sont diverses et variées, si je devais les résumer je dirais :
[20:05:13] <Eskimon> 1. Souci de perfs
[20:05:17] Joindre artragis (0ed627e0fd0@Smooth-qobqsd.net) a rejoint ce canal.
[20:05:17] Mode Kiwi donne les privilèges de demi-opérateur à artragis.
[20:05:31] <Situphen> artragis → en retard !
[20:05:31] Mode Kiwi donne les privilèges d'opérateur du canal à artragis.
[20:05:38] <Eskimon> 2. Souci de nouvel API difficilement testable
[20:05:50] <Eskimon> (coucou artragis installe toi on vient juste de commencer)
[20:06:06] <artragis> salut !
[20:06:13] Joindre Hugo (Hugo@Smooth-sr4a4u.rev.sfr.net) a rejoint ce canal.
[20:06:16] <artragis> dsl du retard
[20:06:25] <Hugo> dsl du retard
[20:06:45] <Eskimon> ahhhh bah nickek on est au complet !
[20:06:59] <Eskimon> Je disais donc (on commence), On va commencer tout de suite par un sujet qui nous attriste, la release abandonnée
[20:07:01] Quitter artragis (0ed627e0fd0@Smooth-qobqsd.net) a quitté ce serveur (Quit: Page closed).
[20:07:05] <Eskimon> ah bah non
[20:07:15] <Situphen> :D
[20:07:28] <Hugo> Il manque notre Dieu.
[20:07:40] Joindre artragis (0ed627e0fd0@Smooth-qobqsd.net) a rejoint ce canal.
[20:07:40] Mode Kiwi donne les privilèges d'opérateur du canal à artragis.
[20:07:46] <Eskimon> C'est bon artragis ??
[20:07:49] <artragis> ça a l'air
[20:07:51] <artragis> dsl du retard
[20:07:53] <spacefox> Hugo, je suis là :)
[20:08:34] <Eskimon> On est bon ??
[20:08:42] <Eskimon> Je peux répéter pour la troisième fois ??
[20:08:54] <Situphen> Oui, chef !
[20:08:55] <Hugo> oui, je pense
[20:08:57] <Eskimon> Merfi
[20:09:00] <artragis> oui mon capichef
[20:09:19] <Eskimon> Donc comme je copiais/collais un peu plus haut : On va commencer tout de suite par un sujet qui nous attriste, la release abandonnée
[20:09:27] <Eskimon> <Eskimon> Donc les raisons de l'abandon sont diverses et variées, si je devais les résumer je dirais :
[20:09:30] <Eskimon> <Eskimon> 1. Souci de perfs
[20:09:34] <Eskimon> <Eskimon> 2. Souci de nouvel API difficilement testable
[20:09:56] <Eskimon> 3. Nombreux issues bloquantes apparu récemment
[20:10:26] <Eskimon> Voila
[20:10:39] <Eskimon> Pour les perfs, on a tenté le caching = pas au point
[20:11:28] <Eskimon> mais ! artragis nous a fait une belle PR qui a apparemment (en test en tout cas) de beaux effets
[20:11:40] <Eskimon> Du coup, à voir en condition de beta
[20:11:53] <Eskimon> (une fois tout les effets de bord réglés)
[20:12:11] <artragis> oui y'a deux/trois effets de bords pour une raison assez simple : ma PR est loin de tout régler car elle s'appuie sur ce que j'ai mis en place dnas la ZEP12
[20:12:46] <Eskimon> point de vue des perfs, spacefox tu aurais d'autres choses à dire ? Comment se comporte la prod' comparé à l'effondrement des I/O du mois dernier ?
[20:12:47] <pierre_24> artragis: tu sais pas faire une liste sur mon topic de ce qui reste à régler à partir de la liste que j'avais établi la semaine passée ?
[20:12:50] <artragis> or pour la zep 12 on a quelque peu nettoyé le template message.part.html et on en a fait un template propre au module de tuto plutôt que de le mettre dans misc avec des conditions à tout va.
[20:14:26] <artragis> pierre_24 : ça peut se faire. Mais globalement, je dirais (et ça se voit sur le tableau de QA) que nous ne sommes toujours pas staff-friendly côté perf
[20:14:53] <spacefox> ça à la limite c'est pas grave, le plus important c'est d'être visiteur lambda - friendly
[20:15:34] <pierre_24> Me semblait (de loin) que c'était déjà beaucoup mieux
[20:16:06] <Eskimon> je plussoie spacefox au passage
[20:16:27] <spacefox> Côté perfs, ça va de "pas terrible" (300-400 ms pour l'accueil et la home d'un big tuto) à "franchement mauvais" (1200-1300 ms pour un article ou un topic) en passant par "franchement aléatoire" (la home des forums)
[20:16:30] <spacefox> le tout en mode déconnecté
[20:16:42] <spacefox> et uniquement sur la génération du HTML
[20:17:04] <Eskimon> 18<spacefox> et uniquement sur la génération du HTML = ???
[20:17:17] <Eskimon> ca veut dire "Django est lent" N
[20:17:18] <Eskimon> ?
[20:17:20] <spacefox> c'est les tempsd e génération du HTML, pas d'affichage d'une page pour l'utilisateur
[20:17:47] <spacefox> ça ne prends en compte ni le temps de transfert, ni les JS / images / etc 
[20:18:03] <spacefox> Les sources de lenteur identifiées sont principalement 2
[20:18:06] <pierre_24> C'est ce que donne la Django toolbar, en gros
[20:18:36] <spacefox> 1. On fait beaucoup, beaucoup trop de requêtes. Les requêtes elle-mêmes sont très rapides à obtenir mais on passe énormément à préparer, traiter le résultat, préparer, traiter, ...
[20:18:50] <spacefox> 2. Le moteur de templates de Django qui est notoirement lent
[20:19:23] <spacefox> Ah, et un bonus : une part non négligeable de notre charge serveur c'est les indexations
[20:19:31] <Hugo> Dans un autre domaine, la pr qui fait que solr ne reindexe plus le contenu, devrait normallement améliorrer un peu les perfs aussi (Un coeur à 100% pendant 5 minutes, toutes les 30 mns)
[20:19:33] <spacefox> vu que toutes les 30 minutes on réindexe toute la base et tous les tutos
[20:19:44] <spacefox> voilà Hugo nos messages se sont croisés
[20:20:13] <Eskimon> On revient sur la recherche tout à l'heure pour en parler à part entière du coup ;)
[20:20:17] <Hugo> oups désolé
[20:20:33] <Eskimon> mais donc spacefox quand tu dis "indexation" c'est celle de la recherche c'est ca ?
[20:20:45] <pierre_24> Bon, pour le second point, c'est Django 1.8, un jour
[20:20:48] <spacefox> oui y'en a qu'une
[20:21:05] <artragis> pierre_24 => done
[20:21:14] <spacefox> ? artragis 
[20:21:40] <artragis> spacefox => je suis pas passé sur la page des forums, mais on devrait descendre sous la seconde pour les articles théoriquement
[20:22:07] <spacefox> Alors pour le moteur de templates, la solution c'est bien Jinja 2 et donc Django 1.8 (on peut faire sans, mais ce sera plus chiant) (et déjà ça nécessitera des adaptations)
[20:22:24] <pierre_24> Ok, reste le premier point
[20:22:42] <pierre_24> Donc, si je suis bien, artragis, tu t'es pas attaqué à l'histoire des "messages suivis"
[20:22:50] <pierre_24> (c'est pas un reproche)
[20:23:11] <artragis> non, j'ai trop peur de casser des trucs tellement c'est moche.
[20:23:28] <spacefox> Le 1er point a un gros historique en ce qui concerne les forums
[20:23:53] <spacefox> en gros : ça n'a jamais été pensé et la moitié des problèmes viennent du code qu'on a forké
[20:24:21] <Eskimon> On souffre d'un effet "on se forme tous à Django" au début du projet qui à commencé par les forums et essuyé les platres je suppose ??
[20:24:44] <spacefox> Oui et non
[20:24:49] <spacefox> le forum c'est le bout qu'on a le moins touché
[20:25:14] <spacefox> on s'est contenté de rajouter nos couches (alors que personne ne touchait vraiment django) sur un truc déjà bancal
[20:26:10] <artragis> le refactor a fait du bien quand même
[20:26:50] <spacefox> Yep clairement
[20:26:58] <pierre_24> Donc en gros, faudrait presque faire un coup à la ZEP-12: "c'est bien, mais on recommence" ?
[20:27:18] <artragis> je ne te suis pas pierre?
[20:27:47] <pierre_24> Ben si le code est profondément mal écrit, la meilleure solution, c'est "on recommence"
[20:28:05] <pierre_24> (j'ai pas dis que c'était possible pour autant)
[20:28:31] <Eskimon> ouai enfin on le fait déjà au cas par cas, quand on voit par exemple le passage en CBV que Andr0 fait sur les modules
[20:28:48] <Eskimon> en fait à part les tutos/articles on sera bientot en full-CBV je crois
[20:29:06] <pierre_24> ... attention ...
[20:29:12] <artragis> en juillet la zep 12 mettra du cbv sur les tuto/article
[20:29:22] <Eskimon> bah oui ^^
[20:29:36] <spacefox> Plus généralement il faut concevoir notre code et pas juste le réaliser et vérifier que "fonctionnellement ça march"
[20:29:37] <Eskimon> mais "à l'heure actuelle" quoi
[20:29:50] <Situphen> manque "pages"
[20:30:06] <pierre_24> +1 Situphen
[20:30:16] <spacefox> On est un peu au point mort à cause de mai niveau progression dans l'utilisation du site, mais on peut difficilement oublier qu'on a un minimum de charge
[20:30:35] <Andr0> Gardons à l'esprit que le CBV n'est pas non plus une obligation partout. C'est pas parce qu'une vue n'est pas en CBV qu'elle est mauvaise.
[20:30:45] <artragis> je ne dis pas ça
[20:30:56] <artragis> c'est juste que pour les tuto ça a été 100 fois plus facile à réaliser
[20:31:05] <artragis> on avait trop de duplication partout avant
[20:31:11] <Andr0> Je ne pensais pas aux tutos en fait
[20:31:23] <spacefox> Pour vous donner une idée, on sert entre 3 et 4 requêtes par seconde hors pic pendant la journée
[20:31:38] <spacefox> (statiques compris)
[20:32:16] <artragis> pas mal
[20:32:24] <pierre_24> Bon, ben il va falloir continuer à traquer les causes de ça
[20:32:40] <spacefox> 78 articles publiés (177 total), 97 tutos publiés (504600 MP avec 33000 messages, 2900 topics de forums avec 53000 posts
[20:32:44] <spacefox> merde
[20:32:55] <spacefox> 78 articles publiés (177 total), 97 tutos publiés (503 total) 4600 MP avec 33000 messages, 2900 topics de forums avec 53000 posts
[20:33:14] <spacefox> Et 2650 comptes
[20:33:17] <Eskimon> 400 tutos en préparation :D \o/
[20:33:40] <pierre_24> Si jamais, maintenant que la PR d'atragis a été mergée, je veux bien continuer à jouer à "d'ou vienne les requêtes" 
[20:33:50] <spacefox> c'est pas gigantesque hein, mais c'est assez pour qu'une erreur de conception qui te fait cracher une requête dans une boucle, ça se ressente
[20:34:04] <spacefox> (notre base tient encore en RAM sans problème)
[20:34:23] <Eskimon> pierre_24, je pense que pour ca faudrait d'abord évaluer le résultat de la PR d'artragis, et pour ca il faudra attendre d'avoir des données ;)
[20:35:06] <spacefox> Concernant le front, il a un impact indirect sur les perfs de part sa conception, ça tient en 2 points
[20:35:34] <spacefox> 1. Les templates sont plein de conditions (on devrait en avoir le moins possible), je ne sais pas quel impact ça a sur les performances, mais je soupçonne que ça n'aide pas
[20:36:07] <spacefox> 2. Comme les templates sont plein de conditions et découpés de manière assez étrange, on ne peut pas se servir du découpage pour mettre en place du cache facilement et ça c'est dommage.
[20:36:17] <spacefox> DAns les projets sur lesquels je bosse, on voit les templates un peu comme des fonctions
[20:36:35] <spacefox> tu connais les paramètres en entrée, et les mêmes paramètres = toujours la même sortie
[20:36:54] <spacefox> donc si tu te démerdes pour respecter ces règles avec des templates avec peu de paramètres, tu peux souvent y coller du cache efficace
[20:37:16] <pierre_24> En tout cas, dans la théorie, ça a de la gueule
[20:37:25] <spacefox> sachant que les forums sont par nature très difficile à cacher, puisque très volatiles
[20:37:35] <Eskimon> Donc il faudrait presque créer un ticket voire une ZEP sur "réfléchir à optimiser les templates" ?
[20:37:50] <spacefox> mais par exemple pour le contenu quasi-statique (la home, les articles et tutos) on peut faire quelque chose d'efficace je pense
[20:37:54] <spacefox> Eskimon, pourquoi pas
[20:38:18] <pierre_24> Je dirais ZEP
[20:38:34] <pierre_24> Parce que ça va probablement discuter un max
[20:38:44] <Eskimon> Ca marche je note ca
[20:38:45] <spacefox> Et c'est pour ça que je me suis fait couillonner sur l'histoire du cache : j'ai supposé que le découpage était fait comme j'avait l'habitude, etcomme on a des paramètres non explicites, je ne les ai pas vus :(
[20:39:23] <spacefox> Plus généralement on peut grandement améliorer la qualité du code à venir et limiter les erreurs avec 2 règles simples :
[20:39:31] <spacefox> 1. On essaie de réfléchir aux perfs avant d'avoir réalisé le truc
[20:39:47] <Sandhose> spacefox: En fait, pour beaucoup de trucs qui paraissent statiques, on a des trucs qui dépendent de l'utilisateur en cours
[20:40:02] <spacefox> 2. Si une méthode n'a le droit de s'appeler get_bidule QUE si elle ne fait AUCUN calcul non trivial
[20:40:06] <pierre_24> (aujourd'hui, le chiffre de Spacefox, c'est "2").
[20:40:17] <pierre_24> Et gros +1 pour le point 2
[20:40:43] <pierre_24> Mais je suis ceci dit d'accord avec Sandhose
[20:41:21] <spacefox> Je dis pas que c'est simple hein
[20:41:26] <Eskimon> Cela dit, comment en tant que QA-iste je peux estimer la perte/gain de perf *simplement* quand je fais ma QA ?
[20:41:42] <artragis> django toolbar
[20:41:52] <spacefox> Le point 1 veut aussi se poser la question de "est-ce qu'on veut VRAIMENT que ce truc soit dynamique"
[20:42:05] <artragis> et faudrait que spacefox nous dise comment il sait le nombre de "primitives" appelées pour générer une page
[20:42:21] <spacefox> en mode debug SANS la django toolbar ou connecté avec un admin
[20:42:26] <spacefox> tu rajoutes ?prof à l'URL
[20:42:33] <spacefox> cela dit je crois que l'outil qu'on utilise n'est plus maintenu
[20:42:48] <spacefox> c'est l'un des middleware, si tu cherches "prof" dans les fichiers .py tu le retrouves
[20:43:08] <spacefox> attention parce que la django toolbar rajoute un max de primitives
[20:43:31] <pierre_24> C'est bon à savoir, ça
[20:43:34] <spacefox> le plus propre pour se test c'est de démarrer en debug = off, mais du coup il faut être connecté ou faire sauter la vérification du mode admin
[20:44:40] <Eskimon> mouai donc finalement le plus "simple" reste encore la review de code et les tests au cas par cas si on sent le truc poisseux quoi
[20:45:10] <spacefox> ça vaut le coup que sur les grosses ZEP ou sur les PR destinées à améliorer les perdfs
[20:45:23] <spacefox> et dans tous les cas ça ne remplace jamais un test de charge mais ça c'est tellement long à faire...
[20:46:08] <Eskimon> Yep je comprend.
[20:46:13] <Eskimon> Bon alors si je résume :
[20:46:26] <Eskimon> 1. Le cache on oubli pour l'instant, nos templates sont pas prêts
[20:46:45] <Eskimon> 2. Un travail de précalcul à été fait, est en train de se débugguer et améliore apparemment pas mal les perfs
[20:47:07] <Eskimon> 3.une discussion va être lancé pour voir comment améliorer nos templates
[20:47:22] <Eskimon> 3b. Django1.8 et Jinja2 feront suremnt parti des réponses
[20:47:42] <Eskimon> 4. Les perfs sont à surveiller lors des grosses PR/refacto
[20:47:52] <Eskimon> autres chose ?
[20:48:20] <spacefox> 5. Il faut penser aux perfs pendant la conception
[20:48:32] <spacefox> (pour les prochaines évols)
[20:48:42] <pierre_24> Oui. Frim1 faisait quand même une remarque intéréssante: notre prochaine MEP va être énorme. Est ce que c'est un problème ?
[20:48:53] <pierre_24> *Firm1
[20:49:15] <Eskimon> pierre_24, oui et non. On a déjà eu une "pré-release" finalement sur la suivante
[20:49:24] <spacefox> Voilà,
[20:49:32] <Andr0> Nous sommes d'accord que nous avons abordé que le point 1 de la release abandonnée (perf) mais qu'il reste le testing de l'API et les issues bloquantes ?
[20:49:36] <spacefox> par contre ça deviendra merdique si on continue à empiler sans corriger les problèmes
[20:49:40] <Eskimon> Du genre plein de petits détails sur la ZEP-4 (j'y reveins) ont été touché à ce moment
[20:50:59] <Eskimon> Par contre clairement moi il y a une chose qui me turlupine, c'est les tickets bloquants qui "pourrissent" sans idée de solution
[20:51:26] <Situphen> +1
[20:51:31] <pierre_24> Y'a beaucoup de "infra" 
[20:51:44] <Andr0> Non, il y en a que 2
[20:51:53] <Andr0> https://github.com/zestedesavoir/zds-site/labels/Bloquant
[20:52:15] <pierre_24> Et 'd'api", j'ai été trop vite :p
[20:52:16] <Andr0> La liste est longue et ça devrait être des issues prioritaires sur tout le reste
[20:52:21] <pierre_24> +1.
[20:52:36] <Eskimon> vi
[20:52:42] <Andr0> Aujourd'hui, tout le monde contribue comme d'habitude mais ça ne devrait plus être le cas.
[20:53:03] <Andr0> Nous devrions d'abord débloquer la situation sinon la prochaine release sera abandonnée tout pareil
[20:53:36] <spacefox> Il n'y aura pas de prochaine release tant qu'il reste des bloquants
[20:53:54] <Eskimon> Alors on a cependant un souci : on a plus de sentry qui nous remontait les erreurs 500 et leur stacktrace
[20:54:00] <Situphen> il y a deux tickets qui sont des erreurs présentes que sur la béta
[20:54:18] <Situphen> et je vois pas comment on peut les résoudre sans Sentry
[20:54:20] <Andr0> Bien sûr mais il continue à y avoir du merge sur d'autres choses donc nous risquons d'avoir une très grosse release si nous nous occupons pas rapidement du bloquant
[20:54:26] <spacefox> Sentry ne s'installe plus
[20:54:30] <Eskimon> Perso s'il y a un moyen de voir les stacktraces via des logs et qu'on me donne un accès SSH préprod je peux remonter les logs
[20:54:49] <spacefox> ET j'ai vraiment, mais vraiment pas le temps d'y passer des heures (en plus de la soirée que j'ai déjà passé dessus)
[20:55:08] <spacefox> Bien sûr qu'on a les stacktrace dans les logs
[20:55:09] <pierre_24> Pour Sentry, vous avez (allez) engager un sysadmin
[20:55:20] <spacefox> on a pas le serveur
[20:55:22] <spacefox> il était chez moi
[20:55:42] <Hugo> Si je remonte un serveur sentry, on peut le brancher sur la prod ?
[20:55:47] <spacefox> ou alors il fournira le serveur, ou alors il faut qu'on résolve la question de l'hébergement... bref
[20:56:09] <spacefox> Hugo, je pense, à valider avec l'asso (vu que du coup tu as accès à plein de données sensibles)
[20:56:38] <pierre_24> J'avoue que ça serait déjà un gros plus (c'est un outil assez indispensableà
[20:56:39] <Hugo> Ça va être compliqué alors …
[20:56:52] <Andr0> Ne devrions nous pas bousculer l'assoc pour statuer sur l'hébergement ?
[20:57:05] <Hugo> On peut séparer pré prod et prod alors ?
[20:57:36] <Sandhose> Je vais aussi essayer d'installer sentry sur mon dédié ce soir
[20:57:38] <spacefox> Andr0, y'a rien de bousculable
[20:57:42] <Eskimon> Andr0, je pense que l'on devrait secouer le CA oui...
[20:58:06] <Eskimon> bah j'ai une question sur le nouveau sysadmin dans la zone CA que personne n'a pris la peine de commenter...
[20:58:12] <Andr0> spacefox: Si. Nous sommes l'équipe technique, nous pouvons nous occuper de la migration mais nous ne pouvons pas acheter le serveur pour l'assoc.
[20:58:25] <Situphen> j'ai fait une relance sur le topic du soutien par gandi mais aucunes réponses
[20:58:39] <spacefox> On ne peut rien bousculer parce qu'il faudrait pouvoir faire un choix, mais on a rien qui se détache du lot. Cf la liste que j'avais faite
[20:58:50] <Andr0> Aujourd'hui, l'assoc n'est pas active alors qu'elle devrait l'être un minimum.
[20:59:36] <Eskimon> Je suis assez d'accord avec Andr0 
[20:59:43] <Eskimon> (toujours par rapport à mon récent sujet...)
[20:59:58] <Andr0> spacefox: A partir d'un moment, il faut choisir selon nos moyens. Fournissons une liste, les avantages/inconvénients et demandons à l'association de choisir et de faire les démarches nécessaires.
[21:00:14] <spacefox> > Fournissons une liste,
[21:00:15] <spacefox> c'est fait
[21:00:22] <spacefox> > les avantages/inconvénients
[21:00:28] <spacefox> Le problème est exactement là
[21:00:44] <spacefox> On ne sait pas quantifier ça, et dans notre gamme d'hébermgenet, la plupart des informations sont indisponibles
[21:01:00] <spacefox> à commencer par les modèles de processeurs utilisés ou les technologies de stockage
[21:01:10] <Situphen> est-ce qu'en parallèle de ça on pourrait relancer Gandi ?
[21:01:17] <spacefox> ça oui
[21:01:33] <Andr0> Qui sont les personnes qui doivent se renseigner sur ces informations ? Pour moi, ce n'est pas nous.
[21:01:44] <Andr0> (quand je dis nous, je parle de l'équipe technique)
[21:02:49] <spacefox> ça et le fait qu'on voulait attendre de passer à Python 3 pour faire la migration, pour éviter de se taper 2 installations de suite
[21:02:53] <Eskimon> Andr0, a mon avis si, de concerts avec l'assoc. L'equipe technique possede l'expertise (que n'a pas forcément le CA)
[21:04:18] <Andr0> spacefox: python 3 peut attendre. on est plus à ça près et la PR n'est sans doute plus du tout mergeable.
[21:04:29] <spacefox> à ce sujet AmarOk il faudrait que tu renvoies ce que tu m'avais envoyé en MP à l'asso
[21:04:43] <Andr0> Eskimon: je m'exprime sans doute mal. Je veux simplement que l'assoc prenne un peu son rôle d'assoc et encadre la chose.
[21:05:06] <Eskimon> Andr0, et je suis à 100% d'accord avec toi à ce sujet
[21:05:26] <Eskimon> "Ca manque d'engagement" si je puis dire
[21:05:55] <Andr0> Tu peux le dire, pour l'instant il n'y a rien de fait. Et je dis ça mais je suis aussi coupable puisque je fais partie de l'assoc
[21:05:56] <Eskimon> Mais bon, on s'égare probablement du coté technique de notre ZM, je propose de revenir à nos moutons
[21:06:06] <pierre_24> L'API
[21:06:15] <AmarOk> spacefox: celui avec tetraneutral ?
[21:06:16] <Eskimon> (et de relancer ces sujets sur le fofo)
[21:06:20] <spacefox> AmarOk, oui
[21:06:21] <Eskimon> AmarOk, oui
[21:06:24] <Andr0> Je propose de quand même noté qu'il faudrait prendre contact avec eux
[21:06:24] <Eskimon> lol
[21:06:35] <AmarOk> ok je note. Je fais ça demain.
[21:07:06] <Eskimon> Andr0, avant l'API je voudrais juste évoquer rapidos la ZEP-4
[21:07:09] <Eskimon> Juste pour dire que
[21:07:51] <Eskimon> BRAVO les gars, c'est du beau boulot et je suis ravi de la fraicheur que ca apporte en home page. Certes il y aura des retours, des ajustements à faire, mais c'est un beau pas en avant !
[21:08:20] <pierre_24> +1 pour Eskimon :p
[21:08:28] <Hugo> +1
[21:08:31] <spacefox> +1
[21:08:31] <Situphen> +1
[21:08:41] <Eskimon> Voila, ca c'est dit ! :D
[21:08:55] <Andr0> ça va faire du bien de changer un peu. :)
[21:08:58] <Sandhose> C'est gentil c:
[21:09:00] <Eskimon> ohhhh que oui !
[21:09:16] <Eskimon> perso quand je lance mes QA j'aime bien voir cette nouvelle page :D
[21:10:21] <Situphen> ça permet de savoir de quand date le dernier rebasage :D
[21:10:35] <Eskimon> Allez Andr0, tu voulais nous parler de l'API
[21:10:40] <Eskimon> Tu peux résumer ou je le fais ?
[21:11:01] <Andr0> euh non, justement. Je voulais pas en parler. Il n'y a rien à dire dessus.
[21:11:08] <Andr0> Mise à part qu'elle n'est pas testable.
[21:11:18] <Eskimon> Alors plus largement, le souci User-Profile
[21:11:28] <Andr0> Même pas User-Profile
[21:11:29] <Eskimon> Ah tiens oui a ce propos, aparté
[21:11:33] <Andr0> C'est pas testable en bêta
[21:11:43] <Andr0> A cause du htaccess
[21:11:56] <Eskimon> C'est une limitation technique auquel on a du mal à répondre c'est ca ?
[21:12:18] <Andr0> je suppose
[21:12:35] <pierre_24> Il sert à quoi, le .htaccess, en vrai ?
[21:12:39] <Andr0> il y a des idées (cf issue) mais aucune application et aucune certitude que ça fonctionnera
[21:12:48] <pierre_24> (à part à pas se faire spammer ?)
[21:12:57] <spacefox> le htaccess c'est la seule solution fiable pour empêcher les moteurs de recherche de nous indexer
[21:12:58] <Andr0> pierre_24: empêcher aux moteurs d'indexer la bêta
[21:13:01] <Situphen> On pourrait genre laisser Authorization pour le htaccess et mettre API-Authorization pour l'API, non ?
[21:13:33] <Andr0> Situphen: C'est c'est pas le cas en prod, pourquoi pas. Sinon non.
[21:14:27] <Eskimon> Alors info pour ceux qui savent pas : Un aura bientôt un nouveau sysadmin pour épauler spacefox pour tout les soucis spécifiques de config
[21:14:42] <Andr0> il a accepté ?
[21:14:51] <pierre_24> Et y'a pas moyen de pas mettre le .htaccess pour /api/ ? (j'attend toujours de voir google indexer une API)
[21:15:59] <Eskimon> Andr0, ?? Pour l'instant j'attend que l'assoc' /CA disent que "tout est bon"
[21:16:22] <Andr0> pierre_24: la pre-prod a une base iso prod et potentiellement, il pourrait y avoir de grosses fails. Imagine que nous renvoyons les e-mail de tout le monde sans aucun contrôle à cause d'une mauvaise manipulation ?
[21:16:51] <Andr0> Eskimon: tu as contacté qui et il y a longtemps ?
[21:16:58] <pierre_24> Andr0: bien vu
[21:17:12] <Situphen> Andr0 → la base de donnée est anonymisée, hein !
[21:17:22] <Eskimon> Andr0, j'ai un sujet dans la zone CA et j'ai notre ami Cornichon comme candidat
[21:17:42] <Eskimon> Situphen, en beta oui mais pas en prod, si un bug se glisse tu l'as dans l'os
[21:17:52] <Andr0> Situphen: je dis les e-mail mais ça peut-être n'importe quoi. Si par exemple, nous pouvons voir tous les MPs de tout le monde ? Même si c'est anonyme, ça va pas.
[21:18:23] <Situphen> Eskimon → là on parle justement de pouvoir tester l'API en béta
[21:18:26] <Situphen> Andr0 → tu as gagné
[21:19:01] <Situphen> mais en même temps, les identifiants de la béta sont accessibles à tous donc si quelqu'un veut le faire, il peut
[21:19:11] <Andr0> Eskimon: J'insiste sur le fait de faire prendre conscience à l'assoc de prendre leurs responsabilités.
[21:19:46] <Andr0> Situphen: Bien sûr mais ça limite quand même beaucoup. La plupart des membres ne savent même pas qu'il y a un serveur de bêta.
[21:20:16] <Situphen> > La plupart des membres ne savent même pas qu'il y a un serveur de bêta.
[21:20:20] <pierre_24> Donc la réponse, c'est "j'espère que notre (futur?) sysadmin a une idée", en gros ?
[21:20:57] <Situphen> *rien dit*
[21:21:07] <Andr0> pierre_24: personne ici n'a la réponse sinon elle aurait été donnée et appliquée depuis longtemps
[21:21:48] <pierre_24> Mouais. Ce qui signifie que les bugs "bloquant" le seront tant qu'on aura pas accès au log et débloqué ce machin là ? :o
[21:21:59] <Andr0> :)
[21:22:08] <pierre_24> Je sens qu'on va pas faire de MEP avant un certain temps :'(
[21:23:02] <Eskimon> pierre_24, il y a deux choses. Des erreurs 500 mystiques qu'on peut pas débugguer sans log et des soucis avec ce .htaccess.
[21:23:10] <Andr0> pour moi, le projet est dans une situation délicate.
[21:23:38] <Eskimon> Dans l'extreme besoin l'API peut etre désactivée en commentant une ligne
[21:23:51] <Eskimon> de manière sélective
[21:23:57] <Andr0> Nous seul ne pouvons pas tout corriger parce que nous avons pas toutes les cartes en main (et pourtant, nous en avons beaucoup)
[21:24:18] <Andr0> Eskimon: c'est ce qui était initialement prévu par spacefox
[21:24:19] <pierre_24> Je suis au regret d'être d'accord avec Andr0
[21:24:24] <Eskimon> yep
[21:24:46] Joindre devendart (androirc@Smooth-jbkl5s.rev.sfr.net) a rejoint ce canal.
[21:24:54] <Eskimon> donc voila. On a deux choses :
[21:24:55] <Andr0> mais nous ne pouvons appliquer que des solutions temporaires.
[21:25:10] <Andr0> pour moi, nous avons besoin de l'intervention de l'assoc sur plein de choses !
[21:25:31] <Eskimon> Les erreurs 500 = si on veut bien me filer un acces ssh je peux aller chercher les logs au cas par cas
[21:25:38] <Andr0> (ça fait déjà 1h25 que nous discutons :))
[21:25:43] <Situphen> spacefox → Tu pourrais donner le contenu du fichier avec les règles d'authentification de la béta, s'il te plait ?
[21:25:52] <spacefox> Eskimon, ça doit pouvoir se trouver
[21:25:52] <Eskimon> pour le .htaccess; il afut étudier le truc et en mesure d'urgence désactiver l'API
[21:25:52] <Situphen> (sur le ticket https://github.com/zestedesavoir/zds-site/issues/2708)
[21:26:53] <spacefox> Situphen, https://github.com/zestedesavoir/zds-site/pull/2757
[21:27:14] <spacefox> Ah non pardon
[21:27:52] <spacefox> auth_basic "STOP! Who would cross the Bridge of Death must answer me these questions three ere the other side he see. What...is your name?";
[21:27:52] <spacefox> auth_basic_user_file /etc/nginx/htpasswd;
[21:27:54] <spacefox> Voilà
[21:28:03] <spacefox> à la racine du server
[21:29:01] <Eskimon> donc voila
[21:29:55] <Eskimon> (désolé coup de fil, je passe la main)
[21:30:58] <Andr0> On a perdu notre organisateur :o
[21:31:05] <pierre_24> La désynchro User-Profile ?
[21:31:10] <Eskimon> (Embrayons sur la distinction User Profile oui)
[21:31:28] <Eskimon> pierre_24, je te passe la main, brille !!
[21:31:33] <Andr0> Quelqu'un à quelque chose à dire de plus sur la question ?
[21:31:47] <Eskimon> j'aimerais un retour sur le POC de spacefox !
[21:31:52] <pierre_24> J'allais le dire :)
[21:33:07] <spacefox> de ma part ?
[21:33:25] <Andr0> toi qui a développé le poc :)
[21:33:29] <Eskimon> vi tu as comencé sur une branche dans ton dépot 'jai vu
[21:33:41] <spacefox> Oui
[21:33:52] <spacefox> ça va être très long et très chiant, mais pas super compliqué
[21:34:02] <Eskimon> joli résumé
[21:34:04] <Eskimon> :D
[21:34:04] <spacefox> Enfin, du peu que j'en ai fait sur le POC
[21:34:06] <pierre_24> Et en résumé, ça par sur quoi ?
[21:34:19] <pierre_24> *part
[21:34:24] <spacefox> Remplacer toutes les utilisations de User par Profile
[21:34:30] <spacefox> et migrer les données pour que ça aille bien
[21:34:44] <pierre_24> Ouch. Chiant, indeed
[21:35:33] <spacefox> https://github.com/SpaceFox/zds-site/tree/fix_2711_user_profile
[21:35:48] <spacefox> cf les fichiers de migration
[21:36:01] <spacefox> ils ne sont pas très compliqués mais lents
[21:36:06] <spacefox> le vrai problème c'est la MAJ du code
[21:36:11] <spacefox> parce que y'en a absolument partout
[21:36:24] <spacefox> (exemple pour un fichier de migration : https://github.com/SpaceFox/zds-site/blob/fix_2711_user_profile/zds/utils/migrations/0003_user_to_profile.py)
[21:37:01] <Andr0> (Notons que ce problème est chiant et qu'il a besoin d'être corrigé mais non bloquant.)
[21:37:21] <spacefox> voilà
[21:37:31] <spacefox> pour moi il devrait attendre le merge de la ZEP-12
[21:38:11] <pierre_24> Pas faux
[21:38:26] <pierre_24> Sinon, on va vraiment tout casser ^^
[21:38:56] <Andr0> Je serais d'avis de faire une PR pour commenter l'API des MPs et nous ferons une nouvelle PR pour la décommenter et la tester à ce moment là.
[21:39:28] <pierre_24> Pour. Ça fait mal, mais tant pis.
[21:39:29] <Andr0> Comme ça, nous repoussons le problème User - Profile pour d'autres choses plus urgentes
[21:39:33] <Eskimon> Andr0, j'approuve cette idée, par la voie de la raison, le coeur déçu de reporter ton beau travail
[21:40:31] <Andr0> C'est pas bien grave, c'est la chose à faire aujourd'hui à mon sens.
[21:41:04] <Eskimon> (faudrait qu'on accelere un peu il se fait tard !! Je suis un mauvais gestionnaire de temps on dirait :D )
[21:41:19] <pierre_24> On a beaucoup à dire :p
[21:41:22] <Eskimon> Donc pour résumé les derniers points :
[21:41:36] <Eskimon> 1. Je vais essayer de donner un coup de pied au cul du CA :D
[21:41:42] <Eskimon> 2. L'API sera mis en standby
[21:42:23] <Eskimon> 3. Il serait cool de se concentrer sur les sujets bloquants ( spacefox go MP pour voir pour un acces SSH que je puisse remonter les logs au coup par coup)
[21:42:52] <Eskimon> 4. On a beaucoup de PR mergée mais c'est pas dramatique car pas mal on déjà passer une pré-release
[21:43:16] <pierre_24> Bon, le point solr, du coup ? ( Hugo ?)
[21:43:26] <Eskimon> en parlant des PR : On en a une vingtaine en cours, mais un tiers sont sur solr/recherche. Donc finalement "ca va"
[21:43:34] <Eskimon> superbe transition !
[21:43:36] <Eskimon> :D
[21:44:23] <Andr0> Sur Solr, j'aurais juste à dire que les PRs devraient être mergées avant la prochaine release pour avoir un Solr un minimum utilisable en prod vu sa mise en évidence sur la nouvelle home
[21:44:47] <Andr0> Et aussi merci à Hugo de s'être plongé dedans. :)
[21:45:01] <Hugo> Ça va être un peu compliqué.
[21:45:08] <spacefox> +1, j'ai jamais eu le courage de m'attaquer à Haystack
[21:45:40] <Andr0> Hugo ?
[21:45:44] <Hugo> Faut QA principalement https://github.com/zestedesavoir/zds-site/pull/2771.
[21:45:54] <Hugo> Qui améliore bien les prefs.
[21:46:11] <Hugo> Même si la QA est ultra chiante à faire
[21:46:40] <Eskimon> Par rapport au *rendu* de la recherche je vous invite à QA https://github.com/zestedesavoir/zds-site/pull/2786
[21:46:44] <Andr0> le problème c'est que tout le monde n'a pas un solr installé. En tout cas, sur Mac, j'y suis jamais arrivé.
[21:46:52] <pierre_24> Je prend les QA
[21:47:04] <pierre_24> si c'est pas fait demain midi, pinger moi sur l'une d'entre elles
[21:47:18] <Situphen> sur ubuntu l'installation se fait très rapidement
[21:47:39] <Eskimon> pierre_24, Situphen Hugo surtout en cas de doute même léger, hésitez pas à faire remonter ! Ca évitera de merger trop vite et se retrouver à gérer des cas bizarres qu'on aurait pu éviter ;)
[21:47:39] <Hugo> un wget et une commande pour le lancer.
[21:48:15] <Andr0> Ne parlons pas de son installation/configuration ici
[21:48:24] <Hugo> Y'a un autre point: il existe aucun test unitaire sur la base de données, ce qui est trés trés dangereux
[21:48:39] <spacefox> ?
[21:48:39] <pierre_24> ... Hu ?
[21:48:46] <spacefox> Là je vois même pas de quoi tu parles
[21:49:02] <Hugo> recherche*
[21:49:12] <Hugo> pardon, je pensais à autre chose
[21:49:36] <Hugo> On n'a aucun test sur la recherche sur le site, indexation des données, etc.
[21:49:38] <pierre_24> Dans ce cas, il FAUT des T.U. :p
[21:49:40] <spacefox> En même temps, installer solr sur travis, on va s'amuser
[21:50:07] <Andr0> Shot gun pas moi ? :-°
[21:50:23] <spacefox> c'est une bonne idée hein, mais je sens le truc foireux là
[21:51:01] <Hugo> J'ai déja des tests unitaire en local mais faut faire passer travis.
[21:51:12] <Hugo> ce qui est chiant.
[21:51:29] <pierre_24> ... Parce que ? (vraie question ?)
[21:51:30] <Situphen> peut-être ça sinon ? https://github.com/moliware/travis-solr
[21:51:44] <Hugo> bon ba voila
[21:52:23] <Hugo> je teste ça plus tard. 
[21:53:16] <Eskimon> cool du coup la recherche avance, les PR vont se dépiler, bref, les choses avancent :)
[21:54:08] <Hugo> Mais d'aprés les premiers tests pour la recherche sur la ZEP-12. C'est chaud avec haystack.
[21:54:22] <pierre_24> Aïe
[21:54:47] <Eskimon> aparté Hugo surtout hésite pas à faire des petits bouts de doc (du genre récemment "boost", à quoi ca sert et comment ca se parametre ?)
[21:55:34] <Hugo> C'est aussi ça ou je voulais en venir, y'a aucunde docs sur le moteur de recherche donc faut que je fasse ça aussi
[21:55:46] <Eskimon> Yep, hésite pas à faire un fichier dédié
[21:56:01] <Hugo> Pour la zep-12. dans la faq de Solr, ils sont clair: If you just want to index random data (flat files, alternate sources, etc.), Haystack isn’t a good solution. 
[21:56:21] <pierre_24> So we're in the sh***
[21:56:40] <Hugo> y'a moyen de s'en sortir mais faut qu'on en discute sérieusement
[21:56:57] <pierre_24> Ici, ou juste avec artragis et moi-même ?
[21:57:01] <Eskimon> Hugo en lisant dans la doc de Haystack aujourd'hui il me semble avoir lu des trucs à ce sujet. Faudrait retourner dedans par contre
[21:57:09] <Eskimon> pierre_24, a part
[21:57:28] <Hugo> Y'a des solutions mais elle sont pas super performante en tout cas moins performante que l'existant.
[21:57:37] <Hugo> Pour les avoir testé.
[21:58:01] <Hugo> Aprés c'est peut-être un pb d'implémentation mais je suis pas sur que sa soit le meilleur moment
[21:58:52] <pierre_24> Vu. Bah quand t'as le temps, hésite pas à écrire un piti MP ou à aller en discuter sur l'issue correspondante chez artragis
[21:59:27] <Eskimon> Bien bien :)
[21:59:35] <Eskimon> (ding dong, 2H !!)
[21:59:47] <pierre_24> Bwah on arrive au bout, nan ?
[21:59:51] <Eskimon> Artragis me souffle dans l'oreillette qu'il a des bonnes nouvelles pour la ZEP-12 !
[22:00:01] <Hugo> Sinon ce que je propose (sans parler de la zep-12), c'est qu'on créé une branche avec toute les pr solr sur le dépot, comme ça, on peut merger au fur et à mesure et pas merger avec les tests.
[22:00:15] <pierre_24> artragis a découvert un bug en annoncant les bonnes nouvelles :p
[22:00:24] <Hugo> ah c'est con.
[22:00:54] <pierre_24> Hugo: sinon, tu peux créer une branche chez toi et y activer Travis
[22:01:05] <pierre_24> (c'est trois clics ou presque)
[22:01:15] <artragis> bon en gros on dépote grave côté perf
[22:01:22] <Hugo> Je le sens pas de faire une MEP sans avoir testé unitairement
[22:02:22] <artragis> on fait plus de 2 fois moins de calculs sur un article "iso prod". Le problème c'est qu'on a découvert un léger bug qui a une grosse conséquence : impossible de poster un commentaire.
[22:02:27] <artragis> je pense avoir trouvé le problème
[22:02:35] <artragis> mais globalement, là on est vraiment vraiment dans le bon.
[22:03:10] <artragis> et on n'a pas vraiment fait de passe "d'optimisation"
[22:03:20] <artragis> on a juste cassé les répétitions de code
[22:03:25] <artragis> et simplifié l'existant
[22:03:34] <artragis> bref c'est une très bonne nouvelle malgré le bug.
[22:03:52] <artragis> Plus globalement, la zep avance super bien
[22:04:09] <artragis> et mis à part le point noir qu'est haystack/solar, on est très proche de la fin
[22:04:20] <Andr0> cette zep sera-t-elle inclue dans la prochaine release vous pensez ?
[22:04:28] <artragis> il nous manque quelques TU (pas grnad chose, mais on en est conscient donc on va corriger)
[22:04:36] <artragis> Anr0 : objectif officiel : juillet 2015
[22:04:54] <Andr0> ok bien
[22:05:04] Joindre regz (177432bd2b1@Smooth-qobqsd.net) a rejoint ce canal.
[22:05:04] Mode Kiwi donne les privilèges de demi-opérateur à regz.
[22:05:18] <artragis> La documentation est à 90% d'avancement (manque l'ajout des screenshot)
[22:05:26] <artragis> et côté fonctionnalité, on est bon.
[22:05:38] <artragis> faudra peut être que des gens viennent relir notre code
[22:05:49] <artragis> mais je pense qu'on a pas fait de la merde là
[22:06:02] <artragis> et les récentes données de spacefox le montrent
[22:06:43] Quitter regz (177432bd2b1@Smooth-qobqsd.net) a quitté ce serveur (Quit: Page closed).
[22:07:06] <artragis> Pour le reste (histoire d'abréger vos souffrances), on anime notre topic pour faire des retours et donner l'avancement
[22:07:16] <artragis> et puis il reste aussi ma page github avec les issues
[22:07:45] <Eskimon> (et merci pour les retours d'ailleurs, vous faites une gestion de projet nickel !!)
[22:08:36] <Andr0> oui, j'admire la gestion de la chose
[22:08:47] <Eskimon> ^^
[22:09:12] <artragis> faut dire qu'on a quand même 6 mois de dev dans les pattes pour cette ZEP donc on est rôdés maintenant
[22:09:18] <Eskimon> Bon, j'aurais bien envie de finir sur toutes ces bonnes nouvelles moi :) (à moins que d'autres choses soient à dire ?)
[22:09:36] <spacefox> Rien de plus pour moi
[22:09:42] <Andr0> Idem
[22:09:48] <artragis> medi
[22:10:09] <Eskimon> Fiou !! :D
[22:10:12] <pierre_24> idem !
[22:10:19] <Eskimon> 2h encore tout de meme :)
[22:10:41] <Andr0> voyons le bon côté, c'était 3h la dernière fois :-°
[22:11:03] <Eskimon> Pour vos absences/dispo (les vacances arrivent !) n'hésitez pas à venir en papoter sur le bar-back !

+4 -0

Je propose de mettre à l'ordre du jour la mise à jour des +/- 1. Le but n'étant PAS de discuter comment améliorer le système mais de savoir comment et qui peut s'occuper d'implémenter de la désanoymisation qui a été voté il y a plusieurs mois (presque un an) et qui revient régulièrement sur le tapis.

+3 -0

@Eskimon Ca serait pas mieux d'attendre la fin des vacances ?

Je propose de mettre à l'ordre du jour la mise à jour des +/- 1. Le but n'étant PAS de discuter comment améliorer le système mais de savoir comment et qui peut s'occuper d'implémenter de la désanoymisation qui a été voté il y a plusieurs mois (presque un an) et qui revient régulièrement sur le tapis.

Kje

C'est pas vraiment à la technique d'en discuter mais à la communauté puis d'en créer une issue.

@Eskimon Ca serait pas mieux d'attendre la fin des vacances ?

J'y ai pensé, mais à part pour les étudiants c'est assez flou comme concept… ^^ (et j'avais espoir que ca relance ptet un peu le dev' ou des nouvelles recrues car là j'ai l'impression qu'on est un peu au point mort, j'ai peur qu'on ai du mal à relancer la machine arrivé en septembre)

+0 -0

J'y ai pensé, mais à part pour les étudiants c'est assez flou comme concept… ^^

On va dire que le mois d'aout est quand même le mois dans l'année où les gens partent le plus en vacances. Rien que chez moi, quand je regarde le calendrier collectif, il y a juste plus personne au mois d'Août. :)

Ça a déjà été discuté et voté, on va pas revenir dessus. C'est à nous, développeurs de ce bouger les fesses pour l'implanter.

Si tu me montres la spec et l'issue, je veux bien te croire. Dans le cas contraire, ce n'est pas recevable pour moi.

Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte