130 lines
6.8 KiB
Markdown
130 lines
6.8 KiB
Markdown
# Apprendre à programmer en Python
|
|
|
|
Un parcours complet, du tout premier `print()` jusqu'à un projet personnel publié sur GitHub.
|
|
|
|
Ce dossier s'adresse aux **grands débutants** : aucune connaissance préalable en programmation n'est nécessaire. Chaque chapitre explique les notions pas à pas, avec des exemples que tu peux exécuter, les erreurs que tout le monde fait au début, des exercices corrigés et un mini-projet.
|
|
|
|
---
|
|
|
|
## Comment utiliser ce cours
|
|
|
|
1. **Suis les chapitres dans l'ordre.** Chacun s'appuie sur les précédents.
|
|
2. **Tape les exemples toi-même** au lieu de les copier-coller. C'est en tapant (et en se trompant) qu'on retient.
|
|
3. **Fais les exercices avant de regarder les corrigés.** Les corrigés sont repliés : clique sur « Corrigé de l'exercice N » seulement après avoir vraiment cherché (au moins 15 à 20 minutes).
|
|
4. **Ne saute pas les mini-projets.** Ce sont eux qui transforment des notions isolées en vraie compétence.
|
|
5. **Coche la checklist** à la fin de chaque chapitre. Si une case reste vide, relis la partie concernée avant d'avancer.
|
|
6. **Garde l'[aide-mémoire](aide-memoire.md) ouvert** pendant que tu codes.
|
|
|
|
> **Conseil de rythme** : 30 à 60 minutes par jour valent mieux qu'une seule longue séance par semaine. Le cerveau consolide pendant les pauses.
|
|
|
|
---
|
|
|
|
## Sommaire
|
|
|
|
### Partie 1 — Les fondamentaux
|
|
|
|
| # | Chapitre | Ce que tu apprends | Travail |
|
|
|---|---|---|---|
|
|
| 00 | [Installation et environnement](00-installation-environnement.md) | Installer Python et VS Code, utiliser le terminal, écrire et lancer ton premier script | 2-3 h |
|
|
| 01 | [Variables, types et opérateurs](01-variables-types-operateurs.md) | Stocker des données, nombres et textes, calculs, `input()` / `print()`, f-strings | 4-5 h |
|
|
| 02 | [Conditions](02-conditions.md) | Prendre des décisions avec `if` / `elif` / `else`, opérateurs logiques, `match` | 4 h |
|
|
| 03 | [Boucles](03-boucles.md) | Répéter des actions avec `for` et `while`, `range()`, `break`, `continue` | 5 h |
|
|
|
|
### Partie 2 — Organiser ses données et son code
|
|
|
|
| # | Chapitre | Ce que tu apprends | Travail |
|
|
|---|---|---|---|
|
|
| 04 | [Structures de données](04-structures-de-donnees.md) | Listes, tuples, dictionnaires, ensembles | 5-6 h |
|
|
| 05 | [Fonctions](05-fonctions.md) | Découper son code en blocs réutilisables, paramètres, retour, portée | 5-6 h |
|
|
| 06 | [Chaînes et compréhensions](06-chaines-et-comprehensions.md) | Manipuler du texte, slicing, compréhensions, `enumerate`, `zip`, `sorted` | 5-6 h |
|
|
| 07 | [Fichiers, CSV et JSON](07-fichiers-csv-json.md) | Lire et écrire des fichiers, sauvegarder des données durablement | 5-6 h |
|
|
|
|
### Partie 3 — Écrire du code solide
|
|
|
|
| # | Chapitre | Ce que tu apprends | Travail |
|
|
|---|---|---|---|
|
|
| 08 | [Erreurs et débogage](08-erreurs-et-debogage.md) | Lire un traceback, gérer les exceptions, utiliser le débogueur | 4-5 h |
|
|
| 09 | [Modules et bibliothèque standard](09-modules-bibliotheque-standard.md) | Importer, créer ses propres modules, `random`, `datetime`, `collections`… | 4-5 h |
|
|
|
|
### Partie 4 — Programmation orientée objet
|
|
|
|
| # | Chapitre | Ce que tu apprends | Travail |
|
|
|---|---|---|---|
|
|
| 10 | [Classes et objets](10-poo-classes-objets.md) | Créer ses propres types, attributs, méthodes, `self` | 5-6 h |
|
|
| 11 | [POO avancée et typage](11-poo-avancee-heritage-typage.md) | Héritage, composition, `@property`, dataclasses, annotations de type | 6-7 h |
|
|
|
|
### Partie 5 — Travailler comme un développeur
|
|
|
|
| # | Chapitre | Ce que tu apprends | Travail |
|
|
|---|---|---|---|
|
|
| 12 | [Outils : venv, pip, Git](12-outils-venv-pip-git.md) | Environnements virtuels, installer des paquets, versionner et publier son code | 5-7 h |
|
|
| 13 | [Tests et bonnes pratiques](13-tests-pytest-bonnes-pratiques.md) | Tester avec `pytest`, PEP 8, `ruff`, structurer un projet | 5-7 h |
|
|
|
|
### Partie 6 — Aller plus loin
|
|
|
|
| # | Chapitre | Ce que tu apprends | Travail |
|
|
|---|---|---|---|
|
|
| 14 | [Spécialisations](14-specialisations.md) | Automatisation, web, data, IA, jeux : un aperçu concret de chaque voie | 8-12 h |
|
|
| 15 | [Projet final](15-projet-final.md) | Mener un projet de A à Z, idées de projets, projet fil rouge guidé | 15-30 h |
|
|
|
|
### Annexes
|
|
|
|
- [Aide-mémoire Python](aide-memoire.md) — toute la syntaxe essentielle sur une page
|
|
- [Ressources](ressources.md) — livres, sites, plateformes d'exercices, communautés
|
|
|
|
---
|
|
|
|
## Planning type
|
|
|
|
La colonne « Travail » du sommaire indique le temps pour le cours, les exercices et le mini-projet d'un chapitre. Ajoute-y de la pratique libre (exercices sur France-IOI ou Codewars, petits scripts personnels, révisions) : c'est elle qui ancre les notions. En pratique, compte **environ une semaine par chapitre**.
|
|
|
|
Avec **5 à 7 heures par semaine**, compte environ **6 mois** pour le parcours complet :
|
|
|
|
```
|
|
Mois 1 ██████████ Ch. 00 → 03 Fondamentaux
|
|
Mois 2 ██████████ Ch. 04 → 07 Données, fonctions, fichiers
|
|
Mois 3 ██████████ Ch. 08 → 09 Code solide + révisions
|
|
Mois 4 ██████████ Ch. 10 → 13 POO et outils du développeur
|
|
Mois 5 ██████████ Ch. 14 Spécialisation choisie
|
|
Mois 6 ██████████ Ch. 15 Projet personnel
|
|
```
|
|
|
|
Avec **10 à 15 heures par semaine**, le parcours se fait en 3 mois environ. Avec moins de temps, étale-le : la régularité compte plus que la vitesse.
|
|
|
|
---
|
|
|
|
## Suivi de progression
|
|
|
|
Coche au fur et à mesure :
|
|
|
|
- [ ] 00 — Installation et environnement
|
|
- [ ] 01 — Variables, types et opérateurs
|
|
- [ ] 02 — Conditions
|
|
- [ ] 03 — Boucles
|
|
- [ ] 04 — Structures de données
|
|
- [ ] 05 — Fonctions
|
|
- [ ] 06 — Chaînes et compréhensions
|
|
- [ ] 07 — Fichiers, CSV et JSON
|
|
- [ ] 08 — Erreurs et débogage
|
|
- [ ] 09 — Modules et bibliothèque standard
|
|
- [ ] 10 — Classes et objets
|
|
- [ ] 11 — POO avancée et typage
|
|
- [ ] 12 — Outils : venv, pip, Git
|
|
- [ ] 13 — Tests et bonnes pratiques
|
|
- [ ] 14 — Spécialisation choisie : ____________
|
|
- [ ] 15 — Projet final publié sur GitHub
|
|
|
|
---
|
|
|
|
## Quand tu es bloqué
|
|
|
|
1. **Relis le message d'erreur**, en partant de la dernière ligne (le chapitre 08 t'apprend à le faire méthodiquement).
|
|
2. **Ajoute des `print()`** pour voir ce que contiennent tes variables à chaque étape.
|
|
3. **Réduis le problème** : isole les quelques lignes qui posent souci dans un petit fichier à part.
|
|
4. **Cherche le message d'erreur** sur un moteur de recherche (souvent en anglais).
|
|
5. **Fais une pause.** Beaucoup de bugs se résolvent tout seuls après dix minutes loin de l'écran.
|
|
6. **Demande de l'aide** en expliquant ce que tu voulais faire, ce que tu as essayé et le message d'erreur complet (voir [Ressources](ressources.md) pour les communautés).
|
|
|
|
Bon apprentissage !
|
|
|
|
[Commencer le chapitre 00 →](00-installation-environnement.md)
|