PyConFR 2017Toulouse, France2017-09-232017-09-242Christopher Lozinski10:0000:30A001zodb-ecosystemZODB EcosystemconferenceZODB is an object-oriented database written in Python and optimized in C.This talk introduces the database, presents important concepts, and reviews the tools available.https://www.youtube.com/watch?v=eZynCkvjjhEEric Bréhault10:3001:00A001plone-15-ans-dexperience-feront-toujours-la-differPlone, 15 ans d'expérience feront toujours la différenceconferenceComme tous les CMS majeurs, Plone est assez âgé, et il reste aujourd'hui le seul CMS Python d'envergure. 15 ans après sa création, Plone continue d'être une valeur sûre dans le monde concurrentiel des CMS. Loin d'être en bout de course, Plone relève aujourd'hui de nouveaux défis : passage au développement front, Zope 4, Python 3, solutions post-Zope, pile asynchrone, etc. Cette conférence fera une présentation (succincte) de Plone 5, analysera les enjeux qui pèsent aujourd'hui sur le domaine des CMS, et expliquera les pistes que suit la communauté Plone pour l'avenir.https://www.youtube.com/watch?v=FFIK3neBhMIAditthya RamakrishnanAnshuman Pandey11:3001:00A001building-siri-ai-powered-chatbotsBUILDING SIRI : AI POWERED CHATBOTSconferenceThe talk will focus on effective techniques to design conversational chat bots on slack/telegram/messenger using NLP/NLU/Intent Recognition APIs/Libraries like wit.ai,api.ai,NLTK etc. We will be focussing on the Python aspect of these APIs (pure,wrappers or bindings). The example/demo bots are written in Python. A Short review of platforms/APIs and a section to fill the audience on the AI background needed to be able to design and create effective bots for specific purposes while discussing pitfalls and bad practices. Finally, deployment on Heroku using flask. Demo of a couple other API’s (Wolfram|Alpha, Twilio) and a final segment on Idiosyncratic/Unique Ideas for bots. We will also cover advanced NLP techniques in brief to give an idea of constructing bots which can make normal conversation (like Cleverbot and Siri) The talk is focussed mainly for beginners and we will show demos and examples. We will also upload the code on github and help people out with implementation issues and provide contact details. intermediates will also find a lot of useful NLP knowledge in our talk. After our talk, members from the audience will be able to build and design complex bots to automate various things from customer support for their startup to making coffee by simply asking the bot for it (Integrating IoT)Vincent Maillol14:0000:30A001generer-ses-scenario-de-testGénérer ses scénarios de testconferenceÉcrire des scénarios de test est souvent fastidieux, on écrit le scénario où tous ce passe bien, et on néglige les scénarios d'erreur. Lorsque l'on a le courage d'écrire les scénarios d'erreur, on a du mal à gérer la masse de code en commun entre chaque scénario de test. Dans cette présentation on va voir l'utilisation de Cricri, qui permet de faciliter l'écriture de scénario et de faire des tests hauts niveaux grâce au client REST.https://www.youtube.com/watch?v=VkM93Jbe8EwBoris FeldPierre-Yves David14:3000:30A001retour-dexperience-sur-la-mise-en-place-dune-machiTester les performances, pourquoi et comment ?conferenceLa qualité est un avantage reconnu du logiciel libre. Les tests d'acceptance et de régression sont bien maîtrisés et utilisés par les projets libres. Mais un type de test manque encore et toujours aux projets libres : les tests de performance. Qui est content de mettre à jour son outil libre préféré pour se rendre compte qu'il lui faut maintenant deux fois plus de temps pour exécuter une commande fondamentale à son workflow ? Les performances font partie intégrante de l'expérience du développeur, les régressions y sont sournoises et douloureuses… L'une des raisons de cette lacune est la difficulté de mise en place de ce type de test. Nous l'avons expérimenté récemment dans la communauté Mercurial et nous vous proposons un retour d'expérience. Quels sont les bénéfices de la mise en place de tels tests ? Comment s'assurer que leurs résultats sont vraiment utilisables ? Quels sont les pièges à éviter ? Quelles approches pour quels besoins ? Quels outils utiliser pour collecter, analyser et visualiser les résultats ? Nous répondrons de notre mieux à toutes ces questions.https://www.youtube.com/watch?v=e0RUsPvoC7ARonan Amicel15:0001:00A001techniques-de-test-avancees-en-pythonTechniques de test avancées en PythonconferenceCette conférence présentera différentes techniques de test avancées en Python, telles que : - lancer ses tests sur plusieurs versions de Python avec tox et pyenv - remplacer un objet par une imitation avec unittest.mock - geler le temps un instant avec freezegun - simuler une API REST distante avec responses - tester plusieurs scénarios avec des tests paramétrés - tester des propriétés en générant automatiquement des cas aléatoires avec hypothesis Cette conférence s'adresse aux développeurs Python de niveau intermédiaire ou avancé, qui ont déjà écrit des tests automatisés et veulent approfondir le sujet./media/PyConFR%202017/techniques-de-test-avancees-en-python/Techniques_de_test_avancees_en_Python.pdfhttps://www.youtube.com/watch?v=TOXHjwo7QfEHugo Herter16:3000:30A001comment-debuter-avec-micropythonComment débuter avec MicroPythonconferenceMicroPython est un interpréteur Python conçu pour tenir sur des microcontrôleurs, des puces bon marché pouvant contrôler des composants électroniques (senseurs, moteurs, ...). Durant cette présentation, vous découvrirez en quoi consiste le projet, des idées de ce que vous pourriez réaliser avec MicroPython et des conseils pour débuter et commencer à réaliser ses premiers circuits: - Quelle carte à puce choisir ? - Comment accéder à Python dessus ? - Par quels types de composants commencer ? Où les trouver ?https://www.youtube.com/watch?v=FFW-OK047XIRémi Cardona17:0000:30A001asyncio-dans-un-systeme-embarque-bonne-ideeasyncio dans un système embarqué: bonne idée ?conferenceLes services d'autopartage modernes comme Autolib ont besoin de communiquer avec les véhicules proposés aux clients: localisation, suivi du niveau de la batterie, déverrouillage des portes, etc. N'étant pas conçus pour cet usage, les voitures ont donc besoin d'un système embarqué s'occupant de cette communication. C'est sur ce système embarqué que nous avons mis (exclusivement) du Python 3 et de l'asyncio. Pari fou ? Idée géniale ? Petit retour d'expérience sur cette aventure.https://www.youtube.com/watch?v=8kG54Z9h1FUStéphane Wirtel17:3000:30A001as-tu-deja-pense-a-contribuer-a-cpythonAs-tu déja pensé a contribuer a CPythonconferenceTu veux contribuer a un projet d'envergure mais tu ne sais pas sur quel projet, alors je vais te presenter CPython, comment y contribuer, car nous recherchons des developpeurs. Seconde partie de la présentation donnée lors de PyConFR 2016. J'expliquerai aussi ce qu'il se passe dans le monde Python et que se passe-t-il depuis le passage a Github. Nous avons maintenant le devguide qui s'y trouve, ainsi que le core-workflow et d'autres outils.https://www.youtube.com/watch?v=iEDFRCNDZNESiddharth Gupta18:0000:30A001appythonAPPythonconferenceCross Platform Application Development with Kivy - A Python library Instead of creating platform specific applications, wouldn't it be great if we could make one readily-deploy-able-with-all-platforms-prototype? In the session that I would be presenting, I would be talking about Kivy which serves as a one stop solution for all Python enthusiasts looking to create reusable and easy to deploy code. The same code base can be used to run an App over different platforms like Android, Windows, Linux and even iOS. I am yet to present this talk anywhere. The session will include the following topics : - Introduction to Kivy - Setting up the Kivy Development environment - The design workflow (Events, Properties, Layouts..) - A quick Walkthrough: implementation of the famous Snake and Apple gameLucas Cimon10:0000:30A002hooks-de-pre-commit-pour-gitHooks de pre-commit pour gitconferenceEn résumé, ma présentation abordera: - le fonctionnement général des hooks de pre-commit git, et leur intérêt - le gestionnaire de hooks open-sourcé par Yelp: http://pre-commit.com/hooks.html - son fonctionnement interne - plusieurs hooks bien utiles/media/PyConFR%202017/hooks-de-pre-commit-pour-git/PyConFr2017_Hooks-de-pre-commit-pour-git.pdfhttps://www.youtube.com/watch?v=uWQlw1t8ZmMFlorent Fourcot10:3001:00A002pyroute2-configurer-votre-reseau-sous-linux-avec-ppyroute2: configurer votre réseau sous Linux avec PythonconferenceLe noyau Linux a des fonctionnalités très avancées pour construire des équipements réseaux. Si des outils existent en ligne de commande pour tout faire (avec les outils iproute2, comme les commandes ip, tc, ss, ...), on est très vite limité si on tente de lancer ces commandes avec os.system ou équivalent, et d'analyser la sortie des commandes pour lire l'état du système. Heureusement, les outils iproute2 utilisent en réalité une API pour discuter avec le noyau : netlink. Cette interface est construite sur une simple socket, qui permet de recevoir des informations et d'en écrire. À travers cette socket, tout est configurable et il devient très simple de construire des applications complexes (surveillance des évènements en écoutant les messages, etc). Si la plupart des outils utilisant l'interface netlink sont écrits en C (ils n'ont qu'à reprendre les bibliothèques existantes pour iproute2), les développeurs Python ont une bibliothèque complète et 100% Python à disposition : pyroute2 (https://github.com/svinota/pyroute2). Cette présentation vous propose une rapide introduction à l'interface netlink et ses fonctionnalités (vous y apprendrez ainsi pourquoi ifconfig est obsolète depuis une dizaine d'année). Nous ferons ensuite le tour du fonctionnement de pyroute2, notamment comment s'effectue la construction des structures des messages netlink. Nous terminerons avec la liste des fonctionnalités et modules de pyroute2, qui permettent d'abstraire plus ou moins le système en fonction de vos besoins.https://www.youtube.com/watch?v=_jMryRsi3GMJoachim "ewjoachim" JablonStéphane “Twidi” Angel11:3001:00A002les-aventuriers-du-packaging-perduLes Aventuriers du Packaging PerduconferenceEcrire un package, c’est compliqué. Plein de questions à se poser. Nous, on s’en est posées un paquet. Twidi a écrit tout un tas de librairies open-sources et Joachim aime se creuser les méninges. Ce talk est un ensemble de conseils, trucs et astuces pour apprendre à transformer facilement les scripts.py qui traînent, en jolis packages tout propres. On voudrait que chaque pythonista, quelque soit son niveau, reparte avec une nouvelle corde à son arc et ne repousse plus au calendes grecques le passage au packaging.https://www.youtube.com/watch?v=Y5xMQYw9llsCéline Martinet Sanchez14:0000:30A002enseigner-est-apprendre-devenez-une-meilleure-dev-Enseigner est apprendre : devenez un·e meilleur·e dev en partageant vos connaissancesconferenceQuel que soit votre niveau en développement, écrire un cours permet d'améliorer ses compétences. Expliquer un concept incite à le voir sous un jour nouveau, hors des automatismes acquis par la pratique ! Faut-il attendre d'être "expert·e" pour publier un tutoriel ? Comment expliquer ce qui nous paraît si simple ou, à l'inverse, si compliqué ? Venez le découvrir !https://www.youtube.com/watch?v=6DR31EBAE_AThierry Chantier14:3000:30A002une-carte-pour-les-amener-tous-et-dans-la-connaissUne carte pour les amener tous, Et dans la connaissance les lier.conferenceNée en Angleterre, la carte micro:bit est un outil mis à la disposition de 1 million d'élèves pour découvrir le monde numérique, la programmation et les objets connectés. La carte micro:bit est un formidable outil : enfants ou adultes, langages de programmation ou interfaces visuelles, codeurs ou makers tous peuvent se retrouver autour et partager un moment. Je vous propose de découvrir ce que l'on peu faire avec cette carte, son écosystème, par le biais de mes expériences avec MixTeen. L'ouverture technique des outils permettra de montrer la facilité d'évoluer de l'interface purement visuelle à des langages comme JavaScript ou Python. Les aspects communautaires et Opensource de cette carte permettront également d'aborder la question du partage des connaissances.https://www.youtube.com/watch?v=PS5AFozjCbAAntoine Rozo15:0000:30A002les-secrets-dun-code-pythoniqueLes secrets d'un code pythoniqueconferenceAvez-vous déjà vu… un code pythonique ? « Pythonique », c’est un terme que l’on rencontre souvent au sein d’articles ou sur des forums, pour qualifier un code Python bien conçu, un code idiomatique (en accord avec les règles d’usage du langage, et donc compréhensible par tout développeur). Seulement, la distinction entre un bon code et un autre peut s’avérer floue, cette présentation a justement pour but de détailler les règles qui font qualifier un code de pythonique ou non. Il s'agit d'un tour d'horizon de la philosophie du langage, explicitant le fameux Zen of Python, passant par les règles de style, rappelant les autres principes à prendre en compte, appuyant les mécanismes du langage, explorant la bibliothèque standard, et s'achevant sur les bons réflexes à adopter.https://www.youtube.com/watch?v=qafVmsdUyjsserge-sans-paille15:3000:30A002linterpreteur-python-quel-sale-typel'interpréteur Python, quel sale typeconferenceL'arrivée des annotations de fonction dans Python 3 a permi l'émergence d'outils prônant le typage statique dans Python, la plus grande réussite étant l'outil ``mypy``. La mythologie autour du typage statique se veut rassurante, enfin on va pouvoir faire confiance au compilateur plutôt qu'à notre suite de test pour vérifier une forme de correction de programe, ce qui permettra de passer à l'échelle sereinement ! Pendant cette présentation, on va s'amuser à décortiquer cette promesse de typage statique pour en faire ressortir les limites, en se basant sur l'outil ``mypy``, quelques paquets assez standard et quelques fonctions anodines mais pas moins coquines.../media/PyConFR%202017/linterpreteur-python-quel-sale-type/PyConFR2017.pdfhttps://www.youtube.com/watch?v=CGm8_OKG9VoLionel Porcheron16:3001:00A002lightning-talksLightning TalksconferenceLightning TalksKevin Samuel17:3001:00A002la-philosophie-de-literationLa philosophie de l'itérationconferenceQuel est le point commun entre sorted, itertools.repeat et l'unpacking ? Quels traits du canard se cachent derrière un fichier, un dictionnaire et un générateur ? Dans le design de Python, rien n'a a été laissé au hasard, et dès qu'on s'initie à la philosophie de l'itération, on ne code plus jamais de la même façon. Oh, vous connaissez sans aucun doute la boucle for... Mais vous ne l'aviez jamais vue ainsi !https://www.youtube.com/watch?v=CF8cBj41OEICamguilhem Jean-Philippe09:3000:30B00accueilAccueilconferenceBienvenue à la PyConFR 2017Victor Perron10:3001:00B00tester-et-simuler-toute-ma-prod-sur-mon-pcTester et simuler toute ma prod sur mon PCconferenceEn découpant notre monolithe en services disjoints, nous avons aussi rencontré le souci de bien vérifier que l'ensemble des briques fonctionnent toujours aussi bien ensemble une fois découpées: les tests unitaires sont loin d'être suffisants. Par ailleurs, comment tester un front-end qui communique avec 6 backends ? Comment simuler mon environnement de production fidèlement et rapidement ? Des synchronisations entre différentes bases de données ? Comment y intégrer de véritables objets communicants externes (une voiture par exemple) ? La réponse a été complexe à apporter; je vous propose de découvrir notre plateforme de tests fonctionnels, basée sur une VM, une standardisation de la codebase et quelques astuces malignes pour obtenir un environnement robuste, hackable, et qui permet enfin de développer vite et avec confiance des logiciels interconnectés.Stéphane Wirtel11:3001:00B00va-debugger-ton-pythonVa debugger ton Python!conferenceSi tu penses que `print()` est ta meilleure amie pour debugger ton script Python, alors il est vraiment necessaire que tu regardes cette presentation. Tu y decouvrira `pdb` et `gdb`. Peut-etre aussi comment debugger en remote. En tout cas, ce talk est vraiment pour toi si tu penses que la fonction `print()` est ton amie, alors je te donnerai des outils pour mieux t'aider.Stéphane Wirtel14:0000:30B00postgresql-et-python-un-beau-mariagePostgreSQL et Python, un beau mariageconferenceVous utilisez PostgreSQL, mais savez-vous que vous pouvez utiliser et étendre PostgreSQL avec Python et PL/Python? En tant normal, nous utilisons PostgreSQL via psycopg2, mais dans cette présentation, nous verrons comment travailler avec PostgreSQL via SQLAlchemy et Peewee, ou comment réaliser des migrations avec Alembic. De plus, je vous ferai la visite guidée de PL/Python qui vous permettra d'étendre PostgreSQL en Python.Stéphane Wirtel14:3000:30B00django-dun-cauchemard-a-un-reve-avec-de-bonnes-praDjango, d'un cauchemar à un rêve avec de bonnes pratiques.conferenceToi aussi tu connais les nuits blanches parce que tes collegues ont ecrit du code qui ne vaut rien, alors ce talk est pour toi. Comment passer d'un code legacy et non maintenu et illisible, a un code qui sent bon et qui ne flingue pas les yeux quand tu le lis. Sérieusement, c'est mon aventure depuis quelques mois que je vais te raconter et comment j'ai réussi à m'en sortir et a avoir des collègues contents. TDD, Best praticesjean-michel ARMAND15:0000:30B00faire-passer-de-django-18-a-django-110-un-projet-dFaire passer de Django 1.8 à Django 1.10 un projet de plus de 150K ligne !conferenceL'un des derniers projet auquel j'ai participé consister à faire la migration de Django 1.8 à Django 1.10 pour un vraiment gros projet Django. Cette conférence sera l'occasion de détailler notre cheminement et de revenir sur cette expérience au final assez amusante. Après tout, vous aussi vous allez peut-être vouloir migrer votre gros applicatif django 1.8 ?Nicolas Dubois • @wo0dyn15:3000:30B00formulaires-et-macros-jinjaFormulaires et macros JinjaconferenceL'équipe front de PeopleDoc a développé un framework UI en interne. L'ensemble des applications du groupe va progressivement migrer vers cette nouvelle interface. Nous expliquerons dans cette courte conférence comment nous avons exploité les macros de Jinja pour rendre les formulaires dans nos applications Django, ainsi que les différents tests qui ont été mis en place pour contrôler la qualité.Julien Danjou16:3001:00B00scalable-and-distributed-applications-in-pythonScalable and distributed applications in PythonconferencePython is a good language to write highly distributed applications, such as ones you can run on cloud computing platform. In this talk, I'll introduce different mechanisms, tools, and libraries that can be leveraged by Python to run code across multiple nodes and to spread workloads and handle high availability. We'll see the traps that developers should not fall into and what are the good practice and design to distribute applications.Aditthya RamakrishnanAnshuman Pandey17:3001:00B00hackers-guide-to-deep-neural-networksHacker's guide to deep neural networksconferenceThis tutorial will focus on how to build neural networks from scratch using numpy and then diving into using keras with a TensorFlow backend to show some examples of deep learning applications. People who attend the talk will walk away with a good understanding of the basics of neural networks and get an introduction to using libraries like keras/TensorFlow We will cover the basic theory of neural networks, gradient descent, backpropagation, training etc. and show how to create a toy neural network using numpy. Then we will go through pretrained examples of AI generated tweets/text (https://twitter.com/deepdrumpf), neural artistic style transfer among other recent developments of the last 2 years in deep learning. We will also provide further material for people interested in exploring the field further.Haïkel Guémar18:3001:00B00cest-quoi-etre-different-dans-litC'est quoi être différent dans l'IT?conferenceOn parle beaucoup des problèmatiques de diversité, parfois avec véhémence (e.g Google Manifesto). Pour une fois, j'aimerais juste revenir sur un point essentiel: c'est quoi être différent dans l'IT? Prendre quelques minutes pour se mettre dans les chaussures d'une femme, d'une personne LGBT, d'un handicapé, d'une personne de couleur différente, de culture différente, ou même d'un milieu social différent dans un monde dominé par une culture fortement homogène avec ses propres codes.Kevin SamuelLudovic Gasc10:0002:00C102faire-une-api-restjson-et-des-websockets-avec-asynFaire une API REST/JSON et des websockets avec asyncio et aiohttp.webatelierCet atelier sera l'opportunité pour apprendre comment architecturer un daemon avec AsyncIO ainsi que l'utilisation courante de l'API d'aiohttp.web, qui ressemble fort à celle de Flask, afin de faciliter les migrations.Vincent Paredes14:0002:00C102atelier-presentation-weboobAtelier présentation WeboobatelierAvec cet atelier sur weboob (http://weboob.org/), vous allez découvrir comment interagir avec des sites web sans utiliser votre navigateur. Cette formation est composée de 3 grandes étapes: - présentation du projet et installation sur votre machine - fonctionnement et utilisation des modules existants - aide au développement de votre propre module À la fin de cet atelier vous aurez donc weboob d'installé, vous connaîtrez son utilisation, pourrez utiliser les 450 modules disponibles ET surtout vous serrez en mesure de créer vos propres modules ! N'hésitez pas à venir avec des idées de sites que vous souhaitez supporter !Pierre Charlet / Lucien Deleu16:3002:00C102premiere-onepageappPremière OnePageApp !atelierLors de cet atelier nous allons décourir les bases de Django Rest Framework, créer une API REST et la brancher à un front Vue.js. Nous aborderons les bases, aucune connaissance particulière des frameworks n'est requise. Il s'agit d'une présentation en douceur des deux outils et du concept de OnePageApp afin de créer une première application fonctionnelle et réactive. (Pensez à venir avec un environement de developpement prêt.)Pierre Fersing10:0001:00A00110-bonnes-raisons-de-passer-a-python310 bonnes raisons de passer à python3conferencePython 3 est sorti il y a presque 10 ans, et pourtant, le code Python 2 reste très très répendu. Petit tour de 10 bonnes raisons de passer à Python 3 dès aujourd'hui.https://www.youtube.com/watch?v=775WmFcSlpwLudovic Gasc11:0000:30A001pourquoi-mais-pourquoi-async-et-await-ont-ete-inclPourquoi, mais pourquoi, async et await ont été inclu dans Python 3.5 ?conferenceAvec quelques exemples du monde réel, je vais vous expliquer l'intérêt du modèle asynchrone et quand il est intéressant de l'utiliser. De plus, je vais vous montrer pourquoi l'inclusion de async / await + AsyncIO dans le cœur de Python est un choix judicieux, d'un point de vue technique et politique. Enfin, je vais vous présenter quelques bibliothèques dans la boîte à outils d'AsyncIO.https://www.youtube.com/watch?v=n5x-BKKXhbAAntoine Lubineau11:3001:00A001suivez-vos-erreurs-avec-sentrySuivez vos erreurs avec SentryconferenceQuand votre application est déployée en prod, suivre les erreurs n'est pas toujours simple. Vous diposez des logs, mais il existe également des outils permettant de suivre plus précisément les erreurs. Antoine nous présentera Sentry un outil de suivi d'erreurs et l'intégration dans différents outils qu'il a pu réaliser.Valentin Deniaud14:0001:00A001debriefing-challenge-securiteDebriefing challenge sécuritéconferenceDebriefing challenge sécuritéLaurent Bachelier15:0000:30A001weboob-le-navigatueurWeboob, le navigatueurconferenceNous faisons de plus en plus de choses avec un navigateur web, par opposition aux applications natives. Il en résulte des interfaces limitées, lentes et peu personnalisables qui essaient d'enfermer leurs utilisateurs. Vous verrez ce que Weboob (Web Outside Of Browsers) peut faire pour vous redonner le contrôle. Il sera présenté le fonctionnement de Weboob, ses applications pratiques et les différentes possibilités de programmer avec. Nous ferons un point sur la genèse de Weboob, et ses évolutions futures.https://www.youtube.com/watch?v=suzuXS1tf-wLaurent Bachelier15:3000:30A001la-puissance-du-scraping-web-avec-weboobLa puissance du scraping web avec WeboobconferenceLe "scraping" consiste à récupérer de façon massive des données enfermées sur un site web. Si Weboob (Web Outside Of Browsers) est surtout connu pour ses applications finales et les modules qu'il fournit, c'est aussi un puissant framework qu'il est possible d'utiliser dans des cas de scraping massif. Vous verrez comment instrumentaliser Weboob à ces fins. Une comparaison avec les solutions existantes comme Scrapy sera faite, et les fonctionnalités qui rendent Weboob unique seront abordées.https://www.youtube.com/watch?v=Mn9lTjVIUBMÉlie Bouttier16:3000:30A001ponyconfPonyConfconferencePonyConf est un outil pour organiser un appel à participation. Il permet à l’équipe organisatrice de noter les propositions, les accepter et les refuser et les organiser en sessions. Il est possible de centraliser les communications par e-mails avec les orateurs, les réponses étant enregistré dans PonyConf et notifiées à l’équipe organisatrice. Pour finir, il permet de créer un programme et de l’exporter dans différent format. Il est réalisé en python avec le framework Django. Bien qu’encore en développement avec de nombreuses fonctionnalitées en attente d’implémentation, il a déjà été utilisé avec succès pour l’organisation du Capitole du Libre 2016 et 2017 ainsi que la PyConFR 2017./media/PyConFR%202017/ponyconf/presentation_1XqMdtm.pdfhttps://www.youtube.com/watch?v=_S3JyTfAkkAChristopher Lozinski17:0000:30A001pythonlinksinfoPython and Poland Directories.conferencePythonLinks is the world's largest Python Directory. Now that it includes a rapidly growing directory of Python companies organized by Region->Country->City-Company, along with their products, jobs, and links, such as the corporate blog, product reviews, and youtube videos, everyone really likes the site. PolandTrade.info is a directory of information about international business with Poland.https://www.youtube.com/watch?v=p52oN0XOkyIAlexandre Figura10:0000:30A0023-web-frameworks-in-3-hoursBuilding International TeamsconferenceBuilding a successful team is not that easy. But when your members come from countries all over the globe, it starts to become really challenging! We can all speak in English, we still have different cultures and different mindsets. However, this diversity turns out to be the greatest strength of international teams. To understand why, we need to look back in history, to travel through the ages, and see where our modern civilizations come from. At the end of our journey, we will discover what makes these teams so polyvalent, and why they can be an example for all of us.https://www.youtube.com/watch?v=rr86pCH9hGUArthur Vuillard10:3000:30A002pourquoi-et-comment-devenir-une-membre-actif-de-laPourquoi et comment devenir un·e membre actif de l'AFPyconferenceL'AFPy représente une communauté assez importante dans les pays francophones. Pourtant assez peu de personnes s'investissent activement. Pendant cette présentation, je vais essayer de vous montrer les intérêts qu'on peut trouver à s'investir dans la communauté et comment s'investir sans y consacrer énormément de temps.https://www.youtube.com/watch?v=Kbcwxvi15p0François Magimel11:0000:30A002frets-on-fire-et-son-ecosysteme-apres-11-ansFrets On Fire (X) et son écosystème après 11 ansconferenceFrets On Fire (FoF) est un clone libre du célèbre jeu vidéo Guitar Hero. FoF se joue sur ordinateur, est multi-plateforme et léger. Ah, oui, au fait, il est écrit en Python. Cette année, FoF fête ses 11 ans. C'est l'occasion de revisiter son écosystème et ses technos, montrer ce que l'on peut faire à base de logiciels libres en Python et vous redonner envie d'y jouer. Ama⋅teur⋅trice⋅s ou pro, transformez votre clavier (ou autre périphérique) en guitare le temps d'un instant !https://www.youtube.com/watch?v=fb1qSo9Act4jean-michel ARMAND11:3000:30A002plongez-dans-le-visual-novel-avec-renpyPlongez dans le visual novel avec Ren'PyconferenceRen'Py est un moteur de Visual Novels, un genre de jeux qui peut ressemble à un livre dont vous êtes le héros et qui est entre autre, très populaire au Japon. Il permet de faire très rapidement ses premiers jeux en utilisant soit un langage de script simpliste soit en utilisant directement du python. C'est bien entendu un logiciel libre, sous licence MIT.https://www.youtube.com/watch?v=kla0HSEUjTEFrank Rousseau12:0000:30A002le-python-dans-le-film-danimationLe Python dans le film d'animationconferenceS'il y a bien une industrie où le Python est omni-présent c'est dans celle du film d'animation. Quand les artistes ont voulu automatiser certaines de leurs actions, ils ont eu la joie de pouvoir le faire via les langages de script propriétaires. Leur bonheur fut de courte durée quand ils constatèrent le design médiocre de ceux-ci. Heureusement Python est arrivé ! Un premier soft a permis d'écrire ses scripts en Python, puis un deuxième et enfin tous. Les graphistes découvraient un vrai langage de programmation et s'y donnait à coeur joie ! Les scripts évoluant, les interfaces devinrent de plus en plus complexes. Qt et ses bindings Python devinrent la référence. Les graphistes les plus aguerris passèrent développeurs et continuèrent à faire leurs API et leurs outils standalones en Python. Et aujourd'hui, avec la gestion de configuration, Saltstack et Ansible envahissent les parcs informatiques. Lors de cette conférence, nous ferons l'état de la situation. Nous regarderons les outils développés avec Python et comment cela évolue. Et enfin nous regarderons les bibliothèques qui peuvent être utilisées dans d'autre contextes et donc vous intéeresser.https://www.youtube.com/watch?v=Y-qfnXxAsWMMichael Scherer14:0000:30A002la-dissolution-de-contrainte-avec-z3La dissolution de contrainte avec Z3conferenceÉcrit par Microsoft Research, Z3 est un solveur de contraintes performant avec une API python. Bien qu'étant restreint à une classe de problèmes spécifiques, la résolution de contraintes est régulièrement utilisé pour des problèmes divers et variés tel que l'installation de paquets, la résolution de partie de démineur, ou l'optimisation et la vérification de systèmes complexes tel que le routage réseau ou le placement des invités dans un repas de famille. Nous verrons durant la présentation les concepts de base, des exemples d'usages et l'utilisation de l'API python pour pouvoir l'intégrer dans des programmes classiques.Boris Feld14:3000:30A002unicode-and-bytes-demystifiesUnicode and bytes démystifiésconferenceTravailler avec l'unicode et les bytes étaient au mieux hasardeux au pire douloureux en Python 2, heureusement Python 3 arriva et mis de l'ordre dans ce bazar. Hélas, les vieilles habitudes ont la vie dure et migrer de Python 2 à Python 3 est souvent difficile quand on as pas saisit les subtilités derrière les concepts d'unicode et de bytes. Clarifions donc ceux-ci pour une migration heureuse vers Python 3 en 2017 !https://www.youtube.com/watch?v=NJJt8Hebyt4Guillaume Ayoub15:0001:00A002unicode-les-encodages-et-les-etres-humainsUnicode, les encodages et les êtres humainsconferenceVous savez peut-être que les êtres humains ont eu la bonne idée d'utiliser une large panoplie de langues et d'alphabets très différents les uns des autres. Lorsqu'ils ont inventé l'informatique, il leur a fallu trouver des solutions pour que les ordinateurs puissent représenter toutes ces langues à la fois. Bon, on ne va pas se le cacher, ils n'ont pas trouvé les bonnes solutions tout de suite… Mais en ces temps modernes très excitants, il est possible d'éradiquer les UnicodeDecodeError avec de la patience, de la concentration, quelques larmes de sang et les informations que vous pourrez glaner au long de cette conférence !https://www.youtube.com/watch?v=90u-EZH8isILionel Auroux16:3001:00A002pyrser-selector-languagePyrser Selector LanguageconferenceExiste-t'il un système équivalent aux regexes pour les structures de données python? Dans le monde web on parle de CSS Selector pour matcher une partie du DOM afin d'y appliquer un style. Un objet python est similaire à un arbre tel que le DOM d'un navigateur (bien que différent techniquement) dans le sens où c'est une racine référençant une collection d'autres objets. On le comprends facilement quand on s'occupe de sérialisation/désérialisation d'objet. Hors beaucoup de tâche sur cette arbre reviennent à identifier des patterns de la structure et à y appliquer un traitement spécifique notamment dans tous ce qui touche à la transformation d'AST au sein d'un compilateur. Pyrser est une boîte à outil en python destiné au SLE (Software Language Engineering) qui outre le fait de fournir de quoi faire le parsing et le typage d'un DSL fournit maintenant via son module PSL (Pyrser Selector Language) de quoi décrire facilement des passes de transformation de l'arbre. La base pour ce qu'on appel un back-end. Ce module pouvant avoir d'autres utilités qu'au sein d'un compilateur car travaillant avec n'importe quel structure de donnée python, la présentation permettra de comprendre le quoi et le comment de ce module pour un usage plus vaste au sein de la communauté.https://www.youtube.com/watch?v=POk5X6QGRRUCamguilhem Jean-Philippe09:0001:00B00assemblee-generale-afpyAssemblée Générale AFPyconferenceChaque la PyConFr accueille l'AG annuelleXavier Ordoquy10:0001:00B00quelques-fausses-bonnes-idees-a-propos-des-apis-reQuelques fausses bonnes idées à propos des APIs RESTconferenceEn faisant la maintenance de Django REST framework, nous avons régulièrement des questions d'utilisateurs essayant de "lutter" contre le framework. Dans un certains nombre de cas, c'est lié à une pratique que l'on décourage. Nous allons voir quelques unes de ces pratiques et expliquer pourquoi nous estimons que ce n'est pas une bonne pratique.Philippe Pepiot11:0000:30B00test-dinfrastructures-avec-testinfraTest d'infrastructures avec testinfraconferenceTestinfra est un outil pour écrire des tests d'infrastructure en python. Il permet d'écrire de tests pour vos recettes écrites avec Puppet, Ansible, Chef ou encore Salt, ces tests sont alors réutilisables pour faire du monitoring. https://testinfra.readthedocs.io/en/latest/GALODE Alexandre et MUNIER Olivier11:3000:30B00lintegration-continue-avec-python-retour-dexperienL'intégration continue avec Python: retour d'expérienceconferenceTout développement professionnel, quel qu'il soit, doit à un moment, dans l'idéal, sauter le pas de l'intégration continue (IC). Cette technique permet, comme la plupart d'entre vous le savent, de détecter au plus tôt bugs et régressions. Si pour les plus célèbres d'entre eux (Jenkins, Travis, ...) les documentations et les plugins sont nombreux, force est de constater que pour les projets Python, ils ne proposent pas grand chose. Dès lors, de multiples méthodologies, outils, et process sont possibles. Aussi, à travers cette conférence, nous vous proposons un retour d'expérience de l'IC de projets Python, tel que mis en place en interne dans la société ITLINK. Nous vous présenterons notre configuration, nos choix d'outils, l'interaction entre ces outils, et la restitution d'informations en sortie de notre IC.Gael Pasgrimaud12:0000:30B00nuka-liberez-le-vilain-devops-qui-est-en-vousnuka: libérez le vilain devops qui est en vousconferencenuka est une librairie orienté «devops» utilisant ssh et les fonctionnalités asynchrone de python3. Pourquoi une nouvelle librairie ? Comment ça marche ? La démo va-t-elle fonctionner ? Pourquoi est-il si méchant ? Autant de questions auquelles nous tenterons de répondre durant cette présentation.Florian Vichot14:0001:00B00construire-et-gerer-un-operateur-internet-en-pythoConstruire et gérer un opérateur Internet en PythonconferenceWifirst est un opérateur Internet, qui, sans grande originalité, installe une « box » chez ses clients. Si l'OS est une Debian, tous les outils métiers sont codés en Python et par effet tache d'huile, presque tous les outils utilisés ou développés le sont également en Python. Cette présentation vous propose donc de faire le tour des outils que nous utilisons, et de faire un retour d'expérience sur diverses problématiques (performance d'ansible sur 6000 équipements, le chaos des bibliothèques SNMP en Python, les fuites de mémoire avec requests, etc).Mathieu Tortuyaux15:0000:30B00kubernetes-and-python-from-monolithic-to-micro-serKubernetes and Python: from monolithic to micro-servicesconferenceJe vais aborder les architectures micro-services avec un exemple d'application Python. Comment découper une architecture monolithique Python ? Pourquoi devrais-je utiliser une architecture micro-services ? Comment gérer ces différents nouveaux micro-services ? Comment handle le déploiement de ces services w/ Docker et Kubernetes ? Je vais d'abord faire une overview pendant 5 minutes sur les micro-services (notamment une super analogie avec la musique!), puis je vais décrire et commenter les guidelines que Google conseille pour découper son application. (5 min) Enfin je passerai au cas "pratique" (10 min): comment organiser ses repos, comment faire communiquer nos micro-services et enfin le déploiement de ces services avec Kubernetes/GKE.Lucas Cimon15:3000:30B00mindmap-web-controlee-par-sms-avec-python-twilioMindmap web contrôlée par sms avec Python & TwilioconferenceIl s'agit d'un talk pour présenter un petit projet personnel, qui me permet de m'envoyer des notes par sms depuis mon "dumbphone", qui sont ensuite stockées dans un repo git et affichées sous forme de mindmap de ce type: https://chezsoi.org/lucas/mindmap/mindmap-viewer//media/PyConFR%202017/mindmap-web-controlee-par-sms-avec-python-twilio/PyConFr2017_Mindmap-web-co_iF51Vm9.pdfhttps://www.youtube.com/watch?v=J0fFy9x6wIISCHEMBRI Pierre Alexandre16:3001:00B00metaprogramming-for-fun-and-profit-python-36Metaprogramming for fun and profit (Python 3.6)conferenceIntroduction aux techniques de metaprogramming / metaclasses Illustration avec un exemple fun - une partie très probablement en live coding Retours d'expériences sur le metaprogramming en production Q & ASébastien DA ROCHA10:0002:00C102initiation-a-ansibleInitiation à AnsibleatelierJe vais faire monter un petit playbook pour voir quelques actions de base. Dans le tuto Ansible ils proposent d'installer Django, c'est dans le bon esprit ;-) 30 minutes Puis créer un ou deux rôles, pour éviter de faire des usines à gaz. 30 minutes Réaliser un template en utilisant des facts. 30 minutes Terminer sur les inventaires et la gestions des variables. 30 minutes Slides : https://framaslides.org/share/59b517489d07e2.23855464 Sources : https://github.com/sebastiendarocha/ansible-didacticielHugo Herter14:0002:00C102tester-et-deployer-automatiquement-un-projet-pythoTester et déployer automatiquement un projet Python avec GitLabatelierL'occasion d'apprendre comment tester et déployer automatiquement un projet Python (site Django, librairie, ...). Cet atelier va couvrir différents outils qui vous faciliteront la vie: - Tester un projet avec Pytest (pycodestyle, flakes, coverage) - Introduction/rappel sur l'utilisation d'un dépôt Git - Mise en place de tests automatisés avec les pipelines - Utilisation de Docker pour les tests et le déploiement - Déploiement et/ou publication automatique de l'application lorsque les tests succèdent Ces techniques s'adaptent facilement à d'autres outils que GitLab (GitHub, TravisCI, CircleCI sont les plus connus), mais cet atelier utilisera principalement la version libre de GitLab.