PyconFR 2015

This commit is contained in:
Alexis Métaireau 2015-11-03 21:44:09 +01:00
parent 25909813f2
commit 122f1ea1f8
9 changed files with 780 additions and 0 deletions

View file

@ -0,0 +1,48 @@
PyconFR 2015 — Assemblée générale
#################################
:date: 2015.10.18
:category: pyconfr2015
:unlisted: true
.. note::
Voici quelques notes prises durant la PyconFR 2015, à Pau. N'hésitez pas
à les completer si besoin.
Mot de feth sur Nelle, qui était une présidente très présente. Merci !
Passé
-----
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
à faire.
FOSDEM 2015 était complet. Il y avait une salle python tojours pleine.
Dsicussions sur la diversité.
Futur
-----
Amandine propose d'organiser des soirées à NUMA l'an prochain.
Global code retreat: participation
Migrer le serveur de l'AFPY
Reboot des status: nos pratiques ne sont pas en ligne avec nos status.
Mise en place de mentoring pour python.
Status
======
Comité directeur renouvelé par tiers. Il est composé de 18 personnes. Les
discussions qui sont dans le CD n'en sortent pas, et les discussions sont donc
effectuées en priuvées.
L'idée actuelle serait de réduire le CD de 18 à 9 personnes. Tout le travail
serait fait en dehors du CD. Il est possible de mettre en place un groupe de
travail pour travailler sur l'évolution de la charte.
Il faut faire évoluer les status: ils ne sont pas actuellement bien faits par
rapport à notre utilisation.

View file

@ -0,0 +1,122 @@
PyconFR 2015 — Cliquet
######################
:date: 2015.10.17
:category: pyconfr2015
:unlisted: true
.. note::
Voici quelques notes prises durant la PyconFR 2015, à Pau. N'hésitez pas
à les completer si besoin.
Speaker: Mathieu Leplatre (@leplatrem), Mozilla
Toolkit HTTP, pour éventuellement faire des microservices.
1. Origines
2. Protocole
3. Toolkit
4. Conversation
Origines
========
Stockage de données, Cloud Services, Mozilla.
Le boulot, c'est de faire des APIs. On nous demande de faire des APIs, tout
le temps.
Souvent, les mêmes questions sont à l'ordre du jour. Heartbeat, codes
d'erreurs, etc. L'inventaire de tout ce qui est attendu d'une API, au dela de
ce qui est la valeur ajoutée du service.
Définition d'un protocole. Définir une API REST n'est pas aussi évident qu'il
y parait. Il faut définir les formats de JSON, les status, etc.
La réutilisation de certaines protocoles existants était possible (Sync, en
production depuis quelques années).
Réutiliser du code nous permettait et faire un template pour démarrer plus
facilement, pour se concentrer sur le métier de l'API. Puisque les besoins ne
sont pas toujours les mêmes, avoir une boite à outil permet de choisir ce que
l'on souhaite.
Protocole
=========
- Création d'un protocole qui respecte les bonnes pratiques. CORS, avoir les
bons codes de status, arrêter de se poser toujours les mêmes questions.
Contrairement à ce qu'on imagine, la spécification HTTP n'est pas si facile
à suivre. Plutôt que d'écrire un document, un toolkit à été créé.
- Les ops ont besoin de quelques endpoints: un heartbeat (monitoring) des
endpoints de batch, un endpoint "hello", pour connaitre le type de service,
ses URLs etc.
- La service renvoie toujours un JSON avec la description de l'erreur. Cela
permet d'avoir tout le temps la même gestion des erreurs. Utilisation du
header "backoff" qui permet de demander aux clients d'arreter de faire des
requetes durant une durée spécifée par le serveur.
- Pour les resources "REST", quelques règles sont définies: quel est le format
du JSON, quel est la syntaxe du querystring pour filtrer, ordonner, gérer les
opérations concurentes, etc.
- Comment la validation fonctionne ? La pagination ? La définition des
permissions ? Les erreurs.
Définir le protocole une seule fois permet de se mettre d'accord avec les Ops.
On ne créé pas une RFC pour l'instant, il faut qu'on valide ce qu'on a fait,
il est necessaire de valider notre approche.
Toolkit
=======
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 à mesure.
Cliquet propose de faire l'ensemble du boilerplate, la lecture du protocole, et
vous permet de créer les backends souhaités.
Il est possible de choisir les methodes HTTP acceptables, les URLs à utiliser
etc. Tweaker l'API est possible, la chose qui reste toujouts stable est le
protocole.
le toolkit vise à faire quelque chose de pluggable. Tout est controllable
depuis la configuration.
Pour le deploiement, cela veut dire que le monitoring est déjà connecté, et il
est possible de changer la configuration depuis un fichier `.ini`.
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'identifier les goulots
d'étranglement.
Microservices ?
===============
- Cliquet apporte une manière standard de surveiller, deployer, configurer des
services.
- Il est possible de se focaliser sur la logique de l'application, en faisait
une abstraction des backends, etc.
- Le fait de figer l'API permet d'avoir des clients génériques que l'on peu
réutiliser d'une application à l'autre.
Cliquet est utilisé pour
========================
- Kinto, un service générique de stpclage de données.
- Syncto, un proxy pour Sync en utilisant le protocole.
- La liste de lecture, service qui à été shutdown.
Questions
=========
- **Qu'est-ce qui est pluggable ?** Les choix qui sont fait dans cliquet
concernent le protocole. Le toolkit est lui fait de manière "pluggable". Il
est par exemple possible de changer le backend, l'authentification, le cache
ou les permissions.
- **Quelles sont les parties non standard? Est-il prévu de representer ça via
une RFC ?** Le seul sujet qui pourrait etre utile dans une RFC serait de
définir les headers attendus pour la validation et l'écriture
concurrentielle. L'ensemble de ce qui est proposé est standard.
- **Existe-il un client JavaScript, comme pour Kinto ?** Actuellement, non. Par
contre, Kinto.js est prévu pour que la partie commune entre les APIs (le
protocole) peut etre extrait.

View file

@ -0,0 +1,132 @@
PyconFR 2015 — Geoalchemy
#########################
:date: 2015.10.17
:category: pyconfr2015
:unlisted: true
.. note::
Voici quelques notes prises durant la PyconFR 2015, à Pau. N'hésitez pas
à les completer si besoin.
Speaker: Eric Lemoine, Camp to camp. (@elemoine)
Bibliothèque python basée sur SQL alchemy, pour interagir avec des bases de
données geographiques / spatiales.
Une base de donnée optimisée pour representer et rechercher des données qui
representent des objets dans un espace géométrique.
- Il est possible d estocker des ligne,s de polygones, des points. Il y a une
colonne géometrie pour stocker ces données.
- Il y a aussi des fonctions qui permettent de travailler sur ces données
(transfomrations, projections, etc).
- Indexs géographiques qui permettent de faire des recherches de manière
performante.
POSTGIS
-------
POSTGIS s'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
"boites englobantes".
Pour créer une base de données postgis, il faut faire un "create extension
postgis", ce qui installe tout ce dont on a besoin.
il est possible d'apeller `GEOMETRY(POINT)` par exemple.
`ST_GeomFromText('POINT(lat long)')` permet de convertir un point dans un objet
geometrie interne à postgres.
`ST_DWithin` permet de trouver les personnes qui sont autour d'un rayon donné.
L'ensemble des fonctions proposées par postgres commencent par `ST_*`
SQLAlchemy
----------
Il s'agit d'une bote à outil qui permet de faire des requetes de manière
simple. Il y a une philosophie forte.
- Il ne sohaite pas cacher la base de données
- C'est un language pour faire du SQL en python
- Rien n'est caché.
- Fourni un vocabulaire riche pour générer le SQL
- L'objectif est de changer la manière dont on pense à SQL, redonner le gout du
SQL aux developeurs.
Deux parties:
- ORM
- CORE
Il est possible d'utiliser simplement le core si l'on sohaite (sans utiliser
l'ORM)
Core
~~~~
Il est possible d'utiliser SQL Alchemy pour générer les tables à l'origine.
Core permet d'utiliser des tables, et d'executer une insertion, depuis python.
Il est possible de representer les requetes avec des methodes chainées
`select().where()` etc.
Le "core" ne fait pas de mapping du tout, il manipule des Tables SQLA
directement.
ORM
~~~
L'ORM fait, lui, du mapping. C'est cette couche que l'on va utiliser dans une
application Web complexe par exemple.
- il est possible de travailler avec une session `Session()` puis on effectue
des opérations et on `commit()`.
GeoAlchemy
==========
- Créé en 2009, pour supporter uniquement postgis.
- Depuis, d'autres bases de données (MySQL, Spatialite, MySQL server) etc.
- Réécriture depuis grace à la nouvelle API de SQLAlechemy, mais perte du
support d'autres backends.
- Finalement, retour sur POSTGIS uniquement, pour évite d'avoir à supporter les
différences de tous les backends.
Features
--------
Très simple de s'intégrer avec les features de POSTGIS, par exemple en
déclarant une colonne en tant que "Géometrie".
Exemple: session.query(Lake).filter(Lake.geom.ST_Buffer(2).ST_Area) permet de
lister l'ensemble des lacs avec une aire de 2 au moins.
S'intègre bien avec des services existants (shapely, pyramid, etc).
Utilisation de geojsondumps pour representer des features en geojson.
Status
------
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 postgres.
3 ou 4 developeurs actifs sur le projet, ça fonctionne plutôt bien. Pour
contribuer, il est possible de faire cela sur github.
Slides de la presentation sur http://erliem.net/talks/pyconfr2015
Resources:
- https://pypi.python.org/pypi/Shapely - Manipulation and analysis of geometric
objects in the Cartesian plane.
Question:
- Dans les exemples geoalchemy, les données geométriques sont passées sous
forme de chaine. Est-ce normal ? Oui.
- Les rasters sont également supportés.

View file

@ -0,0 +1,81 @@
PyconFR 2015 — Hospital - des tests en prod
###########################################
:date: 2015.10.18
:category: pyconfr2015
:unlisted: true
.. note::
Voici quelques notes prises durant la PyconFR 2015, à Pau. N'hésitez pas
à les completer si besoin.
Speaker: Benoit Bryon, Peopledoc.
Pour une procédure de déploiement, comment est-ce qu'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 fichiers).
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 etc.
Lors d'un déploiement, comment faire pour vérifier que tout tourne lorsque tout
est déployé ?
Comment faire ?
---------------
- Les tests permettent de tester hors sol.
- Le provisionning permet de valider que tout tourne correctement, mais
- simplement au démarrage. Les pannes ne sont pas détectées.
- Le logging va permettre de detecter les erreurs, mais trop tard.
- Le monitoring permet d'avoir une vue de l'exterieur.
Hostpital propose de faire des assertions sur la configuration,
l'environnement, *en cours de fonctionnement*. Ce sont les developeurs qui
ajoutent ces assertions.
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 problèmes.
Hospital
--------
::
pip install hospital
Hospital est un outil en python. On définit des tests, de la même manière que
l'on définit des tests unitaires. On fait des assertions, comme pour les tests
unitaires. Hospital propose des helpers pour les cas courants:
`assert_http_response` ou `assert_ping`.
La vue est une vue de l'intérieur. La différence avec le monitoring est que
l'on teste la connectivité entre les services (exemple d'une requete
elasticsearch qui échoue depuis un service django).
Pour la supervision, les healthchecks sont lancés avec une ligne de commande
`hospital-cli`. Il est possible de lancer également ces tests avec nose ou
py.test.
Il est aussi possible de faire le monitoring avec une API HTTP `hospital
serve`.
Les lacunes de hospital
~~~~~~~~~~~~~~~~~~~~~~~
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 paralelle.
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'autre coté, les diagnostiques seraient eux
plus fins.
Wrap up
-------
Validez votre configuration, la connectivité avec les services externes. Faites
des tests souvent !

View file

@ -0,0 +1,33 @@
Rencontres python francophones, 2015
####################################
:date: 2015.11.02
J'ai pris quelques notes durant la conférence annuelle de PyconFR, qui avait
lieu à Pau cette année, et les ai publiées entre deux étapes des vacances qui
ont suivi. Je prends maintenant un peu plus de temps pour ranger toutes ces
notes au bon endroit.
C'était un excellent cru: l'organisation était vraiment impressionnante (merci
, si vous me lisez !). Et puis comme toujours l'occasion de recroiser quelques
copains, et d'en découvrir quelques autres... J'en ai profité pour parler de
Kinto (voici d'ailleurs `les slides de la présentation que j'ai faite
<http://alexis.notmyidea.org/kinto-pycon/>`_).
Parmis les conférences qui m'ont marquées, je vous conseille `celle de Benoit
Bryon, sur Hospital <{filename}/pyconfr2015/hospital.rst>`_, qui parle de
heartbeat, ou de comment tester vos projets en prod, et celle `sur Geo Alchemy,
par Éric Lemoine <{filename}/pyconfr2015/geoalchemy.rst>`_. Et bien sur, `celle
de Mathieu Leplatre sur Cliquet <{filename}/pyconfr2015/cliquet.rst>`_, le
toolkit qui rassemble les bonnes pratiques que nous souhaitons mettre en avant
chez Mozilla services, mais là, je suis tout sauf impartial !
Sinon, il peut être interessant de jeter un coup d'oeil au `compte rendu de la
table ronde sur la diversité
<{filename}/pyconfr2015/table-ronde-diversite.rst>`_, si c'est un sujet qui vous
touche. Encore beaucoup de choses à faire sur le sujet, bien sur, mais cette table ronde
était un pas nécessaire dans la bonne direction. Un groupe de travail sur le
sujet est en train de se constituer au sein de l'association.
L'ensemble des notes que j'ai pu prendre sont disponibles dans la section `PyconFR 2015
<http://blog.notmyidea.org/category/pyconfr2015.html>`_.

View file

@ -0,0 +1,58 @@
PyconFR 2015 — SQL Alchemy
##########################
:date: 2015.10.17
:category: pyconfr2015
:unlisted: true
.. note::
Voici quelques notes prises durant la PyconFR 2015, à Pau. N'hésitez pas
à les completer si besoin.
Speaker: David Allouche
SQL Alchemy vous permet de produire le SQL que vous voulez. Il faut que vous
souhaitiez comprendre ce que va etre produit.
Déclaratif:
- On créé des classes qui representent nos tables, et les liaisons entre les
tables, en utilisant `relationship` (qui à énormement d'attributs).
- On définit quelles osnt les clés étrangères entre les tables.
- Puis on va définir les attributs qui sont liés entre les tables
(relationship).
- Pour définir des relations entre les Tables, il est possible d'utiliser des
chaines de caractère `relationship('OtherTable')`.
- La session es tun concept important.
- Lire efficacement. Attention à ne pas faire énormement de requetes avec
L'ORM.
**Performance SQL**
- Générer le SQL (python)
- Ne pas faire énormement de petites requetes.
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'ensemble des colonnes.
Pour la générer avec SQLAlchemy, il est possible de faire un
`.query(Table).join(Table).join(Table2).filter_by(field=value)`
En pratique, le mieux est de lister clairemnet le nom des tables
2ème partie:
Pour de l'import de données,
- first() fait une requete SQL. A éviter dans les boucles
- session.flush() c'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
requete.
- 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'utiliser `back_populates` et non pas `backref`.
- `subqueryload` permet de générer une requete séparée plutôt qu'une jointure.

View file

@ -0,0 +1,241 @@
PyconFR 2015 — Table ronde diversité
####################################
:date: 2015.10.17
:category: pyconfr2015
:unlisted: true
.. note::
Voici quelques notes prises durant la PyconFR 2015, à Pau. N'hésitez pas
à les completer si besoin.
*Prise de notes: Gordon et Alexis*
**Présent·e·s: Jean Phillipe, Laurence (Directrice de l'école qui acueille la
Pycon), Amandine, Vivianne, Anna (de django carrots) + representes de django
girls bordeaux (Laurenne et Alexia).**
**JP — Pourquoi**:On a eu une discussion sur la ML de l'AFPy suite à une décision
de l'afpy de ne pas financer un évènement qui n'était pas ouvert à tous-tes
(restreint aux femmes et personnes trans). Cette décision à été prise
conformément a la charte de l'AFPY qui dit que les evènements promus sont
ouverts à tous. Ce qui veut dire que cela n'inclue pas les évènement exclusifs.
(Je n'ai jamais demandé de financement à l'AFPY. J'ai juste demandé la
diffusion sur la mailing interne de la création de Pyladies Paris. Je ne sais
pas d'où vient cette histoire de financement! Pyladies Paris)
Suite à ça, une modification de la charte à été proposée. Demain matin, la
modification de la charte sera proposée lors de l'AG. 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
BD d'introduction:
http://www.commitstrip.com/fr/2015/09/17/meanwhile-in-a-parallel-universe-2/
Tour de présentation:
=====================
- Laurence directrice de l'école qui accueille d'évènement, docteure en Maths.
Contente de voir que la tendance s'inverse un peu (de plus en plus de filles).
- 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'est très masculin. Essaye de voir comment
faire pour que les filles s'intéressent plus a l'informatique.
- Amandine Neyrolle, diplomée d'école de commerce (plutot 50% fille/garcon dans
ces fillières). Intégrée le monde de l'informatique par la suite en autodidacte
et formations. Rencontré la créatrice de pyladies et discuté de ces questions.
- Laurenne Chelan, organistrice des django girls bdx. Nouvelle dans cet
univers. Travaille dans des musées de science depuis quelques années. L'idée de
dj girs bdx part de l'idée de découvrir le code. Les djangogirls viennent de
berlin, créé par ???.
- Alexia Sumois. organisatrice de django girls bdx. Nouvelle dans le milieu du
code. Les conférences d'aujourd'hui on donné envie d'apprendre.
- Anna, créatrice de 4ideas. Essaye de faire en sorte que plus de femmes
viennent dans l'IT. 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'influencer positivement. L'idée étant de
démystifier l'IT, et laisser le choix aux femmes de choisir cette profession.
- Jean Phillipe Campguillhem, secrétaire de l'AFPY
Pourquoi Django Girls ?
=======================
**Alexia** — Le déclencheur de cette aventure vient des goodies (!). La décoration
de l'évènement a attiré l'attention et donné envie de creuser.
**Laurenne** — 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'accès pour les débutants. Tout est livré
clé en main, et l'évènement est facile à prendre en main. Le 28 oct à bordeau,
recherche de coachs / sponsors pour l'évènement.
http://djangogirls.com/bordeaux
**Laurence** — 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 »
**Laurenceu** — Il y a une partie d'inconscient dans l'ensemble de
l'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'accepter des gens grace / a cause de leur genre. L'ambiance change lorsqu'il
y a de la mixité. À la recherche didées pour faire venir plus de candidates.
**Viviane** — 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'image existante des confs /
communautés. Un développeur peut aussi etre une développeuse. Dans l'assemblée,
on se rend compte que certaines femmes sont en dehors du parcours. Il faut
qu'en tant que communauté on soit capables d'accueillir les nouvelles /
nouveaux. Cest en ayant une diversité quon parviendra à changer limage du
métier. Les rencontres pyladies permettent aussi de rencontrer d'autres femmes
qui ont les mêmes problématiques. Accompagner les nouvelles entrantes pour
trouver du boulot, découvrir l'AFPY et les initatives existantes. Les
initiatives existantes django girls / pyladies est très important.
**Amandine** — 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 dinitiatives.
**Laurenne** — 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 niveau-là.
**Anna** — Pour illustrer ce que dit Laurenne, l'importance des clichés
existants. Avant le mi-80s, il y avait autant de femmes que dans d'autres
domaines. Si on regarde les stats, dans tousles autres domaines, le pourcentage
de femmes augmente. Et en IT, en 84 il y a un pic qui inverse la tendance. Ce
sont des stats américaines. A priori cela s'applique aussi en Europe. En IT, 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'IT sont graves, et il
est important de renverser la tendance. La question de l'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'ailleurs (Anna souligne
qu'elle est Polonaise). On devrait respecter ce droit.
**Vivianne** — Certaines evènements sont non-mixtes (pour les personnes qui
s'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'avoir un endroit ou les jeunes femmes seront moins imprésionnées.
Les situations exposées dans la BD sont réelles. De se retrouver dans un
environnement où elles sont sûres quelles ne subiront pas de micro-agressions.
**Laurence** — Témoignage d'une mère qui dit à sa fille, en passant devant un
panneau de l'école, mentionnant maths et informatique, et qui dit à sa fille «
oh non, c'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 filles.
**JP** — Sans revenir sur les décisions qui ont été prises, nous n'avons pas
dit que nous étions contre ces évènements (à l'AFPY). A plusieurs reprises,
j'ai du faire des blagues sexistes. Évidemment qu'on est mieux ensemble. Pour
revenir sur la discussion de la mailing-list, je me suis rendu compte que
j'avais un regard biaisé. Si on en est la, c'est quil y a énormement de
travail. Que faire, du coup ? En tant qu'hommes ? Qu'association ? Si il est
necessaire de créer une zone de confort / sécurité, c'est qu'il y a une zone
d'inconfort / insécurité qui est forte. Les couleurs, les jolis goodies, sont
le sommet de liceberg. Rappel de l'é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 intervenantes.
**Florent (vice secrétaire de l'AFPY)** — Comme le dit JP, un code of conduct
est affiché devant toutes les portes et à l'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'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 cas.
Questions.
==========
**Questiond de Gawel**: Question pour Amandine. Est-ce que tu te sens bien à l'AFPY ? Si non, que faire pour que tu te sente mieux ?
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 curieux/se.
**Question** : « 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 LUG,
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
masculin.
**Question de Bruno**. 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 ?
Laurence — on na pas de stats, mais elles posent moins de problèmes. Les
filles sont favorisées par les employeurs.
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 conscience
**Question de Benoit**: 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 ?
Vivianne — ça se fait. En tant quenseignante, dès que jai une occasion, que
ce soit pour aller chercher des JF 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 aller.
Laurenne — cest quelque chose qui se fait beaucoup. On met en avant des femmes
chercheuses dès quon le peut.
**Question d'Alexis** : 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'initier quelque chose, dessayer. Mais ça a un côté dérangeant.
Vivianne — à la PyCon (US), 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'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 PyLadies.
Anna — pour les personnes par encore convaincues, juste apres le droit de vote
des femmes en 46, à l'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'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'ai eu beaucoup de très bonnes expériences avec des personnes qui
étaient prêtes à aider.
JP — Remerciement pour Rémy qui abat un travail de ouf. C'est grace à Rémy si
il y a django carrots demain. Il faut faire des choses. :-) Merci !

View file

@ -0,0 +1,63 @@
PyconFR 2015 — We don't need your loop
######################################
:date: 2015.10.18
:category: pyconfr2015
:unlisted: true
.. note::
Voici quelques notes prises durant la PyconFR 2015, à Pau. N'hésitez pas
à les completer si besoin.
Speaker: serge_sans_paille.
Retour sur le passé des boucles: ASM, fortran, C. Avec APL, la boucle est
cachée au fur et à mesure des évolutions. Écrire une boucle ne devrait pas etre
exprimer comment atteindre le resultat.
En python, par exemple, il vaut mieux utiliser `sum` plutôt que de faire
l'addition nous même (pour faire une addition des elements d'une liste).
Actuellement, le compilateur python est lent si on utilise numpy.sum sur des
matrices complexes.
Comment aller plus vite?
========================
Cython est assez compliqué, il faut savoir ce que l'on fait pour optimiser et
écrire du bon code Cython.
Avec pythran, l'intelligence est dans le compilateur, qui permet d'écrire
notemment des boucles correctement.
En donnant plus d'informaitons au compilateur, plutôt que de faire des boucles,
cela lui permet d'avoir un contexte qui lui permet d'optimiser le code.
Par contre, cela veut dire que plus de connaissances sont necessaire pour lire
le code python.
pythran permet de compiler directement vers du C++ sans avoir à changer son
code de base (python). C'est utile pour du code numpy notemment.
Questions
=========
Possible de paralelliser de manière explicite **ou** implicite.
**C'est très utile pour les gens qui font du "number crunching". Est-ce que
c'est utile pour d'autres domaines d'application (Web)?**
Pas vraiment. CPython est déjà bien fait pour ces cas d'utilisation.
**Est-il possible de lancer pythran sans faire de commentaires ?**
C'est possible mais cela ne servira pas à grand chose. Il est necessaire de
connaitre le type des objets qui sont utilisés lors des boucles.
**Est-ce que vous songez à un compilateur à la volée ?**
De gros efforts ont été faits dernièrement pour diminuer le temps de
compilation. Mais pour une fonction qui renvoie None prends de l'ordre d'une
seconde ou une demi seconde. Ce n'est pas très utile pour un compilateur à la
volée puisqu'il faudrait des gains de perfs supérieurs à cela.

View file

@ -10,6 +10,7 @@ l'apprentissage, le partage et la souveraineté populaire.</p>
</div>
<div class="posts">
{% for article in articles_page.object_list %}
{% if not article.unlisted or article.category == category %}
<div class="post">
<h1 class="post-title" style="display: inline">
<a href="{{ SITEURL }}/{{ article.url }}" rel="bookmark" title="Permalink to {{ article.title|striptags }}">{{ article.title }}</a>
@ -17,6 +18,7 @@ l'apprentissage, le partage et la souveraineté populaire.</p>
<span class="post-date" style="display: inline">{{ article.locale_date }}</span>
<span class="headline" style="display: block">{{ article.headline }}</span>
</div>
{% endif %}
{% endfor %}
</div>
{% include 'pagination.html' %}