blog.notmyidea.org/feeds/pyconfr2015.atom.xml

666 lines
No EOL
52 KiB
XML
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom"><title>Alexis Métaireau - pyconfr2015</title><link href="https://blog.notmyidea.org/" rel="alternate"></link><link href="https://blog.notmyidea.org/feeds/pyconfr2015.atom.xml" rel="self"></link><id>https://blog.notmyidea.org/</id><updated>2015-10-18T00:00:00+02:00</updated><entry><title>PyconFR 2015 — Assemblée générale</title><link href="https://blog.notmyidea.org/pyconfr-2015-assemblee-generale.html" rel="alternate"></link><published>2015-10-18T00:00:00+02:00</published><updated>2015-10-18T00:00:00+02:00</updated><author><name></name></author><id>tag:blog.notmyidea.org,2015-10-18:/pyconfr-2015-assemblee-generale.html</id><summary type="html">&lt;div class="admonition note"&gt;
&lt;p class="first admonition-title"&gt;Note&lt;/p&gt;
&lt;p class="last"&gt;Voici quelques notes prises durant la PyconFR 2015, à Pau. N&amp;#8217;hésitez pas
à les completer si&amp;nbsp;besoin.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Mot de feth sur Nelle, qui était une présidente très présente. Merci&amp;nbsp;!&lt;/p&gt;
&lt;div class="section" id="passe"&gt;
&lt;h2&gt;Passé&lt;/h2&gt;
&lt;p&gt;Il existe des communautés locales à Lyon Grenoble, Nantes.
Des Afpyro ont été organisés dans toutes ces villes …&lt;/p&gt;&lt;/div&gt;</summary><content type="html">&lt;div class="admonition note"&gt;
&lt;p class="first admonition-title"&gt;Note&lt;/p&gt;
&lt;p class="last"&gt;Voici quelques notes prises durant la PyconFR 2015, à Pau. N&amp;#8217;hésitez pas
à les completer si&amp;nbsp;besoin.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Mot de feth sur Nelle, qui était une présidente très présente. Merci&amp;nbsp;!&lt;/p&gt;
&lt;div class="section" id="passe"&gt;
&lt;h2&gt;Passé&lt;/h2&gt;
&lt;p&gt;Il existe des communautés locales à Lyon Grenoble, Nantes.
Des Afpyro ont été organisés dans toutes ces villes + Rennes + Marseille
Support pour 2 Django Carrots.
Par rapport au mentoring, très peu de retours, peut etre de nouvelles choses
à&amp;nbsp;faire.&lt;/p&gt;
&lt;p&gt;&lt;span class="caps"&gt;FOSDEM&lt;/span&gt; 2015 était complet. Il y avait une salle python tojours pleine.
Dsicussions sur la&amp;nbsp;diversité.&lt;/p&gt;
&lt;/div&gt;
&lt;div class="section" id="futur"&gt;
&lt;h2&gt;Futur&lt;/h2&gt;
&lt;p&gt;Amandine propose d&amp;#8217;organiser des soirées à &lt;span class="caps"&gt;NUMA&lt;/span&gt; l&amp;#8217;an prochain.
Global code retreat: participation
Migrer le serveur de l&amp;#8217;&lt;span class="caps"&gt;AFPY&lt;/span&gt;
Reboot des status: nos pratiques ne sont pas en ligne avec nos status.
Mise en place de mentoring pour&amp;nbsp;python.&lt;/p&gt;
&lt;div class="section" id="status"&gt;
&lt;h3&gt;Status&lt;/h3&gt;
&lt;p&gt;Comité directeur renouvelé par tiers. Il est composé de 18 personnes. Les
discussions qui sont dans le &lt;span class="caps"&gt;CD&lt;/span&gt; n&amp;#8217;en sortent pas, et les discussions sont donc
effectuées en&amp;nbsp;priuvées.&lt;/p&gt;
&lt;p&gt;L&amp;#8217;idée actuelle serait de réduire le &lt;span class="caps"&gt;CD&lt;/span&gt; de 18 à 9 personnes. Tout le travail
serait fait en dehors du &lt;span class="caps"&gt;CD&lt;/span&gt;. Il est possible de mettre en place un groupe de
travail pour travailler sur l&amp;#8217;évolution de la&amp;nbsp;charte.&lt;/p&gt;
&lt;p&gt;Il faut faire évoluer les status: ils ne sont pas actuellement bien faits par
rapport à notre&amp;nbsp;utilisation.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
</content><category term="pyconfr2015"></category></entry><entry><title>PyconFR 2015 — Hospital - des tests en prod</title><link href="https://blog.notmyidea.org/pyconfr-2015-hospital-des-tests-en-prod.html" rel="alternate"></link><published>2015-10-18T00:00:00+02:00</published><updated>2015-10-18T00:00:00+02:00</updated><author><name></name></author><id>tag:blog.notmyidea.org,2015-10-18:/pyconfr-2015-hospital-des-tests-en-prod.html</id><summary type="html">&lt;div class="admonition note"&gt;
&lt;p class="first admonition-title"&gt;Note&lt;/p&gt;
&lt;p class="last"&gt;Voici quelques notes prises durant la PyconFR 2015, à Pau. N&amp;#8217;hésitez pas
à les completer si&amp;nbsp;besoin.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Speaker: Benoit Bryon,&amp;nbsp;Peopledoc.&lt;/p&gt;
&lt;p&gt;Pour une procédure de déploiement, comment est-ce qu&amp;#8217;on valide que tout va bien
une fois que tout est dépoyé ? Si on a une application très simple …&lt;/p&gt;</summary><content type="html">&lt;div class="admonition note"&gt;
&lt;p class="first admonition-title"&gt;Note&lt;/p&gt;
&lt;p class="last"&gt;Voici quelques notes prises durant la PyconFR 2015, à Pau. N&amp;#8217;hésitez pas
à les completer si&amp;nbsp;besoin.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Speaker: Benoit Bryon,&amp;nbsp;Peopledoc.&lt;/p&gt;
&lt;p&gt;Pour une procédure de déploiement, comment est-ce qu&amp;#8217;on valide que tout va bien
une fois que tout est dépoyé ? Si on a une application très simple (upload et
envoi de&amp;nbsp;fichiers).&lt;/p&gt;
&lt;p&gt;Pour des applications plus complexes, il y a beaucoup de choses à tester (base
de données, cache, email, etc). Beaucoup de parties sont utiles: reverse
proxy, django, base de données&amp;nbsp;etc.&lt;/p&gt;
&lt;p&gt;Lors d&amp;#8217;un déploiement, comment faire pour vérifier que tout tourne lorsque tout
est déployé&amp;nbsp;?&lt;/p&gt;
&lt;div class="section" id="comment-faire"&gt;
&lt;h2&gt;Comment faire&amp;nbsp;?&lt;/h2&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;Les tests permettent de tester hors&amp;nbsp;sol.&lt;/li&gt;
&lt;li&gt;Le provisionning permet de valider que tout tourne correctement,&amp;nbsp;mais&lt;/li&gt;
&lt;li&gt;simplement au démarrage. Les pannes ne sont pas&amp;nbsp;détectées.&lt;/li&gt;
&lt;li&gt;Le logging va permettre de detecter les erreurs, mais trop&amp;nbsp;tard.&lt;/li&gt;
&lt;li&gt;Le monitoring permet d&amp;#8217;avoir une vue de&amp;nbsp;l&amp;#8217;exterieur.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Hostpital propose de faire des assertions sur la configuration,
l&amp;#8217;environnement, &lt;em&gt;en cours de fonctionnement&lt;/em&gt;. Ce sont les developeurs qui
ajoutent ces&amp;nbsp;assertions.&lt;/p&gt;
&lt;p&gt;Cela peut servir à valider un déploiement, pour etre rassuré une fois que le
déploiement effectué. Cela peut aussi service à surveiller un service et
diagnostiquer les&amp;nbsp;problèmes.&lt;/p&gt;
&lt;/div&gt;
&lt;div class="section" id="hospital"&gt;
&lt;h2&gt;Hospital&lt;/h2&gt;
&lt;dl class="docutils"&gt;
&lt;dt&gt;::&lt;/dt&gt;
&lt;dd&gt;pip install&amp;nbsp;hospital&lt;/dd&gt;
&lt;/dl&gt;
&lt;p&gt;Hospital est un outil en python. On définit des tests, de la même manière que
l&amp;#8217;on définit des tests unitaires. On fait des assertions, comme pour les tests
unitaires. Hospital propose des helpers pour les cas courants:
&lt;cite&gt;assert_http_response&lt;/cite&gt; ou &lt;cite&gt;assert_ping&lt;/cite&gt;.&lt;/p&gt;
&lt;p&gt;La vue est une vue de l&amp;#8217;intérieur. La différence avec le monitoring est que
l&amp;#8217;on teste la connectivité entre les services (exemple d&amp;#8217;une requete
elasticsearch qui échoue depuis un service&amp;nbsp;django).&lt;/p&gt;
&lt;p&gt;Pour la supervision, les healthchecks sont lancés avec une ligne de commande
&lt;cite&gt;hospital-cli&lt;/cite&gt;. Il est possible de lancer également ces tests avec nose ou&amp;nbsp;py.test.&lt;/p&gt;
&lt;p&gt;Il est aussi possible de faire le monitoring avec une &lt;span class="caps"&gt;API&lt;/span&gt; &lt;span class="caps"&gt;HTTP&lt;/span&gt; &lt;cite&gt;hospital
serve&lt;/cite&gt;.&lt;/p&gt;
&lt;div class="section" id="les-lacunes-de-hospital"&gt;
&lt;h3&gt;Les lacunes de&amp;nbsp;hospital&lt;/h3&gt;
&lt;p&gt;Les healthchecks sont fait actuellement en synchrone. Cela peut prendre du
temps. Il pourrait etre interessant de lancer des taches de manière distribuée
/ en&amp;nbsp;paralelle.&lt;/p&gt;
&lt;p&gt;Il pourrait etre utile de faire la distinction entre les smoketests et les
diagnostiques: les premiers sont des petits checks qui permettent de dire si ça
marche, de manière très simple. De l&amp;#8217;autre coté, les diagnostiques seraient eux
plus&amp;nbsp;fins.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="section" id="wrap-up"&gt;
&lt;h2&gt;Wrap&amp;nbsp;up&lt;/h2&gt;
&lt;p&gt;Validez votre configuration, la connectivité avec les services externes. Faites
des tests souvent&amp;nbsp;!&lt;/p&gt;
&lt;/div&gt;
</content><category term="pyconfr2015"></category></entry><entry><title>PyconFR 2015 — We dont need your loop</title><link href="https://blog.notmyidea.org/pyconfr-2015-we-dont-need-your-loop.html" rel="alternate"></link><published>2015-10-18T00:00:00+02:00</published><updated>2015-10-18T00:00:00+02:00</updated><author><name></name></author><id>tag:blog.notmyidea.org,2015-10-18:/pyconfr-2015-we-dont-need-your-loop.html</id><summary type="html">&lt;div class="admonition note"&gt;
&lt;p class="first admonition-title"&gt;Note&lt;/p&gt;
&lt;p class="last"&gt;Voici quelques notes prises durant la PyconFR 2015, à Pau. N&amp;#8217;hésitez pas
à les completer si&amp;nbsp;besoin.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Speaker:&amp;nbsp;serge_sans_paille.&lt;/p&gt;
&lt;p&gt;Retour sur le passé des boucles: &lt;span class="caps"&gt;ASM&lt;/span&gt;, fortran, C. Avec &lt;span class="caps"&gt;APL&lt;/span&gt;, la boucle est
cachée au fur et à mesure des évolutions. Écrire une boucle ne devrait …&lt;/p&gt;</summary><content type="html">&lt;div class="admonition note"&gt;
&lt;p class="first admonition-title"&gt;Note&lt;/p&gt;
&lt;p class="last"&gt;Voici quelques notes prises durant la PyconFR 2015, à Pau. N&amp;#8217;hésitez pas
à les completer si&amp;nbsp;besoin.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Speaker:&amp;nbsp;serge_sans_paille.&lt;/p&gt;
&lt;p&gt;Retour sur le passé des boucles: &lt;span class="caps"&gt;ASM&lt;/span&gt;, fortran, C. Avec &lt;span class="caps"&gt;APL&lt;/span&gt;, la boucle est
cachée au fur et à mesure des évolutions. Écrire une boucle ne devrait pas etre
exprimer comment atteindre le&amp;nbsp;resultat.&lt;/p&gt;
&lt;p&gt;En python, par exemple, il vaut mieux utiliser &lt;cite&gt;sum&lt;/cite&gt; plutôt que de faire
l&amp;#8217;addition nous même (pour faire une addition des elements d&amp;#8217;une&amp;nbsp;liste).&lt;/p&gt;
&lt;p&gt;Actuellement, le compilateur python est lent si on utilise numpy.sum sur des
matrices&amp;nbsp;complexes.&lt;/p&gt;
&lt;div class="section" id="comment-aller-plus-vite"&gt;
&lt;h2&gt;Comment aller plus&amp;nbsp;vite?&lt;/h2&gt;
&lt;p&gt;Cython est assez compliqué, il faut savoir ce que l&amp;#8217;on fait pour optimiser et
écrire du bon code&amp;nbsp;Cython.&lt;/p&gt;
&lt;p&gt;Avec pythran, l&amp;#8217;intelligence est dans le compilateur, qui permet d&amp;#8217;écrire
notemment des boucles&amp;nbsp;correctement.&lt;/p&gt;
&lt;p&gt;En donnant plus d&amp;#8217;informaitons au compilateur, plutôt que de faire des boucles,
cela lui permet d&amp;#8217;avoir un contexte qui lui permet d&amp;#8217;optimiser le&amp;nbsp;code.&lt;/p&gt;
&lt;p&gt;Par contre, cela veut dire que plus de connaissances sont necessaire pour lire
le code&amp;nbsp;python.&lt;/p&gt;
&lt;p&gt;pythran permet de compiler directement vers du C++ sans avoir à changer son
code de base (python). C&amp;#8217;est utile pour du code numpy&amp;nbsp;notemment.&lt;/p&gt;
&lt;/div&gt;
&lt;div class="section" id="questions"&gt;
&lt;h2&gt;Questions&lt;/h2&gt;
&lt;p&gt;Possible de paralelliser de manière explicite &lt;strong&gt;ou&lt;/strong&gt;&amp;nbsp;implicite.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;C&amp;#8217;est très utile pour les gens qui font du &amp;#8220;number crunching&amp;#8221;. Est-ce que
c&amp;#8217;est utile pour d&amp;#8217;autres domaines d&amp;#8217;application&amp;nbsp;(Web)?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Pas vraiment. CPython est déjà bien fait pour ces cas&amp;nbsp;d&amp;#8217;utilisation.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Est-il possible de lancer pythran sans faire de commentaires&amp;nbsp;?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;C&amp;#8217;est possible mais cela ne servira pas à grand chose. Il est necessaire de
connaitre le type des objets qui sont utilisés lors des&amp;nbsp;boucles.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Est-ce que vous songez à un compilateur à la volée&amp;nbsp;?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;De gros efforts ont été faits dernièrement pour diminuer le temps de
compilation. Mais pour une fonction qui renvoie None prends de l&amp;#8217;ordre d&amp;#8217;une
seconde ou une demi seconde. Ce n&amp;#8217;est pas très utile pour un compilateur à la
volée puisqu&amp;#8217;il faudrait des gains de perfs supérieurs à&amp;nbsp;cela.&lt;/p&gt;
&lt;/div&gt;
</content><category term="pyconfr2015"></category></entry><entry><title>PyconFR 2015 — Cliquet</title><link href="https://blog.notmyidea.org/pyconfr-2015-cliquet.html" rel="alternate"></link><published>2015-10-17T00:00:00+02:00</published><updated>2015-10-17T00:00:00+02:00</updated><author><name></name></author><id>tag:blog.notmyidea.org,2015-10-17:/pyconfr-2015-cliquet.html</id><summary type="html">&lt;div class="admonition note"&gt;
&lt;p class="first admonition-title"&gt;Note&lt;/p&gt;
&lt;p class="last"&gt;Voici quelques notes prises durant la PyconFR 2015, à Pau. N&amp;#8217;hésitez pas
à les completer si&amp;nbsp;besoin.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Speaker: Mathieu Leplatre (&amp;#64;leplatrem),&amp;nbsp;Mozilla&lt;/p&gt;
&lt;p&gt;Toolkit &lt;span class="caps"&gt;HTTP&lt;/span&gt;, pour éventuellement faire des&amp;nbsp;microservices.&lt;/p&gt;
&lt;ol class="arabic simple"&gt;
&lt;li&gt;Origines&lt;/li&gt;
&lt;li&gt;Protocole&lt;/li&gt;
&lt;li&gt;Toolkit&lt;/li&gt;
&lt;li&gt;Conversation&lt;/li&gt;
&lt;/ol&gt;
&lt;div class="section" id="origines"&gt;
&lt;h2&gt;Origines&lt;/h2&gt;
&lt;p&gt;Stockage de données, Cloud Services, Mozilla.
Le boulot, c&amp;#8217;est de faire des APIs …&lt;/p&gt;&lt;/div&gt;</summary><content type="html">&lt;div class="admonition note"&gt;
&lt;p class="first admonition-title"&gt;Note&lt;/p&gt;
&lt;p class="last"&gt;Voici quelques notes prises durant la PyconFR 2015, à Pau. N&amp;#8217;hésitez pas
à les completer si&amp;nbsp;besoin.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Speaker: Mathieu Leplatre (&amp;#64;leplatrem),&amp;nbsp;Mozilla&lt;/p&gt;
&lt;p&gt;Toolkit &lt;span class="caps"&gt;HTTP&lt;/span&gt;, pour éventuellement faire des&amp;nbsp;microservices.&lt;/p&gt;
&lt;ol class="arabic simple"&gt;
&lt;li&gt;Origines&lt;/li&gt;
&lt;li&gt;Protocole&lt;/li&gt;
&lt;li&gt;Toolkit&lt;/li&gt;
&lt;li&gt;Conversation&lt;/li&gt;
&lt;/ol&gt;
&lt;div class="section" id="origines"&gt;
&lt;h2&gt;Origines&lt;/h2&gt;
&lt;p&gt;Stockage de données, Cloud Services, Mozilla.
Le boulot, c&amp;#8217;est de faire des APIs. On nous demande de faire des APIs, tout
le&amp;nbsp;temps.&lt;/p&gt;
&lt;p&gt;Souvent, les mêmes questions sont à l&amp;#8217;ordre du jour. Heartbeat, codes
d&amp;#8217;erreurs, etc. L&amp;#8217;inventaire de tout ce qui est attendu d&amp;#8217;une &lt;span class="caps"&gt;API&lt;/span&gt;, au dela de
ce qui est la valeur ajoutée du&amp;nbsp;service.&lt;/p&gt;
&lt;p&gt;Définition d&amp;#8217;un protocole. Définir une &lt;span class="caps"&gt;API&lt;/span&gt; &lt;span class="caps"&gt;REST&lt;/span&gt; n&amp;#8217;est pas aussi évident qu&amp;#8217;il
y parait. Il faut définir les formats de &lt;span class="caps"&gt;JSON&lt;/span&gt;, les status,&amp;nbsp;etc.&lt;/p&gt;
&lt;p&gt;La réutilisation de certaines protocoles existants était possible (Sync, en
production depuis quelques&amp;nbsp;années).&lt;/p&gt;
&lt;p&gt;Réutiliser du code nous permettait et faire un template pour démarrer plus
facilement, pour se concentrer sur le métier de l&amp;#8217;&lt;span class="caps"&gt;API&lt;/span&gt;. Puisque les besoins ne
sont pas toujours les mêmes, avoir une boite à outil permet de choisir ce que
l&amp;#8217;on&amp;nbsp;souhaite.&lt;/p&gt;
&lt;/div&gt;
&lt;div class="section" id="protocole"&gt;
&lt;h2&gt;Protocole&lt;/h2&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;Création d&amp;#8217;un protocole qui respecte les bonnes pratiques. &lt;span class="caps"&gt;CORS&lt;/span&gt;, avoir les
bons codes de status, arrêter de se poser toujours les mêmes questions.
Contrairement à ce qu&amp;#8217;on imagine, la spécification &lt;span class="caps"&gt;HTTP&lt;/span&gt; n&amp;#8217;est pas si facile
à suivre. Plutôt que d&amp;#8217;écrire un document, un toolkit à été&amp;nbsp;créé.&lt;/li&gt;
&lt;li&gt;Les ops ont besoin de quelques endpoints: un heartbeat (monitoring) des
endpoints de batch, un endpoint &amp;#8220;hello&amp;#8221;, pour connaitre le type de service,
ses URLs&amp;nbsp;etc.&lt;/li&gt;
&lt;li&gt;La service renvoie toujours un &lt;span class="caps"&gt;JSON&lt;/span&gt; avec la description de l&amp;#8217;erreur. Cela
permet d&amp;#8217;avoir tout le temps la même gestion des erreurs. Utilisation du
header &amp;#8220;backoff&amp;#8221; qui permet de demander aux clients d&amp;#8217;arreter de faire des
requetes durant une durée spécifée par le&amp;nbsp;serveur.&lt;/li&gt;
&lt;li&gt;Pour les resources &amp;#8220;&lt;span class="caps"&gt;REST&lt;/span&gt;&amp;#8221;, quelques règles sont définies: quel est le format
du &lt;span class="caps"&gt;JSON&lt;/span&gt;, quel est la syntaxe du querystring pour filtrer, ordonner, gérer les
opérations concurentes,&amp;nbsp;etc.&lt;/li&gt;
&lt;li&gt;Comment la validation fonctionne ? La pagination ? La définition des
permissions ? Les&amp;nbsp;erreurs.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Définir le protocole une seule fois permet de se mettre d&amp;#8217;accord avec les Ops.
On ne créé pas une &lt;span class="caps"&gt;RFC&lt;/span&gt; pour l&amp;#8217;instant, il faut qu&amp;#8217;on valide ce qu&amp;#8217;on a fait,
il est necessaire de valider notre&amp;nbsp;approche.&lt;/p&gt;
&lt;/div&gt;
&lt;div class="section" id="toolkit"&gt;
&lt;h2&gt;Toolkit&lt;/h2&gt;
&lt;p&gt;La stack en place est basée sur Pyramid et Cornice. Autre chose aurait pu petre
utilisé. Mais pyramid à été choisi pour son approche simpliste et qui permet de
rajouter de la complexité au fur et à&amp;nbsp;mesure.&lt;/p&gt;
&lt;p&gt;Cliquet propose de faire l&amp;#8217;ensemble du boilerplate, la lecture du protocole, et
vous permet de créer les backends&amp;nbsp;souhaités.&lt;/p&gt;
&lt;p&gt;Il est possible de choisir les methodes &lt;span class="caps"&gt;HTTP&lt;/span&gt; acceptables, les URLs à utiliser
etc. Tweaker l&amp;#8217;&lt;span class="caps"&gt;API&lt;/span&gt; est possible, la chose qui reste toujouts stable est le&amp;nbsp;protocole.&lt;/p&gt;
&lt;p&gt;le toolkit vise à faire quelque chose de pluggable. Tout est controllable
depuis la&amp;nbsp;configuration.&lt;/p&gt;
&lt;p&gt;Pour le deploiement, cela veut dire que le monitoring est déjà connecté, et il
est possible de changer la configuration depuis un fichier &lt;cite&gt;.ini&lt;/cite&gt;.&lt;/p&gt;
&lt;p&gt;Il est aussi possible de faire du profiling en ajoutant deux lignes de code,
qui permet de générer des graphs qui permettent d&amp;#8217;identifier les goulots&amp;nbsp;d&amp;#8217;étranglement.&lt;/p&gt;
&lt;/div&gt;
&lt;div class="section" id="microservices"&gt;
&lt;h2&gt;Microservices&amp;nbsp;?&lt;/h2&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;Cliquet apporte une manière standard de surveiller, deployer, configurer des&amp;nbsp;services.&lt;/li&gt;
&lt;li&gt;Il est possible de se focaliser sur la logique de l&amp;#8217;application, en faisait
une abstraction des backends,&amp;nbsp;etc.&lt;/li&gt;
&lt;li&gt;Le fait de figer l&amp;#8217;&lt;span class="caps"&gt;API&lt;/span&gt; permet d&amp;#8217;avoir des clients génériques que l&amp;#8217;on peu
réutiliser d&amp;#8217;une application à&amp;nbsp;l&amp;#8217;autre.&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div class="section" id="cliquet-est-utilise-pour"&gt;
&lt;h2&gt;Cliquet est utilisé&amp;nbsp;pour&lt;/h2&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;Kinto, un service générique de stpclage de&amp;nbsp;données.&lt;/li&gt;
&lt;li&gt;Syncto, un proxy pour Sync en utilisant le&amp;nbsp;protocole.&lt;/li&gt;
&lt;li&gt;La liste de lecture, service qui à été&amp;nbsp;shutdown.&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div class="section" id="questions"&gt;
&lt;h2&gt;Questions&lt;/h2&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;&lt;strong&gt;Qu&amp;#8217;est-ce qui est pluggable ?&lt;/strong&gt; Les choix qui sont fait dans cliquet
concernent le protocole. Le toolkit est lui fait de manière &amp;#8220;pluggable&amp;#8221;. Il
est par exemple possible de changer le backend, l&amp;#8217;authentification, le cache
ou les&amp;nbsp;permissions.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Quelles sont les parties non standard? Est-il prévu de representer ça via
une &lt;span class="caps"&gt;RFC&lt;/span&gt; ?&lt;/strong&gt; Le seul sujet qui pourrait etre utile dans une &lt;span class="caps"&gt;RFC&lt;/span&gt; serait de
définir les headers attendus pour la validation et l&amp;#8217;écriture
concurrentielle. L&amp;#8217;ensemble de ce qui est proposé est&amp;nbsp;standard.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Existe-il un client JavaScript, comme pour Kinto ?&lt;/strong&gt; Actuellement, non. Par
contre, Kinto.js est prévu pour que la partie commune entre les APIs (le
protocole) peut etre&amp;nbsp;extrait.&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
</content><category term="pyconfr2015"></category></entry><entry><title>PyconFR 2015 — Geoalchemy</title><link href="https://blog.notmyidea.org/pyconfr-2015-geoalchemy.html" rel="alternate"></link><published>2015-10-17T00:00:00+02:00</published><updated>2015-10-17T00:00:00+02:00</updated><author><name></name></author><id>tag:blog.notmyidea.org,2015-10-17:/pyconfr-2015-geoalchemy.html</id><summary type="html">&lt;div class="admonition note"&gt;
&lt;p class="first admonition-title"&gt;Note&lt;/p&gt;
&lt;p class="last"&gt;Voici quelques notes prises durant la PyconFR 2015, à Pau. N&amp;#8217;hésitez pas
à les completer si&amp;nbsp;besoin.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Speaker: Eric Lemoine, Camp to camp.&amp;nbsp;(&amp;#64;elemoine)&lt;/p&gt;
&lt;p&gt;Bibliothèque python basée sur &lt;span class="caps"&gt;SQL&lt;/span&gt; alchemy, pour interagir avec des bases de
données geographiques /&amp;nbsp;spatiales.&lt;/p&gt;
&lt;p&gt;Une base de donnée optimisée pour representer et rechercher …&lt;/p&gt;</summary><content type="html">&lt;div class="admonition note"&gt;
&lt;p class="first admonition-title"&gt;Note&lt;/p&gt;
&lt;p class="last"&gt;Voici quelques notes prises durant la PyconFR 2015, à Pau. N&amp;#8217;hésitez pas
à les completer si&amp;nbsp;besoin.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Speaker: Eric Lemoine, Camp to camp.&amp;nbsp;(&amp;#64;elemoine)&lt;/p&gt;
&lt;p&gt;Bibliothèque python basée sur &lt;span class="caps"&gt;SQL&lt;/span&gt; alchemy, pour interagir avec des bases de
données geographiques /&amp;nbsp;spatiales.&lt;/p&gt;
&lt;p&gt;Une base de donnée optimisée pour representer et rechercher des données qui
representent des objets dans un espace&amp;nbsp;géométrique.&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;Il est possible d estocker des ligne,s de polygones, des points. Il y a une
colonne géometrie pour stocker ces&amp;nbsp;données.&lt;/li&gt;
&lt;li&gt;Il y a aussi des fonctions qui permettent de travailler sur ces données
(transfomrations, projections,&amp;nbsp;etc).&lt;/li&gt;
&lt;li&gt;Indexs géographiques qui permettent de faire des recherches de manière&amp;nbsp;performante.&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="section" id="postgis"&gt;
&lt;h2&gt;&lt;span class="caps"&gt;POSTGIS&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;span class="caps"&gt;POSTGIS&lt;/span&gt; s&amp;#8217;appuie sur postres pour offrir des types géographiques, des fonctions
et des indexes (R-Tree), qui permettent de ranger les géométries dans des
&amp;#8220;boites&amp;nbsp;englobantes&amp;#8221;.&lt;/p&gt;
&lt;p&gt;Pour créer une base de données postgis, il faut faire un &amp;#8220;create extension
postgis&amp;#8221;, ce qui installe tout ce dont on a&amp;nbsp;besoin.&lt;/p&gt;
&lt;p&gt;il est possible d&amp;#8217;apeller &lt;cite&gt;&lt;span class="caps"&gt;GEOMETRY&lt;/span&gt;(&lt;span class="caps"&gt;POINT&lt;/span&gt;)&lt;/cite&gt; par&amp;nbsp;exemple.&lt;/p&gt;
&lt;p&gt;&lt;cite&gt;ST_GeomFromText(&amp;#8216;&lt;span class="caps"&gt;POINT&lt;/span&gt;(lat long)&amp;#8217;)&lt;/cite&gt; permet de convertir un point dans un objet
geometrie interne à&amp;nbsp;postgres.&lt;/p&gt;
&lt;p&gt;&lt;cite&gt;ST_DWithin&lt;/cite&gt; permet de trouver les personnes qui sont autour d&amp;#8217;un rayon&amp;nbsp;donné.&lt;/p&gt;
&lt;p&gt;L&amp;#8217;ensemble des fonctions proposées par postgres commencent par &lt;cite&gt;ST_*&lt;/cite&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div class="section" id="sqlalchemy"&gt;
&lt;h2&gt;SQLAlchemy&lt;/h2&gt;
&lt;p&gt;Il s&amp;#8217;agit d&amp;#8217;une bote à outil qui permet de faire des requetes de manière
simple. Il y a une philosophie&amp;nbsp;forte.&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;Il ne sohaite pas cacher la base de&amp;nbsp;données&lt;/li&gt;
&lt;li&gt;C&amp;#8217;est un language pour faire du &lt;span class="caps"&gt;SQL&lt;/span&gt; en&amp;nbsp;python&lt;/li&gt;
&lt;li&gt;Rien n&amp;#8217;est&amp;nbsp;caché.&lt;/li&gt;
&lt;li&gt;Fourni un vocabulaire riche pour générer le &lt;span class="caps"&gt;SQL&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;L&amp;#8217;objectif est de changer la manière dont on pense à &lt;span class="caps"&gt;SQL&lt;/span&gt;, redonner le gout du
&lt;span class="caps"&gt;SQL&lt;/span&gt; aux&amp;nbsp;developeurs.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Deux parties:
- &lt;span class="caps"&gt;ORM&lt;/span&gt;
- &lt;span class="caps"&gt;CORE&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Il est possible d&amp;#8217;utiliser simplement le core si l&amp;#8217;on sohaite (sans utiliser
l&amp;#8217;&lt;span class="caps"&gt;ORM&lt;/span&gt;)&lt;/p&gt;
&lt;div class="section" id="core"&gt;
&lt;h3&gt;Core&lt;/h3&gt;
&lt;p&gt;Il est possible d&amp;#8217;utiliser &lt;span class="caps"&gt;SQL&lt;/span&gt; Alchemy pour générer les tables à l&amp;#8217;origine.
Core permet d&amp;#8217;utiliser des tables, et d&amp;#8217;executer une insertion, depuis python.
Il est possible de representer les requetes avec des methodes chainées
&lt;cite&gt;select().where()&lt;/cite&gt; etc.&lt;/p&gt;
&lt;p&gt;Le &amp;#8220;core&amp;#8221; ne fait pas de mapping du tout, il manipule des Tables &lt;span class="caps"&gt;SQLA&lt;/span&gt;&amp;nbsp;directement.&lt;/p&gt;
&lt;/div&gt;
&lt;div class="section" id="orm"&gt;
&lt;h3&gt;&lt;span class="caps"&gt;ORM&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;L&amp;#8217;&lt;span class="caps"&gt;ORM&lt;/span&gt; fait, lui, du mapping. C&amp;#8217;est cette couche que l&amp;#8217;on va utiliser dans une
application Web complexe par&amp;nbsp;exemple.&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;il est possible de travailler avec une session &lt;cite&gt;Session()&lt;/cite&gt; puis on effectue
des opérations et on &lt;cite&gt;commit()&lt;/cite&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="section" id="geoalchemy"&gt;
&lt;h4&gt;GeoAlchemy&lt;/h4&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;Créé en 2009, pour supporter uniquement&amp;nbsp;postgis.&lt;/li&gt;
&lt;li&gt;Depuis, d&amp;#8217;autres bases de données (MySQL, Spatialite, MySQL server)&amp;nbsp;etc.&lt;/li&gt;
&lt;li&gt;Réécriture depuis grace à la nouvelle &lt;span class="caps"&gt;API&lt;/span&gt; de SQLAlechemy, mais perte du
support d&amp;#8217;autres&amp;nbsp;backends.&lt;/li&gt;
&lt;li&gt;Finalement, retour sur &lt;span class="caps"&gt;POSTGIS&lt;/span&gt; uniquement, pour évite d&amp;#8217;avoir à supporter les
différences de tous les&amp;nbsp;backends.&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class="section" id="features"&gt;
&lt;h2&gt;Features&lt;/h2&gt;
&lt;p&gt;Très simple de s&amp;#8217;intégrer avec les features de &lt;span class="caps"&gt;POSTGIS&lt;/span&gt;, par exemple en
déclarant une colonne en tant que&amp;nbsp;&amp;#8220;Géometrie&amp;#8221;.&lt;/p&gt;
&lt;p&gt;Exemple: session.query(Lake).filter(Lake.geom.ST_Buffer(2).ST_Area) permet de
lister l&amp;#8217;ensemble des lacs avec une aire de 2 au&amp;nbsp;moins.&lt;/p&gt;
&lt;p&gt;S&amp;#8217;intègre bien avec des services existants (shapely, pyramid,&amp;nbsp;etc).&lt;/p&gt;
&lt;p&gt;Utilisation de geojsondumps pour representer des features en&amp;nbsp;geojson.&lt;/p&gt;
&lt;/div&gt;
&lt;div class="section" id="status"&gt;
&lt;h2&gt;Status&lt;/h2&gt;
&lt;p&gt;Le projet est completement documenté sur read the docs. La documentation est
assez complete et solide. Il est intégralement testé, sur differentes versions
de python, sqlalchemy et&amp;nbsp;postgres.&lt;/p&gt;
&lt;dl class="docutils"&gt;
&lt;dt&gt;3 ou 4 developeurs actifs sur le projet, ça fonctionne plutôt bien.&amp;nbsp;Pour&lt;/dt&gt;
&lt;dd&gt;&lt;p class="first"&gt;contribuer, il est possible de faire cela sur&amp;nbsp;github.&lt;/p&gt;
&lt;p class="last"&gt;Slides de la presentation sur &lt;a class="reference external" href="http://erliem.net/talks/pyconfr2015"&gt;http://erliem.net/talks/pyconfr2015&lt;/a&gt;&lt;/p&gt;
&lt;/dd&gt;
&lt;/dl&gt;
&lt;p&gt;Resources:&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;&lt;a class="reference external" href="https://pypi.python.org/pypi/Shapely"&gt;https://pypi.python.org/pypi/Shapely&lt;/a&gt; - Manipulation and analysis of geometric
objects in the Cartesian&amp;nbsp;plane.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Question:&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;Dans les exemples geoalchemy, les données geométriques sont passées sous
forme de chaine. Est-ce normal ?&amp;nbsp;Oui.&lt;/li&gt;
&lt;li&gt;Les rasters sont également&amp;nbsp;supportés.&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
</content><category term="pyconfr2015"></category></entry><entry><title>PyconFR 2015 — SQL Alchemy</title><link href="https://blog.notmyidea.org/pyconfr-2015-sql-alchemy.html" rel="alternate"></link><published>2015-10-17T00:00:00+02:00</published><updated>2015-10-17T00:00:00+02:00</updated><author><name></name></author><id>tag:blog.notmyidea.org,2015-10-17:/pyconfr-2015-sql-alchemy.html</id><summary type="html">&lt;div class="admonition note"&gt;
&lt;p class="first admonition-title"&gt;Note&lt;/p&gt;
&lt;p class="last"&gt;Voici quelques notes prises durant la PyconFR 2015, à Pau. N&amp;#8217;hésitez pas
à les completer si&amp;nbsp;besoin.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Speaker: David&amp;nbsp;Allouche&lt;/p&gt;
&lt;p&gt;&lt;span class="caps"&gt;SQL&lt;/span&gt; Alchemy vous permet de produire le &lt;span class="caps"&gt;SQL&lt;/span&gt; que vous voulez. Il faut que vous
souhaitiez comprendre ce que va etre&amp;nbsp;produit.&lt;/p&gt;
&lt;p&gt;Déclaratif:&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;On créé des classes qui …&lt;/li&gt;&lt;/ul&gt;</summary><content type="html">&lt;div class="admonition note"&gt;
&lt;p class="first admonition-title"&gt;Note&lt;/p&gt;
&lt;p class="last"&gt;Voici quelques notes prises durant la PyconFR 2015, à Pau. N&amp;#8217;hésitez pas
à les completer si&amp;nbsp;besoin.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Speaker: David&amp;nbsp;Allouche&lt;/p&gt;
&lt;p&gt;&lt;span class="caps"&gt;SQL&lt;/span&gt; Alchemy vous permet de produire le &lt;span class="caps"&gt;SQL&lt;/span&gt; que vous voulez. Il faut que vous
souhaitiez comprendre ce que va etre&amp;nbsp;produit.&lt;/p&gt;
&lt;p&gt;Déclaratif:&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;On créé des classes qui representent nos tables, et les liaisons entre les
tables, en utilisant &lt;cite&gt;relationship&lt;/cite&gt; (qui à énormement&amp;nbsp;d&amp;#8217;attributs).&lt;/li&gt;
&lt;li&gt;On définit quelles osnt les clés étrangères entre les&amp;nbsp;tables.&lt;/li&gt;
&lt;li&gt;Puis on va définir les attributs qui sont liés entre les tables&amp;nbsp;(relationship).&lt;/li&gt;
&lt;li&gt;Pour définir des relations entre les Tables, il est possible d&amp;#8217;utiliser des
chaines de caractère &lt;cite&gt;relationship(&amp;#8216;OtherTable&amp;#8217;)&lt;/cite&gt;.&lt;/li&gt;
&lt;li&gt;La session es tun concept&amp;nbsp;important.&lt;/li&gt;
&lt;li&gt;Lire efficacement. Attention à ne pas faire énormement de requetes avec
L&amp;#8217;&lt;span class="caps"&gt;ORM&lt;/span&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Performance &lt;span class="caps"&gt;SQL&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;Générer le &lt;span class="caps"&gt;SQL&lt;/span&gt;&amp;nbsp;(python)&lt;/li&gt;
&lt;li&gt;Ne pas faire énormement de petites&amp;nbsp;requetes.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Il est possible de demander à la session de charger les données qui sont
associées. (avec un joinedload). Par defaut, cela risque de charger
l&amp;#8217;ensemble des&amp;nbsp;colonnes.&lt;/p&gt;
&lt;p&gt;Pour la générer avec SQLAlchemy, il est possible de faire un
&lt;cite&gt;.query(Table).join(Table).join(Table2).filter_by(field=value)&lt;/cite&gt;&lt;/p&gt;
&lt;p&gt;En pratique, le mieux est de lister clairemnet le nom des&amp;nbsp;tables&lt;/p&gt;
&lt;p&gt;2ème&amp;nbsp;partie:&lt;/p&gt;
&lt;p&gt;Pour de l&amp;#8217;import de&amp;nbsp;données,&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;first() fait une requete &lt;span class="caps"&gt;SQL&lt;/span&gt;. A éviter dans les&amp;nbsp;boucles&lt;/li&gt;
&lt;li&gt;session.flush() c&amp;#8217;est quand la session écrit en base tout ce qui est en cours
dans la transaction. Par default, la session fait un flush avant chaque&amp;nbsp;requete.&lt;/li&gt;
&lt;li&gt;une option backçpopulates mets à jour la liste des documents associés à une
table qui à une foreign key.
backref modifie implicitement la classe associée. Il est recommandé
d&amp;#8217;utiliser &lt;cite&gt;back_populates&lt;/cite&gt; et non pas &lt;cite&gt;backref&lt;/cite&gt;.&lt;/li&gt;
&lt;li&gt;&lt;cite&gt;subqueryload&lt;/cite&gt; permet de générer une requete séparée plutôt qu&amp;#8217;une&amp;nbsp;jointure.&lt;/li&gt;
&lt;/ul&gt;
</content><category term="pyconfr2015"></category></entry><entry><title>PyconFR 2015 — Table ronde diversité</title><link href="https://blog.notmyidea.org/pyconfr-2015-table-ronde-diversite.html" rel="alternate"></link><published>2015-10-17T00:00:00+02:00</published><updated>2015-10-17T00:00:00+02:00</updated><author><name></name></author><id>tag:blog.notmyidea.org,2015-10-17:/pyconfr-2015-table-ronde-diversite.html</id><summary type="html">&lt;div class="admonition note"&gt;
&lt;p class="first admonition-title"&gt;Note&lt;/p&gt;
&lt;p class="last"&gt;Voici quelques notes prises durant la PyconFR 2015, à Pau. N&amp;#8217;hésitez pas
à les completer si&amp;nbsp;besoin.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;&lt;em&gt;Prise de notes: Gordon et&amp;nbsp;Alexis&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Présent·e·s: Jean Phillipe, Laurence (Directrice de l&amp;#8217;école qui acueille la
Pycon), Amandine, Vivianne, Anna (de django carrots) + representes de django
girls bordeaux …&lt;/strong&gt;&lt;/p&gt;</summary><content type="html">&lt;div class="admonition note"&gt;
&lt;p class="first admonition-title"&gt;Note&lt;/p&gt;
&lt;p class="last"&gt;Voici quelques notes prises durant la PyconFR 2015, à Pau. N&amp;#8217;hésitez pas
à les completer si&amp;nbsp;besoin.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;&lt;em&gt;Prise de notes: Gordon et&amp;nbsp;Alexis&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Présent·e·s: Jean Phillipe, Laurence (Directrice de l&amp;#8217;école qui acueille la
Pycon), Amandine, Vivianne, Anna (de django carrots) + representes de django
girls bordeaux (Laurenne et&amp;nbsp;Alexia).&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span class="caps"&gt;JP&lt;/span&gt; — Pourquoi&lt;/strong&gt;:On a eu une discussion sur la &lt;span class="caps"&gt;ML&lt;/span&gt; de l&amp;#8217;AFPy suite à une décision
de l&amp;#8217;afpy de ne pas financer un évènement qui n&amp;#8217;était pas ouvert à tous-tes
(restreint aux femmes et personnes trans). Cette décision à été prise
conformément a la charte de l&amp;#8217;&lt;span class="caps"&gt;AFPY&lt;/span&gt; qui dit que les evènements promus sont
ouverts à tous. Ce qui veut dire que cela n&amp;#8217;inclue pas les évènement exclusifs.
(Je n&amp;#8217;ai jamais demandé de financement à l&amp;#8217;&lt;span class="caps"&gt;AFPY&lt;/span&gt;. J&amp;#8217;ai juste demandé la
diffusion sur la mailing interne de la création de Pyladies Paris. Je ne sais
pas d&amp;#8217;où vient cette histoire de financement! Pyladies&amp;nbsp;Paris)&lt;/p&gt;
&lt;p&gt;Suite à ça, une modification de la charte à été proposée. Demain matin, la
modification de la charte sera proposée lors de l&amp;#8217;&lt;span class="caps"&gt;AG&lt;/span&gt;. Suite à la proposition de
modification, les discussions se sont enchainées, avec des points de vue
divergents. Cette table ronde vient donc dans ce contexte.
I
&lt;span class="caps"&gt;BD&lt;/span&gt; d&amp;#8217;introduction:
&lt;a class="reference external" href="http://www.commitstrip.com/fr/2015/09/17/meanwhile-in-a-parallel-universe-2/"&gt;http://www.commitstrip.com/fr/2015/09/17/meanwhile-in-a-parallel-universe-2/&lt;/a&gt;&lt;/p&gt;
&lt;div class="section" id="tour-de-presentation"&gt;
&lt;h2&gt;Tour de&amp;nbsp;présentation:&lt;/h2&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;Laurence directrice de l&amp;#8217;école qui accueille d&amp;#8217;évènement, docteure en Maths.
Contente de voir que la tendance s&amp;#8217;inverse un peu (de plus en plus de&amp;nbsp;filles).&lt;/li&gt;
&lt;li&gt;Vivianne, maitre de conférence en informatique à paris sud. Études dans un
milieu assez masculin. Dans le domaine du developpement pour la recherche, ou
des environnements techniques, c&amp;#8217;est très masculin. Essaye de voir comment
faire pour que les filles s&amp;#8217;intéressent plus a&amp;nbsp;l&amp;#8217;informatique.&lt;/li&gt;
&lt;li&gt;Amandine Neyrolle, diplomée d&amp;#8217;école de commerce (plutot 50% fille/garcon dans
ces fillières). Intégrée le monde de l&amp;#8217;informatique par la suite en autodidacte
et formations. Rencontré la créatrice de pyladies et discuté de ces&amp;nbsp;questions.&lt;/li&gt;
&lt;li&gt;Laurenne Chelan, organistrice des django girls bdx. Nouvelle dans cet
univers. Travaille dans des musées de science depuis quelques années. L&amp;#8217;idée de
dj girs bdx part de l&amp;#8217;idée de découvrir le code. Les djangogirls viennent de
berlin, créé par&amp;nbsp;???.&lt;/li&gt;
&lt;li&gt;Alexia Sumois. organisatrice de django girls bdx. Nouvelle dans le milieu du
code. Les conférences d&amp;#8217;aujourd&amp;#8217;hui on donné envie&amp;nbsp;d&amp;#8217;apprendre.&lt;/li&gt;
&lt;li&gt;Anna, créatrice de 4ideas. Essaye de faire en sorte que plus de femmes
viennent dans l&amp;#8217;&lt;span class="caps"&gt;IT&lt;/span&gt;. En reconversion pro. Choisi ce domaine il ya un an. Trouve
que ce sujet est vraiment extremement important, et sur lequel il est possible
de faire quelque chose, et d&amp;#8217;influencer positivement. L&amp;#8217;idée étant de
démystifier l&amp;#8217;&lt;span class="caps"&gt;IT&lt;/span&gt;, et laisser le choix aux femmes de choisir cette&amp;nbsp;profession.&lt;/li&gt;
&lt;li&gt;Jean Phillipe Campguillhem, secrétaire de l&amp;#8217;&lt;span class="caps"&gt;AFPY&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div class="section" id="pourquoi-django-girls"&gt;
&lt;h2&gt;Pourquoi Django Girls&amp;nbsp;?&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Alexia&lt;/strong&gt; — Le déclencheur de cette aventure vient des goodies (!). La décoration
de l&amp;#8217;évènement a attiré l&amp;#8217;attention et donné envie de&amp;nbsp;creuser.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Laurenne&lt;/strong&gt; — Cest pour ça quon se pose la question « comment attirer ces
publics, ces personnes-là ? », importance de limage quon renvoie. Ce nest
pas tant une question de genre, mais dinitié·e·s : on a souvent peur dentrer
dans ce milieu. Django-girls vise une plus grande bienveillancet Carte de la
convivialité, chaleureux, et facile d&amp;#8217;accès pour les débutants. Tout est livré
clé en main, et l&amp;#8217;évènement est facile à prendre en main. Le 28 oct à bordeau,
recherche de coachs / sponsors pour l&amp;#8217;évènement.
&lt;a class="reference external" href="http://djangogirls.com/bordeaux"&gt;http://djangogirls.com/bordeaux&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Laurence&lt;/strong&gt; — Aspect macho présent dans la communication de lécole (pas
forcément explicite). « On a toujours dessiné des symboles de métiers
identifiés par des garçons&amp;nbsp;»&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Laurenceu&lt;/strong&gt; — Il y a une partie d&amp;#8217;inconscient dans l&amp;#8217;ensemble de
l&amp;#8217;enseignement qui est donné. Il y a peu de candidates qui essayent. Pas
question de discrimination positive puisque cela a des effets indésirables
(communautarisme). La question est tout de meme posée, mais il est impensable
d&amp;#8217;accepter des gens grace / a cause de leur genre. L&amp;#8217;ambiance change lorsqu&amp;#8217;il
y a de la mixité. À la recherche didées pour faire venir plus de&amp;nbsp;candidates.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Viviane&lt;/strong&gt; — En tant que femme, on reçoit en permanence le message que ce
métier nest pas fait pour nous. Ces messages ont un impact, le résultat est
que les filles ne vont pas dans les écoles dinformatiques. Il faut aller
convaincre les jeunes filles que cest aussi fait pour elles. Ça passe par
changer les plaquettes. Il faut réussir à changer l&amp;#8217;image existante des confs /
communautés. Un développeur peut aussi etre une développeuse. Dans l&amp;#8217;assemblée,
on se rend compte que certaines femmes sont en dehors du parcours. Il faut
qu&amp;#8217;en tant que communauté on soit capables d&amp;#8217;accueillir les nouvelles /
nouveaux. Cest en ayant une diversité quon parviendra à changer limage du
métier. Les rencontres pyladies permettent aussi de rencontrer d&amp;#8217;autres femmes
qui ont les mêmes problématiques. Accompagner les nouvelles entrantes pour
trouver du boulot, découvrir l&amp;#8217;&lt;span class="caps"&gt;AFPY&lt;/span&gt; et les initatives existantes. Les
initiatives existantes django girls / pyladies est très&amp;nbsp;important.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Amandine&lt;/strong&gt; — Cest pourquoi ce genre dévènements non-mixtes permet de faire
des séances de rattrapage pour permettre dintégrer la communauté dans son
ensemble. Cest le point clé pour faire accepter ce genre&amp;nbsp;dinitiatives.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Laurenne&lt;/strong&gt; — DjangoGirls et Django Carrots ne sont pas des évènements
excluants. Ils sont simplement orientés en priorité aux femmes. Sur la question
de « comment amener des jeunes filles vers ces études-là », ça se joue bien
avant, dans lenfance, bien avant lécole. cf les jeux genrés. Il faut
travailler à ce&amp;nbsp;niveau-là.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Anna&lt;/strong&gt; — Pour illustrer ce que dit Laurenne, l&amp;#8217;importance des clichés
existants. Avant le mi-80s, il y avait autant de femmes que dans d&amp;#8217;autres
domaines. Si on regarde les stats, dans tousles autres domaines, le pourcentage
de femmes augmente. Et en &lt;span class="caps"&gt;IT&lt;/span&gt;, en 84 il y a un pic qui inverse la tendance. Ce
sont des stats américaines. A priori cela s&amp;#8217;applique aussi en Europe. En &lt;span class="caps"&gt;IT&lt;/span&gt;, la
culture qui à été créé autour des hackers qui ont des super pouvoirs, mangent
des pizzas, etc. Ces clichés ont influencé le monde. Nous ne sommes pas
complètement autonomes, et nous sommes influencés par la culture autour de
nous. Les dommages qui ont été fait dans le domaine de l&amp;#8217;&lt;span class="caps"&gt;IT&lt;/span&gt; sont graves, et il
est important de renverser la tendance. La question de l&amp;#8217;image est centrale.
Les personnes ont besoin de place pour faire leurs évènements. Il est important
de comprendre et respecter que les autres veuillent faire de la discrimination
positive. Ce sont des actions qui sont supportées par la France. Ce sont des
valeurs qui sont beaucoup lus fortes en France qu&amp;#8217;ailleurs (Anna souligne
qu&amp;#8217;elle est Polonaise). On devrait respecter ce&amp;nbsp;droit.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Vivianne&lt;/strong&gt; — Certaines evènements sont non-mixtes (pour les personnes qui
s&amp;#8217;identifient comme des femmes). Ce ne doit pas etre les seules initiatives.
Elle est pour la mixté. PyLadies est assez spécifique : ce nest pas de la
formation, mais principalement des évènements tournés autour du réseau. Il est
important d&amp;#8217;avoir un endroit ou les jeunes femmes seront moins imprésionnées.
Les situations exposées dans la &lt;span class="caps"&gt;BD&lt;/span&gt; sont réelles. De se retrouver dans un
environnement où elles sont sûres quelles ne subiront pas de&amp;nbsp;micro-agressions.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Laurence&lt;/strong&gt; — Témoignage d&amp;#8217;une mère qui dit à sa fille, en passant devant un
panneau de l&amp;#8217;école, mentionnant maths et informatique, et qui dit à sa fille «
oh non, c&amp;#8217;est pas pour toi ça » . On dit « attention les garçons, vous devez
être sympas avec les filles ». Les garçons ont envie que ça se passe bien avec
les&amp;nbsp;filles.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span class="caps"&gt;JP&lt;/span&gt;&lt;/strong&gt; — Sans revenir sur les décisions qui ont été prises, nous n&amp;#8217;avons pas
dit que nous étions contre ces évènements (à l&amp;#8217;&lt;span class="caps"&gt;AFPY&lt;/span&gt;). A plusieurs reprises,
j&amp;#8217;ai du faire des blagues sexistes. Évidemment qu&amp;#8217;on est mieux ensemble. Pour
revenir sur la discussion de la mailing-list, je me suis rendu compte que
j&amp;#8217;avais un regard biaisé. Si on en est la, c&amp;#8217;est quil y a énormement de
travail. Que faire, du coup ? En tant qu&amp;#8217;hommes ? Qu&amp;#8217;association ? Si il est
necessaire de créer une zone de confort / sécurité, c&amp;#8217;est qu&amp;#8217;il y a une zone
d&amp;#8217;inconfort / insécurité qui est forte. Les couleurs, les jolis goodies, sont
le sommet de liceberg. Rappel de l&amp;#8217;éxistence du Code of Conduct : il y a déjà
eu des incidents par le passé. On passe la parole à Florent, qui est à
lorigine du CoC. Remerciement envers les&amp;nbsp;intervenantes.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Florent (vice secrétaire de l&amp;#8217;&lt;span class="caps"&gt;AFPY&lt;/span&gt;)&lt;/strong&gt; — Comme le dit &lt;span class="caps"&gt;JP&lt;/span&gt;, un code of conduct
est affiché devant toutes les portes et à l&amp;#8217;entrée. Tout le monde naimait pas
forcément lidée den avoir, on a fini par trancher. Le but est davoir des
endroits safes. Avant davoir un CoC, on ne peut pas dire quon soit safes,
envers l&amp;#8217;ensemble des minorités. On a écrit le CoC en conséquence des
agressions. Aujourdhui, pas de tolérance pour des comportements qui nont pas
lieu dêtre (quon a définis comme tels). Ça fonctionne sur la dénonciation
lorsque lon est témoin de ça. On na pas vraiment de mal à rencontrer des
femmes, mais plus de mal à faire comprendre quelles sont bienvenues. Impact
important de blagues sexistes, quon défend comme « cest pour rire ». Merci de
lire le Code of Conduct. Les blagues sexistes etc. ne sont pas les bienvenues.
Merci de réagir lors de ces&amp;nbsp;cas.&lt;/p&gt;
&lt;/div&gt;
&lt;div class="section" id="questions"&gt;
&lt;h2&gt;Questions.&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Questiond de Gawel&lt;/strong&gt;: Question pour Amandine. Est-ce que tu te sens bien à l&amp;#8217;&lt;span class="caps"&gt;AFPY&lt;/span&gt; ? Si non, que faire pour que tu te sente mieux&amp;nbsp;?&lt;/p&gt;
&lt;p&gt;Amandine — Oui je me sens bien, est-ce quil y a eu des évènements ? oui, sans
doute mais jy suis aguerrie, donc je me rends peu compte. Quest-ce quon peut
faire ? Lidée du CoC est daller à lencontre des comportements négatifs, mais
lidée derrière est une ouverture à la différence dans son ensemble, promouvoir
louverture à lautre et à la différence. Lenjeu culturel est darriver à
changer détat desprit et didentifier ces biais cognitifs. Il faudrait pas
quon se dise « ho là là, il y a une fille, faut rien dire sinon je vais me
faire taper » Il faut cultiver la différence. et être&amp;nbsp;curieux/se.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Question&lt;/strong&gt; : « cest pas fait pour moi », mais plutôt « je suis mauvais, donc
je dois travailler », on en revient à limportance de léducation. Il faut
continuer de pointer du doigt les problèmes. Je suis aussi membre dun &lt;span class="caps"&gt;LUG&lt;/span&gt;,
nous sommes entre hommes diplomés blancs de 30 à 40 ans. La réflexion sur les
plaquettes pas accueillantes est pertinente : le site de lasso est très&amp;nbsp;masculin.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Question de Bruno&lt;/strong&gt;. Pour lécole: quand jétais étudiant, 20% de filles.
(Aujourdhui on est partis de 7/8% pour arriver à 15%). Est-ce que les filles
réussissent plus&amp;nbsp;?&lt;/p&gt;
&lt;p&gt;Laurence — on na pas de stats, mais elles posent moins de problèmes. Les
filles sont favorisées par les&amp;nbsp;employeurs.&lt;/p&gt;
&lt;p&gt;Vivianne — la motivation des filles à la sortie est identique aux garçons, mais
tout nest pas rose. En entretien par exemple, ils sont faits par des hommes,
mais au niveau des stats, le nombre de femmes qui quittent le milieu est
important. Effort à faire au niveau de la communauté, des entreprises. Schémas
masculins, mais sur le long terme, on subit des agressions. Difficile de rester
dans le métier et faire une carrière intéressante, à compétences/motivation
identiques aux hommes. Il faut en avoir&amp;nbsp;conscience&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Question de Benoit&lt;/strong&gt;: il y a peut-être une façon de créer des
lieux/évènements protégés, en utilisant ceux qui existent déjà. Est-ce quon
peut aller organiser des évènements dans des écoles/lycées, des endroits où les
gens se sentent déjà à laise, où les populations sont plus représentées&amp;nbsp;?&lt;/p&gt;
&lt;p&gt;Vivianne — ça se fait. En tant quenseignante, dès que jai une occasion, que
ce soit pour aller chercher des &lt;span class="caps"&gt;JF&lt;/span&gt; ou des étudiants maths/infos, même si cest
ouvert à tous, je le fais. Si cest que des hommes, les femmes nont pas envie
dy&amp;nbsp;aller.&lt;/p&gt;
&lt;p&gt;Laurenne — cest quelque chose qui se fait beaucoup. On met en avant des femmes
chercheuses dès quon le&amp;nbsp;peut.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Question d&amp;#8217;Alexis&lt;/strong&gt; : je suis très content quil y ait cette discussion qui
se fasse. Question par rapport aux discriminations positives, quon a pu voir
par le passé (notamment lors de conférences). Difficile de dire « on va
préférer des femmes ». Question irrésolue, parce que pour faire évoluer, on a
besoin d&amp;#8217;initier quelque chose, dessayer. Mais ça a un côté&amp;nbsp;dérangeant.&lt;/p&gt;
&lt;p&gt;Vivianne — à la PyCon (&lt;span class="caps"&gt;US&lt;/span&gt;), jai été impressionnée du nombre de femmes qui
parlaient. On va pas mettre un quota, ça serait stupide, on va forcer personne.
Mais il faut en avoir conscience. Cette année, on est 4 oratrices, ya du
travail à faire. En tant quhommes, il faut aussi se mettre en retrait et
inviter des femmes à en parler à notre place. Faire le pas d&amp;#8217;aller faire un
exposé dans une communauté où on ne se sent pas à sa place (même si on lutte
contre) est difficile. Inviter des gens, sans forcément passer par un énorme
processus. Ça passe par des events comme&amp;nbsp;PyLadies.&lt;/p&gt;
&lt;p&gt;Anna — pour les personnes par encore convaincues, juste apres le droit de vote
des femmes en 46, à l&amp;#8217;assemblée nationale il y avait très peu de femmes. Puis
en 93, 6.1% apres que des mesures aient été prises. Ensuite de femmes puis vers
20% Les choses ne vont pas se changer toutes seules. Il est necessaire d&amp;#8217;avoir
du temps pour faire évoluer les choses. Il est important de noter que PyconFR
fait déjà des choses. Et lors de django carrots, je me suis sentie très
accueillie. J&amp;#8217;ai eu beaucoup de très bonnes expériences avec des personnes qui
étaient prêtes à&amp;nbsp;aider.&lt;/p&gt;
&lt;p&gt;&lt;span class="caps"&gt;JP&lt;/span&gt; — Remerciement pour Rémy qui abat un travail de ouf. C&amp;#8217;est grace à Rémy si
il y a django carrots demain. Il faut faire des choses. :-) Merci&amp;nbsp;!&lt;/p&gt;
&lt;/div&gt;
</content><category term="pyconfr2015"></category></entry></feed>