Mode Découverte Gratuit (Accès 1-Clic)

Vous profitez d'un accès libre aux premières leçons de ce cours. Créez un compte gratuit pour enregistrer votre progression et accéder aux quiz !

Créer un compte gratuit

Installation de Python et Votre Premier Script

Bienvenue dans cette nouvelle étape de votre parcours avec Python. En tant que développeur, la première chose que nous apprenons est que la préparation est la moitié du travail. Avant d'écrire la moindre ligne de code d'automatisation, nous devons nous assurer que notre environnement de travail est propre, stable et reproductible. C'est la différence fondamentale entre un bricolage qui fonctionne "sur ma machine" et un outil logiciel fiable.

Aujourd'hui, nous allons au-delà d'un simple téléchargement. Nous allons installer Python en suivant les bonnes pratiques, comprendre un concept essentiel que sont les environnements virtuels, et mettre tout cela en pratique en créant un script qui résout un problème du quotidien : le désordre du dossier "Téléchargements".

L'Installation : Plus qu'un simple "Suivant, Suivant, Terminer"

Installer un langage de programmation peut sembler trivial, mais quelques détails cruciaux peuvent vous éviter bien des maux de tête à l'avenir. L'objectif est d'avoir un accès simple et universel à l'interpréteur Python et à son gestionnaire de paquets, pip, depuis votre terminal.

La Source Officielle

La seule et unique source de vérité pour l'installation de Python est le site officiel : $python.org$. Évitez les installeurs tiers ou les versions embarquées dans d'autres logiciels qui pourraient être obsolètes ou modifiées.

Pour les utilisateurs de Windows

  1. Rendez-vous sur la page de téléchargement de $python.org$.
  2. Téléchargez le dernier installeur stable (généralement intitulé "Windows installer (64-bit)").
  3. Lancez l'exécutable. C'est ici que se trouve l'étape la plus importante : cochez impérativement la case "Add Python to PATH" en bas de la première fenêtre.

Qu'est-ce que le $PATH? Imaginez-le comme l'annuaire téléphonique de votre système d'exploitation. Quand vous tapez une commande commepython$ dans votre terminal, Windows consulte cet annuaire pour savoir où se trouve le programme $python.exe$ à exécuter. Sans cette étape, vous devriez taper le chemin complet vers le programme à chaque fois, ce qui est fastidieux et peu pratique.

Pour les utilisateurs de macOS et Linux

Ces systèmes d'exploitation basés sur Unix sont souvent livrés avec une version de Python pré-installée. Cependant, il s'agit souvent d'une version plus ancienne (Python 2.x), utilisée par le système lui-même. Il ne faut surtout pas la modifier ou la supprimer.

La meilleure pratique est d'installer une version moderne et de la gérer proprement. Sur macOS, l'outil de choix est [MATH_BLOCK_4]. Une fois Homebrew installé, la commande est simple :

brew install python3

Sur les distributions Linux comme Ubuntu ou Debian, vous pouvez utiliser le gestionnaire de paquets apt :

sudo apt update
sudo apt install python3 python3-pip python3-venv

Vérification de l'Installation

Une fois l'installation terminée, ouvrez un nouveau terminal (important, pour que les changements du PATH soient pris en compte) et tapez les commandes suivantes. Elles doivent vous renvoyer une version sans erreur.

# Pour vérifier la version de Python
python3 --version
# Sur Windows, la commande peut être simplement 'python'
# python --version

# Pour vérifier la version du gestionnaire de paquets pip
pip3 --version
# Sur Windows, la commande peut être simplement 'pip'
# pip --version

Si vous obtenez des numéros de version (par exemple, $Python 3.11.4$), félicitations ! Votre environnement de base est prêt.

L'Environnement Virtuel : Votre Bac à Sable Isolé

Diagramme Mermaid

Illustration des environnements virtuels : Chaque projet possède sa propre bulle isolée de paquets, évitant les conflits de versions.

Imaginez que vous travaillez sur deux projets différents. Le projet A, une vieille application, requiert la bibliothèque $requestsen version 2.20.1. Le projet B, plus récent, a besoin des nouvelles fonctionnalités derequests$ version $2.28.0$. Si vous installez ces bibliothèques globalement sur votre système, l'une écrasera l'autre. C'est la porte ouverte aux conflits de dépendances, un véritable cauchemar en développement.

La solution est l'environnement virtuel. C'est un répertoire qui contient une copie de l'interpréteur Python et son propre espace pour installer des paquets. Chaque projet vit dans sa propre "bulle" isolée, avec ses propres dépendances. C'est une pratique non négociable dans le développement Python professionnel.

Créer et Activer votre venv

  1. Créez un dossier pour votre projet : $mkdir mon-premier-script && cd mon-premier-script$
  2. Créez l'environnement virtuel : Le module $venvest inclus avec Python. Nous l'utilisons pour créer un dossier (conventionnellement nommévenv$ ou .venv) qui contiendra notre environnement.

bash python3 -m venv venv

Cette commande crée un dossier venv dans le répertoire de votre projet.

  1. Activez l'environnement : C'est l'étape qui vous fait "entrer" dans la bulle isolée. La commande varie selon votre système d'exploitation.

Une fois activé, vous remarquerez que le nom de l'environnement ((venv)) apparaît au début de votre invite de commande. Cela vous confirme que vous êtes bien dans votre bac à sable. Toutes les installations de paquets avec pip se feront maintenant à l'intérieur de ce venv, sans polluer votre système global.

Pour quitter l'environnement, tapez simplement deactivate.

Votre Premier Script d'Automatisation : Organiser les Téléchargements

Diagramme Mermaid

Logigramme du script de tri de fichiers.

Passons à la pratique. Le problème : le dossier "Téléchargements" est un fourre-tout chaotique. Notre mission : créer un script Python qui trie automatiquement les fichiers dans des sous-dossiers thématiques (Images, Documents, Archives, etc.).

La Logique de Tri

Avant d'écrire du code, décomposons le problème : 1. Cibler le dossier Téléchargements. 2. Parcourir tous les éléments présents dans ce dossier. 3. Pour chaque fichier (et non un dossier) : a. Extraire son extension (ex: .pdf, .jpg, $.zip$). b. Décider d'un dossier de destination basé sur cette extension. c. Créer ce dossier de destination s'il n'existe pas déjà. d. Déplacer le fichier original vers sa nouvelle destination.

Cette décomposition logique est le plan de notre script.

Le Code Commenté

# Importer les modules nécessaires
import os # Pour interagir avec le système d'exploitation (lister des fichiers, créer des dossiers)
import shutil # Pour des opérations de haut niveau sur les fichiers (déplacer)
from pathlib import Path # Pour une gestion moderne et multi-plateforme des chemins d'accès

# --- CONFIGURATION ---
# Définir le chemin du dossier à trier. 
# Path.home() récupère le dossier de l'utilisateur actuel (ex: /home/user ou C:\Users\User)
# L'opérateur / permet de joindre des chemins de manière intelligente.
SOURCE_DIR = Path.home() / "Downloads"

# Définir les règles de tri : une extension pointe vers un nom de dossier.
# On utilise des tuples pour les extensions pour regrouper les types de fichiers.
DEST_DIRS = { "Images": [".jpg", ".jpeg", ".png", ".gif", ".bmp"], "Documents": [".pdf", ".docx", ".xlsx", ".pptx", ".txt", ".odt"], "Archives": [".zip", ".rar", ".tar", ".gz"], "Musique": [".mp3", ".wav", ".flac"], "Videos": [".mp4", ".mov", ".avi"], "Executables": [".exe", ".msi"] }
# --- FIN DE LA CONFIGURATION ---

def trier_fichiers(source_repertoire):
 """Fonction principale pour trier les fichiers du répertoire source."""
 print(f"Début du tri pour le dossier : {source_repertoire}")

 # os.listdir() nous donne une liste de tous les noms de fichiers/dossiers
 for filename in os.listdir(source_repertoire):
 source_path = Path(source_repertoire) / filename

 # On s'assure de ne traiter que les fichiers, pas les sous-dossiers
 if source_path.is_file():
 # Obtenir l'extension du fichier en minuscules
 file_extension = source_path.suffix.lower()
 destination_dir_name = None

 # Chercher à quel dossier de destination l'extension correspond
 for dir_name, extensions in DEST_DIRS.items():
 if file_extension in extensions:
 destination_dir_name = dir_name
 break # On a trouvé, pas besoin de continuer la boucle

 # Si on a trouvé une correspondance
 if destination_dir_name:
 destination_path = source_repertoire / destination_dir_name

 # Créer le dossier de destination s'il n'existe pas. `exist_ok=True` évite une erreur s'il est déjà là.
 destination_path.mkdir(exist_ok=True)

 # Déplacer le fichier
 print(f"Déplacement de {filename} vers {destination_dir_name}...")
 shutil.move(source_path, destination_path / filename)
 else:
 print(f"Extension {file_extension} non reconnue pour le fichier {filename}. Fichier ignoré.")

if __name__ == "__main__":
 # Cette condition permet de s'assurer que le code n'est exécuté que si le script est lancé directement
 # (et non pas s'il est importé comme un module dans un autre script)
 trier_fichiers(SOURCE_DIR)
 print("Tri terminé !")

Exécution et Bonnes Pratiques

Assurez-vous que votre environnement virtuel est activé. Ensuite, exécutez le script depuis votre terminal :

python trieur_fichiers.py

Vous devriez voir des messages s'afficher, indiquant les fichiers déplacés. Allez vérifier votre dossier "Téléchargements" : de nouveaux dossiers (Images, Documents, etc.) devraient avoir été créés et contenir les fichiers correspondants !

Aller plus loin (la perspective du développeur senior)

Notre script fonctionne, mais un développeur expérimenté penserait déjà aux améliorations :

  1. Portabilité : Nous avons utilisé $pathlib, ce qui est une excellente pratique. Cela rend notre gestion des chemins (Path.home() / "Downloads") compatible entre Windows, macOS et Linux, évitant les problèmes de barres obliques (/$) ou d'antislash (\).
  2. Gestion des Erreurs : Que se passe-t-il si un fichier est en cours d'utilisation et ne peut pas être déplacé ? Le script plantera. Une version plus robuste envelopperait l'appel shutil.move dans un bloc $try...except$ pour gérer l'erreur gracieusement sans arrêter tout le processus.
  3. Configuration externe : Les règles de tri (DEST_DIRS) sont codées en dur. Pour un outil plus flexible, on pourrait les placer dans un fichier de configuration externe (ex: un fichier JSON) que le script lirait au démarrage. L'utilisateur pourrait ainsi personnaliser le tri sans modifier le code Python.

Conclusion et Prochaines Étapes

Félicitations ! Vous avez non seulement installé Python de manière professionnelle, mais vous avez aussi maîtrisé le concept fondamental des environnements virtuels et appliqué ces connaissances pour construire un script d'automatisation concret et utile. Vous avez résolu un problème réel en quelques dizaines de lignes de code.

Retenez bien les principes clés de cette leçon : l'isolation des projets avec venv, la planification avant le codage, et l'utilisation des bibliothèques standards (os, shutil, pathlib) pour interagir avec le système. Ces bases solides vous serviront dans toutes vos futures aventures d'automatisation. La prochaine fois, nous explorerons comment interagir avec des services web et des API pour décupler les possibilités de vos scripts.


Données et Tableaux

Système d'exploitationCommande d'activation
Windows (cmd.exe)`venv\Scripts\activate.bat`
Windows (PowerShell)`venv\Scripts\Activate.ps1`
macOS / Linux (bash/zsh)`source venv/bin/activate`

Formules Clés

\[ Créez un fichier nommé trieur_fichiers.py dans le dossier de votre projet (où vous avez aussi créé le `venv`) et copiez-y le code suivant : \]
Next

© 2026 DzSmartEduc Learning Platform

Besoin d'aide ? WhatsApp 17h00 - 22h00 • 7j/7