PyConFr 2017

Programme

Toulouse
21-24 septembre 2017

Les conférences, samedi 23 et dimanche 24 septembre

Voir le programme sur mobile

Le programme est disponible sur un flux XML ou ics. Vous pouvez l'ajouter à un logiciel lourd ou une application mobile.

Sur Android, vous pouvez utiliser Giggity qui est disponible sur F-Droid et Google Play Store.

Les sprints: jeudi 21 et vendredi 22 septembre

Présentation d'AnyBlok et des composant existant. Présentation des ajouts ou modifications envisagés :

  • Intégration de REA.
  • Amélioration de l'interface web (FuretUI).
  • Amélioration de la documentation.
  • Ajout de fonctionnalité.

Après avoir sélectionné le sujet à traiter, Nous organiseront le sprint en fonction des compétences acquises ou souhaitées de chacun.

Au cours de ce sprint, avec l'aide d'un contributeur et d'un membre de la core team, nous vous proposons de contribuer à Ansible et plus particulièrement aux modules Ansible existants:

  • nettoyage de code, par exemple:
    • correction PEP8 des fichiers listés dans test/sanity/pep8/legacy-files.txt
    • suppression des exceptions Pylint listées dans ansible/test/sanity/pylint/disable.txt
    • vérifications module par module que la documentation et le module sont cohérents
    • suppression de la compatibilité Python 2.4/2.5, par exemple: migration vers le nouveau mécanisme d'exception
    • amélioration de la compatibilité avec Python 3
  • ajout de tests unitaires (tox/mock)
  • ajout de tests d'intégration (docker/lxc)
  • corrections de bug existants
  • revues des demandes d'intégration (pull requests) existantes

Le sprint débutera par une courte présentation d'Ansible pour les contributeurs:

  • structure du dépôt Git
  • fonctionnement de la CI
  • fonctionnement du bot utilisé pour trier les rapports de bug et demandes d'intégration Github

Ce sprint est ouvert aux débutants Python et Ansible. Un ordinateur avec Python (2 ou 3), Git ainsi qu'une installation fonctionnelle d'Ansible à partir des sources sont nécessaires pour participer au sprint. Le projet étant hébergé sur Github, avoir un compte est un prérequis. Débutant sur Ansible bienvenu, il est recommandé de lire la documentation (en anglais) avant :)

En plus de la chasse aux bogues, plusieurs sujets de fond sont en cours et mériteraient bien un coup de main :

  • Compatibilité Python 3
  • Ajout d'un calendrier
  • Refactoring de certains composants internes (utilisation de crispyforms, etc.)
  • Etc

Découvrez un module Python en traduisant sa documentation, vous apprendrez probablement pas mal de chose tout en rendant Python plus accessible.

Gnocchi is a distributed timeseries database written in Python. It offers a scalable REST API to interact with.
It leverages many Python good practice and its architecture is entirely done in scale-out fashion, making it interesting to study if you want to learn how build scalable applications with Python.

They are a few low hanging fruits available for people to discover and learn how to contribute to the project.

We'll also show how to deploy and use it in your application!

http://gnocchi.xyz

Ideascube est un logiciel libre embarqué dans les bibliothèques déployées par BSF à travers le monde. Il est à la fois une médiathèque, un moteur de blog, ainsi que l'interface de gestion du serveur.

http://ideascube.org

Ce sprint sera l'occasion d'accueillir de nouveaux contributeurs au projet et de les aider à fermer leurs premiers tickets.

Nous pourrions aussi réfléchir ensemble à des problématiques plus importantes et les implémenter.

Il est encore un peu tôt pour prévoir des sujets spécifiques pour ce sprint, mais certains des points importants qui pourraient entrer en jeu sont :

  • redesign du front ;
  • indéxation et recherche des contenus ;
  • Cockpit pour l'administration de la machine ;
  • OSTree pour la distribution de l'application et de ses dépendances ;

Tracim est un logiciel collaboratif développé en python, il propose des fonctionnalités de forum, wiki, gestion électronique de documents, calendriers partagés à travers une interface web. Tracim cible les professionnels, c'est un logiciel distribué sous licence AGPL et dont le code et le développement sont ouverts. Tout se passe sur Github : https://github.com/tracim/tracim

Nous avons listé une série de fonctionnalités intéressantes que nous aimerions intégrer et les sprints pycon seraient l'occasion de faire cela et d'ouvrir le développement à d'autres personnes. Les 3 principaux sujets de travail que l'on a identifiés sont les suivants :

  1. Développement du mode "offline". L'idée : développer un client multiplateforme python/QT4 s'appuyant sur git-annex pour la synchro
  2. Intégration du moteur de recherche Elastic Search
  3. Fonctionnalité d'édition en ligne de documents bureautiques via l'intégration de libreoffice-web avec tracim

Tracim est un logiciel libre (AGPL) et non "open core" : tout ce qui est développé est réellement libre. C'est une application web avec les techniques qui vont avec ; les 3 sujets ci-desssus sont les principaux, mais on a d'autres sujets dispo pour des dév qui voudraient "juste faire du dév" sur un projet open-source.

The aim of The Rough Sets Theory is to classify and analyze imprecise and incomplete data. LEM2 is one of the most known algorithms relying on this approach. While LEM2 is efficient in terms of knowledge discovery (and more specifically in rule induction), its running time is still very large. The goal of this sprint is to implement and optimize this algorithm using pythonic means.

Since Python is the preferred programming language of data scientist, having an open source LEM2 implementation running in a reasonable amount of time would ease their tasks. That's why, in the sprint, we would focus on the following points:

  • Find an optimal way to format high dimensional data (Pandas data frames, Python dictionaries ..)
  • Set default parameters and breaking conditions
  • Store variables in an optimal way
  • Add practical approximations
  • Run tests on different types of data (numerical/categorical/mixed)

Reference: https://github.com/Jasamba/Rule-Extraction-in-Python

Le site web de l'AFPy n'a pas évolué depuis plusieurs années, il est temps de se pencher sur la question !

Ce sprint de créer une équipe autour du site web et des outills de communication de l'association afin de fluidifier la transmission d'informations (notamment les actualités) et d'encourager la participation des membres dans l'organisation d'événements.

Plone évolue vers une solution purement backend exposant une API REST. En tant que CMS il doit tout de même présenter une UI riche.

Deux approches sont actuellement en cours dans la communauté: React et Angular.

Ce sprint cherche propose de travailler sur ces 2 approches et d'y intégrer le nouveau design conçu pour Plone 6.

Dace est une bibliothèque Python sous licence AGPL v3 permettant d'écrire des processus métier complexes.

Elle est utilisée dans l'outil d'innovation participative Nova-Ideo.com et dans l'agenda d'événements culturels LAgendaCommun.org .

Nous proposons de réaliser un outil de gestion des congés basé sur Dace et tout au long du sprint, d'améliorer la documentation et les tests de la bibliothèque Dace.

Nous espérons obtenir les livrables suivants :

  • un portail web où tout membre peut réaliser des demandes de congés, les manageurs peuvent accepter ou refuser les demandes, et où le temps restant de congés est calculé instantanément.
  • un tutoriel expliquant comment réaliser cette application à partir de Dace.
  • de nouveaux tests unitaires et d'intégration pour Dace
  • de la documentation pour Dace

Les dépôts :

  • Le code de Dace est accessible à l'adresse https://github.com/ecreall/dace
  • Nova-Ideo https://github.com/ecreall/nova-ideo
  • LAgendaCommun https://github.com/ecreall/lagendacommun

Nos partenaires

Platine

logo de Netsach

Or

logo de Logilab logo d'IT Link logo de Makina Corpus logo de People Doc

Bronze

logo d'Anybox logo de Nova Ideo logo de Bearstech logo de Yaal logo d'Algoo logo de Majerti