À propos de ces notes
Ce cours suppose que vous connaissez déjà un langage de programmation — n'importe lequel. Il repart des fondements, mais à un rythme soutenu, puis va nettement plus loin que ce qu'on attend d'un cours d'introduction.
L'approche est pratique : vous lirez et écrirez beaucoup de code. La progression est un pas à pas, et chaque chapitre s'appuie sur le précédent : le graphisme amène les fonctions, l'animation amène les classes, le jeu amène les exceptions, et le Web amène l'asynchrone. Travaillez régulièrement, et ne sautez pas d'étape.
Les consoles de ces pages exécutent du vrai Python, dans votre navigateur, sans rien installer. Modifiez le code, relancez-le, cassez-le : c'est fait pour.
Le manuel de référence est Programmation avec Python : des jeux au Web, de Robert Godin et Daniel Lemire, offert gratuitement en PDF. Ces notes en suivent le plan et le complètent ; elles ne le remplacent pas.
Le manuel du cours — à lire en premier
Programmation avec Python : des jeux au Web
Robert Godin et Daniel Lemire — 10e édition
Chaque semaine de ces notes accompagne un chapitre du manuel : lisez le chapitre, faites ses exercices, puis revenez ici. 397 pages, PDF de 4,7 Mo, offert gratuitement. Le PDF suffit pour tout le cours ; si vous préférez lire sur papier ou sur liseuse, le manuel se vend aussi en version papier et en version numérique.
Télécharger le PDF Chapitre par chapitre Version papier ou numérique sur Amazon.ca
Module 1 — Les fondations
Concepts de base
Installer Python, se repérer dans un terminal, configurer son éditeur, et lire une trace d'appels jusqu'au bout.
Lire le chapitre 1Principes de base et structures de contrôle
Variables et affectation multiple, valeurs fausses, for et while, enumerate et zip, fonctions et portée.
Types et expressions
Modules, modifiable ou non, listes, tuples et découpage, dictionnaires et ensembles, chaînes et f-chaînes.
Lire le chapitre 3Module 2 — Le graphisme et l’animation
Graphisme 2D et fonctions
Une fenêtre, une boucle d'événements, des formes et des couleurs — et le moment où l'on comprend pourquoi les fonctions existent.
Lire le chapitre 4Introduction à l'animation 2D
Cadence et Clock, vitesse et rebond, mouvement dépendant du temps écoulé, Rect et images.
Module 3 — Les objets
Développement de classes
self, attributs d'instance et de classe, encapsulation et @property, héritage et polymorphisme, cohésion et couplage.
Animation 2D et jeu vidéo
Un jeu complet : acteurs, scène et boucle, détection de clic, sons, score et états de partie.
Lire le chapitre 7Les exceptions
raise et try, hiérarchie des exceptions, classes propres à votre application — et quand il vaut mieux ne rien attraper.
Module 4 — Les données
Formatage et analyse de chaînes
f-chaînes et spécifications de formatage ; expressions régulières, groupes nommés, quantificateurs avides et paresseux.
Lire le chapitre 9Le traitement de fichiers
with et encodage, parcours d'un fichier de 10 Go, pathlib, CSV et JSON, écriture atomique.
Structures, algorithmes et complexité
Notation grand-O, recherche dichotomique, pourquoi un dictionnaire est en O(1), et le quadratique qui se cache dans une boucle.
Lire le chapitre 11Module 5 — Le Web
Le développement d'applications Web
Requête et réponse, routes et gabarits Jinja2, formulaires et POST-redirect-GET, échappement et validation côté serveur.
Lire le chapitre 12Applications Web asynchrones
Les limites de HTTP, WebSocket, asyncio et les coroutines, un serveur de diffusion — et pourquoi l'état du jeu vit sur le serveur.
Outils et références
Programmation avec Python
Le manuel du cours en PDF, offert gratuitement — 397 pages — et la correspondance chapitre par chapitre avec ces notes. C'est la lecture principale.
Ouvrir le manuelL'environnement de travail
Installer Python, les environnements virtuels, Visual Studio Code, Markdown, et la PEP 8 appliquée automatiquement.
Préparer sa machineLaboratoires interactifs
Du vrai Python dans le navigateur : listes et tri, fichiers avec pathlib, mesure de la complexité, bac à sable pour les expressions régulières.
Pense-bête
La syntaxe, les structures, les fichiers, les classes, les exceptions, et les squelettes Pygame, Flask et asyncio.
Ouvrir le pense-bêteGlossaire
De la compréhension de liste au WebSocket : les termes du cours, définis brièvement et renvoyant au passage qui les développe.
Consulter le glossaireBibliowebographie
Le manuel du cours et son code sur GitHub, la documentation Python, Pygame, Flask, MDN et OWASP.
Voir les référencesRechercher dans les notes
Un moteur qui parcourt les treize chapitres, section par section, sans quitter le navigateur ni solliciter de serveur.
Ouvrir la recherche