ROADMAP — progression complète
La progression suit 11 niveaux (00 → 10). Chaque niveau a son dossier dans lessons/, son README de cadrage, ses leçons (format : lessons/TEMPLATE_LECON.md), ses exercices et ses solutions. On ne saute pas de niveau : les critères de sortie (checklist du README de niveau) conditionnent le passage au suivant.
Choix assumés (écarts par rapport à un découpage classique)
- Git au niveau 0, pas « plus tard » : le versionnage fait partie de la méthode dès le premier script. C'est plus dur au début, rentable dès la semaine 2.
- Exercices et solutions rangés PAR NOTION (dans chaque niveau), pas par difficulté globale : la révision d'une notion retrouve tout au même endroit. La difficulté est graduée à l'intérieur de chaque série.
- Un niveau 7 « projets » sans nouvelle notion : après la POO, on consolide. Les plateaux d'apprentissage arrivent aux niveaux 3-4 et 6 ; le niveau 7 est la respiration qui transforme le su en acquis.
pip/venvrepoussés au niveau 9 : tant qu'on est en stdlib pure, les environnements virtuels sont du bruit. Ils arrivent avecrequests, au moment où on en a besoin.- Les branches Git seulement au niveau 10 : seul sur
mainjusque-là (justification dansGIT_WORKFLOW.md).
Détail des niveaux
Niveau 00 — Environnement et outils (3–5 jours)
Installer/vérifier Python, VS Code, le terminal (Git Bash), fichiers .py, lancer un script, REPL vs script, Git et GitHub, save vs commit vs push, premier commit, premier push. Sortie : un script écrit, lancé, commité et poussé sans aide.
Niveau 01 — Bases (1 semaine)
print, variables et références, f-strings, types simples (int, float, str, bool), type(), arithmétique et pièges des flottants, input() (toujours str), conversions et ValueError, chaînes en profondeur (indexation, slicing, méthodes, immutabilité). Sortie : petit programme interactif complet (mini-convertisseur) sans modèle.
Niveau 02 — Conditions, boucles, logique (1 semaine)
if/elif/else, comparaisons (== vs =), and/or/not, while (et boucles infinies), for, range, break/continue, boucles imbriquées, erreurs de logique (off-by-one, condition toujours vraie). Sortie : jeu de devinette fonctionnel, écrit seul.
Niveau 03 — Structures de données (1–2 semaines) ⚠️ difficile
Listes (indexation, slicing, méthodes), tuples, dictionnaires, sets, parcours, ajout/suppression/modification, mutabilité et références partagées (le premier vrai mur conceptuel — du temps supplémentaire y est prévu), copies, choisir la bonne structure. Sortie : analyseur de texte (fréquences de mots) fonctionnel.
Niveau 04 — Fonctions (1–2 semaines) ⚠️ difficile
Pourquoi des fonctions, def, paramètres/arguments, return (≠ print — erreur n°1 du niveau), valeurs par défaut, scope local/global (deuxième mur conceptuel), décomposer un problème en fonctions, tester à la main. Sortie : calculatrice refactorée en fonctions courtes et testables.
Niveau 05 — Fichiers, exceptions, modules (1 semaine)
open/with, lecture/écriture, pathlib, encodages (UTF-8), try/except/ else/finally, lever des exceptions, créer ses modules, imports, organiser un projet multi-fichiers. Sortie : gestionnaire de tâches avec persistance fichier.
Niveau 06 — POO (2 semaines) ⚠️ le plus difficile du parcours
Pourquoi des classes, class, __init__, self (la difficulté n°1), attributs, méthodes, __str__, encapsulation simple, composition, quand NE PAS faire de POO. Sortie : carnet de contacts en POO, expliqué à voix haute.
Niveau 07 — Projets pratiques (2 semaines)
Aucune notion nouvelle : 4–6 projets guidés en ligne de commande (fiches dans projects/), méthode cahier des charges → découpage → implémentation → relecture. Sortie : deux projets menés seul de bout en bout.
Niveau 08 — Tests et bonnes pratiques (1–2 semaines)
Structure d'un projet, nommage, fonctions courtes, refactoring, pytest (premiers tests, cas limites), docstrings, README, commentaires utiles. Sortie : un ancien projet refactoré ET testé.
Niveau 09 — Automatisation, APIs, données (2 semaines)
pip et venv, requests, HTTP, JSON, APIs publiques, CSV, automatisation réelle (rangement de fichiers, rapports). Sortie : mini-app météo consommant une vraie API, avec gestion d'erreurs réseau.
Niveau 10 — Autonomie (2–4 semaines)
Projet complet : cadrage, roadmap, découpage, branches Git, tests, doc, lecture du code des autres, chercher dans la doc officielle, poser une bonne question. Sortie : LE projet final — fini, testé, documenté, poussé, publié.
Plannings
Quatre parcours réalistes (4 semaines intensif, 8 équilibré, 12 recommandé, rythme lent) : docs/plannings.md.
État de production du contenu
Le cursus est complet (2026-07-05) : les 11 niveaux ont toutes leurs leçons et toutes leurs solutions.
| Niveau | Leçons | Solutions |
|---|---|---|
| 00 | 3/3 ✅ | ✅ |
| 01 | 3/3 ✅ | ✅ |
| 02 | 5/5 ✅ | ✅ |
| 03 | 5/5 ✅ | ✅ |
| 04 | 5/5 ✅ | ✅ |
| 05 | 4/4 ✅ | ✅ |
| 06 | 5/5 ✅ | ✅ |
| 07 | 5/5 ✅ | ✅ |
| 08 | 4/4 ✅ | ✅ |
| 09 | 5/5 ✅ | ✅ |
| 10 | 4/4 (dont projet final) ✅ | ✅ |
Tous les exemples de code, sorties et tracebacks ont été vérifiés en exécutant réellement Python 3.14 (et pytest 9, git 2.53, l'API Open-Meteo pour les niveaux concernés). Le contenu reste vivant : des exercices supplémentaires et des variantes s'ajoutent à la demande selon les blocages notés dans le journal (prompts dans PROMPTS.md).