Skip to content

Repository files navigation

A Python Training - Les fondamentaux

This is the practical cases for Python training I provide. Intended for french trainee, the rest of the explanations are in French. English

Ce référentiel complète la formation que je propose et est donc destiné à mes stagiaires.

La Documentation github est disponible.

License Static Badge

Ces sources sont organisées pour proposer des exemples de code sur les thèmes couverts par les formations de base Python. Elles respectent avec quelques adaptations l'organisation d'un package.

Récupérez le projet

En fonction de vos compétences et outils à disposition, vous pouvez soit cloner le projet soit le récupérer sous forme d'une archive.

Le projet peut être dans l'arborescence que vous souhaitez sur votre disque.

Structure du projet

Ce projet est un projet de formation. Sa structure ne suit donc pas la structure conventionnelle d'un projet Python. L'organisation des répertoires est la suivante :

  • assets : contient des fichiers qui seront nécessaires pour le parcours et la manipulation de fichiers.
  • demos : est un package contenant des fichiers de démonstration et d'illustration. Ce package contient également des exemples Tkinter.
  • docs : documentation réalisée à l'aide de Material for MkDocs.
  • exos : est votre répertoire de travail. Il est destiné à contenir le code que vous allez produire durant la formation et vous permettre de le retrouver dans cet emplacement unique.
  • src : contient normalement le code source de l'application, mais dans le cadre de ce projet de formation, contient du code de support pour les exercices.

Quickstart

Voici les étapes à suivre pour préparer l'environnement. Ces étapes ne prennent pas en compte l'IDE. Vous trouverez le détail à la suite.

  • Assurez-vous de disposer d'une version de Python récente accessible dans le path. Dans l'idéal, vous devriez être dans la dernière ou avant-dernière version de Python.
  • Créez et activez un environnement virtuel si besoin en suivant la documentation de venv et activez le.
  • Mettez à jour pip avec pip install --upgrade pip.
  • Installez les dépendances par pip install . --only-deps.

Vous êtes prêt à travailler.

Mise en place de l'environnement (version détaillée)

Prérequis

Python doit être installé sur votre poste.

La formation est prévue pour toutes les versions de Python maintenues (voir le statut des versions) et une version de pip>= 26.2

Python ainsi que les dépendances doivent être dans le PATH. Vous pouvez vérifier le bon fonctionnement dans un terminal/invite de commande par les instructions du type

python --version
pip --version

ou

python3 --version
pip3 --version

Environnements de développement

Python ne nécessite aucun IDE en particulier.

Les environnements conseillés sont PyCharm et Visual Studio Code.

PyCharm est un environnement dédié à Python, il intègre donc un certain nombre d'outils. PyCharm existe en version licenciée ou Community, cette dernière, gratuite et complète, convient amplement à la formation.

VS Code nécessite l'installation d'un plug-in pour la prise en charge de Python.

Environnement virtuel

Un environnement virtuel permet d'isoler l'environnement du projet de votre environnement système. Il permet ainsi d'éviter les conflits de dépendance et facilite l'exécution des programmes Python indépendamment des versions de l'interpréteur.

Créer un environnement virtuel n'est pas indispensable dans le cadre de cette formation en particulier si vous utilisez une machine dédiée à la formation.

Si vous utilisez PyCharm, il vous proposera de créer automatiquement un environnement virtuel.

Si vous avez besoin d'information sur leur création et utilisation, vous pouvez consulter la documentation.

Installation de dépendances

pip est le gestionnaire de dépendances standard qui va vous permettre d'installer les dépendances nécessaires à ce projet.

Attention : pip utilise des ports dédiés pour communiquer avec les dépôts. Si vous êtes derrière un Firewall, il sera nécessaire de lui communiquer le proxy.

Commencez par mettre à jour pip par :

pip install --upgrade pip

Vous pouvez installer une dépendance spécifique avec l'instruction

pip install ipython

Cette commande permet d'installer la dépendance ipython.

À partir de l'automne 2026, ce projet s'est adapté aux normes en vigueur. Les dépendances sont décrites dans le fichier pyproject.toml. Il faudra exécuter deux instructions :

pip install --only-deps .
pip install --group dev

Dans le fichier pyproject.toml, les dépendances sont déclarées en deux groupes : les dépendances dites de prod' (celles indispensables au projet) et les dépendances dites de dev'.

La première ligne installe les dépendances indispensables au projet, la seconde complète avec les dépendances de développement.

À titre d'illustration, le projet conserve le fichier requirements.txt qui était la manière historique de référencer les dépendances. Ce fichier n'est plus maintenu. Vous pouvez tout de même l'utiliser avec la commande :

pip install -r requirements.txt

Votre environnement est alors prêt à l'emploi.

Makefile

Si vous êtes sur un environnement POSIX (Linux ou MacOs) ou plus généralement si vous utilisez l'outil make, vous pouvez utiliser le makefile fourni :

  • make setup : met à jour pip et installe toutes les dépendances.
  • make clean : supprime le répertoire data créé par une démo.

Documents d'illustration

Certains fichiers ont l'extension .ipynb. Il s'agit de documents de type Jupyter Notebooks générés à l'aide de Jupyter. Pour pouvoir les consulter, vous devez installer la dépendance Jupyter. Celle-ci est incluse dans le fichier requirements-xtra.txt, vous pouvez donc l'installer avec la même instruction que précédemment.

Pour accéder à ces documents, il faut lancer le serveur Jupyter par l'instruction :

jupyter-lab

Documentation

Un bon projet est accompagné d'une bonne documentation… Dans le cadre de ce projet, la documentation est générée par Material for MkDocs.

L'ensemble des fichiers de documentation sont dans le répertoire docs/ et sont au format rst. Vous pouvez donc consulter les documents directement dans vos IDEs, PyCharm et VS Code ont un panneau de prévisualisation.

Consulter la documentation de manière dynamique

Mkdocs propose un serveur web local qui permet de consulter la doc de manière dynamique.

Après vous êtes assuré d'avoir installé les dépendances (mkdocs-materialqui est dans le fichier requirements-xtra.txt), dans une invite de commande, exécutez :

mkdocs serve

Le log de lancement vous indiquera à quelle adresse vous pouvez consulter la doc (normalement, http://127.0.0.1:8000/).

Si vous souhiatez la modifier et voir la mise à jour de vos documents, exécutez :

mkdocs serve --livereload

Créer localement le site de documentation

Vous pouvez générer le site de documentation avec la commande :

mkdocs build

L'ensemble des fichiers sera disponible dans le répertoire site/.

Dépendances du projet

Un projet Python est accompagné d'un fichier requirements.txt déclarant les dépendances de développement nécessaires au projet.

Les dépendances dans ce fichier sont les suivantes :

  • ipython : il s'agit d'un shell intéractif avancé préféré au shell intéractif standard.
  • Pytest : utilisé pour la partie tests unitaires
  • Pytz : utilisé pour la gestion des TimeZone des dates (cette bibliothèque est obsolète depuis la 3.9)
  • flake8 : outil de validation statique de code
  • pylint : outil d'analyse statique de code

Un fichier requirements-xtra.py contient les dépendances optionnelles. Notez que celles-ci peuvent être volumineuses (donc prendront du temps et de l'espace disque).

  • jupyter-lab : est l'évolution du projet Jupyter. Il sera utilisé pour ses notebooks, documents d'illustration. Cette dépendance installera également le shell intéractif avancé ipython.
  • rich : bibliothèque destinée à un affichage de texte riche, c'est-à-dire avec couleur et styles, ainsi que du contenu avancé comme des tableaux.
  • questionary : bibliothèque destinée à avoir une intéraction dans l'invite de commande.
  • Material for MkDocs pour la documentation.

Les démos de ce projet contiennent également des exemples d'IHM avec PySide6. Les programmes de formation proposent en général une introduction aux interfaces graphiques avec TkInter mais il y a des demandes pour une bibliothèque plus aboutie. L'installation devra être faite manuellement, en particulier du fait de la taille (plus de 450Mo téléchargé pour plus de 1Go sur disque…)

  • PySide6 : à installer avec pip install PySide6

Ressources

Durant la formation, des ressources complémentaires peuvent être disponibles sur le partage suivant

Les exercices sont disponibles sur le wiki du projet.

About

No description or website provided.

Topics

Resources

Stars

3 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages