Niveau 10 — Autonomie
Objectif du niveau
À la fin de ce niveau, tu n'as plus besoin de la méthode. Tu sais mener un projet complet de bout en bout : choisir un sujet réaliste, écrire un cadrage et une roadmap, découper en issues, travailler en branches Git (première vraie utilisation), et livrer un projet testé, documenté, publié sur GitHub. Tu sais aussi te débrouiller comme un développeur : lire le code des autres, chercher une réponse dans la doc officielle, et poser une bonne question quand tu es bloqué. Ce niveau ne t'apprend pas une dernière notion — il t'apprend à apprendre les suivantes sans moi.
Prérequis
- Tous les niveaux 00 à 09 — le projet final mobilise fichiers, exceptions, modules, éventuellement classes, tests pytest, venv, et probablement une API ou des CSV.
- Niveau 07 — la méthode projet (cadrage → découpage → incréments → relecture) est supposée acquise ; ici on l'applique en plus grand.
- Niveau 08 — tests et README : le projet final est testé et documenté, non négociable.
- Notions clés : discipline Git de tout le parcours (jusqu'ici tout était sur
main— ça change maintenant).
Durée indicative et avertissement honnête
4 à 6 semaines, dont 3 à 4 pour le projet final seul.
Deux avertissements francs. Un : ce niveau est difficile d'une manière nouvelle — plus personne ne balise le chemin. Le projet final aura des moments de flottement (« par quoi je continue ? »), des impasses, et au moins une fonctionnalité que tu devras couper pour finir. C'est exactement l'expérience recherchée : un vrai projet, c'est ça. Deux : la tentation d'un sujet trop gros est quasi universelle. Le cadrage de la leçon 10-1 impose un périmètre livrable en trois semaines — fais confiance à cette contrainte, tu pourras toujours faire la V2 après. Les branches Git, elles, sont plus simples qu'elles en ont l'air une fois qu'on en a fusionné deux ou trois ; le premier conflit de merge fait peur, le troisième est une formalité.
Leçons prévues
Chaque leçon suivra le template 17 sections (lessons/TEMPLATE_LECON.md).
| N° | Titre | Notions couvertes | Statut |
|---|---|---|---|
| 10-1 | Choisir et cadrer un projet | Critères d'un bon sujet (utile pour toi, périmètre 3 semaines, techniquement couvert par 00–09), cahier des charges, roadmap V1/V2, découper en issues GitHub, définir « fini » | ✅ |
| 10-2 | Branches Git — première vraie utilisation | branch, switch, une branche par fonctionnalité, merge dans main, résoudre un conflit simple, pull requests sur son propre repo, quand ça part mal (git log, revenir en arrière) | ✅ |
| 10-3 | Lire du code, lire la doc, demander de l'aide | Explorer un petit projet open source (entrée, structure, suivre une fonction), chercher dans docs.python.org (et pas seulement des tutos), anatomie d'une bonne question (contexte, code minimal, erreur exacte, ce qui a été tenté), continuer seul après la méthode : plan de progression post-niveau-10 | ✅ |
| 10-P | Projet final | De bout en bout : cadrage (10-1) → issues → branches (10-2) → implémentation incrémentale testée (pytest) → README → publication GitHub → bilan rétrospectif dans le journal | ✅ |
Pièges et erreurs emblématiques du niveau
- Le sujet trop ambitieux : « une app de gestion complète avec interface graphique et base de données ». Résultat : abandon à 30 %. Le périmètre V1 doit tenir en trois semaines de sessions courtes.
- Tout coder sur
mainpar vieux réflexe : la discipline de branche ne sert que si on la respecte quand c'est inconfortable. - Fuir le conflit de merge : supprimer la branche et recommencer au lieu de lire les marqueurs
<<<<<<</>>>>>>>calmement. Le conflit se résout, il ne se contourne pas. - Copier une réponse de forum/IA sans la comprendre : ça « marche » aujourd'hui et c'est indébogable demain. Règle : ne coller que ce qu'on peut réexpliquer.
- Poser une mauvaise question : « ça marche pas » sans code, sans message d'erreur, sans contexte. La leçon 10-3 donne le gabarit d'une question qui obtient une réponse.
- Ne jamais déclarer le projet fini : polir indéfiniment au lieu de livrer la V1 définie au cadrage. « Fini » a été défini en 10-1 précisément pour ça.
Mini-projets du niveau
Fiches détaillées dans /projects.
- Exploration guidée d'un projet open source — cartographier un petit projet Python réel : point d'entrée, modules, suivre une fonctionnalité (10-3).
- Répétition générale Git — mini-fonctionnalité ajoutée à un projet du niveau 07 via branche + merge, avec un conflit provoqué et résolu (10-2).
- LE projet final — sujet choisi par toi, cadré, branché, testé, documenté, publié sur GitHub (10-P) : c'est le livrable qui clôt la méthode.
Critères de sortie
- Je sais cadrer un projet : périmètre V1 réaliste, roadmap, issues, définition de « fini ».
- Je sais créer une branche, y développer une fonctionnalité, la merger dans
main, et résoudre un conflit simple. - Je sais explorer un projet Python inconnu et expliquer sa structure en dix minutes.
- Je sais trouver une réponse dans la doc officielle Python avant de chercher un tutoriel.
- Je sais poser une question de débogage complète : contexte, code minimal, erreur exacte, pistes tentées.
- J'ai livré mon projet final : fonctionnel, testé avec pytest, README complet, publié sur GitHub.
- J'ai écrit le bilan rétrospectif du projet (ce qui a marché, ce que je referais autrement).
- J'ai un plan de progression personnel pour l'après-méthode (prochains sujets, prochains projets).
Commit de fin de niveau
git add lessons/level-10-autonomie journal
git commit -m "project: complete level 10 and finish the learning method"