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 ».

../_images/python-02-install-fig-01.png

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

  1. Installer VS Code.

  2. Installer l’extension Python editée par Microsoft.

  3. 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:

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.

../_images/python-02-install-fig-02.png

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.

../_images/python-02-install-fig-03.png

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.

../_images/python-02-install-fig-04.png

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.

../_images/python-02-install-fig-05.png

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 :

  1. 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).

  2. Accéder à la page https://github.com/education/students et cliquer sur le bouton « Get verified ».

  3. Suivre les instructions pour activer GitHub Copilot sur votre compte.

  4. Installer l’extension VS Code GitHub Copilot dans Visual Studio Code.

  5. 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 ?
      1. Compresser les fichiers avant leur transfert

      1. Authentifier les machines et protéger les communications grâce au chiffrement

      1. Accélérer la connexion Internet

      1. 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 ?
      1. La clé privée

      1. La clé publique

      1. Les deux clés

      1. Aucun des deux

  • Pourquoi la clé privée ne doit-elle jamais être transmise au serveur lors d’une authentification SSH ?
      1. Parce qu’elle est trop volumineuse

      1. Parce que seule la clé publique est utilisée pour vérifier que le client possède bien la clé privée correspondante

      1. Parce que le serveur la possède déjà

      1. 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 ?
      1. Rien de particulier

      1. La connexion devient plus rapide

      1. Il risque de faire confiance à un attaquant qui se fait passer pour le serveur légitime

      1. Sa clé privée est automatiquement envoyée au serveur

  • Dans une authentification par clé publique, laquelle des affirmations suivantes est correcte ?
      1. La clé privée est envoyée au serveur pour être comparée.

      1. Le serveur vérifie que le client possède la clé privée correspondant à la clé publique enregistrée.

      1. Le serveur génère une nouvelle paire de clés à chaque connexion.

      1. 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 ?
      1. Elle permet de se connecter automatiquement sans saisir de mot de passe à chaque fois (si la clé est acceptée).

      1. Elle supprime le chiffrement des communications.

      1. Elle ne nécessite plus de compte utilisateur sur le serveur.

      1. 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.

SSH keys

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.

Cloner le repo

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).

architecture des repos

Note

La procédure pour récupérer les modifications vous serez détaillée chaque fois qu’une mise à jour sera disponible.