Introduction et mise en route
Introduction à la programmation avec Python
MGA802 - Séance 1a
Organisation de la séance
Historique
Un langage pour l’ingénieur
Premiers pas en interactif
MGA802 - Été 2026 - Séance 1a 2
Historique
MGA802 - Été 2026 - Séance 1a 3
Historique
↭ Créé par Guido van Rossum au début des
années 90
↭ 1991 : première version publiée alors qu’il était
chercheur dans un institut néerlandais
↭ Pendant près de deux décennies, Python est
resté un langage peu utilisé
↭ 2007 : Dropbox adopte Python comme
langage principal pour ses serveurs
↭ 2007+ : explosion de bibliothèques open
source de qualité, Python devient l’un des trois
langages les plus populaires au monde avec
Java et JavaScript
MGA802 - Été 2026 - Séance 1a 4
Popularité
↭ Python a vu sa popularité grimper rapidement dans les deux dernières décennies
↭ Langage le plus discuté sur Stack Overflow
↭ Langage le plus utilisé sur GitHub
↭ Langage le plus utilisé dans les cours d’introduction à la programmation des plus grandes
universités américaines (MIT, Harvard, ...)
↭ ! TIOBE Index : classement mensuel de la popularité des langages de programmation
↭ Langage le plus utilisé par les LLMs
MGA802 - Été 2026 - Séance 1a 5
Applications
Python étant un langage flexible, il est utilisé dans plusieurs domaines.
Développement web Intelligence artificielle Développement de jeux
↭ Dropbox ↭ Spotify ↭ Civilization 4
↭ Google ↭ Tesla ↭ Battlefield 2
↭ YouTube ↭ Uber ↭ Distributions Linux
MGA802 - Été 2026 - Séance 1a 6
Un langage pour l’ingénieur
MGA802 - Été 2026 - Séance 1a 7
Langage de programmation
↭ Un langage informatique formule les
algorithmes que les programmes
appliquent
↭ Description des structures de données
manipulées
↭ Description des manipulations intelligible
pour les développeurs
↭ Un langage vient avec ses règles, son vocabulaire et sa grammaire . . .
. . . et son traducteur automatique du code vers les instructions machine
↭ Compilateur ou interprète
MGA802 - Été 2026 - Séance 1a 8
Accessibilité
↭ Python est en fait un logiciel capable d’interpréter du code
(des algorithmes) écrit en respectant le langage et la syntaxe
de Python (le langage de programmation cette fois)
↭ Python est disponible sur tous les systèmes d’exploitation
(Windows, MacOS, Linux, Android, iOS, . . . )
↭ Il est aussi possible d’utiliser Python en ligne à l’aide de
serveurs qui permettent d’exécuter du code à partir d’une
page web
↭ Au travers de ce cours, nous allons commencer par utiliser
Python à partir du navigateur sur des serveurs cloud, puis,
par la suite, nous installerons Python localement (sur votre
propre ordinateur ou celui de la salle informatique)
MGA802 - Été 2026 - Séance 1a 9
Profil
Python est un langage de programmation . . .
Interprété Orienté objet Dynamique
+ Pas besoin de compiler + Réutilisable + Plus concis
+ Plus facile à déboguer + Plus facile à maintenir + Déduction automatique
+ Multiplateforme – Plus abstrait des types (implicite)
– Généralement plus lent – Généralement plus lent
Toutes ces caractéristiques font de Python un langage de choix dans un cycle de production
itératif.
MGA802 - Été 2026 - Séance 1a 10
Le Zen de Python
↭ Série de principes établis en 1999
qui influencent la conception du
langage et sa compréhension.
↭ Il souligne l’importance
↭ de l’expressivité du code
source
↭ et de la recherche de la
solution la plus simple,
compréhensible et élégante.
MGA802 - Été 2026 - Séance 1a 11
Expressivité
Python est aussi un langage expressif : la longueur du code reste petite par rapport à ce qu’il
accomplit.
C++ Python
#include <iostream> for i in range(10):
int main(){ print(i)
for (int i = 0; i < 10; i++){
std::cout << i << std::endl;
}
return 0;
}
MGA802 - Été 2026 - Séance 1a 12
Bibliothèques incluses
On dit que Python est un langage de programmation qui
vient avec ses batteries incluses :
↭ Fonctions mathématiques (math, random)
↭ Interface avec les di!érents systèmes d’exploitation (os)
↭ Outils d’analyse de code (profile, cProfile)
↭ Accès programmatique à l’internet (urllib)
↭ Outils de tests (test, doctest, unittest)
↭ Outils de mesure de temps d’exécution (timeit)
↭ Débogueur (pdb)
↭ Et plein d’autres bibliothèques permettent d’étendre ses
fonctionnalités !
Ces outils de base sont appelés la ”librairie standard” de python.
MGA802 - Été 2026 - Séance 1a 13
Écosystème
Au-delà de ces caractéristiques techniques, Python est aussi populaire pour son écosystème :
↭ Communauté active et impliquée
↭ ! [Link] et Stack Overflow
↭ Nombreux tutoriels, vidéos et livres disponibles, souvent gratuits et de haute qualité
↭ Extensibilité accrue : un grand nombre de bibliothèques open source pour accomplir
presque n’importe quelle tâche
MGA802 - Été 2026 - Séance 1a 14
Modules et paquets
↭ Python est omniprésent autour de
vous
↭ L’existence de modules pour Python
permet de quasiment tout faire en
assemblant des briques déjà
disponibles dans la communauté
↭ La simplicité de Python rend tous ces
outils accessibles et simples à utiliser
MGA802 - Été 2026 - Séance 1a 15
Premiers pas en interactif
MGA802 - Été 2026 - Séance 1a 16
Google Colab @ [Link]
↭ Environnement web de Développement Intégré (EDI) style
cahier de notes (notebook)
↭ De nombreuses bibliothèques essentielles dans l’analyse de
données sont déjà installées
↭ Gestion des versions intégrée avec Google Drive et GitHub
↭ Excellente réputation pour le travail collaboratif
↭ Nécessite un compte Google – par exemple votre compte
[Link]
! [Link]
MGA802 - Été 2026 - Séance 1a 17
Jupyter @ [Link]/try
↭ Jupyter Lab est un environnement de développement web qui
peut être installé sur di!érentes machines physiques ou
virtuelles pour exécuter des Jupyter Notebooks.
↭ Vous trouverez de nombreux serveurs cloud qui proposent une
interface en ligne accessible gratuitement.
↭ EDI style cahier de notes
↭ ! Aucune gestion des versions intégrée à moins
d’installer des modules avancés.
! [Link]/try
MGA802 - Été 2026 - Séance 1a 18
Google Colab
↭ Pour les séances à venir, nous
utiliserons Google Colab
↭ Assurez-vous d’être connecté à
votre compte Google
! [Link]
MGA802 - Été 2026 - Séance 1a 19
Colab : Markdown
↭ Dans un cahier Python, il est possible
d’insérer 2 types de cellules : texte ou
code
↭ Les cellules de texte permettent
d’insérer du texte et reconnaissent la
syntaxe Markdown
↭ Les cellules de codes permettent
d’exécuter du code Python
↭ La syntaxe Markdown est très simple
à utiliser et permet de mettre en
forme (gras, italique, titre, liens, . . . )
du texte rapidement
! [Link]/cheat-sheet
! [Link]
Voir [Link] (téléverser
le cahier à l’aide de File > Upload Notebook)
MGA802 - Été 2026 - Séance 1a 20
Markdown
↭ Markdown est un langage très léger et facile à employer.
La syntaxe Markdown peut être rendue sur le web, mais
il est aussi possible d’exporter un document Markdown
en PDF très facilement.
↭ Il existe de nombreux éditeurs Markdown gratuits et
libres de droits qui permettent de prendre des notes en
Markdown puis de les exporter en PDF
↭ ! MarkText
↭ Les applications et codes Python disponibles en ligne
sont systématiquement accompagnés d’un fichier
Markdown appelé [Link] qui contient les
instructions nécessaires pour télécharger, installer et
utiliser le code Python
↭ Vous serez amenés à écrire des fichiers de ce genre lors
des rendus de projet durant ce cours
! [Link]/cheat-sheet
MGA802 - Été 2026 - Séance 1a 21
Colab : Python
↭ Les cahiers permettent d’insérer du
code avec du texte Markdown – c’est
l’outil idéal pour partager du code
accompagné d’explications et
exemples qui montrent comment
l’employer
↭ Ouvrez le cahier ci-dessous et suivez
les étapes indiquées pour une
introduction à l’utilisation de Jupyter
avec du code Python
↭ Téléverser le fichier
[Link] avec
l’interface Importer
! [Link]
MGA802 - Été 2026 - Séance 1a 22
Mot de la fin
↭ On est prêt à voir ou revoir les bases du langage
↭ Comme une langue vivante il faut la pratiquer :
↭ gardez votre interface Colab ouverte pour la suite
MGA802 - Été 2026 - Séance 1a 23