Installation
Développer des programmes en Python nécessite d’installer :
le langage proprement dit ;
et un environnement de développement.
Le langage
Python est un langage dit « OS agnostic », ce qui signifie que dans la très grande majorité des cas, les programmes fonctionneront aussi bien sous Windows que sous Linux ou MacOS. Une couche d’abstraction permet de communiquer avec le système d’exploitation avec la même syntaxe. En particulier pour ce qui concerne la gestion des fichiers, malgré des conventions différentes.
Windows
Important
Il est recommandé de désinstaller toutes les versions précédentes du langage avant d’installer la dernière version disponible.
Choisir la dernière version disponible sur Python pour Windows.
La procédure d’installation est illustrée avec Windows 10.
Avertissement
Lors de l’installation, cocher impérativement « Add python.exe to PATH ».
Pour vérifier l’installation, dans un terminal
$ python --version # le numéro de version peut varier
Python 3.12.8
Linux
Sur Linux, Python est vraisemblablement installé. Vérifier avec la commande:
$ python3 --version
Sinon
$ sudo apt install
$ sudo apt upgrade
$ sudo apt install python3
Généralement les distributions Linux n’incluent pas la dernière version stable. Utilisez la documentation de votre distribution pour installer une version plus récente; Par exemple pour les distribution de type Debian-like
$ sudo apt-get install software-properties-common
$ sudo add-apt-repository ppa:deadsnakes/ppa
$ sudo apt-get update
$ sudo apt-get install python3.x
MacOS
Sur MacOS : Python pour MacOs.
Le fonctionnement est similaire à Linux
$ python3 --version
Les premiers pas
Python permet une utilisation interactive avec un mécanisme appelé REPL (read–eval–print loop) qui facilite l’exploration du langage et le déboguage et l’accélère par rapport au cycle edit-compile-run que l’on connaît en C ou en Java.
Le fonctionnement est très similaire dans Windows d’une part, et Linux et MacOS d’autre part. Seul l’exécutable diffère.
Windows
Ouvrir un terminal avec la commande Win+R+cmd puis lancer l’interpréteur python
$ python
Python 3.14.0 (tags/v3.14.0:ebf955d, Oct 7 2025, 10:15:03) [MSC v.1944 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>>
On observe 2 informations essentielles:
la version de l’interpréteur Python (ici 3.14.0) ;
le prompt (invite de commande) spécial de Python constitué de 3 chevrons
>>>. Par la suite le prompt nous renseignera sur le fait que les commandes sont destinées à l’OS ou à l’interpréteur Python.
L’exécution de la commande print() produit directement l’affichage dans le terminal:
>>> print('Hello world!')
Hello world!
Linux et MacOS
Dans un terminal on utilise l’exécutable python3
$ python3
Python 3.12.3 (main, Aug 31 2026, 10:18:26) [GCC 13.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
Ctrl click to launch VS Code Native REPL (https://aka.ms/python-native-repl)
>>>
La commande print() produit le même résultat:
>>> print('Hello world!')
Hello world!
L’environnement de développement
Le terminal utilisé jusque là n’est pas suffisant pour produire un programme. En version minimale, il faut également un éditeur de texte. Mais il existe des solutions plus adaptées pour écrire un code fonctionnel, bien formatté : les environnements de développement.
VS Code est un environnement de développement adapté pour l’apprentissage de la programmation. Son côté évolutif en fait un outil performant également pour les développeurs plus expérimentés. Il fournit dans une même fenêtre :
un éditeur performant ;
des extensions facilitant la tâche du programmeur ;
un outil de deboguage ;
un terminal pour exécuter le code produit ;
et bien plus encore : navigateur de fichiers, partage de code, intégration git, etc.
Installation
Installer VS Code.
Installer l’extension Python editée par Microsoft.
Sélectionner l’interpréteur Python installé à l’étape précédente:
View > Command Palette... > Python: Select Interpreter
Pour profiter de la puissance de Visual Studio Code, consulter la documentation, et en particulier:
la description de l’interface utilisateur ;
la liste des raccourcis clavier pour Windows, Linux et MacOS.
Visual Studio Code possède également un grand nombre d’extensions dans une marketplace. On utilisera entre autres (liste non limitative):
Python : auto complétion, formatage du code, navigation dans le code, debugger, Jupyter notebooks, etc…
Rainbow CSV : structuration et colorisation des fichiers CSV
Utilisation
Visual Studio Code se lance depuis le menu Démarrer (Windows) ou le gestionnaire d’applications (Linux/MacOS).
Ouvrir le répertoire de travail
On ouvre le répertoire de travail avec la commande File > Open Folder.... Cette opération permet de faire pointer le navigateur de fichiers intégré et le terminal vers le répertoire de travail.
La commande File > Open File ne fait pas ces opérations et rend les choses plus complexes.
Le terminal intégré
Visual Studio Code dispose d’un terminal intégré, que l’on fait apparaître ou disparaître dans le menu View.
Ce terminal est une vue intégrée du terminal du système d’exploitation utilisé. Même s’il a une apparence différente, c’est le même que celui utilisé précédemment.
Ce terminal intégré permet :
d’exécuter les programmes
de lancer l’interpréteur interactif. Le prompt (l’invite de commande) de ce dernier est différent (>>>) et permet d’identifier la nature des commandes attendues.
Une erreur courante est d’entrer des commandes Python dans un terminal (Windows ou Linux) ou l’inverse, des commandes Windows ou Linux dans un interpréteur Python.
Exécuter un fichier
Pour ce qui va suivre, l’instruction print("Hello World !") est stockée dans le fichier hello.py, enregistré dans le répertoire de travail. L’exécution se passe dans le terminal intégré de Visual Studio Code.
Dans Windows 11, le fichier est exécuté avec la commande python suivie du nom du fichier:
$ python hello.py
Hello World !
>
Pour Linux et MacOS, le fichier est exécuté avec la commande python3 suivie du nom du fichier
$ python3 hello.py
Hello World !
$
Les assistants de codage
Les développements récents de l’IA générative appliquée à l’informatique ont permis l’émergence d’outils d’assistance à la programmation très performants. Parmi ceux-ci, GitHub Copilot se distingue par sa capacité à suggérer des extraits de code en temps réel, facilitant ainsi le processus de développement.
Les étudiants peuvent bénéficier d’un accès gratuit à GitHub Copilot. Pour cela, il est nécessaire de suivre les étapes suivantes :
Créer un compte GitHub si ce n’est pas déjà fait, en utilisant l’adresse mail d’ESIEE Paris (
prenom.nom@edu.esiee.fr).Accéder à la page https://github.com/education/students et cliquer sur le bouton « Get verified ».
Suivre les instructions pour activer GitHub Copilot sur votre compte.
Installer l’extension VS Code GitHub Copilot dans Visual Studio Code.
Configurer l’extension en vous connectant à votre compte GitHub lorsque vous y êtes invité.
Important
L’utilisation des assistants de codage est vivement encouragée. Elle permet d’écrire du code de meilleure qualité, plus rapidement. Cependant, il est crucial de comprendre que ces outils sont des aides et non des substituts à la réflexion personnelle. Dans la phase d’apprentissage, il est donc essentiel de toujours vérifier et comprendre le code généré par ces assistants.
Ce qu’il faut retenir
Python s’exécute avec la commande python sur les machines Windows
Python s’exécute avec la commande python3 sur les machines Linux et MacOS
Le fonctionnement du programme est indépendant du système d’exploitation
Il est possible d’utiliser Python en mode interactif
Le prompt de l’interpréteur interactif Python est >>>
La configuration minimale pour exécuter du code Python est le langage + un éditeur de texte + un terminal
Un environnement de développement est préférable à la configuration minimale ci dessus
La première action avec VS Code est de choisir le répertoire de travail avec File > Open Folder...
La commande utilisée pour afficher le terminal dans VS Code est View > Terminal
L’utilisation des assistants de codage est vivement encouragée
Les labs
Ce cours est accompagné de labs qui permettent de mettre en pratique les concepts abordés. Ces labs sont disponibles dans un repo hébergé sur le serveur GitLab de l’ESIEE.
Forker le repo des labs
Forker un repo c’est copier un repo existant sur Gitlab pour en créer une copie parfaite dans son espace GitLab personnel. Il s’agit ici de créer une copie du repo commun dans votre espace GitLab personnel pour pouvoir travailler dessus sans interférer avec les travaux des autres étudiants, ni avec le repo commun.
Connectez vous sur https://git.esiee.fr/ avec vos identifiants ESIEE
Ouvrez le repo https://git.esiee.fr/esiee-cs/e2-python-labs-student, faites un fork en renseignant les champs suivants :
Project name : e2-python-labs-student
Project URL : https://git.esiee.fr/<STUDENT-LOGIN>/e2-python-labs-student
Branches to include : All branches
Visibility level : Public
Fork project
Astuce
<STUDENT-LOGIN> représente ici le login ESIEE. Par exemple, l’élève Adam Labrosse a pour login labrossa et son repo est disponible à l’URL https://git.esiee.fr/labrossa/e2-python-labs-student
Vous disposez maintenant de votre propre repo GitLab dans votre espace personnel. C’est dans cet espace que vous allez travailler
SSH
Le workflow va nécessiter des échanges entre votre machine hôte et votre repo GitLab personnel. Pour cela, il est nécessaire de configurer un accès sécurisé entre les deux. C’est le rôle du protocole SSH (Secure SHell) qui permet d’authentifier les machines et de protéger les communications grâce au chiffrement.
- Quel est le rôle du protocole SSH dans les échanges entre votre machine hôte et GitLab ?
Compresser les fichiers avant leur transfert
Authentifier les machines et protéger les communications grâce au chiffrement
Accélérer la connexion Internet
Remplacer le protocole HTTP
- Lorsqu’un utilisateur génère une paire de clés SSH, quel fichier doit-il copier sur le serveur ou dans son compte GitLab ?
La clé privée
La clé publique
Les deux clés
Aucun des deux
- Pourquoi la clé privée ne doit-elle jamais être transmise au serveur lors d’une authentification SSH ?
Parce qu’elle est trop volumineuse
Parce que seule la clé publique est utilisée pour vérifier que le client possède bien la clé privée correspondante
Parce que le serveur la possède déjà
Parce qu’elle est recréée à chaque connexion
- Que se passe-t-il si un utilisateur accepte sans vérification la clé publique d’un serveur inconnu lors de la première connexion ?
Rien de particulier
La connexion devient plus rapide
Il risque de faire confiance à un attaquant qui se fait passer pour le serveur légitime
Sa clé privée est automatiquement envoyée au serveur
- Dans une authentification par clé publique, laquelle des affirmations suivantes est correcte ?
La clé privée est envoyée au serveur pour être comparée.
Le serveur vérifie que le client possède la clé privée correspondant à la clé publique enregistrée.
Le serveur génère une nouvelle paire de clés à chaque connexion.
Les clés publique et privée doivent être stockées sur le serveur.
- Quel est l’avantage principal d’une authentification SSH par paire de clés par rapport à une authentification uniquement par mot de passe ?
Elle permet de se connecter automatiquement sans saisir de mot de passe à chaque fois (si la clé est acceptée).
Elle supprime le chiffrement des communications.
Elle ne nécessite plus de compte utilisateur sur le serveur.
Elle permet à plusieurs utilisateurs de partager la même clé privée.
Pour bénéficier d’une connexion sécurisée entre votre machine hôte et votre repo GitLab personnel, il est nécessaire de générer une paire de clés SSH sur votre machine hôte et d’ajouter la clé publique dans votre compte GitLab.
Générer une paire de clés SSH sur votre machine hôte
Consulter Use SSH keys with GitLab dont un résumé est donné ci dessous.
Ouvrir un terminal Git Bash (Windows) ou bash (Linux) sur votre machine hôte et suivre les instructions ci dessous.
Astuce
Voilà un résumé des commandes à exécuter et leur signification. Le caractère ~ représente le répertoire racine de l’utilisateur
ls ~/.ssh # lister le contenu du répertoire ~/.ssh
mkdir -p ~/.ssh # créer le répertoire ~/.ssh s'il n'existe pas
cat ~/.ssh/id_ed25519.pub # afficher la clé publique si elle existe
ssh-keygen -t ed25519 # générer une nouvelle paire de clés SSH
Copier la clé publique dans votre compte GitLab
Il existe maintenant une paire de clés SSH sur votre machine hôte. L’étape suivante consiste à copier la clé publique dans votre compte GitLab. Un résumé de la procédure décrite dans Use SSH keys with GitLab est donné ci dessous.
Sign in to GitLab.
In the upper-right corner, select your avatar.
Select Edit profile.
In the left sidebar, select Access > SSH keys.
Select Add new key.
In the Key box, paste the contents of your public key
In the Title box, type a description, like Work Laptop or Home Workstation.
Vérifier la connexion SSH avec le serveur
Exécuter la commande suivante dans un terminal de votre machine hôte pour vérifier que la connexion SSH avec le serveur GitLab est opérationnelle
ssh -T git@git.esiee.fr
Lors de la première connexion, votre machine hôte ne connait pas le serveur et vous devez manuellement accepter la clé publique du serveur. Le message affiché dans le terminal est semblable à celui ci (le hostname, l’adresse IP et la clé seront ceux du serveur GitLab de l’ESIEE)
The authenticity of host 'git.esiee.fr (xxx.xxx.xxx.xxx)' can't be established.
ECDSA key fingerprint is SHA256:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.
Are you sure you want to continue connecting (yes/no)?
You should receive a welcome message.
Si la connexion SSH est opérationnelle, vous devez recevoir un message de bienvenue du serveur semblable à celui ci
Welcome to GitLab, @<STUDENT-LOGIN>!
Cloner le repo des labs dans votre espace personnel
Vous disposez à cette étape de votre propre repo dans votre espace personnel GitLab et d’une connexion SSH active. Il est maintenant nécessaire de le cloner sur votre machine hôte pour pouvoir travailler dessus. Pour cela, ouvrir un terminal sur la machine hôte, se placer dans le répertoire de travail, puis exécuter la commande suivante
git clone git@git.esiee.fr:<STUDENT-LOGIN>/e2-python-labs-student.git .
Astuce
Si vous rencontrez des problèmes pour établir la connexion SSH avec le serveur GitLab, vous pouver utiliser le protocole HTTPS. Une authentification par mot de passe sera alors nécessaire.
git clone https://git.esiee.fr/<STUDENT-LOGIN>/e2-python-labs-student.git
L’environnement de travail est résumé dans le schéma ci dessous.
Mettre à jour le repo local avec les modifications du prof
Ce repo est susceptible d’être modifié par l’enseignant (ajout ou modification de labs) au cours du semestre. Vous en serez averti par un message sur la page d’accueil du cours. Il faut établir la connexion entre le repo local et le repo « prof » (upstream). Cette opération n’est à faire qu’une seule fois.
Se placer à la racine du repo local
$ cd e2-python-labs-student
Etablir le lien avec le repo « prof » (upstream) en exécutant la commande suivante
$ git remote add upstream https://git.esiee.fr/esiee-cs/e2-python-labs-student.git
Après l’ajout
$ git remote -v
origin git@git.esiee.fr:<login>/e2-python-labs-student.git (fetch)
origin git@git.esiee.fr:<login>/e2-python-labs-student.git (push)
upstream git@git.esiee.fr:esiee-cs/e2-python-labs-student.git (fetch)
upstream git@git.esiee.fr:esiee-cs/e2-python-labs-student.git (push)
La figure ci dessous résume l’environnement de travail après l’ajout du repo « prof » (upstream).
Note
La procédure pour récupérer les modifications vous serez détaillée chaque fois qu’une mise à jour sera disponible.