diff --git a/content/pyconfr2015/assemblee-generale.rst b/content/pyconfr2015/assemblee-generale.rst new file mode 100644 index 0000000..a270642 --- /dev/null +++ b/content/pyconfr2015/assemblee-generale.rst @@ -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. diff --git a/content/pyconfr2015/cliquet.rst b/content/pyconfr2015/cliquet.rst new file mode 100644 index 0000000..f60967c --- /dev/null +++ b/content/pyconfr2015/cliquet.rst @@ -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. diff --git a/content/pyconfr2015/geoalchemy.rst b/content/pyconfr2015/geoalchemy.rst new file mode 100644 index 0000000..818035f --- /dev/null +++ b/content/pyconfr2015/geoalchemy.rst @@ -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. diff --git a/content/pyconfr2015/hospital.rst b/content/pyconfr2015/hospital.rst new file mode 100644 index 0000000..ace7ba0 --- /dev/null +++ b/content/pyconfr2015/hospital.rst @@ -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 ! diff --git a/content/pyconfr2015/pyconfr-2015.rst b/content/pyconfr2015/pyconfr-2015.rst new file mode 100644 index 0000000..b0f3744 --- /dev/null +++ b/content/pyconfr2015/pyconfr-2015.rst @@ -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 +`_). + +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 +`_. diff --git a/content/pyconfr2015/sqlalchemy.rst b/content/pyconfr2015/sqlalchemy.rst new file mode 100644 index 0000000..0592bf1 --- /dev/null +++ b/content/pyconfr2015/sqlalchemy.rst @@ -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. diff --git a/content/pyconfr2015/table-ronde-diversite.rst b/content/pyconfr2015/table-ronde-diversite.rst new file mode 100644 index 0000000..b9fb82e --- /dev/null +++ b/content/pyconfr2015/table-ronde-diversite.rst @@ -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** — C’est pour ça qu’on se pose la question « comment attirer ces +publics, ces personnes-là ? », importance de l’image qu’on renvoie. Ce n’est +pas tant une question de genre, mais d’initié·e·s : on a souvent peur d’entrer +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 d’idées pour faire venir plus de candidates. + +**Viviane** — En tant que femme, on reçoit en permanence le message que ce +métier n’est pas fait pour nous. Ces messages ont un impact, le résultat est +que les filles ne vont pas dans les écoles d’informatiques. Il faut aller +convaincre les jeunes filles que c’est 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. C’est en ayant une diversité qu’on parviendra à changer l’image 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** — C’est pourquoi ce genre d’évènements non-mixtes permet de faire +des séances de rattrapage pour permettre d’intégrer la communauté dans son +ensemble. C’est le point clé pour faire accepter ce genre d’initiatives. + +**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 l’enfance, 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 n’est 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 qu’elles 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 l’iceberg. 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 à +l’origine 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 n’aimait pas +forcément l’idée d’en avoir, on a fini par trancher. Le but est d’avoir des +endroits safes. Avant d’avoir un CoC, on ne peut pas dire qu’on soit safes, +envers l'ensemble des minorités. On a écrit le CoC en conséquence des +agressions. Aujourd’hui, pas de tolérance pour des comportements qui n’ont pas +lieu d’être (qu’on a définis comme tels). Ça fonctionne sur la dénonciation +lorsque l’on est témoin de ça. On n’a pas vraiment de mal à rencontrer des +femmes, mais plus de mal à faire comprendre qu’elles sont bienvenues. Impact +important de blagues sexistes, qu’on défend comme « c’est 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 qu’il y a eu des évènements ? oui, sans +doute mais j’y suis aguerrie, donc je me rends peu compte. Qu’est-ce qu’on peut +faire ? L’idée du CoC est d’aller à l’encontre des comportements négatifs, mais +l’idée derrière est une ouverture à la différence dans son ensemble, promouvoir +l’ouverture à l’autre et à la différence. L’enjeu culturel est d’arriver à +changer d’état d’esprit et d’identifier ces biais cognitifs. Il faudrait pas +qu’on 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** : « c’est pas fait pour moi », mais plutôt « je suis mauvais, donc +je dois travailler », on en revient à l’importance de l’éducation. Il faut +continuer de pointer du doigt les problèmes. Je suis aussi membre d’un 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 l’asso est très +masculin. + +**Question de Bruno**. Pour l’école: quand j’étais étudiant, 20% de filles. +(Aujourd’hui on est partis de 7/8% pour arriver à 15%). Est-ce que les filles +réussissent plus ? + +Laurence — on n’a 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 n’est 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 qu’on +peut aller organiser des évènements dans des écoles/lycées, des endroits où les +gens se sentent déjà à l’aise, où les populations sont plus représentées ? + +Vivianne — ça se fait. En tant qu’enseignante, dès que j’ai une occasion, que +ce soit pour aller chercher des JF ou des étudiants maths/infos, même si c’est +ouvert à tous, je le fais. Si c’est que des hommes, les femmes n’ont pas envie +d’y aller. + +Laurenne — c’est quelque chose qui se fait beaucoup. On met en avant des femmes +chercheuses dès qu’on le peut. + +**Question d'Alexis** : je suis très content qu’il y ait cette discussion qui +se fasse. Question par rapport aux discriminations positives, qu’on 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, d’essayer. Mais ça a un côté dérangeant. + +Vivianne — à la PyCon (US), j’ai é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, y’a du +travail à faire. En tant qu’hommes, 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 ! + diff --git a/content/pyconfr2015/we-dont-need-your-loops.rst b/content/pyconfr2015/we-dont-need-your-loops.rst new file mode 100644 index 0000000..b54f96f --- /dev/null +++ b/content/pyconfr2015/we-dont-need-your-loops.rst @@ -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. diff --git a/pelicanyan/templates/index.html b/pelicanyan/templates/index.html index b95af5d..4ff5131 100644 --- a/pelicanyan/templates/index.html +++ b/pelicanyan/templates/index.html @@ -10,6 +10,7 @@ l'apprentissage, le partage et la souveraineté populaire.

{% for article in articles_page.object_list %} + {% if not article.unlisted or article.category == category %}

{{ article.title }} @@ -17,6 +18,7 @@ l'apprentissage, le partage et la souveraineté populaire.

{{ article.headline }}

+ {% endif %} {% endfor %}
{% include 'pagination.html' %}