# Ressources pour continuer à apprendre Une sélection de ressources fiables, classées par usage. Les ressources en français sont signalées par 🇫🇷 ; les autres sont en anglais, mais souvent faciles à suivre avec un traducteur. > **Conseil** : ne cherche pas à tout consulter. Choisis **une** ressource principale par étape et complète avec de la pratique. Accumuler les tutoriels sans coder est le piège le plus courant. --- ## Documentation officielle | Ressource | Pour quoi faire | |---|---| | 🇫🇷 [Tutoriel officiel Python](https://docs.python.org/fr/3/tutorial/) | La référence, traduite en français. Idéal pour revoir une notion après le chapitre correspondant. | | 🇫🇷 [Bibliothèque standard](https://docs.python.org/fr/3/library/) | Tous les modules fournis avec Python (`random`, `datetime`, `pathlib`…). | | 🇫🇷 [Glossaire Python](https://docs.python.org/fr/3/glossary.html) | Quand un terme technique t'échappe. | | [PEP 8](https://peps.python.org/pep-0008/) | Les conventions d'écriture du code Python (vues au chapitre 13). | --- ## Outils pour comprendre son code | Outil | Pour quoi faire | |---|---| | [Python Tutor](https://pythontutor.com/) | Visualise l'exécution ligne par ligne : variables, listes, appels de fonctions. Excellent pour les chapitres 03 à 05. | | Le débogueur de VS Code | Points d'arrêt et exécution pas à pas (chapitre 08). | --- ## Cours et livres ### Pour débuter - 🇫🇷 **Apprendre à programmer avec Python 3**, Gérard Swinnen — un classique, disponible gratuitement en PDF sur [le site de l'auteur](https://inforef.be/swi/python.htm) et en version papier chez Eyrolles. - 🇫🇷 **OpenClassrooms** — cours d'initiation à Python, gratuits en ligne. - 🇫🇷 **Zeste de Savoir** — tutoriels Python rédigés par la communauté, et un forum d'entraide. - **Python Crash Course**, Eric Matthes — progression très claire, avec trois projets (jeu, data, web) en seconde partie. - **Automate the Boring Stuff with Python**, Al Sweigart — gratuit en ligne sur [automatetheboringstuff.com](https://automatetheboringstuff.com/). Parfait pour l'automatisation (chapitre 14). - **Think Python**, Allen Downey — gratuit en ligne, plus orienté « penser comme un programmeur ». ### Pour progresser - **Real Python** ([realpython.com](https://realpython.com/)) — articles et tutoriels de qualité sur à peu près tous les sujets. - **Fluent Python**, Luciano Ramalho — pour comprendre Python en profondeur une fois les bases solides (à garder pour après le cours). - **Effective Python**, Brett Slatkin — des dizaines de bonnes pratiques concrètes. --- ## Plateformes d'exercices | Plateforme | Niveau | Particularité | |---|---|---| | 🇫🇷 [France-IOI](https://www.france-ioi.org/) | Débutant → avancé | Exercices très progressifs, en français, avec correction automatique | | [Exercism](https://exercism.org/tracks/python) | Débutant → intermédiaire | Exercices gratuits avec possibilité de retours de mentors bénévoles | | [Codewars](https://www.codewars.com/) | Tous niveaux | Petits défis (« kata ») classés par difficulté ; on voit ensuite les solutions des autres | | [CodinGame](https://www.codingame.com/) | Tous niveaux | Puzzles et jeux de programmation, ludique | | [Advent of Code](https://adventofcode.com/) | Intermédiaire | 25 problèmes chaque décembre ; les archives des années passées restent disponibles | | [Project Euler](https://projecteuler.net/) | Intermédiaire → avancé | Problèmes mathématiques à résoudre par le code | > **Méthode** : après avoir résolu un exercice, lis deux ou trois solutions d'autres personnes. C'est l'un des meilleurs moyens d'apprendre de nouvelles façons d'écrire du code. --- ## Par spécialisation (chapitre 14) | Domaine | Point de départ | |---|---| | Automatisation | *Automate the Boring Stuff with Python* ; documentation de `pathlib`, `requests`, `openpyxl` | | Web | Tutoriel officiel de Flask, tutoriel de Django (« Écrire sa première application Django », traduit en français), documentation de FastAPI | | Data | Guide « 10 minutes to pandas » dans la documentation de pandas ; cours gratuits de Kaggle Learn | | IA / Machine learning | Tutoriels de scikit-learn ; Kaggle Learn ; cours gratuits de fast.ai pour le deep learning | | Jeux | Documentation et tutoriels de pygame ; Arcade, une autre bibliothèque de jeux 2D | --- ## Communautés et entraide - 🇫🇷 **AFPy** ([afpy.org](https://www.afpy.org/)) — l'Association Francophone Python, avec un forum, des offres d'emploi et l'organisation de la PyConFR. - 🇫🇷 **Forum de Zeste de Savoir** — section programmation, bienveillante avec les débutants. - **r/learnpython** sur Reddit — très actif, questions de débutants bienvenues. - **Stack Overflow** — l'immense majorité des messages d'erreur y a déjà une réponse ; cherche avant de poster. - **Meetups Python locaux** — beaucoup de grandes villes ont des rencontres régulières ; regarde sur Meetup ou sur le site de l'AFPy. ### Bien poser une question Une bonne question obtient une réponse rapide. Elle contient : 1. **Ce que tu veux faire** (le but, pas seulement le problème technique). 2. **Le code minimal** qui reproduit le problème, formaté comme du code. 3. **Le message d'erreur complet**, copié-collé (pas une capture d'écran). 4. **Ce que tu as déjà essayé.** 5. Ta version de Python et ton système d'exploitation si c'est pertinent. --- ## Rester motivé - **Code sur des sujets qui t'intéressent** : un script pour ta passion, ton travail, tes jeux. La motivation intrinsèque est le meilleur carburant. - **Garde une trace de tes progrès** : un dépôt GitHub qui se remplit est très encourageant à regarder après quelques mois. - **Accepte d'être bloqué** : c'est l'état normal d'un programmeur, même expérimenté. Chaque bug résolu est une compétence acquise. - **Explique ce que tu apprends** à quelqu'un d'autre (ou à un canard en plastique). Si tu peux l'expliquer simplement, tu l'as compris. --- [← Aide-mémoire](aide-memoire.md) | [Sommaire](README.md)