Apprendre à programmer en Python commence ici, en partant de zéro, et gratuitement. Cette page présente la formation Python du site : par quoi commencer, dans quel ordre progresser, et où trouver chaque sujet parmi plus de cent guides. Elle s'adresse au débutant complet comme à l'administrateur qui veut automatiser son quotidien. La première leçon, premiers pas en Python, installe Python et enseigne le premier programme, les variables, les types et les opérations de base.
Python est un langage polyvalent et l'un des plus accessibles pour débuter : sa syntaxe lisible en fait un excellent premier langage, et il ne demande aucun prérequis en mathématiques. Une fois les bases acquises, la carte thématique plus bas mène aux structures de données, à la programmation orientée objet, à l'automatisation DevOps et jusqu'à l'intelligence artificielle.
Par où commencer pour apprendre Python ?
Section intitulée « Par où commencer pour apprendre Python ? »Apprendre Python efficacement suit une progression : on assimile d'abord la syntaxe et les types de base, puis on structure son code, et enfin on l'organise en projets réutilisables. Le parcours des fondamentaux suit cet ordre, une leçon après l'autre : le plan de formation affiché à gauche vous situe à chaque étape, et la page Python, les fondamentaux suit votre progression.
Tout commence par les premiers pas en Python : installer Python, écrire et lancer un premier script, créer des variables, connaître les quatre types de base et lire un message d'erreur. Comptez une demi-heure, exemples compris.
Viennent ensuite les structures de contrôle et collections : conditions, boucles, listes et dictionnaires pour écrire des programmes qui réagissent aux données. Ensuite, écrire des fonctions permet de découper son code en blocs réutilisables (paramètres, valeurs de retour, portée des variables), et gérer les exceptions apprend à anticiper les erreurs pour des scripts robustes qui ne plantent pas au premier imprévu.
Le guide pour lire et écrire des fichiers (texte, CSV et JSON) est la base de presque tout script utile. Les modules et packages organisent ensuite le code en modules réutilisables et structurent un projet. Les environnements virtuels isolent enfin les dépendances de chaque projet pour éviter les conflits de versions.
Histoire du langage Python
Section intitulée « Histoire du langage Python »Python a été créé en 1989 par Guido van Rossum, avec l'idée de concevoir un langage simple et flexible, inspiré par ABC. En 1991, la première version publique de Python (0.9.0) voit le jour, introduisant des concepts comme les fonctions, les classes et les modules, qui deviennent des piliers du langage. Trois ans après, en 1994, Python 1.0 est publié, avec des fonctionnalités clés comme la gestion des exceptions et des modules plus robustes.
En 2000, Python 2.0 est lancé, apportant des innovations comme la gestion automatique de la mémoire et les compréhensions de listes, ce qui améliore la flexibilité et la lisibilité du code. Puis, en 2008, Python 3.0 est introduit, avec des améliorations profondes mais non rétrocompatibles, marquant une nouvelle ère pour le langage.
La transition complète vers Python 3 prend du temps, mais en janvier 2020, Python 2.7 atteint sa fin de vie, consacrant Python 3 comme la version standard. Depuis Python 3.9, une nouvelle version sort chaque année en octobre : la 3.14 en octobre 2025, puis la 3.15 en octobre 2026, chacune avec de meilleures performances et de nouvelles fonctionnalités.
Aujourd'hui, Python est largement utilisé dans des domaines variés comme le développement Web, l'intelligence artificielle et la science des données, grâce à sa simplicité et à une communauté très active. Cette popularité tient à quelques caractéristiques : une syntaxe lisible, un typage dynamique, une immense bibliothèque standard et un écosystème de paquets tiers couvrant presque tous les besoins.
Pourquoi Python est-il un bon premier langage ?
Section intitulée « Pourquoi Python est-il un bon premier langage ? »Python est un bon premier langage parce qu'il retire presque tout ce qui
détourne un débutant de la logique du programme. Sa syntaxe se lit
presque comme de l'anglais, et les blocs se délimitent par l'indentation
plutôt que par des accolades, ce qui oblige à écrire un code aéré. Les
variables se créent sans déclarer leur type : age = 30 suffit, et
Python déduit qu'il s'agit d'un entier. Enfin, l'interpréteur interactif
répond à chaque instruction tapée, ce qui transforme chaque doute en essai
de quelques secondes plutôt qu'en lecture de documentation.
Ce confort a une contrepartie qu'il vaut mieux connaître dès le départ : un typage dynamique laisse passer des erreurs que d'autres langages refusent à la compilation, et elles n'apparaissent qu'à l'exécution. C'est pourquoi le parcours enseigne tôt la lecture des messages d'erreur, puis les exceptions, les tests et les annotations de type. Une documentation officielle abondante, publiée sur le site de Python, et une communauté très active complètent l'ensemble.
Tout ce que couvre ce parcours Python
Section intitulée « Tout ce que couvre ce parcours Python »Ce site compte plus de cent guides Python. Pour ne pas vous y perdre, les voici regroupés par thème. Les fondamentaux (variables, boucles, fonctions, fichiers, modules) sont listés plus haut dans la section « Par où commencer ». La carte ci-dessous couvre la suite : manipulation de données, structuration du code, outillage, automatisation et intelligence artificielle. Piochez selon votre besoin, chaque guide est autonome.
Manipuler les données
Section intitulée « Manipuler les données »Après les types de base, on apprend à structurer et transformer les données. Ces guides couvrent les collections et le texte, le pain quotidien de tout script Python.
Pour les collections, voyez les listes (créer, parcourir, trier et filtrer avec append, index et le tri), les dictionnaires qui associent des clés à des valeurs, la structure la plus utilisée en Python, les ensembles (set) d'éléments uniques pour dédoublonner et comparer sans boucle, et les tuples, des collections immuables. Le slicing découpe listes, chaînes et tuples avec la notation par tranches.
Pour le texte, les méthodes de chaînes découpent, assemblent, nettoient et remplacent (split, join, strip), le formatage des chaînes construit du texte proprement avec les f-strings et format(), et les expressions régulières recherchent et extraient des motifs avec le module re.
Structurer son code : objets et patterns
Section intitulée « Structurer son code : objets et patterns »Quand un script grossit, on l'organise en objets et on factorise. Ces guides font passer du script linéaire au code réutilisable et maintenable.
La programmation orientée objet pose les bases : classes, objets, attributs et méthodes. La POO avancée ajoute dataclass, classes abstraites, héritage multiple, mixins et métaclasses. Les décorateurs enrichissent une fonction sans la modifier, avec la syntaxe @ et wraps, et les générateurs et yield produisent des valeurs à la volée pour traiter de gros volumes sans saturer la mémoire.
Les type hints annotent et vérifient le code avec mypy pour attraper les bugs plus tôt. La programmation asynchrone (asyncio) utilise async et await pour lancer des centaines d'appels réseau en même temps, et les context managers (with) gèrent et libèrent proprement fichiers, verrous et connexions.
Outiller et fiabiliser ses projets
Section intitulée « Outiller et fiabiliser ses projets »Un projet sérieux isole ses dépendances, vérifie sa qualité et se teste. Ces outils sont ceux que vous utiliserez sur chaque projet réel.
Côté dépendances, les environnements virtuels isolent chaque projet. uv est le gestionnaire ultra-rapide qui remplace pip et Poetry, avec lockfile ; Poetry gère les dépendances et package proprement une bibliothèque ; pyenv installe et alterne plusieurs versions de Python sur une machine.
Côté qualité, Ruff est un linter et formateur ultra-rapide pour garder un code cohérent, et tester son code apprend à écrire des tests fiables avec unittest et pytest pour ne rien casser. Pour partager, publier sur PyPI empaquette un module en sdist et wheel, puis le publie avec twine.
Automatiser et scripter pour le DevOps
Section intitulée « Automatiser et scripter pour le DevOps »C'est ici que Python devient un outil d'infrastructure : appeler des API, lire des configurations, créer des outils en ligne de commande, journaliser.
Pour dialoguer avec l'extérieur, appeler une API avec requests consomme une API REST (GET, POST, gestion des erreurs et TLS). Click transforme un script en outil en ligne de commande propre et documenté, et Rich rend les sorties lisibles avec tableaux, couleurs et barres de progression.
Pour les fichiers et les données, les templates Jinja2 génèrent des fichiers de configuration à partir de modèles, et PyYAML lit et écrit du YAML en toute sécurité. Le module logging produit des logs exploitables plutôt que des print() éparpillés, datetime horodate, calcule des échéances et gère les fuseaux horaires, et pathlib compose, teste et parcourt fichiers et dossiers avec la classe Path.
Web, API et bases de données
Section intitulée « Web, API et bases de données »Pour aller vers des applications complètes, Python sait exposer des API et dialoguer avec une base de données via un ORM.
Web et bases de données. FastAPI crée une API REST rapide, typée et documentée automatiquement. SQLAlchemy manipule une base de données en objets Python plutôt qu'en SQL brut. Deux guides complètent le volet côté infrastructure : Fabric exécute des commandes à distance et déploie via SSH depuis Python, et Nmap pilote le scanner pour contrôler ports et hôtes.
Python pour l'intelligence artificielle
Section intitulée « Python pour l'intelligence artificielle »Python est le langage de l'IA. Une fois les bases acquises, un parcours complet vous mène du LLM local au RAG et aux agents. Ces quatre portes d'entrée ouvrent chacune une section entière.
La formation IA générative est le hub complet : LLM, RAG, agents et MCP, du concept à la pratique. Pour débuter, Ollama exécute des modèles de langage sur votre machine, sans cloud ; le guide RAG branche un modèle sur vos propres données pour des réponses fiables ; et construire des agents IA mène des agents autonomes jusqu'au protocole MCP.
Si vous visez plutôt l'analyse de données ou le machine learning, installez Jupyter Notebook, un environnement interactif qui facilite l'expérimentation et la visualisation des données.
Mon conseil pour progresser vraiment
Section intitulée « Mon conseil pour progresser vraiment »Après des années à former des équipes, je vois toujours les mêmes deux écueils chez les débutants, et ils n'ont rien à voir avec la difficulté du langage.
Le premier : enchaîner les tutoriels sans jamais coder soi-même. On lit, on hoche la tête, on croit avoir compris, et devant un terminal vide plus rien ne vient. La seule méthode qui marche est d'écrire du code à chaque notion, même bancal. Reprenez chaque exemple des leçons, cassez-le, modifiez-le, observez l'erreur. C'est en réparant qu'on apprend.
Le second : négliger la gestion des erreurs et l'environnement virtuel sous prétexte que « ça marche quand même ». Prenez tout de suite le réflexe d'isoler chaque projet dans un environnement virtuel et d'écrire des scripts qui ne plantent pas au premier imprévu. Ces deux habitudes prises dès le début vous éviteront des heures de galère par la suite.
Si vous préférez apprendre aussi sur papier, deux livres en français reprennent ces bases pas à pas, avec des exercices :
À retenir
Section intitulée « À retenir »- Python s'apprend de zéro, sans prérequis en mathématiques : la première leçon, premiers pas en Python, part de l'installation.
- Installez Python 3.10 ou plus récent ; sous Linux, la commande à taper est souvent
python3, paspython. - Progressez dans l'ordre : syntaxe et types, puis conditions et boucles, fonctions, exceptions, fichiers et modules.
- Écrivez du code à chaque notion : c'est en corrigeant ses erreurs qu'on apprend, pas en relisant.
- Isolez chaque projet dans un environnement virtuel dès le début.
FAQ : apprendre Python
Section intitulée « FAQ : apprendre Python »Les questions ci-dessous reviennent le plus souvent chez ceux qui débutent : le temps qu'il faut pour apprendre, la version à installer, le niveau de mathématiques nécessaire. Chaque réponse tient en quelques lignes.
- Installez Python et écrivez un premier script
hello.py. - Assimilez les variables et les types de base (int, str, float, bool). La leçon premiers pas en Python couvre ces deux étapes.
- Passez aux structures de contrôle (conditions, boucles) et aux collections (listes, dictionnaires).
- Apprenez à écrire des fonctions pour réutiliser votre code.
- Ajoutez la gestion des exceptions, la lecture de fichiers, puis les modules.
- Écrire des scripts simples (variables, boucles, fonctions) : 2 à 3 semaines de pratique régulière.
- Être autonome sur de vrais petits projets (fichiers, API, automatisation) : 2 à 3 mois.
- Maîtriser les sujets avancés (POO, packaging, tests, async) : plusieurs mois d'usage réel.
- Syntaxe lisible : l'indentation remplace les accolades, le code ressemble presque à de l'anglais.
- Typage dynamique : pas besoin de déclarer le type des variables, on se concentre sur la logique.
- Interpréteur interactif : on teste une idée et on voit le résultat immédiatement.
- Polyvalence : une fois les bases acquises, le même langage sert au web, à l'automatisation DevOps, à la data et à l'intelligence artificielle.
- N'installez jamais Python 2 : il est en fin de vie depuis janvier 2020, sans correctifs de sécurité.
- Sur Linux,
python3est souvent déjà installé ; vérifiez avecpython3 --version. La leçon premiers pas en Python détaille l'installation sur chaque système. - Pour jongler entre plusieurs versions (un projet en 3.11, un autre en 3.13), utilisez pyenv plutôt que d'installer les versions à la main.
- la data science et les statistiques,
- le machine learning et l'intelligence artificielle.
- un ordinateur (Linux, Windows ou macOS),
- Python installé (la leçon premiers pas en Python montre comment, sous Linux, macOS et Windows),
- un éditeur de texte gratuit comme Visual Studio Code.
# premier_programme.py
prenom = input("Quel est ton prénom ? ")
print(f"Bonjour {prenom}, tu programmes en Python !")
Lancez-le avec python3 premier_programme.py (sous Windows, py premier_programme.py). À partir de là, vous programmez en Python : ajoutez une condition, puis une boucle, puis une fonction, en testant chaque ajout. C'est en accumulant ces petits programmes qu'on apprend vraiment à programmer, bien plus qu'en suivant passivement un cours.- sa syntaxe est lisible, proche de l'anglais courant (
if age > 18:se lit presque comme une phrase) ; - il n'exige aucune base en informatique ni en mathématiques pour démarrer ;
- le retour est immédiat : on écrit trois lignes, on exécute, on voit le résultat.