Master Professionnel en Informatique, option Génie Logiciel (MGL) › Master 1 › Master GL · S2 · UE3 — Environnement de développement
Python
👤 MOUSSA HABIBOULAYE — Doctorant en Informatique
Présentation
Python est devenu un langage central du génie logiciel : scripts d’automatisation et d’administration, services web et API, science des données, intelligence artificielle, prototypage. Ce cours, de niveau Master, ne se limite pas à la syntaxe : il vise la maîtrise idiomatique du langage (modèle de données, fonctions de première classe, générateurs, décorateurs), la conception orientée objet « pythonique » (dataclasses, propriétés, méthodes spéciales, MRO), la robustesse (exceptions, gestionnaires de contexte, typage statique), l’analyse de données avec NumPy et pandas, et le développement web avec Flask et Django, accompagné de tests automatisés (pytest) et de bonnes pratiques d’industrialisation (environnements virtuels, PEP 8, outils d’analyse). Les exemples sont tirés de cas nigériens : transactions mobile money, gestion des notes d’un établissement de Niamey, statistiques régionales.
Objectifs d’apprentissage
- Écrire du code Python idiomatique et efficace en exploitant les structures de données natives et leurs complexités.
- Utiliser fonctions d’ordre supérieur, fermetures, décorateurs et générateurs.
- Concevoir des classes robustes (dataclasses, propriétés, exceptions métier, gestionnaires de contexte) et organiser un projet en paquets.
- Analyser et nettoyer des données avec NumPy et pandas, et produire des indicateurs.
- Développer, tester et sécuriser une API web avec Flask ou Django.
Prérequis
Algorithmique et structures de données, programmation orientée objet (Java ou C++), notions de bases de données relationnelles et de HTTP.
Plan du cours
- Leçon 1 — Python avancé : types, structures de données, fonctions et générateurs
- Leçon 2 — Programmation orientée objet, exceptions, fichiers et organisation du code
- Leçon 3 — Calcul scientifique et analyse de données avec NumPy et pandas
- Leçon 4 — Développement web avec Flask et Django, tests et qualité du code
Modalités d’évaluation
Volume horaire : 10 h de CM, 10 h de TD, 10 h de TP et 30 h de TPE (60 h, 3 crédits). Évaluation : contrôle continu (TP notés, mini-projet d’API avec tests : 40 %) et examen terminal (60 %) comportant lecture de code, prédiction de résultats et écriture de fonctions.
Bibliographie
- Luciano Ramalho, Fluent Python, O’Reilly, 2e éd., 2022.
- Mark Lutz, Learning Python, O’Reilly.
- Wes McKinney, Python for Data Analysis, O’Reilly, 3e éd.
- Miguel Grinberg, Flask Web Development, O’Reilly.
- Documentation officielle : docs.python.org (tutoriel, référence du langage, PEP 8), numpy.org, pandas.pydata.org, docs.djangoproject.com.
Évaluation globale de la matière
Connectez-vous pour suivre votre progression.
Programme
- 🔒 Leçon 1 — Python avancé : types, structures de données, fonctions et générateurs · 90 min
- 🔒 Leçon 2 — Programmation orientée objet, exceptions, fichiers et organisation du code · 90 min
- 🔒 Leçon 3 — Calcul scientifique et analyse de données avec NumPy et pandas · 90 min
- 🔒 Leçon 4 — Développement web avec Flask et Django, tests et qualité du code · 90 min
- 🔒 Quiz — Python · quiz
Évaluation globale de la matière
Connectez-vous pour suivre votre progression.
