Ressources externes — triées et honnêtes
Le repo se suffit pour la progression. Les ressources ci-dessous sont des COMPLÉMENTS, chacune pour un usage précis à un moment précis. La règle générale : une ressource ne s'ajoute que si elle répond à un besoin que tu as MAINTENANT — pas « au cas où ». La section finale liste ce qu'il ne faut pas faire ; elle compte autant que le reste.
Le piège n° 1, à connaître avant tout : le tutorial hell. C'est l'état où l'on enchaîne cours, vidéos et tutoriels en ayant la SENSATION de progresser — parce que suivre un tutoriel est confortable et que tout y marche — sans jamais écrire de code seul face à un problème. Symptômes : « je comprends tout quand je regarde, mais devant un fichier vide je ne sais pas quoi taper » ; troisième cours commencé sur les mêmes bases ; zéro projet personnel terminé. La sensation de fluidité en regardant quelqu'un coder est une illusion de maîtrise — la même qu'en relisant une leçon au lieu de se tester (docs/methode.md section 8). L'antidote est structurel dans ce repo : exercices, mini-projets et code tapé soi-même à chaque session. Toute ressource ci-dessous s'utilise EN APPUI de cette pratique, jamais à sa place.
1. La documentation officielle Python — docs.python.org
- C'est quoi : la référence exhaustive et exacte du langage et de sa bibliothèque standard, maintenue par l'équipe Python elle-même. Existe en français : docs.python.org/fr/3/ — mais la traduction française est partielle : beaucoup de pages sont encore en anglais ou traduites avec retard. Ce n'est pas bloquant : l'anglais technique de la doc est simple, et le lire fait partie du métier. Commence en FR, bascule en EN sans état d'âme quand une page manque.
- Quand l'utiliser : dès le niveau 1, en réflexe de vérification — « quels arguments accepte
round()? », « quelles méthodes astr? ». C'est l'étape 2 de « comment chercher » (docs/erreurs-frequentes.mdsection 6) : la doc AVANT Google. Pages à mettre en favori tôt : les types intégrés (str,list,dict), les fonctions natives (« Built-in Functions »), les exceptions (« Built-in Exceptions »). - Pièges : c'est une RÉFÉRENCE, pas un cours — la lire de la première à la dernière page ne t'apprendra pas à programmer, et certaines pages (référence du langage) sont écrites pour des experts. Si une page te dépasse, ce n'est pas toi : c'est que tu es sur la page « référence » au lieu de la page « tutoriel ». Reviens à ta leçon.
2. Le tutoriel officiel Python
- C'est quoi : la partie « cours » de la doc officielle (docs.python.org/fr/3/tutorial/) — une traversée du langage en une vingtaine de chapitres, par ses auteurs. Sobre, exact, sans marketing.
- Quand l'utiliser : en SECONDE lecture d'une notion, à partir du niveau 3 environ — quand une leçon du repo est acquise et que tu veux le même sujet raconté autrement (les chapitres 3 à 9 recoupent nos niveaux 1–6). Excellent aussi en révision J+30 : relire le chapitre correspondant à une leçon d'il y a un mois fait remonter les trous.
- Pièges : dense et rapide — il suppose une certaine aisance et enchaîne les notions sans exercices. Comme PREMIÈRE exposition à une notion, il est trop sec pour un vrai débutant : c'est exactement le rôle des leçons du repo. L'utiliser en doublure, pas en pilote.
3. Automate the Boring Stuff with Python (Al Sweigart)
- C'est quoi : le livre d'initiation le plus recommandé au monde, lisible gratuitement en ligne (automatetheboringstuff.com). Sa force : orienté tâches réelles (fichiers, Excel, web, emails, automatisation) plutôt que théorie. En anglais (une traduction française du livre existe en librairie, mais la version en ligne à jour est l'anglaise).
- Quand l'utiliser : ses chapitres d'automatisation brillent aux niveaux 9–10 — quand tu cherches des idées de scripts qui te servent vraiment, c'est LA mine. Avant ça, ses premiers chapitres recoupent les niveaux 1–6 du repo : inutile de suivre les deux en parallèle (double emploi = confusion de progression), mais y piocher UN chapitre quand une notion résiste est légitime.
- Pièges : le style « recette » privilégie le résultat sur la compréhension profonde — parfait pour l'automatisation, insuffisant pour les fondations (scope, mutabilité, POO y sont traités vite). Et c'est un livre : le lire au lit sans taper le code, c'est le tutorial hell version papier.
4. Python Tutor — pythontutor.com ⭐ fortement recommandé niveaux 1–4
- C'est quoi : un outil gratuit qui exécute ton code PAS À PAS dans le navigateur en dessinant l'état de la mémoire à chaque ligne : chaque variable, chaque liste, chaque flèche entre un nom et son objet. Tu VOIS ce que Python fait au lieu de l'imaginer.
- Quand l'utiliser : fortement recommandé aux niveaux 1–4, où presque toutes les incompréhensions sont des modèles mentaux faux que le dessin corrige instantanément : ce que fait vraiment une affectation (niveau 1), comment une boucle avance valeur par valeur (niveau 2), la mutabilité — deux noms, une flèche, UN objet : cinq minutes de Python Tutor valent une heure d'explication (niveau 3), le scope et les appels de fonction — on voit les variables locales naître et mourir (niveau 4). Usage type : un exercice de prédiction de sortie raté → coller le code dans Python Tutor → avancer ligne par ligne jusqu'à l'endroit où TA prédiction diverge de l'écran. C'est aussi l'outil n° 3 de la chasse aux bugs silencieux (
docs/erreurs-frequentes.mdsection 4). - Pièges : limité aux petits programmes (parfait : tes fichiers minimaux le sont) ; certaines bibliothèques non supportées — sans importance aux niveaux 1–4. Seul vrai risque : y exécuter du code au lieu de PRÉDIRE d'abord. La règle : prédiction écrite AVANT de cliquer sur Next, toujours. À partir du niveau 5–6, tu en auras naturellement moins besoin — c'est le signe que le modèle mental est construit.
5. Exercism et Codewars — les plateformes d'exercices
- C'est quoi : des banques d'exercices corrigés. Exercism : gratuit, parcours Python structuré, mentorat humain gratuit, comparaison de ta solution avec celles des autres. Codewars : des milliers de « katas » classés par difficulté (8 kyu = facile → 1 kyu), esprit compétitif.
- Quand les utiliser — et quand PAS encore : PAS avant la fin du niveau 4. Avant, leurs exercices « faciles » supposent déjà fonctions, chaînes et listes à l'aise — tu sécherais pour de mauvaises raisons, et le repo fournit déjà les exercices calibrés dont tu as besoin. À partir du niveau 5–6 : excellent complément du bilan hebdomadaire (2–3 exercices Exercism en plus des révisions) ; sur Exercism, lire les solutions des autres APRÈS avoir soumis la tienne est un vrai cours de style. Codewars : plutôt niveau 6+, commencer aux katas 8–7 kyu sans honte.
- Pièges : (1) l'esprit compétitif pousse aux solutions « clever » en une ligne illisible — spectaculaire, contraire à tout ce qu'on apprend au niveau 8 ; privilégie le code clair, compare avec les solutions lisibles. (2) Enchaîner les katas peut devenir une collection de points qui remplace les projets — les exercices consolident, les projets construisent ; si Codewars mange ton temps de mini-projet, c'est trop. (3) Ces plateformes s'utilisent dans le navigateur : recopie tes solutions dans le repo (
notes/ou un dossier d'exercices) et commite-les, sinon ce travail échappe à ton historique.
6. Real Python — realpython.com
- C'est quoi : un site de tutoriels et d'articles Python de grande qualité, en anglais. Une partie gratuite substantielle, une partie payante. Leur force : des articles de fond qui expliquent le POURQUOI (« Python Scope & the LEGB Rule », « When and How to Use
__init__»). - Quand l'utiliser : à partir du niveau 4–5, en lecture d'approfondissement sur UNE notion qui résiste après la leçon du repo — leurs articles sur le scope, la mutabilité, la POO, les exceptions sont excellents en seconde passe. Au niveau 8+, leurs guides sur pytest, la structure de projet et les bonnes pratiques sont parmi les meilleurs du web.
- Pièges : c'est un CATALOGUE de centaines d'articles, sans ordre — s'y promener sans but est du tutorial hell de luxe. Usage sain : y entrer par une recherche précise (« real python scope »), lire UN article, en sortir. Niveau d'anglais requis plus élevé que la doc officielle. Beaucoup d'articles visent les intermédiaires : si un article te noie, c'est qu'il n'est pas pour tout de suite — note-le et reviens dans un mois.
7. La PEP 8 — le guide de style officiel
- C'est quoi : le document officiel qui définit comment ÉCRIRE du code Python lisible (peps.python.org/pep-0008) : nommage (
snake_casepour variables et fonctions,PascalCasepour les classes), indentation 4 espaces, longueur de ligne, espaces autour des opérateurs, imports en tête de fichier. Tout le code du repo la suit. - Quand l'utiliser : PAS une lecture du niveau 1 — au début, tes conventions viennent des leçons, qui sont déjà PEP 8. Lecture utile en survol au niveau 4 (quand tu nommes des fonctions) puis pour de bon au niveau 8 (bonnes pratiques), où elle devient un outil de relecture : la passe « relire son ancien code » (
docs/methode.mdsection 12) gagne un œil PEP 8. À terme, un outil la vérifie pour toi (ruffouflake8, ⏩ niveau 8). - Pièges : c'est un guide de style, pas un dogme — la PEP 8 elle-même ouvre sur « A Foolish Consistency is the Hobgoblin of Little Minds » (la cohérence bête est le lutin des petits esprits). Passer plus de temps à formater qu'à programmer est un piège de débutant ; la lisibilité est le but, la PEP 8 le moyen.
Ce qu'il NE faut PAS faire
- Accumuler les cours vidéo. Le cours vidéo est le format le plus agréable et le moins efficace : on regarde quelqu'un coder, on comprend tout, on ne retient rien — c'est le tutorial hell dans sa forme la plus pure. Règle : ZÉRO cours vidéo en parallèle du repo. Une vidéo ponctuelle de 10 minutes sur UNE notion qui résiste, d'accord ; « je commence la formation YouTube de 40 heures en même temps », non. Si tu as déjà acheté des cours (Udemy et consorts) : ils ne se périment pas, garde-les pour après le niveau 10, ou n'y reviens jamais — les deux issues sont bonnes.
- Changer de ressource chaque semaine. Chaque méthode ordonne les notions différemment ; en zappant de l'une à l'autre tu revois éternellement les bases dans un ordre différent avec l'impression de travailler. C'est la variante « shopping » du tutorial hell. Règle : le repo est TA méthode jusqu'au niveau 10 ; les ressources de ce fichier s'y branchent pour un besoin précis et s'y débranchent après. L'envie de changer de méthode arrive presque toujours aux plateaux des niveaux 3–4 et 6 — ce n'est pas un signe que la méthode est mauvaise, c'est le signe que tu es exactement à l'endroit difficile (voir
docs/methode.mdsection 13). On ne change pas de bateau au milieu de la vague. - Apprendre par cœur. Mémoriser la liste des méthodes de
str, des fiches de syntaxe, des « 50 fonctions Python à connaître » : effort réel, rendement nul. Programmer, c'est savoir DÉCOMPOSER un problème et savoir OÙ CHERCHER le détail (la doc, section 1) — pas réciter. Ce qui doit être su par cœur (la poignée de structures qu'on tape dix fois par jour) s'y met tout seul, par la pratique, sans effort de mémorisation. La révision espacée du repo (docs/methode.mdsection 8) fait retenir des COMPRÉHENSIONS — pourquoi, quand, comment — pas des listes. Si tu te surprends à faire des fiches de syntaxe à mémoriser, retourne faire un exercice : c'est la même durée et ça, ça reste.