181 lines
4.0 KiB
Plaintext
181 lines
4.0 KiB
Plaintext
—
|
||
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!]
|