From 81d329278ef73ffc5172eb6289de218388daf6d1 Mon Sep 17 00:00:00 2001 From: Steve Kossouho Date: Fri, 11 Jul 2025 21:46:12 +0200 Subject: [PATCH] Reformat course plan to markdown --- documentation/00-course-plan.adoc | 180 ------------------------------ documentation/00-course-plan.md | 145 ++++++++++++++++++++++++ 2 files changed, 145 insertions(+), 180 deletions(-) delete mode 100644 documentation/00-course-plan.adoc create mode 100644 documentation/00-course-plan.md diff --git a/documentation/00-course-plan.adoc b/documentation/00-course-plan.adoc deleted file mode 100644 index 9d71e77..0000000 --- a/documentation/00-course-plan.adoc +++ /dev/null @@ -1,180 +0,0 @@ -— -title: Plan de formation Python Initiation -author: Steve Kossouho - -''' - -= Programme de Python Initiation - -''' - -La formation s'adresse à des quasi débutants en programmation, ou curieux d'en savoir un peu plus sur les bases de Python. -Pour les plus avancés, le rythme change (uniquement si le groupe est suffisamment homogène). - -''' - -== Démarrage - -* Tour de table et présentation -* Logistique, planning et administratif -* Rappel du programme - -''' - -== Découvrir Python - -* Nature de Python et court historique -* Versions de Python et différences -* Découvrir la ligne de commande et le shell -* Environnements de développement intégrés -* Créer un nouveau projet avec PyCharm - -`lundi 10h30 si pas de pb d'install` - -''' - -== Découvrir le langage - -* Syntaxe de base -* Types de base : chaînes, nombres -* Variables et expressions -* Contrôler ce que l'on exécute : conditions et boucles -* Découvrir les listes (et tuples, sets) + slicing -* Découvrir les dictionnaires -* Compréhensions (listes etc.) -* Opérations sur les chaînes : méthodes et formatage - -`mardi 14h30 max` - -''' - -== Le droit aux erreurs - -* Découvrir le concept d'exceptions - -`mardi 15h45` - -''' - -== Découvrir les fonctions - -* Découvrir l'utilité des fonctions -* Découvrir la syntaxe -* Référence vs appel de fonction -* Valeurs de retour d'une fonction -* Passer des arguments aux fonctions - -`mercredi 10h00` - -''' - -== Découvrir la structure du code au-delà du simple script - -* Expliquer ce qu'est pip, venv (avec exemples) et aussi conda -* Modules et packages -* Bibliothèque standard python et imports -* Exemple : faire un peu de calcul avec la bibliothèque standard -* Réutiliser votre propre code -* Extra : virtualenv et pip) - -`mercredi 12h00` - -''' - -== Types supplémentaires - -* Découvrir les types heure+date et intervalle de temps -* Convertir depuis du texte ou vers du texte - -`mercredi 14h30` - -''' - -== Découvrir la programmation orientée objet - -* Intérêts de la programmation objet -* Découvrir la syntaxe -* Concepts d'attributs et de méthodes -* Différence entre une classe et ses objets -* Instancier avec une autre signature -* Découvrir l'héritage et le polymorphisme -* Bonus : Courte introduction aux décorateurs avec @staticmethod -* Bonus : Introspection (getattr, setattr, dir, isinstance, type) -* Bonus : Diagramme de classes UML - -`mercredi 17h00` - -''' - -= Programme de Python Approfondissement - -Même public que l'initiation : peu d'expérience en programmation ou curiosité quant à Python. Nécessite toutefois de connaître les bases du langage. - -*Objectif* : aller un peu plus loin dans les bases de Python pour pouvoir traiter quelques données. - -''' - -== Découvrir comment manipuler des fichiers texte - -* Écrire et lire des fichiers (open/close) -* Écrire et lire des fichiers (gestionnaire de contexte) -* Formats : JSON -* Formats : CSV -* Extra : Parcours de fichiers (pathlib) - -`jeudi 14h30` - -''' - -== Toucher du doigt les bases de données SQL avec DBAPI et SQLite3 - -* Exemple simple pour dialoguer avec une base SQL -* Ajouter et requêter des données simplement -* Bonus : ORMs (peewee) - -`jeudi 17h00` - -''' - -== Documenter du code Python - -* Comment on fait ? -* Qu'est-ce qu'on documente ? -* Comment on génère des fichiers HTML de documentation ? (pdoc3, sphinx) -* Bonus : Donner des indications sur le type des variables et arguments - -`vendredi 10h45` - -''' - -== Faire sa première interface graphique avec Python - -* Exemples d'outils pour les interfaces graphiques -* PySide6 avec Python (sous Linux) -* Écrire une fenêtre simple -* Interagir avec les contrôles (boutons, champs) -* Concevoir graphiquement une fenêtre et l'utiliser avec Python - -`vendredi 15h45` - -''' - -== Bonus : Aborder la journalisation - -* Qu'est-ce que c'est ? Et pourquoi, pour qui, quand ? -* Exemple simple de journalisation -* Exemple configuré de journalisation dans un fichier - -`vendredi 16h30` (selon possibilités) - -''' - -== Certifications - -Au plus tard le vendredi à 15h30. Dure jusqu'à 17h30. - -''' - -== That's all folks! - -image:assets/images/x-outro-end.png[That's all folks!] diff --git a/documentation/00-course-plan.md b/documentation/00-course-plan.md new file mode 100644 index 0000000..d3cc4e6 --- /dev/null +++ b/documentation/00-course-plan.md @@ -0,0 +1,145 @@ +--- +title: Plan de formation Python Initiation +author: Steve Kossouho +--- + +# Programme de Python Initiation + +La formation s'adresse à des quasi débutants en programmation, ou curieux d'en savoir un peu plus sur les bases de Python. +Pour les plus avancés, le rythme change (*uniquement si le groupe est suffisamment homogène*). + +## Démarrage + +- Tour de table et présentation +- Logistique, planning et administratif +- Rappel du programme + +## Découvrir Python + +- Nature de Python et court historique +- Versions de Python et différences +- Découvrir la ligne de commande et le shell +- Environnements de développement intégrés +- Créer un nouveau projet avec PyCharm + +*lundi 10h30 si pas de pb d'install* + +## Découvrir le langage + +- Syntaxe de base +- Types de base : chaînes, nombres +- Variables et expressions +- Contrôler ce que l'on exécute : conditions et boucles +- Découvrir les listes (et tuples, sets) + slicing +- Découvrir les dictionnaires +- Compréhensions (listes etc.) +- Opérations sur les chaînes : méthodes et formatage + +*mardi 14h30 max* + +## Le droit aux erreurs + +- Découvrir le concept d'exceptions + +*mardi 15h45* + +## Découvrir les fonctions + +- Découvrir l'utilité des fonctions +- Découvrir la syntaxe +- Référence vs appel de fonction +- Valeurs de retour d'une fonction +- Passer des arguments aux fonctions + +*mercredi 10h00* + +## Découvrir la structure du code au-delà du simple script + +- Expliquer ce qu'est pip, venv (*avec exemples*) et aussi conda +- Modules et packages +- Bibliothèque standard python et imports +- Exemple : faire un peu de calcul avec la bibliothèque standard +- Réutiliser votre propre code +- Extra : virtualenv et pip) + +*mercredi 12h00* + +## Types supplémentaires + +- Découvrir les types heure+date et intervalle de temps +- Convertir depuis du texte ou vers du texte + +*mercredi 14h30* + +## Découvrir la programmation orientée objet + +- Intérêts de la programmation objet +- Découvrir la syntaxe +- Concepts d'attributs et de méthodes +- Différence entre une classe et ses objets +- Instancier avec une autre signature +- Découvrir l'héritage et le polymorphisme +- Bonus : Courte introduction aux décorateurs avec @staticmethod +- Bonus : Introspection (*getattr, setattr, dir, isinstance, type*) +- Bonus : Diagramme de classes UML + +*mercredi 17h00* + +# Programme de Python Approfondissement + +Même public que l'initiation : peu d'expérience en programmation ou curiosité quant à Python. Nécessite toutefois de connaître les bases du langage. + +**Objectif** : aller un peu plus loin dans les bases de Python pour pouvoir traiter quelques données. + +## Découvrir comment manipuler des fichiers texte + +- Écrire et lire des fichiers (*open/close*) +- Écrire et lire des fichiers (*gestionnaire de contexte*) +- Formats : JSON +- Formats : CSV +- Extra : Parcours de fichiers (pathlib) + +*jeudi 14h30* + +## Toucher du doigt les bases de données SQL avec DBAPI et SQLite3 + +- Exemple simple pour dialoguer avec une base SQL +- Ajouter et requêter des données simplement +- Bonus : ORMs (peewee) + +*jeudi 17h00* + +## Documenter du code Python + +- Comment on fait ? +- Qu'est-ce qu'on documente ? +- Comment on génère des fichiers HTML de documentation ? (*pdoc3, sphinx*) +- Bonus : Donner des indications sur le type des variables et arguments + +*vendredi 10h45* + +## Faire sa première interface graphique avec Python + +- Exemples d'outils pour les interfaces graphiques +- PySide6 avec Python (*sous Linux*) +- Écrire une fenêtre simple +- Interagir avec les contrôles (boutons, champs) +- Concevoir graphiquement une fenêtre et l'utiliser avec Python + +*vendredi 15h45* + +## Bonus : Aborder la journalisation + +- Qu'est-ce que c'est ? Et pourquoi, pour qui, quand ? +- Exemple simple de journalisation +- Exemple configuré de journalisation dans un fichier + +*vendredi 16h30* (selon possibilités) + +## Certifications + +Au plus tard le vendredi à 15h30. Dure jusqu'à 17h30. + +## That's all folks! + +![That's all folks!](assets/images/x-outro-end.png)