-
Notifications
You must be signed in to change notification settings - Fork 583
/
programme.html
1083 lines (899 loc) · 138 KB
/
programme.html
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
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
<!DOCTYPE html>
<html lang="fr" prefix="og: http://ogp.me/ns#">
<head>
<title>PyCon-fr 2016 - Programme</title>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="../theme/css/style.min.css?4dc60219">
<link href="https://www.pycon.fr/2016/feeds/all.atom.xml" type="application/atom+xml" rel="alternate" title="PyCon-fr 2016 Full Atom Feed" />
</head>
<body id="programme">
<header>
<h1><a href="../">PyCon-fr 2016</a></h1>
</header>
<nav id="menu">
<ul>
<li>
<a href="/index.html">À propos</a>
</li>
<li>
<a href="/archives.html">Nouvelles</a>
</li>
<li class="active">
<a href="/pages/programme.html">Programme</a>
</li>
<li>
<a href="/pages/soutiens.html">Nos soutiens</a>
</li>
<li>
<a href="/pages/venir.html">Venir</a>
</li>
<li>
<a href="/pages/se-loger.html">Se loger</a>
</li>
<li>
<a href="/pages/se-nourrir.html">Se nourrir</a>
</li>
<li>
<a href="/pages/bourse.html">Demander une bourse</a>
</li>
<li>
<a href="/pages/nous-soutenir.html">Nous soutenir</a>
</li>
<li>
<a href="/pages/nous-contacter.html">Nous contacter</a>
</li>
<li>
<a href="/pages/code-de-conduite.html">Code de conduite</a>
</li>
</ul>
</nav>
<h1>Programme</h1>
<p>Vous trouverez ci-dessous le programme de la Pycon-Fr 2016.</p>
<div id="sprints" class="section sprints">
<h2>Jeudi 13 octobre de 9h à 17h30</h2>
<h3>Sprints</h3>
<ul>
<li><a href="#Common Search: un nouveau moteur de recherche open source et transparent">Common Search: un nouveau moteur de recherche open source et transparent</a> (<a href="intervenants.html#Sylvain Zimmer">Sylvain Zimmer</a>)</li>
<li><a href="#Contribution a CPython">Contribution a CPython</a> (<a href="intervenants.html#Stephane Wirtel">Stephane Wirtel</a>)</li>
<li><a href="#Développement de Nova-Ideo">Développement de Nova-Ideo</a> (<a href="intervenants.html#L'équipe d'Ecréall">L'équipe d'Ecréall</a>)</li>
<li><a href="#Mapping Learning : la cartographie vraiment assistée">Mapping Learning : la cartographie vraiment assistée</a> (<a href="intervenants.html#Alban Thomas">Alban Thomas</a>)</li>
<li><a href="#Mise à jour des benchmarks AsyncIO de TechEmpower">Mise à jour des benchmarks AsyncIO de TechEmpower</a> (<a href="intervenants.html#Ludovic Gasc">Ludovic Gasc</a>)</a></li>
<li><a href="#passer d'une fiche incohérente à une fiche au cordeau">passer d'une fiche incohérente à une fiche "au cordeau"</a> (<a href="intervenants.html#zebadboy99">zebadboy99</a>)</li>
<li><a href="#RD autour de mesures environnementales DIY">R&D autour de mesures environnementales DIY </a> (<a href="intervenants.html#Feth AREZKI">Feth AREZKI</a> et <a href="intervenants.html#Jonathan Schemoul">Jonathan Schemoul</a>)</li>
<li><a href="#Rafraîchissement de memopol.org">Rafraîchissement de memopol.org</a> (<a href="intervenants.html#James Pic">James Pic</a>)</li>
<li><a href="#Sprint laboîte STAR">Sprint laboîte STAR</a></li>
<li><a href="#Sprint Nagare">Sprint Nagare (<a href="intervenants.html#Alain Poirier">Alain Poirier</a>)</a></li>
<li><a href="#SPRINT DJANGO-COMPATIBILITY">SPRINT DJANGO-COMPATIBILITY (<a href="intervenants.html#Pascal Chambon">Pascal Chambon</a>)</a></li>
<li><a href="#SPRINT BSF">Ideascube, un logiciel pour favoriser l'accès à l'information et à l'éducation (<a href="intervenants.html#BSF">Bibliothèques Sans Frontières</a>)</a></li>
<li><a href="#SPRINT PANORAMISK">Mise à jour de Panoramisk, binding Asterisk (AMI+FastAGI) en AsyncIO</a> (<a href="intervenants.html#Ludovic Gasc">Ludovic Gasc</a>)</a></li>
<li><a href="#Développement d’un outil de géolocalisation pour une balade sonore">Développement d’un outil de géolocalisation pour une balade sonore</a> (Philippe Lechat & Laurence Giuliani)</li>
</ul>
<h3>Déjeuner</h3>
<p>Curry de légumes de saison / riz japonais / Gâteau aux poires & raisins</p>
</div>
<div class="section sprints">
<h2>Vendredi 14 octobre de 9h à 17h30</h2>
<h3>Sprints</h3>
<ul>
<li><a href="#Common Search: un nouveau moteur de recherche open source et transparent">Common Search: un nouveau moteur de recherche open source et transparent</a> (<a href="intervenants.html#Sylvain Zimmer">Sylvain Zimmer</a>)</li>
<li><a href="#Contribution a CPython">Contribution a CPython</a> (<a href="intervenants.html#Stephane Wirtel">Stephane Wirtel</a>)</li>
<li><a href="#Développement de Nova-Ideo">Développement de Nova-Ideo</a> (<a href="intervenants.html#L'équipe d'Ecréall">L'équipe d'Ecréall</a>)</li>
<li><a href="#Mapping Learning : la cartographie vraiment assistée">Mapping Learning : la cartographie vraiment assistée</a> (<a href="intervenants.html#Alban Thomas">Alban Thomas</a>)</li>
<li><a href="#Mise à jour des benchmarks AsyncIO de TechEmpower">Mise à jour des benchmarks AsyncIO de TechEmpower</a> (<a href="intervenants.html#Ludovic Gasc">Ludovic Gasc</a>)</a></li>
<li><a href="#passer d'une fiche incohérente à une fiche au cordeau">passer d'une fiche incohérente à une fiche "au cordeau"</a> (<a href="intervenants.html#zebadboy99">zebadboy99</a>)</li>
<li><a href="#RD autour de mesures environnementales DIY">R&D autour de mesures environnementales DIY </a> (<a href="intervenants.html#Feth AREZKI">Feth AREZKI</a> et <a href="intervenants.html#Jonathan Schemoul">Jonathan Schemoul</a>)</li>
<li><a href="#Rafraîchissement de memopol.org">Rafraîchissement de memopol.org</a> (<a href="intervenants.html#James Pic">James Pic</a>)</li>
<li><a href="#Sprint laboîte STAR">Sprint laboîte STAR</a></li>
<li><a href="#Sprint Nagare">Sprint Nagare (<a href="intervenants.html#Alain Poirier">Alain Poirier</a>)</a></li>
<li><a href="#SPRINT DJANGO-COMPATIBILITY">SPRINT DJANGO-COMPATIBILITY (<a href="intervenants.html#Pascal Chambon">Pascal Chambon</a>)</a></li>
<li><a href="#SPRINT BSF">Ideascube, un logiciel pour favoriser l'accès à l'information et à l'éducation (<a href="intervenants.html#BSF">Bibliothèque Sans Frontière</a>)</a></li>
<li><a href="#SPRINT PANORAMISK">Mise à jour de Panoramisk, binding Asterisk (AMI+FastAGI) en AsyncIO</a> (<a href="intervenants.html#Ludovic Gasc">Ludovic Gasc</a>)</a></li>
<li><a href="#Développement d’un outil de géolocalisation pour une balade sonore">Développement d’un outil de géolocalisation pour une balade sonore</a> (Philippe Lechat & Laurence Giuliani)</li>
</ul>
<h3>Déjeuner</h3>
<p>Poulet sauté au gingembre avec des légumes / riz japonais + multi-céréales / Gâteau au Yuzu-citron</p>
<h3 id="Soirée d'ouverture">Soirée d'ouverture</h3>
Le vendredi soir, une soirée d'ouverture conviviale vous est proposée au <a href="http://www.openstreetmap.org/node/4225477489#map=15/48.1081/-1.6479">restaurant La Mie Mobile</a>, avec repas (moules frites), boissons (<a href="http://www.vieuxsinge.com/">Brasserie du Vieux Singe</a>, <a href="http://www.brasseriedelombre.com/">Brasserie de l'Ombre</a>), de la musique live (<a href="https://www.facebook.com/thecubanoz">CubaNoz</a>) et un conteur (Samuel Genin)! Début des festivités à 19h.
<br/>
<br/>
<img src="../images/cubanoz.jpg" style="height: 400px">
</div>
<div id="tocconfs"" class="section confs">
<h2>Samedi 15 octobre</h2>
<table class="programme legende">
<tr><th>Légende</th></tr>
<tr><td class="short">Conférence courte (25mn)</td></tr>
<tr><td class="long">Conférence longue (45mn)</td></tr>
<tr><td class="workshop">Atelier</td></tr>
</table>
<table class="programme">
<tr>
<th></th>
<th>Track #1 :<br>KOUIGN AMANN</th>
<th>Track #2 :<br>KRAMPOUEZH</th>
<th>Track #3 :<br>FAR BRETON</th>
<th>Ateliers #1 :<br>CHOUCHENN</th>
<th>Ateliers #2 :<br>CIDRE BRETON</th>
</tr>
<tr>
<td class="slot">9h-9h30</td>
<td class="break" colspan="5">Accueil / Petit déjeuner</td>
</tr>
<tr>
<td class="slot">9h30-10h</td>
<td class="special" colspan="5">Cérémonie d'ouverture</td>
</tr>
<tr>
<td class="slot">10h-10h25</td>
<td class="short"><div class="title"><a href="programme.html#La programmation asynchrone avec Python.">La programmation asynchrone avec Python.</a></div><div class="person"><a href="intervenants.html#Vincent Maillol">Vincent Maillol</a></div></td>
<td class="short"><div class="title"><a href="programme.html#Machine Learning Python libraries: accuracy and performance">Machine Learning Python libraries: accuracy and performance</a></div><div class="person"><a href="intervenants.html#maha mdini">maha mdini</a></div></td>
<td class="short"><div class="title"><a href="programme.html#GAST, daou naer - AST pour Python 2 et 3">GAST, daou naer - AST pour Python 2 et 3</a></div><div class="person"><a href="intervenants.html#Serge « sans paille » Guelton">Serge « sans paille » Guelton</a></div></td>
<td class="workshop" rowspan="4"><div class="title"><a href="programme.html#Introduction aux algorithmes d'apprentissage machine">Introduction aux algorithmes d'apprentissage machine</a></div><div class="person"><a href="intervenants.html#Romuald Texier-Marcadé">Romuald Texier-Marcadé</a></div></td>
<td class="workshop" rowspan="4"><div class="title"><a href="programme.html#Prototypage rapide d'applications avec Kivy">Prototypage rapide d'applications avec Kivy</a></div><div class="person"><a href="intervenants.html#Gabriel Pettier">Gabriel Pettier</a></div></td>
</tr>
<tr>
<td class="slot">10h30-10h55</td>
<td class="short double-short"><div class="title"><a href="programme.html#Pourquoi, mais pourquoi, async et await ont été inclu dans Python 3.5 ?">Pourquoi, mais pourquoi, async et await ont été inclu dans Python 3.5 ?</a></div><div class="person"><a href="intervenants.html#Ludovic Gasc">Ludovic Gasc</a></div></td>
<td class="short double-short"><div class="title"><a href="programme.html#Mapping Learning : la cartographie vraiment assistée">Mapping Learning : la cartographie vraiment assistée</a></div><div class="person"><a href="intervenants.html#Alban Thomas">Alban Thomas</a></div></td>
<td class="short double-short"><div class="title"><a href="programme.html#Python 3.6: utilisation des f-strings (PEP 498)">Python 3.6: utilisation des f-strings (PEP 498)</a></div><div class="person"><a href="intervenants.html#Ludovic VAUGEOIS">Ludovic VAUGEOIS</a></div></td>
</tr>
<tr>
<td class="slot">11h-11h45</td>
<td class="long"><div class="title"><a href="programme.html#Scalable decentralised communication with Matrix.org and Twisted">Scalable decentralised communication with Matrix.org and Twisted</a></div><div class="person"><a href="intervenants.html#Matthew Hodgson">Matthew Hodgson</a></div></td>
<td class="long"><div class="title"><a href="programme.html#Deep learning : votre propre cerveau artificiel avec Python">Deep learning : votre propre cerveau artificiel avec Python</a></div><div class="person"><a href="intervenants.html#Nicolas Audebert">Nicolas Audebert</a></div></td>
<td class="long"><div class="title"><a href="programme.html#Voyage au centre du monde CPython">Voyage au centre du monde CPython</a></div><div class="person"><a href="intervenants.html#Stephane Wirtel">Stephane Wirtel</a></div></td>
</tr>
<tr>
<td class="slot">11h50-12h15</td>
<td class="short"><div class="title"><a href="programme.html#Qt et Asyncio avec Quamash">Qt et Asyncio avec Quamash</a></div><div class="person"><a href="intervenants.html#inso">inso</a></div></td>
<td class="short"><div class="title"><a href="programme.html#Topic Modelling with Python and Gensim">Topic Modelling with Python and Gensim</a></div><div class="person"><a href="intervenants.html#Bhargav SRINIVASA DESIKAN">Bhargav SRINIVASA DESIKAN</a></div></td>
<td class="short"><div class="title"><a href="programme.html#Import et Compagnie">Import et Compagnie</a></div><div class="person"><a href="intervenants.html#Pierre-Yves David">Pierre-Yves David</a></div></td>
</tr>
<tr>
<td class="slot">12h15-13h45</td>
<td class="break" colspan="5">Pause déjeuner - Food Trucks (Burger / Pizza / Crèpes Bretonnes)</td>
</tr>
<tr>
<td class="slot">13h45-14h30</td>
<td class="long"><div class="title"><a href="programme.html#Communiquer avec ØMQ: patterns d'utilisation, API asynchrone et sécurité">Communiquer avec ØMQ: patterns d'utilisation, API asynchrone et sécurité</a></div><div class="person"><a href="intervenants.html#Thierry Chappuis">Thierry Chappuis</a></div></td>
<td class="long"><div class="title"><a href="programme.html#Gestion Avancée de la Mémoire dans Pandas / Mise à jour intelligentes de graphes d'exécution">Gestion Avancée de la Mémoire dans Pandas / Mise à jour intelligentes de graphes d'exécution</a></div><div class="person"><a href="intervenants.html#Vincent Dejouy">Vincent Dejouy / Pierre Sutter</a></div></td>
<td class="long"><div class="title"><a href="programme.html#PyPy: Python faster than Python">PyPy: Python faster than Python</a></div><div class="person"><a href="intervenants.html#Ronan Lamy">Ronan Lamy</a></div></td>
<td class="workshop" rowspan="3"><div class="title"><a href="programme.html#Key Signing Party">Key Signing Party</a></div><div class="person"><a href="intervenants.html#Pablo SEMINARIO">Pablo SEMINARIO</a></div></td>
<td class="workshop" rowspan="3"><div class="title"><a href="programme.html#Programmer un robot mobile en python">Programmer un robot mobile en python</a></div><div class="person"><a href="intervenants.html#Mace Robotics">Mace Robotics</a></div></td>
</tr>
<tr>
<td class="slot">14h35-15h</td>
<td class="short"><div class="title"><a href="programme.html#asynctest: testez plus facilement votre code asyncio">asynctest: testez plus facilement votre code asyncio</a></div><div class="person"><a href="intervenants.html#Martin Richard">Martin Richard</a></div></td>
<td class="short"><div class="title"><a href="programme.html#Modélisation, inférence et apprentissage de Réseaux Bayésien avec pyAgrum">Modélisation, inférence et apprentissage de Réseaux Bayésien avec pyAgrum</a></div><div class="person"><a href="intervenants.html#Lionel Torti">Lionel Torti</a></div></td>
<td class="short"><div class="title"><a href="programme.html#À la découverte du bytecode CPython !">À la découverte du bytecode CPython !</a></div><div class="person"><a href="intervenants.html#Emmanuel Leblond">Emmanuel Leblond</a></div></td>
</tr>
<tr>
<td class="slot">15h05-15h30</td>
<td class="short double-short"><div class="title"><a href="programme.html#Python for SecOps: recherche de vulnérabilités dans les implémentations d'un protocole">Python for SecOps: recherche de vulnérabilités dans les implémentations d'un protocole</a></div><div class="person"><a href="intervenants.html#Georges Bossert">Georges Bossert</a></div></td>
<td class="short double-short"><div class="title"><a href="programme.html#Manipulating and analysing multi-dimensional data with Pandas">Manipulating and analysing multi-dimensional data with Pandas</a></div><div class="person"><a href="intervenants.html#Sahil Dua">Sahil Dua</a></div></td>
<td class="short double-short"><div class="title"><a href="programme.html#Les dessous du portage d'Ansible à Python 3">Les dessous du portage d'Ansible à Python 3</a></div><div class="person"><a href="intervenants.html#Michael Scherer">Michael Scherer</a></div></td>
</tr>
<tr>
<td class="slot">15h30-15h45</td>
<td class="break" colspan="5">Pause</td>
</tr>
<tr>
<td class="slot">15h45-16h30</td>
<td class="long"><div class="title"><a href="programme.html#Enseignement d'informatique en classes préparatoires scientifiques & Python dans les Grandes Écoles">Enseignement d'informatique en classes préparatoires scientifiques & Python dans les Grandes Écoles</a></div><div class="person"><a href="intervenants.html#Emeric Tourniaire & Alain Lioret / Ange de Saint Mont">Emeric Tourniaire & Alain Lioret / Ange de Saint Mont</a></div></td>
<td class="long"><div class="title"><a href="programme.html#Introduction au notebook Jupyter">Introduction au notebook Jupyter</a></div><div class="person"><a href="intervenants.html#Romuald Texier-Marcadé">Romuald Texier-Marcadé</a></div></td>
<td class="long"><div class="title"><a href="programme.html#Lire & Écrire la Doc">Lire & Écrire la Doc</a></div><div class="person"><a href="intervenants.html#Florian Strzelecki">Florian Strzelecki</a></div></td>
<td class="workshop" rowspan="4"><div class="title"><a href="programme.html#Introduction au Deep Learning avec Theano">Introduction au Deep Learning avec Theano</a></div><div class="person"><a href="intervenants.html#Julien Guillaumin">Julien Guillaumin</a></div></td>
<td class="workshop" rowspan="4"><div class="title"><a href="programme.html#interface graphique moderne En Qt avec python">interface graphique moderne En Qt avec python</a></div><div class="person"><a href="intervenants.html#Sacha Schutz">Sacha Schutz</a></div></td>
</tr>
<tr>
<td class="slot">16h35-17h</td>
<td class="short"><div class="title"><a href="programme.html#PyRat - Un jeu pour l'apprentissage de l'informatique en Python">PyRat - Un jeu pour l'apprentissage de l'informatique en Python</a></div><div class="person"><a href="intervenants.html#Bastien Pasdeloup">Bastien Pasdeloup</a></div></td>
<td class="short"><div class="title"><a href="programme.html#Application en Python de modèles physiologiques des muscles humains">Application en Python de modèles physiologiques des muscles humains</a></div><div class="person"><a href="intervenants.html#Maxime Yochum">Maxime Yochum</a></div></td>
<td class="short"><div class="title"><a href="programme.html#L'Enfer du packaging Python">L'Enfer du packaging Python</a></div><div class="person"><a href="intervenants.html#Julien Castets">Julien Castets</a></div></td>
</tr>
<tr>
<td class="slot">17h05-17h30</td>
<td class="short double-short"><div class="title"><a href="programme.html#Python, c'est rapide, ou c'est lent ?">Python, c'est rapide, ou c'est lent ?</a></div><div class="person"><a href="intervenants.html#Ludovic Gasc">Ludovic Gasc</a></div></td>
<td class="short double-short"><div class="title"><a href="programme.html#python pour le text mining (fouille de texte)">python pour le text mining (fouille de texte)</a></div><div class="person"><a href="intervenants.html#Oussama Ahmia">Oussama Ahmia</a></div></td>
<td class="short double-short"><div class="title"><a href="programme.html#Packaging Python Wheel et Devpi">Packaging Python Wheel et Devpi</a></div><div class="person"><a href="intervenants.html#GALODE Alexandre et VITEL Pierre-Antoine">GALODE Alexandre et VITEL Pierre-Antoine</a></div></td>
</tr>
<tr>
<td class="slot">17h35-18h</td>
<td class="short double-short"><div class="title"><a href="programme.html#Recette pour faire venir PyConFr dans ta ville">Recette pour faire venir PyConFr dans ta ville</a></div><div class="person"><a href="intervenants.html#Rémy Hubscher et Arthur Vuillard">Rémy Hubscher et Arthur Vuillard</a></div></td>
<td class="short double-short"><div class="title"><a href="programme.html#Et si on réécrivait Google en Python ?">Et si on réécrivait Google en Python ?</a></div><div class="person"><a href="intervenants.html#Sylvain Zimmer">Sylvain Zimmer</a></div></td>
<td class="short double-short"><div class="title"><a href="programme.html#Warehouse - the future of PyPI">Warehouse - the future of PyPI</a></div><div class="person"><a href="intervenants.html#Nicole Harris">Nicole Harris</a></div></td>
</tr>
</table>
</div>
<div class="section confs">
<h2>Dimanche 16 octobre</h2>
<table class="programme legende">
<tr><th>Légende</th></tr>
<tr><td class="short">Conférence courte (25mn)</td></tr>
<tr><td class="long">Conférence longue (45mn)</td></tr>
<tr><td class="workshop">Atelier</td></tr>
</table>
<table class="programme">
<tr>
<th></th>
<th>Track #1 :<br>KOUIGN AMANN</th>
<th>Track #2 :<br>KRAMPOUEZH</th>
<th>Track #3 :<br>FAR BRETON</th>
<th>Ateliers #1 :<br>CHOUCHENN</th>
<th>Ateliers #2 :<br>CIDRE BRETON</th>
</tr>
<tr>
<td class="slot">9h-9h30</td>
<td class="break" colspan="5">Accueil / Petit déjeuner</td>
</tr>
<tr>
<td class="slot">9h15-10h</td>
<td class="special" colspan="5">Assemblée Générale AFPY</td>
</tr>
<tr>
<td class="slot">10h-10h25</td>
<td class="short"><div class="title"><a href="programme.html#Découverte de Django">Découverte de Django</a></div><div class="person"><a href="intervenants.html#Pierre CHARLET">Pierre CHARLET</a></div></td>
<td class="short"><div class="title"><a href="programme.html#Développeur durable">Développeur durable</a></div><div class="person"><a href="intervenants.html#Benoît Bryon">Benoît Bryon</a></div></td>
<td class="short"><div class="title"><a href="programme.html#Des nouvelles du Front !">Des nouvelles du Front !</a></div><div class="person"><a href="intervenants.html#Gaël Durand">Gaël Durand</a></div></td>
<td class="workshop" rowspan="4"><div class="title"><a href="programme.html#Faire une API REST/JSON et des WebSockets avec AsyncIO et aiohttp.web">Faire une API REST/JSON et des WebSockets avec AsyncIO et aiohttp.web</a></div><div class="person"><a href="intervenants.html#Ludovic Gasc">Ludovic Gasc</a></div></td>
<td class="workshop" rowspan="4"><div class="title"><a href="programme.html#Life's too short: let's patch politics">Life's too short: let's patch politics</a></div><div class="person"><a href="intervenants.html#James Pic">James Pic</a></div></td>
</tr>
<tr>
<td class="slot">10h30-10h55</td>
<td class="short double-short"><div class="title"><a href="programme.html#Premiers pas pour assurer la qualité de vos applications">Premiers pas pour assurer la qualité de vos applications</a></div><div class="person"><a href="intervenants.html#Arthur Vuillard">Arthur Vuillard</a></div></td>
<td class="short double-short"><div class="title"><a href="programme.html#Python et secondes intercalaires">Python et secondes intercalaires</a></div><div class="person"><a href="intervenants.html#Claire Revillet">Claire Revillet</a></div></td>
<td class="short double-short"><div class="title"><a href="programme.html#WebPush notifications What? Why? How?">WebPush notifications What? Why? How?</a></div><div class="person"><a href="intervenants.html#Ipsha Bhidonia">Ipsha Bhidonia</a></div></td>
</tr>
<tr>
<td class="slot">11h-11h45</td>
<td class="long"><div class="title"><a href="programme.html#Ma première appli en 30 minutes (et un peu de courage)">Ma première appli en 30 minutes (et un peu de courage)</a></div><div class="person"><a href="intervenants.html#Guillaume Ayoub">Guillaume Ayoub</a></div></td>
<td class="long"><div class="title"><a href="programme.html#Libération du calculateur des impôts">Libération du calculateur des impôts</a></div><div class="person"><a href="intervenants.html#Christophe Benz">Christophe Benz</a></div></td>
<td class="long"><div class="title"><a href="programme.html#Faut-il être masochiste pour utiliser IPv6 (dans son code Python) ?">Faut-il être masochiste pour utiliser IPv6 (dans son code Python) ?</a></div><div class="person"><a href="intervenants.html#Bruno STEVANT">Bruno STEVANT</a></div></td>
</tr>
<tr>
<td class="slot">11h50-12h15</td>
<td class="short"><div class="title"><a href="programme.html#Outils d'analyse statique">Outils d'analyse statique</a></div><div class="person"><a href="intervenants.html#Cyril Roelandt">Cyril Roelandt</a></div></td>
<td class="short"><div class="title"><a href="programme.html#Rust">Rust</a></div><div class="person"><a href="intervenants.html#Leo Testard">Leo Testard</a></div></td>
<td class="short"><div class="title"><a href="programme.html#Créer une API publique avec Django Rest Framework">Créer une API publique avec Django Rest Framework</a></div><div class="person"><a href="intervenants.html#Lionel Porcheron">Lionel Porcheron</a> et <a href="intervenants.html#Pierre Fersing">Pierre Fersing</a></div></td>
</tr>
<tr>
<td class="slot">12h15-13h45</td>
<td class="break" colspan="5">Pause déjeuner - Food Trucks (Burger / Pizza / Crèpes Bretonnes)</td>
</tr>
<tr>
<td class="slot">13h45-14h30</td>
<td class="long"><div class="title"><a href="programme.html#Python et la sécurité : de l'interpréteur au déploiement">Python et la sécurité : de l'interpréteur au déploiement</a></div><div class="person"><a href="intervenants.html#Thomas Duval">Thomas Duval</a></div></td>
<td class="long"><div class="title"><a href="programme.html#Traduction de la doc de Python et l'internationalisation">Traduction de la doc de Python et l'internationalisation</a></div><div class="person"><a href="intervenants.html#Julien Palard & Claire Revillet">Julien Palard & Claire Revillet</a></div></td>
<td class="long"><div class="title"><a href="programme.html#Monkey-Patcher Python en production">Monkey-Patcher Python en production</a></div><div class="person"><a href="intervenants.html#Boris FELD">Boris FELD</a></div></td>
<td class="special" rowspan="3" colspan="2">Lightning Talks</td>
</tr>
<tr>
<td class="slot">14h35-15h</td>
<td class="short"><div class="title"><a href="programme.html#Infrastucture moderne pour le développement en équipes">Infrastucture moderne pour le développement en équipes</a></div><div class="person"><a href="intervenants.html#Alain Poirier">Alain Poirier</a></div></td>
<td class="short"><div class="title"><a href="programme.html#Interopérabilité Python/C++ pour la motion capture et l'animation faciale">Interopérabilité Python/C++ pour la motion capture et l'animation faciale</a></div><div class="person"><a href="intervenants.html#Nicolas Stoiber et Vincent Barrielle">Nicolas Stoiber et Vincent Barrielle</a></div></td>
<td class="short"><div class="title"><a href="programme.html#Autentification et autorisation avec Django REST framework">Autentification et autorisation avec Django REST framework</a></div><div class="person"><a href="intervenants.html#Xavier Ordoquy">Xavier Ordoquy</a></div></td>
</tr>
<tr>
<td class="slot">15h05-15h30</td>
<td class="short double-short"><div class="title"><a href="programme.html#Au secours, on n'a pas de projet Python dans ma boîte">Au secours, on n'a pas de projet Python dans ma boîte</a></div><div class="person"><a href="intervenants.html#Romain Touzé">Romain Touzé</a></div></td>
<td class="short double-short"><div class="title"><a href="programme.html#Une chaine de production de 3D temps-réel en Python">Une chaine de production de 3D temps-réel en Python</a></div><div class="person"><a href="intervenants.html#Emmanuel Julien">Emmanuel Julien</a></div></td>
<td class="short double-short"><div class="title"><a href="programme.html#Jolies Métriques : Coordonner Python et Zabbix">Jolies Métriques : Coordonner Python et Zabbix</a></div>
<div class="person"><a href="intervenants.html#Alain Devarieux">Alain Devarieux</a></div>
</td>
</tr>
<tr>
<td class="slot">15h30-15h45</td>
<td class="break" colspan="5">Pause</td>
</tr>
<tr>
<td class="slot">15h45-16h10</td>
<td class="short"><div class="title"><a href="programme.html#Test Tout Terrain (Python edition)">Test Tout Terrain (Python edition)</a></div><div class="person"><a href="intervenants.html#Pierre Bousquié">Pierre Bousquié</a></div></td>
<td class="short"><div class="title"><a href="programme.html#Informatique musicale : créer un séquenceur pas-à-pas avec Python">Informatique musicale : créer un séquenceur pas-à-pas avec Python</a></div><div class="person"><a href="intervenants.html#Yann Gravrand">Yann Gravrand</a></div></td>
<td class="short"><div class="title"><a href="programme.html#How Python influences JavaScript">How Python influences JavaScript</a></div><div class="person"><a href="intervenants.html#Alex Marandon">Alex Marandon</a></div></td>
<td class="workshop" rowspan="3"><div class="title"><a href="programme.html#Créer son API avec Django REST framework">Créer son API avec Django REST framework</a></div><div class="person"><a href="intervenants.html#Xavier Ordoquy">Xavier Ordoquy</a></div></td>
<td class="workshop" rowspan="3"><div class="title"><a href="programme.html#Evaluating Topic Models through python">Evaluating Topic Models through python</a></div><div class="person"><a href="intervenants.html#Devashish Deshpande">Devashish Deshpande</a></div></td>
</tr>
<tr>
<td class="slot">16h15-16h40</td>
<td class="short double-short"><div class="title"><a href="programme.html#Python, un langage à la noix pour la programation fonctionelle ? Essayez coconut !">Python, un langage à la noix pour la programation fonctionelle ? Essayez coconut !</a></div><div class="person"><a href="intervenants.html#François Varas">François Varas</a></div></td>
<td class="short double-short"><div class="title"><a href="programme.html#Commande prédictive avec Python. Application au pilotage optimal du chauffage d’un bâtiment.">Commande prédictive avec Python. Application au pilotage optimal du chauffage d’un bâtiment.</a></div><div class="person"><a href="intervenants.html#Pierre Haessig">Pierre Haessig</a></div></td>
<td class="workshop" rowspan="2"><div class="title"><a href="programme.html#Écrire des tests en Python">Écrire des tests en Python</a></div><div class="person"><a href="intervenants.html#Boris FELD">Boris FELD</a></div></td>
</tr>
<tr>
<td class="slot">16h45-17h10</td>
<td class="short double-short"><div class="title"><a href="programme.html#Hypothesis: testez moins mais tester mieux en vous concentrant sur les propriétés">Hypothesis: testez moins mais tester mieux en vous concentrant sur les propriétés</a></div><div class="person"><a href="intervenants.html#Thierry Chappuis">Thierry Chappuis</a></div></td>
<td class="short double-short"><div class="title"><a href="programme.html#Pyduino : portage du langage Arduino en Python">Pyduino : portage du langage Arduino en Python</a></div><div class="person"><a href="intervenants.html#Xavier HINAULT">Xavier HINAULT</a></div></td>
</tr>
<tr>
<td class="slot">17h15-17h30</td>
<td class="special" colspan="5">Cérémonie de clôture</td>
</tr>
</table>
</div>
<div class="section interventions">
<div class="interventions">
<h2>Liste complète des interventions</h2>
<div class="title" id="Contribution a CPython">Contribution a CPython</div>
<div class="description">Avec l'aide de contributeurs à CPython, ce sprint propose de contributer à CPython en corrigeant des bogues faciles d'accès. Cela permettra a nos amis sprinters de montrer le chemin pour devenir un contributeur de CPython.
</div>
<div class="title" id="RD autour de mesures environnementales DIY">R&D autour de mesures environnementales DIY</div>
<div class="description">Munis de capteurs et de processeurs embarqués (qui font tourner Python pour certains), nous proposons de réfléchir à la conception d'un kit de mesure nomade à bas prix, en particulier parce que des capteurs PM2.5 et PM10 accessibles apparaissent sur le marché, qui ont leur pertinence tant à l'intérieur qu'à l'extérieur des bâtiments.
Les enjeux sont de santé publique et règlementaires (obligation pour les pouvoirs publics de maintenir une certaine qualité environnementale), mais soyons conscients que la mesure brute n'a pas de sens absolu et que l'analyse est toujours nécessaire.
Les défis sont nombreux, citons notamment la normalisation et la documentation du processus de mesure et d'enregistrement, la prise d'information contextuelle (il est crucial de renseigner la cause d'une déviation lorsqu'elle est comprise), le post traitement : déterminer l'incertitude, produire des photographies du réel à partir des données prises à des lieux et des dates arbitraires.
Concrètement, nous espérons avancer particulièrement sur la centralisation, la curation et la restitution de données sous forme d'alertes, cartes et graphiques accessibles au plus grand nombre (notamment sur le web, donc), constituer un groupe d'intérêt et bénéficier de vos lumières !
Intéressé par le sujet ? Nous avons besoin de vous pour effectuer des relevés, pour réfléchir, pour coder !</div>
<div class="title" id="Rafraîchissement de memopol.org">Rafraîchissement de memopol.org </div>
<div class="description">Comme vous le savez peut-être, le site du projet Memopol est aussi bien Open Source que l'outil de Mémoire Politique utilisé par certains lobbies citoyens. C'est un projet en Pelican sur github.com/political-memory/blog-memopol qui aurait besoin d'être mis à jour autant coté contenu, que traduction, design, déploiement et marketing. Bref, qu'on comprenne de quoi diable il s'agit sans y passer trois heures en tant que visiteur lambda.
Je (James Pic) serai à votre disposition pour aider les sprinteurs du développement en local jusqu'au déploiement en production que tout contributeur doit faire pour chacun de ses patches dans la plus bleeding edge de la pratique de la livraison continue ou encore d'un authentique blues du bayou.</div>
<div class="title" id="Common Search: un nouveau moteur de recherche open source et transparent">Common Search: un nouveau moteur de recherche open source et transparent</div>
<div class="description">Common Search est un nouveau projet open source écrit principalement en Python, qui vise à créer un moteur de recherche entièrement ouvert et transparent.
Une démo est déjà en ligne, mais il y a encore beaucoup de choses à améliorer pour en faire un service utilisable par tous.
N'avez-vous jamais rêvé de comprendre comment un moteur de recherche marche de l'intérieur ? Avez-vous déjà exécuté une de vos lignes de code sur plusieurs milliards de pages web ? Ce sprint est l'occasion !
Le mainteneur du projet Sylvain Zimmer sera présent pour aider les gens de tous les niveaux à faire leur première contribution. Grâce à des images Docker toutes prêtes et une liste d'issues sur GitHub bien remplie, vous pourrez envoyer votre première Pull Request en moins d'une heure !</div>
<div class="title" id="Rust">Memory Safety with Rust</div>
<div class="description"><br /><a href="https://www.pycon.fr/2016/videos/memory-safety-with-rust.html"><div class="video-thumbnail"><img src="https://www.pycon.fr/2016/videos/content/B1U1MxHJl/thumbnail.jpg"></div><div class="video-label">Regarder "Memory Safety with Rust"</div></a></div>
<div class="title" id="Mise à jour des benchmarks AsyncIO de TechEmpower">Mise à jour des benchmarks AsyncIO de TechEmpower</div>
<div class="description"><a href="https://www.techempower.com/benchmarks/">TechEmpower Benchmarks suite</a> essaie de comparer 162 frameworks Web pour faire des APIs REST/JSON.
AsyncIO et sa boite à outils participent à ce benchmark, en particulier aiohttp.
Depuis que la suite de tests a été implémenté, de nouveaux outils sont apparus (uvloop, asyncpg, compatibilité AsyncIO pour cython...) qui devraient améliorer les performances, qui sont déjà intéressantes.
Si vous voulez aider, ou que vous êtes un simple curieux de comment améliorer les performances en Python, ce sprint est fait pour vous.
De plus, si vous êtes intéressé à rajouter ou améliorer les performances de frameworks construits avec d'autres technologies qu'AsyncIO et Python, je peux également vous aider comment commencer.</div>
<div class="title" id="Mapping Learning : la cartographie vraiment assistée">Mapping Learning : la cartographie vraiment assistée</div>
<div class="description">
Mapping Learning est à la fois une application et un projet éducatif. Notre volonté est d’assister les utilisateurs dans leurs taches de traitement de données et de cartographie automatisée (à partir de données de télédétection ou autres) et de faciliter les échanges entre les méthodes de machine learning et ses applications (télédétection en particulier).
Ci-dessous, ma liste au père Noël :
- Portage vers Python 3
- Documentation du projet (sphinx)
- Faciliter déploiement : création d'un fichier setup.py
- Base de connaissances : créer un prototype et tester exécution d'un test stocké dans bdd
- Développement interface (CLI, Prototype de GUI, Prototype d'interface Web, Test de Junyper)
- Choix et implémentation statistiques (cf. scikit) pour : classification : ROC Curve, autre(s), Clustering, Regression.
J'ai essayé de proposer des taches avec des niveaux de difficultés différents, et dans des domaines variés... Tout le monde est bienvenu !
La première journée permettra avant tout de se connaître et de vous faire connaître l'application (vous pouvez voir le code source : https://bitbucket.org/thomas_a/maplearn/), choisir quelles propositions vous intéressent le plus, et bidouiller... Après un debrief informel le soir.
Alban THOMAS a commencé sa carrière dans les domaines du SIG et de la télédétection. Il a développé des compétences en programmation pour répondre aux besoins de ces projets et aussi par
envie. Son poste actuel d’ingénieur d’étude en cartographie à l’UMR LETG Rennes-COSTEL (Climat et Occupation du Sol par Télédétection) lui permet de travailler avec des géographes, avec
ou sans connaissance en télédétection et des informaticiens en traitements du signal.</div>
<div class="title" id="Développement de Nova-Ideo">Développement de Nova-Ideo</div>
<div class="description">Nova-Ideo est une solution d'innovation participative et de démocratie participative écrite en python avec le framework Pyramid, le tout sous licence AGPL. Nous proposons de réaliser un sprint permettant à tous de comprendre comment il est fait et de pouvoir le faire évoluer.</div>
<div class="title" id="passer d'une fiche incohérente à une fiche au cordeau">passer d'une fiche incohérente à une fiche "au cordeau"</div>
<div class="description">Je cherche à partir d'une fiche dont la trame est sous libreoffice calc mais qui est remplie par des utilisateurs indiciplinés à parvenir à une fiche totalement normée en passant par un tableau recapitulatif qui serait une alternative à une gestion de base de données. ( fichiers exemples disponibles ) en utilisant python soit en macro, soit en programme externe sous windows ( portage possible sous linux, normalement )</div>
<div class="title" id="Sprint Nagare">Sprint Nagare</div>
<div class="description">Sprint sur les 2 jours.
Développements autour du framework web open-source Nagare (www.nagare.org).
Selon la demande :
- correction de bugs et évolution de Nagare
- extraction de modules de Nagare pour en faire des projets open-source indépendants (injection de services 'nagare.services', micro-framework web orienté Rest sur gevent ‘nagare.restserver' …)
- définition et développement de nouveaux modules fonctionnels (gestion des utilisateurs, moteur de recherche full-text …)
- ...
</div>
<div class="title" id="Sprint laboîte STAR">Sprint laboîte STAR</div>
<div class="description">Organisation : Baptiste Gaultier, Frédéric Clec'h et Christophe Millot
Partenaires : Telecom Bretagne, Keolis Rennes
Période : Jeudi 13 et vendredi 14 octobre 2016
Tags : django, open-data, arduino, weboob, open-source, hardware, rest, api, 3D printing, fablab
laboîte est une petite horloge connectée qui permet de visualiser de nombreuses données d'un seul coup d'œil !
Intégralement open-source et open-hardware, ce projet est à la recherche de développeurs sympas et motivés pour ajouter de nouvelles fonctionnalités qui pourraient venir compléter les informations existantes :
Météo (open weather map)
Prochain rendez-vous (à partir d'un calendrier OpenCalendar, Google, Yahoo ou basé sur le standard ICS)
Prochain bus à Rennes (avec la STAR)
Nombre de vélos libre-service disponibles à Rennes (avec la STAR)
Hauteur de la houle sur un spot de surf (basé sur Allosurf)
Nombre de places disponibles dans les parkings de Rennes (avec la STAR)
Nombre d'e-mails non lus
...
Pour participer à ce sprint, une connaissance de base de Django et Python serait apprécié. Mais si vous savez également coder sur Arduino ou/et vous connaissez Weboob alors c'est le top !
Organisation :
Journée 1
Matin : rappel des technologies au cœur de laboîte (Python, Django, Weboob, Bootstrap, JQuery, Arduino, Impression 3D...) aux travers d'ateliers pratiques
Après-midi : constitution des équipes en fonction des envies des participants (s'il y en a bien sûr) et sprint sur les nouvelles fonctionnalités (le code, les dépôts, le matériel seront fournis librement)
Soirée : débriefing informel (la première tournée est pour moi)
Journée 2
Sprriiiinnnnnttt
</div>
<div class="title" id="SPRINT DJANGO-COMPATIBILITY">SPRINT DJANGO-COMPATIBILITY</div>
<div class="description">Django est LE framework web de référence pour python, il est bien codé, bien testé, très bien documenté, et avance à toute allure. Mais Django est aussi un large écosystème d'applications open-sources enfichables, allant du moteur de webservice au CMS, en passant par des moteurs de blog, des systèmes de commentaires, des gestionnaires de médias...
Et c'est là que les choses se compliquent. Car Django ne dispose PAS de "versions mineures" au sens du "semantic versioning" : chaque mise à jour apporte son lot de changements non-rétrocompatibles. Des changements anticipés et documentés deux versions à l'avance certes, mais qui cassent nombre d'applications django qui ne sont plus mises à jour, et compliquent énormément la tâche des mainteneurs actifs. Des modules de soutien comme django-compat (l'équivalent de "six" pour Django) existent pour les aider, mais il rajoutent une couche de complexité, et restent peu connus. Et les récents changements du système de versioning de Django, qui se focalisent sur la notion de "version LTS", ne changent pas la donne.
Bref, au final, si vous maintenez un large projet, utilisant une douzaine de dépendances (Django-cms, django-blog-zinnia, django-filer, quelques plugins pour Django-cms...), chaque upgrade peut facilement se transformer en "DLL hell", avec des conflits entre dépendances, et de multiples régressions sur des petits plugins peu maintenus. Il vous faudra forker à tout va, et espérer que vos changements seront intégrés upstream. Comparez cette situation à l'écosystème jQuery par exemple, où un module même abandonné depuis 5 ans marchera du premier coup, et vous sauvera facilement plusieurs journées de travail.
D'où l'idée de django-compatibility. Ce module va s'occuper de monkey-patcher dans Django des "shims", des micro-utilitaires permettant de garder la rétrocompatibilité malgré les changements "violents" du code : renommages d'attributs et de fonction, modifications de signatures de fonction, déplacements d'application "contrib" hors de la base de code principale... Ainsi, les vieilles applications Django retrouveront accès à des fondamentaux comme request.REQUEST, à request.raw_post_data, ou mimetype, jusqu'à ce qu'elles retrouvent un mainteneur. Des DeprecationWarnings continueront d'être émis, mais les webmaster DJango verront leur taux d'adrénaline lors des upgrades revenir dans des normes acceptables.
Le sprint se focalisera principalement sur la création des fixers, des petits utilitaires auto-documentés permettant chacun de restaurer une fonctionnalité cassée au fil des évolutions de Django (voir https://docs.djangoproject.com/en/dev/internals/deprecation/), et de leurs tests unitaires (avec py.test et tox). Le codage d'utilitaires de soutien (pour gérer automatiquement les renommages, ou le patching de sys.modules...) seront probablement aussi de la partie. Le Zen de Python sera respecté.
---
Ce sprint aura lieu les 13 et 14 octobre.
Pré-requis : connaissance intermédiaire de Python et Django, et un IDE en état de marche</div>
<div class="title" id="SPRINT BSF">Ideascube, un logiciel pour favoriser l'accès à l'information et à l'éducation</div>
<div class="description">
BSF est une ONG qui s'est donné pour mandat l'accès à l'éducation et à l'information. L'objectif de BSF est de donner aux populations – en particulier les plus vulnérables – des outils pour comprendre le monde et le transformer. Parmi ceux-ci, l'Ideas box et le KoomBook, deux dispositifs qui utilisent des technologies libres (on parle vraiment de changer le monde) pour donner accès à plusieurs milliers de ressources numériques (vidéos, epub, films, Moocs, sites web).
<a href="https://github.com/ideascube/ideascube">Ideascube</a> est le logiciel commun aux projets KoomBook et IdeasBox. Il permet d'embarquer des ressources numériques offline et d'y donner accès (un peu comme une pirate box) y compris dans des contexte où Internet n'est pas accessible. Ideascube permettra à terme à toute machine qui le fera tourner d'accéder à un catalogue de ressources libres, accessible en ligne et consultable en mode déconnecté.
État des lieux, déploiement, développements futurs. Avec des bouts de python (django) et de connexion asynchrone dedans.
<strong>Qui</strong>
<ul><li>Grégoire Pouget (barbayellow)</li><li>Mathieu Bridon (bochecha)</li><li>Matthieu Gautier (starmad)</li><li>Steven (Steven)</li></ul>
<strong>Objectifs et sujets sur lesquels on souhaite être épaulés</strong>
<ul><li>Analyse des logs ideascube</li><li>Reverse engineering de la recette du coca-cola</li><li>Meilleure administration du serveur (wifi, services, ...) via Cockpit?</li><li>Comment développer l'aspect UX pour des personnes pas nécessairement sensibilisées au numérique? +1 !</li><li>Développer une interface web front qui permettrait aux liseuses d'accéder à ideascube et directement aux ressources qui les concernent (epubs) Il y a en général 50 liseuses par box, avec des livres préchargés</li></ul>
</div>
<div class="title" id="Développement d’un outil de géolocalisation pour une balade sonore">Développement d’un outil de géolocalisation pour une balade sonore</div>
<div class="description">SonoPluie est une balade sonore en parapluie géolocalisé.
Il s’agit de proposer à des promeneurs un cheminement libre qui fasse coïncider leur environnement direct avec des pistes sonores, en temps réel.
Le proto tourne sous python sur carte raspberry, il manque cependant beaucoup de fonctionnalité pour anticiper, prévenir et répondre aux divers comportements du visiteur.
A l’aide d’un prototype fonctionnel, le développement pourra être testé tout au long des deux jours du sprint.
La participation au sprint pourra se faire au long cours sur les deux jours, ou à la « micro-tâche » sur des points précis identifiés en amont.
Les jeudi 13 & vendredi 14/10
Référents projet : Philippe Lechat & Laurence Giuliani
</div>
<div class="title" id="SPRINT PANORAMISK">Mise à jour de Panoramisk, binding Asterisk (AMI+FastAGI) en AsyncIO</div>
<div class="description"><a href="https://fr.wikipedia.org/wiki/Asterisk_(logiciel)">Asterisk</a> est un serveur de téléphonie opensource, <a href="https://github.com/gawel/panoramisk">Panoramisk</a> permet d'intéragir en Python+AsyncIO via les APIs propres à Asterisk (AMI+FastAGI).<br /><br />Avec l'aide de <a href="https://github.com/gawel">Gawel</a> qui sera accessible par téléphone uniquement afin de rester dans le contexte, nous allons <b>tenter</b>:<ul><li>Merger la dernière pull request en cours de <a href="https://github.com/gawel/panoramisk">Panoramisk</a> en cherchant un consensus et rajoutant les tests manquants</li><li>Fermer les issues en cours</li><li>Discuter d'<a href="https://wiki.asterisk.org/wiki/pages/viewpage.action?pageId=29395573">ARI</a> (les nouvelles APIs REST/JSON d'Asterisk) et voir les synergies que nous pourrions avoir avec le <a href="https://github.com/asterisk/ari-py">binding Python officiel</a></li><li>Éventuellement de faire un benchmark différentiel avec <a href="https://github.com/MagicStack/uvloop">uvloop</a> activé ou non et voir s'il y aurait des pistes d'améliorations, notamment en regardant dans d'autres implémentations de binding.</li><li>Et peut-être même (soyons fous!) sortir une nouvelle release</li></ul></div>
<div class="title" id="Key Signing Party">Key Signing Party</div>
<div class="description">Les rassemblements IRL de la communauté Python sont la meilleure occasion pour profiter de signer nos clés GPG par nos pairs et comme ça renforcer la toile de confiance (Web of Trust[1]) nécessaire pour améliorer les échanges virtuelles de façon sécurisée avec des systèmes de confiance décentralisés.
L'utilisation de GPG dans la communauté a plusieurs applications, par exemple la signature de commits (supporté récemment par Github et Gitlab), la vérification de l'intégrité des paquets, l'échange des informations sensibles comme des mot de passes ou des API keys, entre autres.
Cet événement est divisé en 2 parties, le premier jour avec la forme d'un atelier destiné à toutes les personnes qui veulent générer une clé GPG, la publier sur un serveur de clés et utiliser les commandes basiques pour signer et encrypter des fichiers.
Le deuxième jour sera une Key signing party[2] destiné à toutes les personnes aillant déjà une clé, où chacun peut vérifier, signer et assigner le niveau de confiance ultime aux clés des autres membres de la communauté.
[1] https://en.wikipedia.org/wiki/Web_of_trust
[2] https://en.wikipedia.org/wiki/Key_signing_party</div>
<div class="title" id="Introduction au Deep Learning avec Theano">Introduction au Deep Learning avec Theano</div>
<div class="description">C’est indéniable, le Deep Learning c’est le sujet à la mode ! Même si cela reste un domaine de recherche très pointu heureusement à l’aide de nombreux frameworks open source et formations sur Internet les concepts deviennent de plus en plus accessibles. Cet atelier propose un tour d’horizon sur les origines du Deep Learning, quelles sont les ruptures scientifiques des 10 dernières années qui l’ont rendu aussi populaire, quelles sont les dernières architectures à la mode.
Tout au long de l'atelier vous allez pouvoir coder vos propres architectures profondes avec Theano ! Cette librairie Python est parfaite pour le Deep Learning ! Elle est même très utilisée en recherche, pour prototyper rapidement de nouveaux modèles.
L'objectif de l'atelier est de donner les bases théoriques et pratiques (via Theano) pour être autonome sur une compétition Kaggle par exemple.
Vous trouverez toutes les informations sur l'atelier (notamment les librairies à installer) <a href="http://jguillaumin.github.io/2016-09-29-pycon-deep-learning/">ici</a>.</div>
<div class="title" id="Programmer un robot mobile en python">Programmer un robot mobile en python</div>
<div class="description">Atelier pour découvrir la programmation Python sur un petit robot mobile. Le robot MRPi1 est un robot mobile de 10 cm de diamètre basé sur une carte Raspberry pi avec de nombreux capteurs.</div>
<div class="title" id="Introduction aux algorithmes d'apprentissage machine">Introduction aux algorithmes d'apprentissage machine</div>
<div class="description">Principes de l'apprentissage machine, présentation de scikit-learn, démonstrations.</div>
<div class="title" id="Evaluating Topic Models through python">Evaluating Topic Models through python</div><div class="description">Topic modeling in python is an upcoming and exciting field. With so many great open source libraries available, the natural language processing and topic modeling community is advancing rapidly and python has made it all the more easy! My summer work involved implementing the topic coherence pipeline in gensim which is a topic modeling library in python. I had to convert java code into efficient python code without sacrificing the mathematical correctness of the original algorithms.
Topic coherence quantifies human interpretability of topics outputted by topic models by mimicking what a human would think on reading those topics. After all what is the use of a topic model which spits out incomprehensible topics? Coherence measures have a large number of applications such as improving automatic web page translations or even improving advertising by selecting advertising links that maximize coherence of the union of the web page's word set with descriptive words of the respective ad.
While doing the project I realized the beauty of python when I noticed the fact that what required three different modules in java could be done inside just one function in python! I also experienced python's ease of use, user-friendliness and robustness while working with it. I started off thinking that it will take me two to three months to implement this pipeline in python but I finished almost one month ahead of schedule. How? Simply because python is incredible!</div>
<div class="title" id="Faire une API REST/JSON et des WebSockets avec AsyncIO et aiohttp.web">Faire une API REST/JSON et des WebSockets avec AsyncIO et aiohttp.web</div><div class="description">Cet atelier sera l'opportunité pour apprendre comment architecturer un daemon avec AsyncIO ainsi que l'utilisation courante de l'API d'aiohttp.web, qui ressemble fort à celle de Flask, afin de faciliter les migrations.</div>
<div class="title" id="Créer son API avec Django REST framework">Créer son API avec Django REST framework</div>
<div class="description">L'atelier a pour but la construction d'API avec Django REST framework.
Il s'agit de découvrir Django REST framework.
Lors de l'atelier, différentes parties seront présentées:
- sérialisation des données
- présentation humaine des données
- pagination
- autentification / permissions
- filtrage
- gestion des relations entre les données
La connaissance de base de Django est un pré-requis.
<br /><a href="https://www.pycon.fr/2016/videos/creer-une-api-publique-avec-django-rest-framework.html"><div class="video-thumbnail"><img src="https://www.pycon.fr/2016/videos/content/rJReoHrJe/thumbnail.jpg"></div><div class="video-label">Regarder "Créer une API publique avec Django Rest Framework"</div></a></div>
<div class="title" id="interface graphique moderne En Qt avec python">interface graphique moderne En Qt avec python</div>
<div class="description">Création d'interface bureau et mobile à l'aide du framework Qt . l'approche en Python sera traitée et le langage QML sera présenté.</div>
<div class="title" id="Life's too short: let's patch politics">Life's too short: let's patch politics</div>
<div class="description">L'occasion d'apprendre à contribuer au projet de mémoire politique Memopol utilisé comme outil de lobbying citoyen par la Quadrature du Net ainsi que l'EDRi. Vous apprendrez donc à développer en local sur ce projet en Django, PostgreSQL et OpenShift et qui sait, peut-être rejoindrez-vous l'équipe ?</div>
<div class="title" id="Prototypage rapide d'applications avec Kivy">Prototypage rapide d'applications avec Kivy</div>
<div class="description">Le but de cet atelier est de montrer comment Kivy, via le language kv et sa logique d'événements, permet de construire et de transformer rapidement une application, avant de se préoccuper de sa logique métier.
Les différents widgets seront présentés, allant du simple Label, à l'utilisation des ScreenManager pour organiser l'application, en passant par les différents Layout, et l'utilisation des RecycleView pour la gestion de données à défilement potentiellement infinie.
Le prototypage rapide de widgets *from scratch* sera aussi exploré, avec l'utilisation des propriétés pour décrire les comportements de ceux-ci, et des instructions canevas pour définir précisément l'apparence recherchée.
Une connaissance fonctionnelle de Python est nécessaire, ainsi qu'un éditeur de texte configuré pour l'écriture de Python (par exemple sublimetext ou pycharm).</div>
<div class="title" id="Warehouse - the future of PyPI">Warehouse - the future of PyPI</div>
<div class="description">Warehouse is the next generation Python Package Repository, designed to replace the legacy code base that currently powers PyPI.
In this presentation Nicole will explore:
- The overall problems facing Python packaging and what is being done to solve them.
- The goals of the Warehouse project, from a technical, design and community building perspective.
- The progress that has been made so far and the challenges the team is facing.
- How the wider Python community can help move Warehouse (and Python packaging) forward.
This talk will be presented in English.
<br /><a href="https://www.pycon.fr/2016/videos/warehouse-the-future-of-pypi.html"><div class="video-thumbnail"><img src="https://www.pycon.fr/2016/videos/content/SJ6ZOSHyx/thumbnail.jpg"></div><div class="video-label">Regarder "Warehouse - the future of PyPI"</div></a></div>
<div class="title" id="Outils d'analyse statique">Outils d'analyse statique</div>
<div class="description">Il existe de nombreux outils d'analyse statique pour Python, permettant de détecter des erreurs logiques, des failles de sécurité, ou encore le non-respect de la PEP8. Ces outils sont parfois méconnus des débutants, malgré leur indéniable utilité et leur relative simplicité d'utilisation.
Nous présenterons certains d'entre eux (pycodestyle, flake8, bandit...) durant cette conférence, et tenterons de donner quelques trucs et astuces afin de les utiliser au mieux. Nous montrerons notamment comment les intégrer à tox[1], ce qui facilitera la vie des développeurs et simplifiera l'utilisation de ces outils dans le cadre de l'intégration continue, dont on ne cesse de nous vanter les mérites.
Cette présentation sera tout à fait accessible aux débutants, et comportera quelques exemples/démos.
[1] https://pypi.python.org/pypi/tox</div>
<div class="title" id="Jolies Métriques : Coordonner Python et Zabbix">Jolies Métriques : Coordonner Python et Zabbix</div>
<div class="description">Retour d’expérience sur l'utilisation de l'application open source de supervision Zabbix couplée avec Python.
Zabbix (made in latvia) nous permet grâce à son agent multi-plateforme de monitorer un grand nombre d'équipements et de services, d’exécuter du code, de faire des calins.
Le but est de relever les métriques rapidement et avec une emprunte système la plus légère possible. C'est ici que Python nous aide à atteindre cet objectif en s'interfaçant avec l'agent Zabbix.
Une fois les métriques collectées, insérons les dans un outils de graph sexy et construisons des dashboards pour les décideurs pressés.
<br /><a href="https://www.pycon.fr/2016/videos/jolies-metriques-coordonner-python-et-zabbix.html"><div class="video-thumbnail"><img src="https://www.pycon.fr/2016/videos/content/rksbw2vke/thumbnail.jpg"></div><div class="video-label">Regarder "Jolies Métriques : Coordonner Python et Zabbix"</div></a>
</div>
<div class="title" id="Développeur durable">Développeur durable</div>
<div class="description">Où vous voyez-vous dans 10 ans ? Vivrez-vous le rêve américain ? Élèverez-vous plutôt des chèvres en Lozère ? Récupèrerez-vous de votre 3e burnout ? Serez-vous (enfin) chef de projet ? Ou plutôt lead developer dans une entreprise libérée ?
Quoi qu'il en soit, serez-vous heureux ?
Cette conférence interroge notre métier, son impact social et environnemental ainsi que notre recherche personnelle de sérénité. Puis elle invite à échanger des pistes, individuelles ou collectives, pour aider chacun à choisir son propre chemin.
<br /><a href="https://www.pycon.fr/2016/videos/developpeur-durable.html"><div class="video-thumbnail"><img src="https://www.pycon.fr/2016/videos/content/SJj70kBke/thumbnail.jpg"></div><div class="video-label">Regarder "Développeur durable"</div></a></div>
<div class="title" id="GAST, daou naer - AST pour Python 2 et 3">GAST, daou naer - AST pour Python 2 et 3</div>
<div class="description">Va doué, qui veut construire un code qui va avec le module ast, et compatible
Python2 et Python3, il est bien dans le lagen. Et c'est pas les module 2to3 ou
six qui vont lui envoyer de l'aide.
D'où le module gast, Generic Abstract Syntax Tree, qui regroupe en une
abstraction l'AST de Python2 et celui de Python3. Après une présentation de
cette abstraction, on fera un tour dans son implémentation, une petite
lichouserie pythonesque, où introspection, tox, meta-programmation et évaluation
retardée se retrouvent pour une petite chouille de moins de 500 lignes.
<br /><a href="https://www.pycon.fr/2016/videos/gast-daou-naer-ast-pour-python-2-et-3.html"><div class="video-thumbnail"><img src="https://www.pycon.fr/2016/videos/content/rJGycEBkg/thumbnail.jpg"></div><div class="video-label">Regarder "GAST, daou naer - AST pour Python 2 et 3"</div></a></div>
<div class="title" id="Import et Compagnie">Import et Compagnie</div>
<div class="description">et hop, "import antigravity", la magie de Python résumée en deux mots. mais au fait, comment ça marche ? non, pas l'anti-gravité -ça tout le monde l'apprend à l'école. Comment fonctionnent les imports en Python ?
Plongeons ensemble dans les entrailles de la bête pour découvrir les bases de cette mécanique indispensable. Une fois que nous serons un peu plus familliers avec les forces et les faiblesses du système, nous verrons comment nous usons et abusons de sa flexibilité dans le gestionnaire de version Mercurial. Qui n'a jamais rêvé d'importer son code Python 2 directement avec Python 3 ?
<br /><a href="https://www.pycon.fr/2016/videos/import-et-compagnie.html"><div class="video-thumbnail"><img src="https://www.pycon.fr/2016/videos/content/SJoAkBSkg/thumbnail.jpg"></div><div class="video-label">Regarder "Import et Compagnie"</div></a></div>
<div class="title" id="Et si on réécrivait Google en Python ?">Et si on réécrivait Google en Python ?</div>
<div class="description">Cette année, le premier crawler de Google (écrit en Python 1.2 !) fête ses 20 ans ... Il a depuis longtemps été remplacé par des versions en C++, mais comment s'y prendrait-on, en 2016, s'il fallait tout recommencer de zéro ?
Je présenterai dans en premier temps l'architecture classique des moteurs de recherche (du crawler au frontend) et son évolution depuis le fameux papier de recherche présentant Google en 1998.
Je ferai ensuite un tour d'horizon des langages et projets open source les plus adaptés aujourd'hui pour chacun des composants, ainsi que les choix faits pour Common Search, un nouveau moteur de recherche open source écrit principalement en Python.
Le but de cette présentation est d'apprendre comment fonctionne un moteur de recherche de l'intérieur, ainsi que de réfléchir aux problèmes pour lesquels Python est ou n'est pas une bonne solution.
<br /><a href="https://www.pycon.fr/2016/videos/et-si-on-reecrivait-google-en-python.html"><div class="video-thumbnail"><img src="https://www.pycon.fr/2016/videos/content/S19R0JH1x/thumbnail.jpg"></div><div class="video-label">Regarder "Et si on réécrivait Google en Python ?"</div></a></div>
<div class="title" id="Mapping Learning : la cartographie vraiment assistée">Mapping Learning : la cartographie vraiment assistée</div>
<div class="description">Mapping Learning est à la fois une application et projet éducatif, et présente deux objectifs :
<ul>
<li> faciliter l’accès aux méthodes évoluées d'apprentissage statistique par des non-informaticiens</li>
<li>amener des étudiants en géographie, en informatique... à contribuer au développement d’une application open-source.</li>
</ul>
Notre volonté est d’assister les utilisateurs dans leurs tâches de traitement de données et de cartographie automatisée (à partir de données de télédétection ou autres) en leur donnant accès à un grand nombre d'algorithmes (ex : 19 méthodes de classifications supervisées) peu disponibles dans les logiciels « utilisateurs ».
Les utilisateurs/développeurs de méthodes de Machine Learning bénéficieront, quant à eux, d’une manipulation aisée des données géographiques (images ou vectorielles) et pourront y ajouter leurs algorithmes.
L’application réalise les principales étapes de manipulation de données (spatialisées ou non) : réduction de dimension, cross-validation, apprentissage, post-traitements. Enfin, elle livre un compte-rendu standardisé et agrémenté de conseils sur l'utilisation optimale des méthodes.
Mapping Learning réunit trois librairies open-source : <a href="http://www.gdal.org/">gdal/ogr</a> (données géographiques), <a href="http://pandas.pydata.org/">pandas</a> et <a href="http://scikit-learn.org">scikit-learn</a> (machine learning).
Plusieurs de nos étudiants utilisent déjà l’application, dans une phase initiale de développement, sur leurs jeux de données. Notre ambition est d'assurer la pérennité de ce projet et nous conclurons en invitant toutes les personnes intéressées à nous rejoindre.
</div>
<div class="title" id="Python for SecOps: recherche de vulnérabilités dans les implémentations d'un protocole">Python for SecOps: recherche de vulnérabilités dans les implémentations d'un protocole</div>
<div class="description">Les protocoles de communication jouent un rôle majeur dans l'établissement d'une communication entre les différents composants des systèmes informatiques. Malheureusement, il est bien connu que les protocoles de communication peuvent être vulnérables aux attaques. Certaines de ces attaques dépendant de faiblesses introduites (in)volontairements dans leurs implémentations. Ces travaux proposent une solution pratique permettant d'identifier ces faiblesses en utilisant le language Python.
Cette présentation s'attachera à illustrer l'emploi de bibliothèques Python dédiées à la rétro-conception de protocoles tels que Netzob et Pylstar. Il sera notamment présenté comment les utiliser pour 1) extraire la machine à états d'une implémentation en boite noire et 2) comparer les machines à états de plusieurs implémentations d'un même protocole pour rechercher des vulnérabilités. Le protocole HTTP2 servira d'exemple.
<br /><a href="https://www.pycon.fr/2016/videos/python-for-secops-recherche-de-vulnerabilites-dans-les-implementations-dun-protocole.html"><div class="video-thumbnail"><img src="https://www.pycon.fr/2016/videos/content/Sy-97rFyx/thumbnail.jpg"></div><div class="video-label">Regarder "Python for SecOps: recherche de vulnérabilités dans les implémentations d'un protocole"</div></a></div>
<div class="title" id="WebPush notifications What? Why? How?">WebPush notifications What? Why? How?</div>
<div class="description">We all might know what push notifications are, having been a popular feature of mobile platforms for years. However, it is a recent adoption in the web platform and the features are constantly evolving. By the end of this talk, we’ll have an understanding of what real-time web push notifications are, how do they work, and how can we make the best use of it, including news features like payload encryption and ttl headers.
Web push is a permission based technology that notifies a user of new messages or events even when they’re not actively using the application. Push notifications are a hit among all the social media websites, like Facebook, Instagram, Twitter, and it’s not hard to see why. Besides that, they are also very popular in cloud based data management, e-commerce websites, e-mail services, sports and auctions, and the list could go on. In this talk, we’ll see a little behind-the-scences working of this technology, starting from the handling the user’s subscription by the Push API, generating a push message when some action is triggered, to handling of the message by the Service Worker API, and finally dealing with the notification display using the Notification API.
<br /><a href="https://www.pycon.fr/2016/videos/webpush-notification-what-why-how.html"><div class="video-thumbnail"><img src="https://www.pycon.fr/2016/videos/content/ryRNdBBke/thumbnail.jpg"></div><div class="video-label">Regarder "Webpush notification What? Why? How?"</div></a></div>
<div class="title" id="Hypothesis: testez moins mais tester mieux en vous concentrant sur les propriétés">Hypothesis: testez moins mais tester mieux en vous concentrant sur les propriétés</div>
<div class="description">Nous voudrions tous avoir à notre disposition les ressources pour tester notre code en profondeur, mais l'écriture des tests n'est souvent pas une tâche aisée et obtenir une bonne couverture est un processus chronophage. Les tests basés sur les propriétés ont pour objectif de proposer une solution à ce problème. Popularisé par la bibliothèque la Quickcheck (Haskell), ce concept est aujourd'hui adapté en Python à l'aide de Hypothesis.
Avec Hypothesis, au lieu de vous concentrer sur l'écriture de tests individuels, vous décrivez des propriétés garanties par votre code et Hypothesis générera à votre place les tests correspondants à ces spécifications. Par conséquent, l'utilisation de cette bibliothèque permet dans une certaine mesure d'automatiser l'écriture de tests répétitifs et élimine de nombreuses erreurs potentielles. Hypothesis générera plus de tests que ceux que vous auriez générés manuellement, ce qui doit permettre de démasquer plus d'erreurs.
Cette présentation a pour objectif de vous introduire au concept des tests basés sur les propriétés ainsi qu'à l'utilisation de la bibliothèque Hypothesis et de ses plugins pour Numpy ou Django.
<br /><a href="https://www.pycon.fr/2016/videos/hypothesis-testez-moins-mais-tester-mieux-en-vous-concentrant-sur-les-proprietes.html"><div class="video-thumbnail"><img src="https://www.pycon.fr/2016/videos/content/S1FlZwYJl/thumbnail.jpg"></div><div class="video-label">Regarder "Hypothesis: testez moins mais tester mieux en vous concentrant sur les propriétés"</div></a></div>
<div class="title" id="Application en Python de modèles physiologiques des muscles humains">Application en Python de modèles physiologiques des muscles humains</div>
<div class="description">Notre équipe du laboratoire "BioMecanique et BioIngenierie" de l’Université de Technologie de Compiègne travaille sur l’analyse et la compréhension de l’activité musculaire. Actuellement, nous développons des modèles multi-échelles et multi-physiques des muscles afin de simuler les électromyogrammes. Notre travail s’applique à deux types de muscle : l’utérus et les muscles squelettiques. Depuis cinq ans, tous les logiciels liés à la modélisation sont codés en Python : interfaces graphiques pour gérer les simulations, résolution des équations des modèles et également la visualisation des résultats. Nous proposons de présenter notre approche et notre utilisation de Python comme un outil multiple pour résoudre les nombreuses problématiques rencontrées avec la complexité des modèles physiologiques d’organe humain. Pour illustrer cela, nous décrirons un logiciel qui a été entièrement développé dans notre laboratoire dont une partie a été mis en open source. Python a déjà prouvé son utilité pour les scientifiques, il permet une implémentation rapide de nos modèles et également un développement simple d’interfaces utilisateurs permettant l’utilisation des modèles à un public plus large ; non programmeur où non spécialiste en modélisation.
Note de l'équipe d'organisation : captation vidéo non autorisée par l'intervenant.e.
</div>
<div class="title" id="PyRat - Un jeu pour l'apprentissage de l'informatique en Python">PyRat - Un jeu pour l'apprentissage de l'informatique en Python</div>
<div class="description">PyRat est un cours de programmation/algorithmique/théorie des graphes donné à Télécom Bretagne Brest depuis l'an dernier. Le cours se base sur un jeu vidéo, sous la forme d'un labyrinthe dans lequel des bouts de fromage sont disposés. Dans ce labyrinthe, il y a aussi deux pions (un par joueur). Ces pions sont contrôlés par des programmes Python simples écrits par les étudiants.
Un des intérêts du logiciel est qu'il permet d'étudier d'une part la théorie des graphes et les algorithmes associés (notions de graphe, de parcours, de plus court chemin, voyageur de commerce...) mais aussi de directement mettre en application les concepts vus en cours, en programmant en Python des petits programmes pour atteindre divers objectifs de difficulté croissante :
* Aller chercher un unique bout de fromage via le plus court chemin ou non;
* Ajout de boue dans le labyrinthe pour étudier les graphes pondérés;
* Algorithmes NP-complets pour aller chercher plusieurs bouts de fromage;
* Algorithmes approchés pour atteindre le même objectif;
* etc.
L'an dernier, nous avons terminé le cours par un tournoi dans lequel les diverses IAs des étudiants se sont affrontées, l'objectif étant de ramasser plus de bouts de fromage que l'adversaire.
L'objectif de cette présentation est de vous présenter le logiciel PyRat, pour donner des idées à des enseignants désireux d'enseigner Python et la théorie des graphes de manière ludique !
<br /><a href="https://www.pycon.fr/2016/videos/pyrat-un-jeu-pour-lapprentissage-de-linformatique-en-python.html"><div class="video-thumbnail"><img src="https://www.pycon.fr/2016/videos/content/S1hPDkaJl/thumbnail.jpg"></div><div class="video-label">Regarder "PyRat - Un jeu pour l'apprentissage de l'informatique en Python"</div></a></div>
<div class="title" id="Modélisation, inférence et apprentissage de Réseaux Bayésien avec pyAgrum">Modélisation, inférence et apprentissage de Réseaux Bayésien avec pyAgrum</div>
<div class="description">pyAgrum est un module de gestion et de calcul de modèles graphiques, en
particulier probabilistes. Lors de cette présentation, nous ferons le tour des
fonctionnalités proposées par pyAgrum pour l'utilisation de réseaux bayésiens.
À l’aide de Python Notebooks, nous monterons en live comment exploiter pyAgrum
et les réseaux bayésiens pour l’aide à la décision, la maîtrise du risque ou
encore pour l’enseignement. La modélisation sera abordée avec un accent sur
les différentes structures de données utilisées pour représenter les tables
multidimensionnelle. À l’aide des algorithmes d’inférence probabiliste, nous
montrerons comment réaliser de l’analyse de sensibilité. Finalement, nous
montrerons comment utiliser pyAgrum pour de l’apprentissage de structure et de
paramètres de réseaux bayésiens. pyAgrum est essentiellement un wrapper de la
librairie C++ aGrUM, qui implémente des modèles graphiques pour l’aide à la
décision; ce qui offre à pyAgrum des performances élevées pour tous ses
algorithmes d’inférence et d'apprentissage.
http://pyagrum.lip6.fr
<br /><a href="https://www.pycon.fr/2016/videos/modelisation-inference-et-apprentissage-de-reseaux-bayesien-avec-pyagrum.html"><div class="video-thumbnail"><img src="https://www.pycon.fr/2016/videos/content/ryHA_yrJe/thumbnail.jpg"></div><div class="video-label">Regarder "Modélisation, inférence et apprentissage de Réseaux Bayésien avec pyAgrum"</div></a></div>
<div class="title" id="Commande prédictive avec Python. Application au pilotage optimal du chauffage d’un bâtiment.">Commande prédictive avec Python. Application au pilotage optimal du chauffage d’un bâtiment.</div>
<div class="description">Contexte : l’automatique est la branche des sciences de l’ingénieur qui s’intéresse au pilotage automatisé des systèmes, par exemple la régulation de vitesse d’une voiture ou de la température d’une pièce. En automatique, les développements d’algorithmes se font très souvent dans l’environnement commercial Matlab/Simulink, tant en enseignement qu’en recherche. Cependant, beaucoup des briques de base pour travailler sur des algorithmes d’automatique existent en Python. Cet exposé est une introduction à une méthode très puissante et très usitée, la commande prédictive, en Python. Également connue sous acronyme anglais MPC (Model Predictive Control), cette méthode permet de commander des systèmes complexes à l’aide de méthodes d’optimisation. Nous utiliserons l’exemple du pilotage optimal du chauffage d’un bâtiment de façon à minimiser la consommation d’énergie. Nous décrirons les principales étapes de la mise en œuvre de la commande en Python (un notebook Jupyter détaillé sera mis en ligne). Nous présenterons les principales bibliothèques utilisées (e.g. numpy), et plus particulièrement les routines d’optimisation de cxvopt (http://cvxopt.org/). Perspectives : un des intérêts d’utiliser Python et des bibliothèques libres est de permettre d’embarquer facilement l’algorithme créé sur une plateforme du type Raspberry Pi. Ainsi, l’exemple présenté du pilotage d’un chauffage pourrait être intégré dans des plateformes de domotique ouvertes.</div>
<div class="title" id="python pour le text mining (fouille de texte)">python pour le text mining (fouille de texte)</div>
<div class="description">cityzenmap.com est une carte qui nous permet de visualiser et de suivre l’avancement des projets d'aménagement sur toute la France, développée en python, l'application a remporté le prix national Dataconnexions dans la catégorie "Impact administratif & territorial".
L'application peut en se basant sur des techniques d'apprentissage automatique et de fouille de texte et de manière automatique détecter les projets d'aménagent depuis des bases de données d’appel d'offre.
Ma présentation sera un retour d'expérience sur comment on utilise python à Jurismarchés pour faire du texte mining (fouille de texte), comme exemples nous avons choisis CityZenMap.
Durant la présentation nous allons commencer par introduire des notions de datamining (fouille de données) et de fouille de textes, puis des exemples d'implémentation en python de modèles de fouilles de texte (en utilisant la librairie Scikit-learn), nous présenterons aussi l'implémentation du modèle utilisé dans CityZenMap pour analyser les annonces afin de détecter les projets d’aménagement.
<!--<br /><a href="https://www.pycon.fr/2016/videos/python-pour-le-text-mining-fouille-de-texte.html"><div class="video-thumbnail"><img src="https://www.pycon.fr/2016/videos/content/SyDd3yBJl/thumbnail.jpg"></div><div class="video-label">Regarder "Python pour le text mining (fouille de texte)"</div></a>-->
</div>
<div class="title" id="À la découverte du bytecode CPython !">À la découverte du bytecode CPython !</div>
<div class="description">Le bytecode est au cœur de l'interpréteur CPython. Toutefois du point du vu de l'utilisateur il se limite à l'apparition (horripilante ?) de fichiers ".pyc" une fois un code exécuté.
Dans cette présentation, nous partirons à l'aventure au cœur de la machine virtuelle CPython
pour découvrir ce qui l'anime tout en répondant à des questions existentielles comme :
- d'où viennent et à quoi servent les fameux fichiers .pyc
- à quoi ressemble le bytecode et quels sont ses instructions les plus courantes
- comment le désassembler grâce au module `dis`
- comment tout cela fonctionne-t-il au sein du système de piles et de frames de la machine virtuelle CPython
- et bien sûr à quoi tout cela peut-il bien servir dans la vrai vie ;-)
<br /><a href="https://www.pycon.fr/2016/videos/a-la-decouverte-du-bytecode-cpython.html"><div class="video-thumbnail"><img src="https://www.pycon.fr/2016/videos/content/ryeCfHByl/thumbnail.jpg"></div><div class="video-label">Regarder "À la découverte du bytecode CPython !"</div></a></div>
<div class="title" id="Interopérabilité Python/C++ pour la motion capture et l'animation faciale">Interopérabilité Python/C++ pour la motion capture et l'animation faciale</div>
<div class="description">Notre compagnie, "Dynamixyz", développe des logiciels pour les studios de
production de films, de jeux vidéos et d'effets spéciaux. Nous nous spécialisons
dans la "motion capture" faciale: capter avec précision les mouvements d'acteurs
réels sur des vidéos et transférer ces mouvements afin d'animer les visages de
personnages virtuels.
Sous le capot, on retrouve un mélange de techniques de traitement d'image, de
vision par ordinateur, d'image de synthèse et de maths. Essentiellement des
maths.
Dans ce petit monde là, en général, le C++ règne en maître. Éxécuter des
algorithmes mathématiques de traitement et d'optimisation sur des données tels
que des maillages 3D et des séquences d'images requiert en effet un maximum
d'efficacité dans les calculs et de la maitrise des ressources hardware
utilisées (Mémoire, CPU).
Notre bon C++ traine toutefois son lot d'inconvénients: verbeux, compilé et peu
flexible, son utilisation limite la vitesse de développement et d'exploration
de nouveaux algorithmes, sans parler des nombreux pièges dans lesquels tout
dévloppeur C++, même expérimenté, est sûr de tomber.
Si le C++ reste indispensable à certain endroits critiques de nos algorithmes,
Python est un bien meilleur outil pour explorer, combiner, organiser, tester et
débugger nos algorithmes.
A l'usage, nous avons convergé vers des pratiques de développement où nous
allions Python et C++ pour profiter du meilleur des deux mondes: rapidité et
déterminisme du C++ pour les coeurs de calculs, flexibilité et richesse
syntaxique du Python pour la conception et l'organisation haut-niveau des
programmes.
C'est avec plaisir et enthousiasme que nous partagerions nos pratiques
d'interopérabilité entre Python et C++, ses avantages et limitations,
et illustrer ces propos par des exemples concrets et des jolies images issues
de certains de nos projets.
Demo reel de Dynamixyz: https://youtu.be/1WSneAhR5oA
Note de l'équipe d'organisation : captation vidéo non autorisée par l'intervenant.e.
<!--<br /><a href="https://www.pycon.fr/2016/videos/interoperabilite-python-c-pour-la-motion-capture-et-lanimation-faciale.html"><div class="video-thumbnail"><img src="https://www.pycon.fr/2016/videos/content/SySr-xr1e/thumbnail.jpg"></div><div class="video-label">Regarder "Interopérabilité Python/C++ pour la motion capture et l'animation faciale"</div></a>-->
</div>
<div class="title" id="Recette pour faire venir PyConFr dans ta ville">Recette pour faire venir PyConFr dans ta ville</div>
<div class="description">Organiser une conférence sur Python peut paraître bien difficile. Nous ne cacherons pas que c'est un évènement qui nécessite du travail, mais ce ne doit pas effrayer de futurs candidats.
Dans cet exposé, nous essaierons de présenter quelles sont les tâches à réaliser pour organiser une bonne PyConFr mais aussi les difficultés qu'on a pu rencontrer au cours des trois dernières années, les atouts et aussi les bonnes idées.
Tout ça pour commencer à poser les pierres de PyConFr 2017 ?
<br /><a href="https://monod.lelab.tailordev.fr/a2b867ad-b692-4a63-9927-64508a2b2cc0#zaqAjiBw4SSzS0nIlovD2ilBIpqSOAf425zSs2zUpUk=">Support de présentation</a>
<!--<br /><a href="https://www.pycon.fr/2016/videos/recette-pour-faire-venir-pyconfr-dans-ta-ville.html"><div class="video-thumbnail"><img src="https://www.pycon.fr/2016/videos/content/H1b5kJayl/thumbnail.jpg"></div><div class="video-label">Regarder "Recette pour faire venir PyConFr dans ta ville"</div></a>-->
</div>
<div class="title" id="Python et secondes intercalaires">Python et secondes intercalaires</div>
<div class="description">Les secondes intercalaires peuvent poser 2 types de problèmes en informatique : elles peuvent faire planter nos codes lors de l'interprétation du date mais elles peuvent aussi induire des erreurs de calcul ou d'enregistrement si la librairie de temps ne les gère pas.
Qu'en est-il en Python ?
Après un rappel sur ce que sont ces secondes intercalaires, je vous propose de regarder comment gérer l'arrivée d'une date, en comportant une, dans vos codes, puis de regarder ce qu'il est faisable pour assurer la validité de vos calculs et enregistrer ces dates dans quelques formats de fichier.
Note de l'équipe d'organisation : captation vidéo non autorisée par l'intervenant.e.</div>
<div class="title" id="Découverte de Django">Découverte de Django</div>
<div class="description">Django est un framework web écrit en Python largement utilisé dans cette communauté. Utilisant le modèle MVT, modèles, vues, templates, il contient tous les outils nécessaire au développement d'une application web, tant de petite que de grosse envergure.
Django nous fournit une palette importante d'outils supplémentaires nous permettant la résolution de problèmes courant tel que l'administration (backoffice), la gestion d'utilisateurs, la traduction ou encore la gestion des sessions. L'écosystème se met à jour sur les besoins du web, django rest-framework et django-pytest en sont deux illustrations.
La communauté, très ouverte et motrice de changements, est présente tout au long de l'élaboration de votre projet pour vous aider !
Au cours de cette présentation, nous allons présenter Django, ses concepts, le cadre de travail qu'il propose, autour d'un exemple d'écriture d'une application web. Nous parlerons également de sa communauté accueillante et des ressources annexes.</div>
<div class="title" id="Machine Learning Python libraries: accuracy and performance">Machine Learning Python libraries: accuracy and performance</div>
<div class="description">la présentation contiendra une analyse de la précision et des performances des algorithme de machine learning implémentés par des librairies python tels que scikit-learn, pandas, numpy...
Je présenterai les différents algos d'un point de vue mathématique puis les implémentations python. On discutera les limites de ces implémentation après expositions des résultats sur les perf puis on proposera des pistes d'amélioration. l'aspect intégration python au plateforme big data tel que Spark sera également présent.
<!--<br /><a href="https://www.pycon.fr/2016/videos/machine-learning-python-libraries-accuracy-and-performance.html"><div class="video-thumbnail"><img src="https://www.pycon.fr/2016/videos/content/SJAWv1rkx/thumbnail.jpg"></div><div class="video-label">Regarder "Machine Learning Python libraries: accuracy and performance"</div></a>--></div>
<div class="title" id="Écrire des tests en Python">Écrire des tests en Python</div><div class="description">Aujourd'hui les tests sont devenus incontournables, encore faut-il connaître les bonnes pratiques. Cet atelier vous offrira un tour d'horizon des différents types de test, niveaux de test, techniques et outils.</div>
<br /><a href="https://gitpitch.com/Lothiraldan/python-test-101-pyconfr/master?grs=github&t=sky">Support de présentation</a></div>
<div class="title" id="Premiers pas pour assurer la qualité de vos applications">Premiers pas pour assurer la qualité de vos applications</div>
<div class="description">En tant que développeur·se·s, nous sommes constamment à la chasse aux bugs, à la recherche du bon fonctionnement de notre application, en tout cas, c'est ce qu'il faut pour satisfaire nos utilisat·eurs·rices (qui sont parfois nos client·e·s).
L'écosystème Python offre tous les outils pour automatiser la vérification que notre code est correcte ou que notre application fonctionne correctement.
Nous allons donc voir comment mettre en place ces premières vérifications autour de la qualité du code et de la validation par les tests, en allant jusqu'à l'intégration continue.
<br /><a href="https://static.hashbang.fr/20161016_qualit%C3%A9/#1">Support de présentation</a></div>
<div class="title" id="Python, un langage à la noix pour la programation fonctionelle ? Essayez coconut !">Python, un langage à la noix pour la programation fonctionelle ? Essayez coconut !</div>
<div class="description">Présentation du langage de programmation Coconut pour une utilisation orientée scripting/sysadmin/ops.
Coconut est une variante de Python conçue pour faire de la programmation
fonctionnelle Pythonique simple et élégante.
Certaines fonctionnalités du langage, comme les unix pipes et l'évaluation paresseuse son très intuitives pour ceux qui ont fait du shell avant, ce qui permets de s'adapter rapidement au langage.
C'est un langage qui est rapide à prendre en main pour ceux qui ont déjà fait du scripting, pour les administrateurs de système et les équipes opérations sur des plateformes unix.
Plusieurs idiomes issus de la programmation fonctionnelle sont intégrés directement dans le langage en ayant gardé une forme de compatibilité avec Python, ce qui permet de continuer à utiliser tout l'écosystème Python pour une bonne facilité d'utilisation et intégration simple avec des projets existants.
Coconut s'installe comme un paquet python normal, ce qui rend son déploiement très commode.
<br /><a href="https://www.pycon.fr/2016/videos/python-un-langage-a-la-noix-pour-la-programation-fonctionelle-essayez-coconut.html"><div class="video-thumbnail"><img src="https://www.pycon.fr/2016/videos/content/SynnT8K1e/thumbnail.jpg"></div><div class="video-label">Regarder "Python, un langage à la noix pour la programation fonctionelle ? Essayez coconut !"</div></a></div>
<div class="title" id="asynctest: testez plus facilement votre code asyncio">asynctest: testez plus facilement votre code asyncio</div>
<div class="description">asynctest est une bibliothèque qui étend les fonctionnalités du module standard de python unittest pour supporter asyncio. Cette conférence a pour objectif de présenter asynctest et de discuter de pratiques autour de l'écriture de tests.
On discutera de l'art de tester en partant de zéro : comment écrire et exécuter des cas de tests, les organiser (fichiers, classes et méthodes) dans un dépôt de sources. On verra quelques fonctionnalités peu connues mais pratiques du module unittest, puis on verra comment asynctest simplifie l'écriture des tests pour asyncio en permettant le mocking automatique de coroutines, la simulation d'une boucle ou de son horloge.
Les développeurs qui n'utilisent pas asyncio sont bienvenus, car de nombreux conseils peuvent s'appliquer au module unittest.
<br /><a href="https://www.pycon.fr/2016/videos/asynctest-testez-plus-facilement-votre-code-asyncio.html"><div class="video-thumbnail"><img src="https://www.pycon.fr/2016/videos/content/SycpYA2kl/thumbnail.jpg"></div><div class="video-label">Regarder "asynctest: testez plus facilement votre code asyncio"</div></a></div>
<div class="title" id="Créer une API publique avec Django Rest Framework">Créer une API publique avec Django Rest Framework</div>
<div class="description">Lors de la contruction de la plateforme de monitoring Bleemeo, nous avons fait le choix d'une API REST utilisée à la fois par notre interface web et nos clients et un frontal full JavaScript. Notre backend a été développé en Django avec Django REST Framework et le frontal en ReactJS.
Los de cette conférence, nous souhaitons partager notre retour d'expérience après plus d'un an de développement et de problématiques rencontrées pour mettre en place cette architecture. Nous reviendrons entre autre sur la gestion des permissions, les bonnes configurations à mettre en place pour une API publique et sur les performances.</div>
<div class="title" id="Topic Modelling with Python and Gensim">Topic Modelling with Python and Gensim</div>
<div class="description">Topic Modelling is an information retrieval technique to identify key topics in a large corpus of text documents. It is a very handy technique to model unstructured textual data, and is used heavily in both industry and in research to both understand trends in textual data and analyse new documents via their topics.
Gensim is an open-source python NLP framework which provides an API to do robust, industry-grade Topic Modelling which is memory independent and super fast, while being very simple to use.
The best part of gensim and python for Topic Modelling is it’s ease of usage and effectiveness. I would propose a small talk to explain how to effectively do topic modelling in python using Gensim framework- especially - after identifying topics from a large dataset, and then leveraging to perform un-supervised clustering, colouring topic-words in a document, and better understanding textual data for subsequent usage. All of this will be supported with examples from research and industry.
[ My relationship with Gensim is through the Google Summer of Code 2016 program, where I am implementing Dynamic Topic Models for them ]
<br /><a href="https://www.pycon.fr/2016/videos/topic-modelling-with-python-and-gensim.html"><div class="video-thumbnail"><img src="https://www.pycon.fr/2016/videos/content/r19ZYySke/thumbnail.jpg"></div><div class="video-label">Regarder "Topic Modelling with Python and Gensim"</div></a>
</div>
<div class="title" id="Qt et Asyncio avec Quamash">Qt et Asyncio avec Quamash</div>
<div class="description">Asyncio est un modèle asynchrone générique basé sur des event-loop. Il permet de s’interfacer avec n’importe quelle autre librairie proposant un mécanisme d’event-loop.
Dans cette présentation, on découvrira le potentiel de asyncio via la librairie Quamash (https://github.com/harvimt/quamash).
Quamash est une petite librairie développée par Mark Harviston et Arve Knudsen. Elle permet d'utiliser les mots clés "async" et "await" dans des applications Qt, mettant alors fin au Callback Hell des signaux/slots ! L’intégration de la boucle d’évènement Qt dans asyncio permet aussi d’utiliser toutes les autres librairies Asyncio dans Qt, telle que aiohttp.
On découvrira ensemble les possibilités de cette librairie. On commencera par une utilisation basique, puis on analysera quelques décorateurs utiles pour se simplifier la vie dans l'usage de Quamash. On mélangera ensuite Qt, asyncio, et aiohttp. Enfin, on regardera comment développer des tests fonctionnels basés sur QTest et Asyncio. Le tout agrémenté de questions/réponses...
<br /><a href="https://www.pycon.fr/2016/videos/qt-et-asyncio-avec-quamash.html"><div class="video-thumbnail"><img src="https://www.pycon.fr/2016/videos/content/rJLoIy61e/thumbnail.jpg"></div><div class="video-label">Regarder "Qt et Asyncio avec Quamash"</div></a></div>
<div class="title" id="Python, c'est rapide, ou c'est lent ?">Python, c'est rapide, ou c'est lent ?</div>
<div class="description">Dans l'inconscient collectif des développeurs, en particulier des Pythonistes, Python est considéré comme étant très lent, micro-benchmarks à l'appui.
Le but de cette conférence est de montrer que la réponse n'est pas aussi binaire qu'aimerait croire les développeurs. Outre l'architecture des solutions avant le langage, il y a également d'autres paramètres économiques qui rentrent en jeu, que ce soit par exemple le temps/coût de développement ou de maintenance.
De plus, cette conférence sera également l'opportunité de lister ce qui à disposition dans la boîte à outils de Python pour faire face aux problèmes de performances.
<!--<br /><a href="https://www.pycon.fr/2016/videos/python-cest-rapide-ou-cest-lent.html"><div class="video-thumbnail"><img src="https://www.pycon.fr/2016/videos/content/ryZyPyakx/thumbnail.jpg"></div><div class="video-label">Regarder "Python, c'est rapide, ou c'est lent ?"</div></a>-->
</div>
<div class="title" id="Python 3.6: utilisation des f-strings (PEP 498)">Python 3.6: utilisation des f-strings (PEP 498)</div>
<div class="description">Il est prévu que la version stable de Python 3.6 inclue les f-strings définies dans PEP 498 (elles sont présentes dans les versions non-définitives de Python 3.6 depuis alpha 1). Les f-strings sont la quatrième forme de "mise en forme composite" (string interpolation) après %-format, str.format(), et string.Template.
Cette nouvelle façon de construire des chaînes améliore souvent la lisibilité du code. Je propose de passer en revue ce que sont les f-strings, leurs particularités et certains détails de leur implémentation dans CPython.
<br /><a href="https://www.pycon.fr/2016/videos/python-3-6-utilisation-des-f-strings-pep-498.html"><div class="video-thumbnail"><img src="https://www.pycon.fr/2016/videos/content/H1s_uNrkl/thumbnail.jpg"></div><div class="video-label">Regarder "Python 3.6: utilisation des f-strings (PEP 498)"</div></a></div>
<div class="title" id="L'Enfer du packaging Python">L'Enfer du packaging Python</div>
<div class="description">Scaleway est un fournisseur de cloud computing qui expose plusieurs APIs pour permette aux clients de gérer leurs infrastructures.
La plupart de la stack de Scaleway est en Python : APIs, workers qui managent le hardware, gestion de la facturation, divers scripts, ...
Tous ces projets ont besoin d'être développés, testés et déployés. Le packaging Python fait donc partie intégrante du quotidien de la team Scaleway. Et pourtant, de nombreux problèmes ont été rencontrés :
* dépendances cycliques mal gérées par setuptools
* easy_install qui ne fonctionne pas (et ne devrait pas être utilisé)
* pip install -e : ne fonctionne pas (toujours) avec les namespace packages
* dependency links : supprimé puis réintroduit bien que deprecated, et pourtant souvent bien pratique
* pyshop : permet d'avoir un repository local. Ne respecte pas la PEP 503, ne permet pas de gérer les permissions, backend sqlite bancal
* devpi : fonctionne très bien, mais usine à gaz (documentation austère et complexe)
* virtualenv : --relocatable qui ne fonctionne pas, rendant plus complexe les déploiements
<br /><a href="https://www.pycon.fr/2016/videos/lenfer-du-packaging-python.html"><div class="video-thumbnail"><img src="https://www.pycon.fr/2016/videos/content/B14wSSryl/thumbnail.jpg"></div><div class="video-label">Regarder "L'Enfer du packaging Python"</div></a></div>
<div class="title" id="How Python influences JavaScript">How Python influences JavaScript</div><div class="description">Modern JavaScript offers several key features that have been heavily influenced
by Python: iteration protocols, generators and decorators. We'll review these typically
pythonic mechanisms and see how they're applied to JavaScript.</div>
<div class="title" id="Packaging Python Wheel et Devpi">Packaging Python Wheel et Devpi</div><div class="description">Afin d'aider la communauté à gérer proprement ses packages, la PSF, à travers la PEP427, à instauré en 2012/2013 le format de packaging Wheel.
La particularité de ce format tient dans le fait qu'il s'agit, en résumant sommairement, de dézipper directement dans le dossier "site-package" la version du package correspondant à la distribution utilisée. Ainsi plus de soucis de compilation possible.
Cette présentation vise à présenter ce nouveau format, et par extension, à introduire l'installation et l'utilisation basique de Devpi.
Cet outil permet de disposer en interne d'un serveur similaire à Pypi. Il permet ainsi de gérer ses propres paquets Python correctement et d'y avoir accès aisément via pip.
L'association du format wheel et de Devpi permet ainsi de standardiser la gestion de paquets Python, quels qu'ils soient.
<br /><a href="https://www.pycon.fr/2016/videos/packaging-python-wheel-and-devpy.html"><div class="video-thumbnail"><img src="https://www.pycon.fr/2016/videos/content/S1G7rHHJl/thumbnail.jpg"></div><div class="video-label">Regarder "Packaging Python : Wheel and Devpi"</div></a></div>
<div class="title" id="Pyduino : portage du langage Arduino en Python">Pyduino : portage du langage Arduino en Python</div>
<div class="description">Présentation de la librairie Pyduino que j'ai écrite en Python qui permet le portage du langage Arduino sur mini-PC.
En clair, avec Pyduino, coder un mini-pc aussi facilement qu'une carte Arduino et dans un même code, combiner entrées/sortie, réseau, fichiers, capture audio, etc.
<br /><a href="https://www.pycon.fr/2016/videos/pyduino-portage-du-langage-arduino-en-python.html"><div class="video-thumbnail"><img src="https://www.pycon.fr/2016/videos/content/r1UGf-Hyl/thumbnail.jpg"></div><div class="video-label">Regarder "Pyduino : portage du langage Arduino en Python"</div></a></div>
<div class="title" id="Informatique musicale : créer un séquenceur pas-à-pas avec Python">Informatique musicale : créer un séquenceur pas-à-pas avec Python</div>
<div class="description">Aujourd’hui, que ce soit via « Maschine » de Native Instruments, « Push » de Ableton, ou encore via des machines à l’esprit plus vintage comme le « Dark Time » de Doepfer ou des émulations de vieilles boites à rythmes, les musiciens retrouvent le goût du séquencement pas à pas ou « Step Sequencing ».
Le bidouilleur que je suis avait envie de détourner son matériel pour reproduire ce type d’outil de création…
Après une introduction au MIDI et aux principes d’un séquenceur, nous verrons comment nous pouvons, avec Python et la librairie mido, « hacker » un certain synthétiseur hardware pour en faire un séquenceur pas à pas, à l’aide d’une boucle d’événements. Nous essaierons même de l’interfacer avec Ableton Live pour contrôler non plus les sons du synthétiseur, mais des samples !
Disclaimer : bien que pratiquant la M.A.O depuis longtemps, je ne suis pas expert en séquenceurs mais plutôt bidouilleur et pythoniste… Ainsi je laisserai une bonne place aux échanges avec vous pendant l’intervention !
<br /><a href="https://speakerdeck.com/ygravrand/informatique-musicale-creer-un-sequenceur-pas-a-pas-avec-python">Support de présentation</a>
<br /><a href="https://www.pycon.fr/2016/videos/informatique-musicale-creer-un-sequenceur-pas-a-pas-avec-python.html"><div class="video-thumbnail"><img src="https://www.pycon.fr/2016/videos/content/HJ6gQlS1g/thumbnail.jpg"></div><div class="video-label">Regarder "Informatique musicale : créer un séquenceur pas-à-pas avec Python"</div></a></div>
<div class="title" id="Les dessous du portage d'Ansible à Python 3">Les dessous du portage d'Ansible à Python 3</div>
<div class="description">Ansible est un outil de déploiement d'un genre un peu spécial, qui fonctionne sans avoir besoin d'un agent sur la machine distante. Pour cela, il copie
directement des bouts de code python en vue de les exécuter sur la machine distante. Bien qu'étant plus simple pour l'utilisateur, ceci pose un problème de taille, faire tourner le code indépendamment de la version de python distante. Pire encore, comme l'outil se destine à des serveurs en tout genre, la version de python va de 2.4 (pour RHEL 5) à du python 3.5 pour les systèmes les plus récents. Et le code doit marcher directement sur tout ça.
Nous verrons dans cette présentation la façon dont la communauté Ansible va résoudre le souci, les différentes constructions permettant du code parfois moins idiomatique mais portable, et l'utilisation de python-six pour faciliter le portage.
Note de l'équipe d'organisation : captation vidéo non autorisée par l'intervenant.</div>
<div class="title" id="Manipulating and analysing multi-dimensional data with Pandas">Manipulating and analysing multi-dimensional data with Pandas</div>
<div class="description">This talk will be based on open source data manipulation and analysis python library - Pandas. It will mainly focus on exploring the most commonly used features of the library like - integrated indexing using DataFrame objects, slicing and subsetting of large data sets, merging, joining and size mutability of data structures, hierarchical axis indexing to work with high-dimensional data in a lower-dimensional data, flexible reshaping and pivoting of data sets etc.
Basically, this talk will give you an overview of the most useful features of this library.
<!-- <br /><a href="https://www.pycon.fr/2016/videos/manipulating-and-analysing-multi-dimensional-data-with-pandas.html"><div class="video-thumbnail"><img src="https://www.pycon.fr/2016/videos/content/ByPUdJHyl/thumbnail.jpg"></div><div class="video-label">Regarder "Manipulating and analysing multi-dimensional data with Pandas"</div></a>-->
</div>
<div class="title" id="Une chaine de production de 3D temps-réel en Python">Une chaine de production de 3D temps-réel en Python</div>
<div class="description">A travers +15 ans d'expérience dans la réalisation de jeux vidéos pour consoles et PC et de simulateurs 3D nous avons progressivement développé une compétence et un savoir faire que nous souhaitons aujourd'hui partager. Si la 3D temps-réel nécessite un socle C++ performant, nous considérons que le Python est parfaitement adapté au développement itératif d'applications métier utilisant la 3D.
Notre proposition de conférence porte sur deux thèmes complémentaires :
1/ Les avantages du Python dans le développement rapide d'applications métiers utilisant la 3D temps réel (simulateur, application VR et jeu vidéo)
2/ les défis rencontrés et solutions développées dans la création d'un framework complet de 3D temps réel (OpenGL, physique, VR, audio, vidéo, Windows, OS X et Linux) accessible depuis Python 3 sous la forme d'un simple module. Le framework ainsi développé étant la pierre angulaire des applications métiers mentionnées au dessus.
Items techniques pouvant être abordés : Python, PyQt, Bullet Physics, binding C++/Python, workflow de production 3D, visualisation scientifique.
<br /><a href="https://www.pycon.fr/2016/videos/une-chaine-de-production-de-3d-temps-reel-en-python.html"><div class="video-thumbnail"><img src="https://www.pycon.fr/2016/videos/content/ry7hblHkg/thumbnail.jpg"></div><div class="video-label">Regarder "Une chaine de production de 3D temps-réel en Python"</div></a></div>
<div class="title" id="Au secours, on n'a pas de projet Python dans ma boîte">Au secours, on n'a pas de projet Python dans ma boîte</div>
<div class="description">Pourquoi apprendrais-je le Python alors qu'on ne developpe pas avec dans ma boîte ?
Un programme n'est pas forcément destiné à être livré à un client. L'essence de la programmation est de permettre à ceux qui la maîtrise d'automatiser des tâches pénibles.
Cette présentation donnera quelques exemples d'utilisation de Python pour simplifier notre vie de bureau. Nous verrons également ce que l'automatisation peut révéler sur nos organisations.
<br /><a href="https://www.pycon.fr/2016/videos/au-secours-on-na-pas-de-projet-python-dans-ma-boite.html"><div class="video-thumbnail"><img src="https://www.pycon.fr/2016/videos/content/Hk2ryyaJx/thumbnail.jpg"></div><div class="video-label">Regarder "Au secours, on n'a pas de projet Python dans ma boîte"</div></a></div>
<div class="title" id="Pourquoi, mais pourquoi, async et await ont été inclu dans Python 3.5 ?">Pourquoi, mais pourquoi, async et await ont été inclu dans Python 3.5 ?</div>
<div class="description">Avec quelques exemples du monde réel, je vais vous expliquer l'intérêt du modèle asynchrone et quand il est intéressant de l'utiliser. De plus, je vais vous montrer pourquoi l'inclusion de async / await + AsyncIO dans le cœur de Python est un choix judicieux, d'un point de vue technique et politique. Enfin, je vais vous présenter quelques bibliothèques dans la boîte à outils d'AsyncIO.<br /><a href="https://www.pycon.fr/2016/videos/pourquoi-mais-pourquoi-async-et-await-ont-ete-inclu-dans-python-3-5.html"><div class="video-thumbnail"><img src="https://www.pycon.fr/2016/videos/content/SkTQ8yTkg/thumbnail.jpg"></div><div class="video-label">Regarder "Pourquoi, mais pourquoi, async et await ont été inclu dans Python 3.5 ?"</div></a></div>
<div class="title" id="Des nouvelles du Front !">Des nouvelles du Front !</div>
<div class="description">Pouvons-nous imaginer un monde sans Javascript dans notre navigateur ? Allons plus loin, pouvons-nous imaginer un monde avec la puissance et la facilité de Python dans notre navigateur ?
Après s'être imposé sur la partie Backend avec des technologies comme Flask et Django, est-ce que Python peut désormais devenir le langage du Frontend ?
Dans cette conférence, nous allons faire le point sur les solutions actuelles pour coder les applications et les sites web en Python (Brython, Rapydscript, Pyjs, PyPy.js, Web Assembly...).
<br /><a href="https://www.pycon.fr/2016/videos/des-nouvelles-du-front.html"><div class="video-thumbnail"><img src="https://www.pycon.fr/2016/videos/content/B1wLdBBkg/thumbnail.jpg"></div><div class="video-label">Regarder "Des nouvelles du Front !"</div></a></div>
<div class="title" id="Autentification et autorisation avec Django REST framework">Autentification et autorisation avec Django REST framework</div>
<div class="description">Django REST framework est une librairie populaire permettant de mettre en place des APIs rapidement.
Construite au dessus de Django et en reprenant de nombreux concepts.
Cette présentation se concentre sur les mécanismes d'autentification et d'autorisation avec Django REST framework.
Nous aborderons les spécificités par rapport aux applications web "classiques", en particulier les échanges entre systèmes d'informations.
Nous verrons également comment intégrer son propre système d'autentification et de permissions au sein de Django REST framework.
Enfin, nous ferons un tour des solutions existantes.
<br /><a href="https://www.pycon.fr/2016/videos/authentification-et-autorisation-avec-django-rest-framework.html"><div class="video-thumbnail"><img src="https://www.pycon.fr/2016/videos/content/HJY2P3wyx/thumbnail.jpg"></div><div class="video-label">Regarder "Authentification et autorisation avec Django REST framework"</div></a></div>
<div class="title" id="Test Tout Terrain (Python edition)">Test Tout Terrain (Python edition)</div>
<div class="description"># Tests Tout Terrain
Je fais des tests, mais:
- Stubs, mock, fake je suis un peu paumé...
- les tests unitaire, fonctionnels, techniques, de perfs, d'intégration c'est cher.
- ca met 40 plombes!
- Je débute, et franchement je ne sais pas par ou commencer.
- legacy!
def test_la_conf_TTT():
#Arrange
participants = genere_des_participants(2,100) #au moins 2 orgas!
#Act
participants.viens_a_la_conf_TTT()
#Assert
for participant in participants:
assert participant.a_appris_un_truc_sur_les_tests
<br /><a href="https://www.pycon.fr/2016/videos/test-tout-terrain-python-edition.html"><div class="video-thumbnail"><img src="https://www.pycon.fr/2016/videos/content/rJXf68Fkg/thumbnail.jpg"></div><div class="video-label">Regarder "Test Tout Terrain (Python edition)"</div></a></div>
<div class="title" id="Infrastucture moderne pour le développement en équipes">Infrastucture moderne pour le développement en équipes</div>
<div class="description">Présentation de l'environnement projets ("forge logicielle") mis en place à Net-ng pour le développement de nos projets Python. Cet environnement, entièrement revu en 2015, est exclusivement constitué de projets open-source et hébergé en local. Il est utilisé au quotidien par une vingtaine de développeurs.
Il intègre les outils de gestion de la relation clients en méthodologie Agile, le référentiel des sources, une intégration continue basée sur Docker, un PAAS Docker dédié pour le déploiement continu, un référentiel privé de packages Python et d'hébergement de la documentation. Il assure aussi la collaboration dans et entre nos équipes au travers d'une messagerie instantanée en mode "ChatOps" et de dashboards interactifs.
<br /><a href="https://www.pycon.fr/2016/videos/infrastucture-moderne-pour-le-developpement-en-equipes.html"><div class="video-thumbnail"><img src="https://www.pycon.fr/2016/videos/content/B1ho0C3Jl/thumbnail.jpg"></div><div class="video-label">Regarder "Infrastucture moderne pour le développement en équipes"</div></a></div>
<div class="title" id="La programmation asynchrone avec Python.">La programmation asynchrone avec Python.</div>
<div class="description">Coroutine, boucle d'événement, entrés sorties non-blocantes ...
Besoin de faire le tri ?
Depuis plusieurs années de plus en plus d'outils facilitent la programmation asynchrone. Un monde qui peut paraitre étrange dans lequel des serveurs gèrent des millier de connections simultanément sans utiliser de threads.
Cette présentation explique les différents concepts de la programmation asynchrone et l'évolution de celle-ci avec l'arrivée des nouveaux mots clé async et await dans python 3.5.
Nous verrons comment utiliser la librairie Asyncio, qui est à python ce que NodeJS est à JavaScript, puis nous découvrirons comment faire du web asynchrone grâce au framework Tornado et comment faire un pont entre Asyncio et Tornado.
<br /><a href="https://www.pycon.fr/2016/videos/la-programmation-asynchrone-avec-python.html"><div class="video-thumbnail"><img src="https://www.pycon.fr/2016/videos/content/rkIR8mFke/thumbnail.jpg"></div><div class="video-label">Regarder "La programmation asynchrone avec Python."</div></a></div>
<div class="title" id="Enseignement d'informatique en classes préparatoires scientifiques & Python dans les Grandes Écoles">Enseignement d'informatique en classes préparatoires scientifiques / Python dans les Grandes Écoles</div>
<div class="description">L'enseignement de l'informatique a été profondément modifié il y a 3 ans dans les classes préparatoires, et les nouveaux programmes prévoient un enseignement utilisant le langage python. Ce court exposé présentera ce programme, les modalités d'enseignement, les attendus de ces enseignements.
Le partage d’expérience et les problématiques d’enseignement de Python dans les Grandes Écoles spécialisées. Comment convaincre d’intégrer Python dans les projets pédagogiques ? Utilisation des logiciels phares (type Blender ) dans l’enseignement 3D des filières des jeux vidéos et leur efficacité. Les astuces pour rendre Python attractif pour les étudiants. Des projets en Python en direction des entreprises et des étudiants (type Elicthus). La création d’une passerelle entre le monde de l’enseignement spécialisé et les futurs employeurs. Les problématiques et les difficultés d’enseignement de Python dans le cadre d’un enseignement par alternance. Un appel aux idées pour rendre Python plus étudiés dans les Grandes Écoles.
<br /><a href="https://www.pycon.fr/2016/videos/enseignement-dinformatique-en-classes-preparatoires-scientifiques.html"><div class="video-thumbnail"><img src="https://www.pycon.fr/2016/videos/content/ryITkSYyg/thumbnail.jpg"></div><div class="video-label">Regarder "Enseignement d'informatique en classes préparatoires scientifiques"</div></a>
<br /><a href="https://www.pycon.fr/2016/videos/python-dans-les-grandes-ecoles.html"><div class="video-thumbnail"><img src="https://www.pycon.fr/2016/videos/content/SyxFOBFye/thumbnail.jpg"></div><div class="video-label">Regarder "Python dans les Grandes Écoles"</div></a></div>
<div class="title" id="Python et la sécurité : de l'interpréteur au déploiement">Python et la sécurité : de l'interpréteur au déploiement</div>
<div class="description">Le langage Python est un langage très simple d'utilisation et très accessible. Il est aussi très facile de faire des erreurs et notamment des erreurs qui peuvent compromettre la sécu
rité du programme. Nous verrons dans cette conférence quel peut être le niveau de sécurité de nos programmes en Python en commençant pas analyser les vulnérabilités de l'interpréteur en lui même. Nous regarderons ensuite le code Python et
nous analyserons les comportements dangereux du développeur tout en essayant de trouver les meilleures solutions pour s'affranchir au maximum des vulnérabilités. Nous regarderons enfin le cycle de vie de nos applications ; du choix de l'ou
tillage jusqu'au déploiement de l'application pour filtrer et stopper les dernières vulnérabilités
<br/><a href="../documents/pysec_tduval.pdf">Support de présentation</a>
<!-- <br /><a href="https://www.pycon.fr/2016/videos/python-et-la-securite-de-linterpreteur-au-deploiement.html">
<div class="video-thumbnail">
<img src="https://www.pycon.fr/2016/videos/content/B11R2yTye/thumbnail.jpg"></div><div class="video-label">Regarder "Python et la sécurité : de l'interpréteur au déploiement"</div></a> -->
</div>
<div class="title" id="Introduction au notebook Jupyter">Introduction au notebook Jupyter</div>
<div class="description">Présentation du spectre fonctionnel couvert par IPython et le notebook Jupyter. Du shell Python évolué au visualiseur de données scientifiques, en passant par l'outil exploratoire intéractif, de collaboration et de partage.
<br /><a href="https://www.pycon.fr/2016/videos/introduction-au-notebook-jupyter.html"><div class="video-thumbnail"><img src="https://www.pycon.fr/2016/videos/content/ByWZ0JrJe/thumbnail.jpg"></div><div class="video-label">Regarder "Introduction au notebook Jupyter"</div></a></div>
<div class="title" id="Libération du calculateur des impôts">Libération du calculateur des impôts</div>
<div class="description">Le code source du calculateur des impôts français [disponible ici](https://forum.openfisca.fr/t/acceder-au-code-source-de-la-calculette-impots/37) depuis le 1er avril 2016, est utilisé par la Direction générale des Finances publiques (DGFiP) pour simuler le calcul de l'impôt, pré-remplir les déclarations et produire les avis d'imposition de 37 millions de foyers fiscaux.
Développé dans un langage spécifique, le [langage M](https://forum.openfisca.fr/t/presentation-du-code-source-en-langage-m/52), le calculateur a été converti en arbre syntaxique abstrait (AST) puis compilé en Python.
Des travaux en cours visent à le fusionner avec le projet [OpenFisca](http://www.openfisca.fr/en).
OpenFisca est un moteur ouvert de micro-simulation du système socio-fiscal. Il a été créé en 2011 sous forme de logiciel libre en langage Python. Il permet entre autres de calculer un grand nombre de prestations sociales et d'impôts payés par les ménages, et de simuler l'impact de réformes sur leur budget.
Il s'agit d'un outil à vocation pédagogique pour aider les citoyens à mieux comprendre le système socio-fiscal.
<br /><a href="https://www.pycon.fr/2016/videos/liberation-du-calculateur-des-impots.html"><div class="video-thumbnail"><img src="https://www.pycon.fr/2016/videos/content/SkyTZWSyg/thumbnail.jpg"></div><div class="video-label">Regarder "Libération du calculateur des impôts"</div></a></div>
<div class="title" id="PyPy: Python faster than Python">PyPy: Python faster than Python</div>
<div class="description">PyPy is a fast and highly-compatible alternative implementation of Python. Its just-in-time compiler, backed by a state-of-the art garbage collector, allow it to run pure-Python(2) code on average 7 times faster than CPython 2.7, the reference implementation.
This presentation will give a tour of PyPy's goals, history and features with special emphasis on recent developments:
* cpyext, PyPy's emulation layer for CPython's C API, has been overhauled in order to soon allow full compatibility with all C extensions.
* Python 3 support is steadily improving with a recent 3.3-compatible release and development being started on a 3.5 version.
<br /><a href="https://www.pycon.fr/2016/videos/pypy-python-faster-than-python.html"><div class="video-thumbnail"><img src="https://www.pycon.fr/2016/videos/content/ByRLfrS1g/thumbnail.jpg"></div><div class="video-label">Regarder "PyPy: Python faster than Python"</div></a></div>
<div class="title" id="Lire & Écrire la Doc">Lire & Écrire la Doc</div>
<div class="description">La documentation est un domaine très vaste, qui couvre autant les fichiers README.txt que les spécifications techniques, en passant par les schémas, les plans, les livres, les commentaires, et bien d'autres formats - qu'il soit sous notre contrôle ou mis en commun.
Je souhaite aborder la question de la lecture de la documentation, de notre façon d'aborder les problèmes dans notre métier, et des sources d'informations à notre disposition. C'est un tour autant chez les lecteurs de documentation, que chez les auteurs.
Ce sera l'occasion de parler de man, de StackOverflow, de la doc de Python, et de ce que nous pouvons, au quotidien, faire pour améliorer la situation - pour améliorer notre propre situation.
<br /><a href="https://www.pycon.fr/2016/videos/lire-ecrire-la-doc.html"><div class="video-thumbnail"><img src="https://www.pycon.fr/2016/videos/content/rydlSrB1g/thumbnail.jpg"></div><div class="video-label">Regarder "Lire & Écrire la Doc"</div></a></div>
<div class="title" id="Ma première appli en 30 minutes (et un peu de courage)">Ma première appli en 30 minutes (et un peu de courage)</div>
<div class="description">Vous aimeriez bien créer l'application de vos rêves, mais au moment de vous lancer, vous avez comme un doute… Rien qu'en imaginant les fonctionnalités géniales de votre future création, vous vous rendez à l'évidence : c'est beaucoup trop compliqué, c'est beaucoup trop de travail, autant remettre ça à plus tard, non ?
Pourtant, c'est peut-être plus facile que ça en a l'air. En moins de 100 lignes de Python, on peut avoir une petite application fonctionnelle toute mignonne. Vous avez une trentaine de minutes devant vous ? Alors c'est parti !</div>
<div class="title" id="Faut-il être masochiste pour utiliser IPv6 (dans son code Python) ?">Faut-il être masochiste pour utiliser IPv6 (dans son code Python) ?</div>
<div class="description">Tout le monde sait qu'IPv6 c'est l'avenir du réseau, mais peu le déploient et l'utilisent si bien que les réseaux IPv6 ne sont toujours pas aujourd'hui une réalité. Or IPv6 est une opportunité pour changer notre façon de penser le réseau en revenant à des principes simples (et stupides) qui ont fait le succès d'Internet. Cette conférence a pour objectif de démontrer cette simplicité, notamment dans la gestion du réseau au sein du code d'une application.
<br /><a href="https://www.pycon.fr/2016/videos/faut-il-etre-masochiste-pour-utiliser-ipv6-dans-son-code-python.html"><div class="video-thumbnail"><img src="https://www.pycon.fr/2016/videos/content/B1ZmpHHke/thumbnail.jpg"></div><div class="video-label">Regarder "Faut-il être masochiste pour utiliser IPv6 (dans son code Python) ?"</div></a></div>
<div class="title" id="Voyage au centre du monde CPython">Voyage au centre du monde CPython</div>
<div class="description">Vous desirez contribuer a CPython et vous ne savez pas comment ? Alors ce talk est fait pour vous!
En 2014, lors du PyCon US 2014 a Montreal, j'ai commence a contribuer a CPython via un sprint,
c'est ainsi que j'ai pu decouvrir les joies du dev de notre interpreteur favori.
A partir d'un exemple de code Python, nous allons decomposer l'interpreteur et voir ce
qu'il se passe dans ses entrailles.
De la simple expression "x = 2 + 2" executee sur la ligne de commande, nous voyagerons a travers le parser, et l'interpreteur.
Nous aurons le plaisir de rencontrer notre ami le compilateur qui transforme le code Python en ByteCode,
et ensuite la machine virtuelle qui execute le bytecode pour execute votre expression Python.