Sprints

Sprints


Programme

Développements de correctifs et tests des modules Ansible (&)

By Michael Scherer, Pierre-Louis Bonicoli - Thursday and Friday, from 10:00 to 18:00

Ansible est un outil libre de configuration et d'orchestration écrit en Python.

Au cours de cet atelier de codage participatif, nous - contributeur (@pilou-) et membre de la core team (@mscherer) - vous proposons de contribuer à Ansible et plus particulièrement aux modules Ansible existants:

Ce sprint sera l'occasion pour vous:

Prérequis et configuration nécessaire

Les personnes débutant avec Python et Ansible sont les bienvenues.

Pour participer, sont requis:

Nous vous accompagnerons si nécessaire dans la mise en place de cet environnement de développement (si votre système d'exploitation n'est pas Windows).

Il est recommandé:

La documentation est en anglais, si nécessaire, nous accompagnerons les participants pour qui cela est un problème.

Une quinzaine de contributions ont été réalisées lors de l'atelier Ansible PyConFr 2018, dont 3 pull-requests mergées et 2 rapports de bug clos. Le détail de ces contributions est disponible ici: https://github.com/ansible/community/issues/262#issuecomment-431811857.

Découvrez la cryptographie citoyenne avec le Witness Angel

By Pascal Chambon - Thursday and Friday, from 10:00 to 18:00

Ce hackathon propose de découvrir le concept du Witness Angel.

Véritable huissier personnel, ce dispositif permet d'assurer le respect de la vie privée des citoyens, tout en offrant de puissants moyens de preuve aux victimes de violences/chantages/harcèlements et autres, grâce à un mécanisme appelé "Écriture Seule".

Les participants pourront revoir, à cette occasion, les principes fondamentaux de la cryptographie moderne (chiffrement symétrique et asymétrique, signatures, format de clefs...), et utiliser des APIs de haut niveau pour développer les fonctionnalités du premier prototype Witness Angel (webservice et webclient en python/django, application mobile avec Kivy).

Dépôts de code: https://github.com/WitnessAngel/

Prérequis: avoir Python 3.7 installé sur son poste. Il est conseillé de forker sur github, et cloner en local, le ou les dépôts sur lesquels on veut participer, puis d'en installer les dépendances dans un environnement virtuel (python -m venv ) avec le package-manager "poetry". Les tests ("pytest -vl") devraient fonctionner. Pour compiler l'appli cliente sous android, il faut être sous un Linux (ou une VM virtualbox Linux sur hôte Windows), mais le client Kivy fonctionne aussi sous les autres OS.

Contributions à django-elasticsearch-dsl

By Alexandre Garel - Friday, from 10:00 to 18:00

Django Elasticsearch DSL est une extension Django permettant d'utiliser efficacement elasticsearch-dsl, la librairie python officielle de ElasticSearch, un moteur de recherche plein texte très utilisé.

Le but du sprint est de contribuer à django-elasticsearch-dsl en mettant la doc sur readthedocs, en testant des demandes de fusions ou autre corrections d'anomalies.

Un ticket pour suivre ça: https://github.com/sabricot/django-elasticsearch-dsl/issues/199

Une boîte à outils pour Django

By Marc Debureaux - Thursday and Friday, from 10:00 to 18:00

Depuis que je bosse avec Django, j'ai souvent remarqué que je faisais tout le temps la même chose, et pourtant Django nous épargne une grosse partie avec son boilerplate, mais ce n'est jamais suffisant, surtout quand on enchaîne les petits projets pour soi ou pour les autres.

C'est pourquoi j'ai créé quand j'étais tout jeune une petite boîte à outil dont je me sers encore aujourd'hui parce qu'elle m'apporte plein de facilités, mais je vous avoue que je commence à avoir un peu honte de son code et des pratiques utilisées à ses débuts.

L'objectif de cet atelier sera de se pencher sur les fonctionnalités existantes de cette boîte à outils et de les moderniser un peu en y ajoutant un peu de magie Python, mais également lui fournir pourquoi pas de nouvelles fonctionnalités intéressantes et éventuellement lui fournir une suite de tests digne de ce nom.

Amateurs comme experts, vous êtes tous les bienvenus et vous pouvez tous contribuer à vos différents niveaux, peut-être que vous apprendrez une chose ou deux au passage, mais il est plus vraisemblable que ça soit moi qui apprenne de vous. ;)

Amélioration de preview-generator

By Damien Accorsi - Thursday and Friday, from 10:00 to 18:00

preview-generator est un module python qui permet de rationaliser la génération de miniatures et prévisualisation de documents. ce module peut être avantageusement intégré dans vos applications métier (web ou autre) ou être utilisé en ligne de commande (grâce à une heureuse contribution d'un membre de l'AFPY :) pour prévisualiser un document.

L'objectif de ce sprint est de travailler sur le module et de l'améliorer. Plusieurs pistes de travail, en fonction du niveau du ou des participants :

Si vous êtes intéressés, pour que le sprint soit le plus efficace possible, je vous invite à ouvrir un ticket sur github https://github.com/algoo/preview-generator/issues pour que nous puissions échanger en avance de phase. (ce n'est pas obligatoire, bien entendu !)

Universal Packaging Tool (UPT) - Développement de modules

By Cyril Roelandt - Thursday and Friday, from 10:00 to 18:00

De nos jours, la plupart des langages fournissent leur propre gestionnaire de paquets (pip, gem, etc.) ainsi que leur propre archive de paquets (PyPI, RubyGems, etc.). Il existe également de nombreuses distributions GNU/Linux (Debian, Fedora, etc.) et *BSD (FreeBSD, OpenBSD, etc.).

Les empaqueteurs doivent convertir les paquets "upstream" (disponibles dans les archives de paquets des langages) en paquets "downstream" (les paquets de nos distributions). Divers outils ont été écrits pour les aider dans ce travail quelque peu fastidieux : on trouve ainsi pypi2rpm, gem2rpm, pypi2deb, url2pkg, portgen, pytoport et bien d'autres. Tous ces outils ont une interface et un comportement différents. Ils réimplémentent tous du code similaire : lire des métadonnées depuis les archives de paquets, et écrire des paquets Debian/RPM/etc.

L'an dernier, j'ai présenté upt (Universal Packaging Tool, disponible à https://framagit.org/upt/upt)[1], un outil modulaire combinant des "lecteurs" (qui lisent les métadonnées) et des "écrivains" (qui écrivent les paquets Debian/RPM/etc.) grâce à une représentation intermédiaire unifiée des paquets. Depuis, diverses améliorations ont été apportées au logiciel, et un étudiant a participé au Google Summer of Code afin de contribuer au module upt-macports. Les modules suivants sont désormais disponibles:

Lecteurs (frontends) :

Écrivains (backends) :

Ce hackathon est l'occasion de découvrir upt et d'y contribuer de différentes manières :

Je suis aussi très intéressé par une discussion autour du packaging Python (setuptools, flit, poetry, la PEP518, PyPI, Warehouse...) qui serait sans doute très utile pour le développement d'upt-pypi.

[1] https://pyvideo.org/pycon-fr-2018/empaquetez-facilement-vos-projets-pour-gnulinux-et-bsd.html

Traduction de la documentation de Python

By Julien Palard - Thursday and Friday, from 10:00 to 18:00

Comme tous les ans nous organisons un sprint de traduction de la documentation de Python en français. L'année dernière nous en travaillions sur la 3.7 et nous en étions à 30%, nous travaillerons cette année sur la 3.8 et nous sommes déjà à 43% !

Le sprint sera co-organisé par l'équipe de traduction : Jules Lasne, Mathieu Dupuy, Antoine Rozo et Julien Palard.

Watchghost

By Arthur Vuillard, Samira Rabaâoui, Guillaume Ayoub, Lucie Anglade - Thursday and Friday, from 10:00 to 18:00

Watchghost est un outil qui permet de surveiller le bon fonctionnement de services informatiques. Cet atelier de codage participatif est l'occasion pour continuer les améliorations de l'application avec l'équipe à l'origine du projet.

Watchghost est codé en python asynchrone avec asyncio, aiohttp, etc... Son interface web est codée en Javascript/Vue.js/Bootstrap 4.

Nous accueillons toutes personnes volontaires pour coder sur le projet, et nous les accompagnerons dans l'apprentissage des technologies que nous utilisons.

Amélioration d'Anyblok, sa documentation et ses librairies

By Jean-Sébastien Suzanne, Pierre Verkest - Thursday and Friday, from 10:00 to 18:00

AnyBlok est un framework python open source, dont l'objectif est de faciliter le développement d'applications métiers. Il est basé sur des librairies python réputées telles que : SQLAlchemy, Pyramid

En prod depuis 2 ans, résultat de 6 ans de travail de son créateur Jean-Sébastien Suzanne, passionné et persévérant, il a basé ses travaux sur plus de 15 ans d'expérience en développement d'applications métiers.

On vous accompagne dans la prise en main d'Anyblok et choisirons ensemble, en fonction de vos compétences et vos afinités, des tâche à prendre en charge, le travail ne manque pas, refonte de la documentation de référence, continuer le book de prise en main, amélioration des librairie existantes, ajout de nouvelles fonctionnalités ou nouveaux bloks !