From cad60f2f32a4d3f5a8f95b544bb2d23201ae2912 Mon Sep 17 00:00:00 2001 From: Julien Palard Date: Mon, 23 Jan 2023 11:24:39 +0100 Subject: [PATCH] formations --- content/pages/formations.md | 10 +++++ content/pages/python-avancé.md | 61 ++++++++++++++++++++++++++++++ content/pages/python-initiation.md | 42 ++++++++++++++++++++ pelicanconf.py | 9 +++-- 4 files changed, 118 insertions(+), 4 deletions(-) create mode 100644 content/pages/formations.md create mode 100644 content/pages/python-avancé.md create mode 100644 content/pages/python-initiation.md diff --git a/content/pages/formations.md b/content/pages/formations.md new file mode 100644 index 0000000..929ef3c --- /dev/null +++ b/content/pages/formations.md @@ -0,0 +1,10 @@ +Title: Formations +Date: 2023-01-17 15:41:00 + +Développeur Python depuis 2009, formateur Python depuis 2015, je +propose ces formations : + +- [Python initiation]({filename}/pages/python-initiation.md) +- [Python avancé]({filename}/pages/python-avancé.md) + +Intéressés ? Contactez-moi par email : julien at palard.fr. diff --git a/content/pages/python-avancé.md b/content/pages/python-avancé.md new file mode 100644 index 0000000..d9aa30d --- /dev/null +++ b/content/pages/python-avancé.md @@ -0,0 +1,61 @@ +Title: Python avancé +Date: 2023-01-17 15:41:00 + +C’est la seconde de mes deux formations Python. Alors que la +[formation *initiation*]({filename}/pages/python-initiation.md) +enseigne l’utilisation des classes et bibliothèques pour créer des +programmes simples, la formation *Python avancé*, de l’autre côté du +miroir, enseigne la création de ces classes et bibliothèques pour +créer des bibliothèques réutilisables dans des programmes +arbitrairement complexes. + + +## Objectifs + +À la fin de cette seconde formation les stagiaires maîtrisent Python +dans l’objectif de produire un code *lisible*, *maintenable*, et +*testé* sur tout type de projet. + +L’accent est mis sur le partage et la réutilisation du code : + +- Création de bibliothèque (modules, paquets). +- Packaging et distribution de ces bibliothèques. +- Gestion des dépendances d’une bibliothèque et d’un l’utilisant. +- Test et documentation d’une bibliothèque packagée. + + +## Prérequis + +Le pré-requis de ce module est d’avoir suivi, ou d’avoir un niveau +équivalent, à la formation [Python +*initiation*]({filename}/pages/python-initiation.md), c’est-à-dire : +être capable de lire et de modifier du Python, être capable de +résoudre des problèmes simples en Python. + + +## Le contenu + +- Les différents protocoles de Python (le protocole d’itération, « les dunder », …). +- Les classes et leurs instances (où on parle de la MRO, de `super()`, …). +- Le protocole descripteur. +- Le *garbage collector*. +- Les *floats* et l’IEEE 754. +- Créer et gérer les exceptions, le `else` et le `finally` du `try`. +- Les gestionnaires de contexte. +- Les décorateurs. +- Les listes en compréhension. +- L’opérateur *walrus* (`:=`). +- L’encodage des chaînes de caractères. +- Le packaging (`pyproject.toml`, `python -m build`, `twine`, …). +- L’asynchrone avec `async` et `await`. + + +## Durée + +Cette formation se déroule idéalement en cinq jours, mais elle est +réalisable en 3 jours. + + +## Contact + +Pour en savoir plus, contactez-moi par email : julien at palard.fr. diff --git a/content/pages/python-initiation.md b/content/pages/python-initiation.md new file mode 100644 index 0000000..9fdda0c --- /dev/null +++ b/content/pages/python-initiation.md @@ -0,0 +1,42 @@ +Title: Python initiation +Date: 2023-01-17 15:41:00 + +C’est la première des deux formations Python que je propose, +accessible sans prérequis. + + +## Objectifs + +À la fin de cette formation les stagiaires ont les bases de Python et +sont capable de produire des programmes simples, de maintenir et faire +évoluer des programmes existants. + +- Implémenter un programme simple résolvant un problème bien défini. +- Lire, comprendre, et modifier le code d’un autre développeur Python. +- Rédiger des tests. + + +## Le contenu + +- Les types natifs (`bool`, `int`, `float`, `str`, …) +- Les opérateurs +- Les variables +- Les fonctions +- Les instructions (`for`, `if`, `while`, …) +- Les méthodes +- La notation en compréhension +- Les *slices* +- Les classes +- `pip` et les `venvs` +- Le packaging +- Les bonnes pratiques + + +## Durée + +Cette formation se déroule idéalement en trois jours. + + +## Contact + +Pour en savoir plus, contactez-moi par email : julien at palard.fr. diff --git a/pelicanconf.py b/pelicanconf.py index 1eb9bcd..7ed5318 100644 --- a/pelicanconf.py +++ b/pelicanconf.py @@ -18,11 +18,12 @@ DISPLAY_PAGES_ON_MENU = False MAIN_MENU = False LINKS = ( + ("Formations", "/pages/formations.html"), + ("Conférences", "/pages/talks.html"), + ("CV", "/Julien-Palard.pdf"), ("Blog", "/blog/"), - ("My Talks", "/pages/talks.html"), - ("My CV", "/Julien-Palard.pdf"), - ("My SSH keys", "/id_rsa.pub"), - ("My GPG key", "/pages/gpg.html"), + ("SSH keys", "/id_rsa.pub"), + ("GPG key", "/pages/gpg.html"), ) PATH = "content"