Programme
01. PACKAGER UN PROJET PYTHON
Projet vs bibliothèque
Gérer un projet avec pipenv
Créer un wheel distribuable avec setup.cfg
Compiler le code Python en un exécutable avec nuitka
02. MANIPULER DES PRIMITIVES EN PYTHON
Générer du code à la volée : factories puis métaclasses
Décorateurs à plusieurs niveaux
Context manager et décorateur à la fois
Au delà de yield : la méthode send() des générateurs
Monkey paching et autres injections de code
Introspection du code
03. GÉRER DES BASES DE DONNÉES AVEC PYTHON
Base de données supportées
SQL à la main avec la DB API
Démonstration d'un ORM : SQLAlchemy ou Peewee
04. UTILISER LA CONCURRENCE EN PYTHON
Programmation non blocante avec les threads
Le GIL et les limites des threads
Exploiter plusieurs coeurs avec le multiprocessing
I/O asynchrone avec asyncio
05. UTILISER LA PROGRAMMATION GRAPHIQUE
Différentes solutions : PyQt, Tkinter, PyGTK, wxWidgets et Kivy
Caractéristiques de chaque solution
Travaux pratiques avec le module Tkinter
Création d'objets (fenêtres, boutons, ...)
Appel des méthodes associées (grid(), pack()
06. PRATIQUER LE DÉVELOPPEMENT WEB AVEC PYTHON
Les frameworks les plus populaires : Django, Pyramid, Flask, Zope
Le protocole HTTP
Le cycle requête / réponse
Mise en oeuvre avec Flask