Cadrage des enjeux métier et des usages prioritaires
Un contenu structuré pour alterner apports, ateliers, cas pratiques, ressources et mise en application opérationnelle.
Formation Python, programmation objet (niveau intermédiaire) by Beyond Expertise : un parcours orienté pratique pour gagner en autonomie et en impact. Cette formation Python Beyond Expertise a pour objectif de vous faire connaître les possibilités du langage Python, et de savoir écrire les programmes de base.
Un contenu structuré pour alterner apports, ateliers, cas pratiques, ressources et mise en application opérationnelle.
Un contenu structuré pour alterner apports, ateliers, cas pratiques, ressources et mise en application opérationnelle.
Un contenu structuré pour alterner apports, ateliers, cas pratiques, ressources et mise en application opérationnelle.
Un contenu structuré pour alterner apports, ateliers, cas pratiques, ressources et mise en application opérationnelle.
Les participants à cette formation doivent connaître un langage de programmation, car la formation ne prévoit pas de revenir sur les bases de la programmation (variables, test, boucle, fonction…). L’assimilation de ces concepts en même temps que la syntaxe de Python reste cependant possible mais constitue un risque pédagogique important.Il est souhaitable (mais pas indispensable) de connaître la programmation objet car la formation prend le temps de présenter les concepts objets fondamentaux (classe, objet, instance, propriétés, méthodes, héritage) puis dans un second temps leur mise en œuvre en Python.
protected, private)Le mécanisme de traitement des exceptionsExemple de formalisme UML (diagramme de classe)Tour d’horizon des classes fondamentales existantes en PythonNotion de Design PatternsTravaux pratiquesObjectifs : Comprendre quand utiliser l’héritage, le polymorphisme et la composition dans notre conception d’application Python Description : On enrichit le cahier des charges de notre application pour faire apparaitre de nouveaux besoins qui amènent à faire des choix d’héritage, de polymorphisme, etc. avec par exemple une classe TransactionRécurrente qui hérite de Transaction et des concepts de validation de transaction (source, auteur, est_validée par, …)Types de données évoluésSavoir choisir les bonnes structures de donnéesTuples, séquences et listes (append, extend, insert, ...)Fonctions utiles avec les listes (filter, map, reduce)Gestion des piles ou des filesLa puissance des dictionnaires (tableaux associatifs)Construire une liste sur la base d'une expression (compréhension)Travaux pratiquesObjectif : Savoir utiliser les listes en PythonDescription : On reprend notre fichier CSV contenant des transactions bancaires (date, libellé, montant, catégorie) et on le stocke dans un tuple pour figer les valeurs. On ajoute ensuite ces tuples à une liste de transactions que l’on analyse avec map, filter, et reduce pour ne garder que des transactions supérieures à un certain montant et les convertir en dollars. Ensuite reduce permet de calculer le total global dépenses. On créé ensuite une liste des catégories où les dépenses dépassent 1000€ et une pile pour simuler une liste d’actions utilisateurs pour annuler les dernières opérations.Jour 3Compléments sur le langage PythonGénérateurs et itérateursScripts exécutablesOpérateurs associés aux listesEnchaînement de tests par rapport aux listesComparer les séquencesTravaux pratiquesObjectif : Savoir utiliser les itérateursDescription : Création d’une classe portefeuille avec itérateur. Elle contient une liste de transactions et permet d’itérer sur les transactions par date croissante.Les modules de PythonPhilosophie de Python avec les modules (standard, tiers, ...) Tour d'horizon des modules standards Module re (expressions rationnelles)Modules os et sys (services du système d'exploitation)Module csv (fichiers structurés par séparateur)Comment trouver les modules ?Installer des modules tiers (setuptools, EasyInstall)Le dépôt central : Python Package index (Pypi)Importer des modulesMieux gérer son environnement avec venv, pipx, poetry ou pip-toolsTravaux pratiquesObjectif : Savoir structurer son application en modules pour la rendre plus lisible et facile à maintenirDescription : On crée un module pour nos classes (le modèle des données), un module pour les services offerts (filtrage, calculs, résumé, etc.), un module dédié aux entrées/sorties (chargement/sauvegarde de notre CSV dans notre projet). On utilise bien sûr des modules standards comme CSV ou RE (filtrages des données avec les expressions régulières) pour montrer comment les modules existants cohabitent avec nos propres modules.Jour 4Gestion des données (Fichiers, SGBD, XML, JSON, API)Accéder aux fichiers (objet File)Conformité des modules Python pour accéder à une base de données (DB-APIPython et requêtes SQL, ORM avec SQLAlchemFiltrer les données grâce aux expressions régulière (RE)Présentation de la manipulation de flux XMl en Python (ElementTree)Manipuler des fichiers CSVTravaux pratiquesObjectif : Connexion à une base de données pour extraire ou sauvegarder des donnéesDescription : Notre application évolue et on abandonne notre CSV pour dialoguer avec une base de données (MySQL ou PostgreSQL). On complète donc l’exercice précédent en construisant une classe TransactionDao dans notre module dédié aux entrées sorties, qui permet toutes les actions standards sur la table Transaction (insérer, mettre à jour, supprimer, lister, rechercher).Échange de données via API et formats standardsLe format JSON : encodage/décodage, gestion de structures complexeSérialisation avec dataclasses et pydantiPrincipe des API et des Web ServiceRequêtes HTTP avec requests (GET, POST, headers, paramètresRécupérer des données via des API externeTraitement et validation des données reçues (modèles Pydantic, typage fort, gestion des erreurs)Travaux pratiquesObjectif : Consommer une API REST dans un programme Python et intégrer « proprement » les données dans son application.Description : On cherche à actualiser en temps réel notre application avec des actualités économiques. Pour cela on va appeler une API publique qui nous retourne un taux de change au format JSON. On définit un modèle de validation avec Pydantic et on créé 2 classes TauxChange et Reponse API. Affichage ou traitement des données dans le terminal ou via un petit script CLI. Bonus : exporter les résultats vers un fichier CSV ou JSON local.Jour 5Création d’interface graphiqueSpécificités du développement d’interface graphique (programmation événementielle)Présentation de la bibliothèque TkInter.Les principaux conteneurs.Présentation des widgets disponibles (Button, Radiobutton, Entry, Label, Listbox, Canvas, Menu, Scrollbar, Text...).Le gestionnaire de fenêtres.Le placement des composants, les différents layouts.La gestion des événements, l'objet event.Les applications multifenêtres.Un petit mot sur la bibliothèque QtLes autres librairies d’IHM (PyQt, PySide, ..) les IHM web (flask/streamlit)Travaux pratiquesObjectif : Mettre en œuvre une IHM en Python avec TkInterDescription : Développement d’une maquette pour compléter l’atelier précédent sous forme graphique (menu, boîtes de dialogue, liste, boutons, …) afin de proposer une interface pour la saisie des actions de manipulations des données et l’affichage des résultatsQualité et outilsEn quoi consiste l’assurance qualité d’un programme Python (QA) ?Vue d’ensemble de la « trousse à outils » proposée au développeur Utiliser les plugins des IDEs IntelliJ ou VSCodeRechercher des bugs avec PyCheckerVérifier le respect des standards avec PyLintUtiliser le guide de style PEP 8 (Python Enhancement Proposals)Générer de la documentationDisposer de statistiques sur l’exécution de son programme (profiling)Comprendre l'intérêt des outils de Tests (Doctests, Unit tests)Travaux pratiquesObjectif : Bien comprendre le champ fonctionnel de chaque outil présenté dans ce chapitre et savoir les utiliserDescription : Audit de code Python ne respectant pas les standards professionnels en termes de lisibilité. Bonnes pratiques dans le déboguage d’un programme. Mise en œuvre de tests unitaires simples dans le cadre de notre projet fil rouge. Génération de documentation. Repérage des parties consommatrices d’un programme Python d’analyse de données (profiling de notre application fil rouge).Public et.
Cette formation aide les décideurs, responsables formation et managers à évaluer rapidement l’intérêt du parcours, le niveau visé, le format le plus adapté et les prochaines disponibilités.
Oui, la structure prévoit les modalités inter, intra et sur-mesure avec adaptation du contenu au contexte entreprise.
Oui, un programme PDF et des supports complémentaires peuvent être associés à chaque formation selon le besoin.
Oui, la formation peut être prolongée par des ressources LMS, des quiz, des modules vidéo ou un parcours blended.