Un zeste de Python — Cours Python pour débutants

Salut !

Il y a quelques années, insatisfait par les contenus francophones sur l’apprentissage du Python pour les débutants (que je trouvais souvent assez peu pythoniques voire erronés dans leurs explications), j’avais réfléchi à me lancer dans la rédaction d’un tel cours.

Je voulais apporter une nouvelle approche, enseigner les choses comme elles se font en Python et dans l’ordre qui va bien : ne pas se méprendre sur les variables, présenter les listes avant de parler des boucles, utiliser des exemples réalistes, ne pas présenter le for comme “un while qui avance tout seul sur des nombres”, etc.
Éviter les écueils classiques et fournir les outils pour produire du bon code.

Devant la montagne de travail que ça représentait, j’avais préféré laisser le projet de côté le temps qu’il mûrisse.

Fin 2019 / début 2020, j’ai commencé la rédaction à proprement parler et le travail m’a pris pas loin de 2 ans puisque j’ai terminé (une première version du moins) début octobre.
Le cours est maintenant publié sur Zeste de Savoir !

Un zeste de Python

Logo

Notez que le contenu est rédigé sous licence CC BY-SA, les sources sont disponibles sur le dépôt suivant.

Merci d’avance pour vos retours. :slight_smile:

9 « J'aime »

Salut @entwanne

Merci pour ce partage !
Serais-tu ouvert à ce que je soumette une PR pour que le support de formation soit hébergé via GitHub Pages ?

Salut,
Je ne suis pas sûr d’avoir bien compris ta question, à quel support fais-tu référence ?
En l’état le cours est hébergé sur Github Pages dans sa version provisoire (bêta), mais il sera à terme disponible sur Zeste de Savoir (et pourquoi pas sur d’autres supports).

Salut @entwanne

Oups, j’ai lu un peu vite ton post, je n’avais pas vu que la formation était déjà herbergée chez ZdS. Pas besoin d’autre chose du coup :slight_smile:

Merci pour le partage en tout cas !

Bonjour,

Je reviens vers vous suite à la publication de ce cours en ligne, il est maintenant disponible via l’url Un zeste de Python • Tutoriels • Zeste de Savoir

J’ai donc mis à jour le premier message du sujet.

3 « J'aime »

Je ne suis pas très ressources francophones, mais +1 pour l’initiative, le logo aussi, j’aime beaucoup :smiley:

C’est pas mal les ressources francophones, ça permet de diversifier les contenus.

2 « J'aime »

salut je suis un débutant. J’ai toujours voulu programmer et depuis une semaine j’ai décidé de m’y mettre. Je décide d’aller sur codecademy et qu’est ce que je comprenais rien j’ai fait 50% du cours (entre 8-10h) et j’abandonne je comprends pas je me dis je vais voir sur youtube les cours sont pas mauvais sauf que c’est un peu du copié collé. Depuis je cherche et par hasard je découvre ton projet et woaw moi qui suis mauvais en anglais ça m’aide vraiment. Donc je te remercie grâce à toi plein de gens comme moi, mauvais en anglais et qui ont besoin de francais pourront apprendre python + facilement

Ps: j’ai pas bien compris pourquoi utilisé geany

4 « J'aime »

Ps: j’ai pas bien compris pourquoi utilisé geany

Pourquoi pas ? :smiley:
C’est une simple recommandation, moi-même je ne l’utilise pas, mais il a l’avantage d’être assez léger, simple d’utilisation, libre, et sans trop de fioritures.
Je pense que ça en fait un bon choix pour débuter, un juste milieu entre un gedit trop basique et un pycharm trop lourd par exemple.

Mais sinon go emacs :innocent:

Non, mais non, geany saylebien :heart:

1 « J'aime »

pycharm est vraiment si lourd ?

Pour te donner une idée à l’installation ça représente déjà 700MB (sans compter les dépendances), pour moi c’est déjà trop oui. Et à l’usage ça consomme plus de mémoire que ce que je souhaite allouer à un éditeur de code.

2 « J'aime »

J’utilise Geany pour dev depuis… plusieurs années et je le recommande les yeux fermé, a fortiori pour débuter.
C’est un vrai environnement de dev qui ne fais pas de magie, des extensions, de la config pour presque tout, léger et libre…
Si tu ajoute powerline 10k a ton terminal, t’as vraiment tout ce qu’il faut.
Il n’y a que pour vim que je serais près à changer.

Pour les utilisateurs Windows, il n’y a pas de terminal intégré a Geany sur cette plateforme, ça le rend moins attractif.

1 « J'aime »

moi je suis sur windows tu me conseilleras quoi alors ?

Sous Windows j’ai toujours été content avec VS Code ou PyCharm. Notepad++ marche tres bien aussi pour démarrer rapidement en mode editeur de code jusqu.a avoir besoin d’un debugger, etc. Les trois sont disponibles en Français.
Sinon Jupyter Lab c’est une bonne option pour tout ce qui est Python Scientifique.

Il n’y a pas de mauvais choix ici - en prendre un et se lancer avec c’est beaucoup mieux que de hésiter pour chercher la bonne option. Ne pas hesiter a demander des conseils pour bien demarrer avec celui que tu choisis.

J’utilise geany sur linux et sur windows. Au moins je retrouve le même environnement :wink:

D’installer Linux :innocent:

1 « J'aime »

Sous windows, installer python en tan qu’utilisateur standard SANS DROITS ADMINISTRATEUR depuis https://www.python.org pas le store.
L’ajouter au path, c’est une option et désactiver la limite de 255 caractères pour les noms de fichiers si ce n’est déjà fait.
Tester l’installation avec <windows> + <r> “cmd” puis taper python --version il devrait te donner la version de python, si rien ne s’affiche c’est que l’installation est corrompue, ça arrive si tu installe node par dessus et autorise chocolatey à faire un peu trop de bricoles.
Après il te faut un éditeur de code, gratuit il existe tout simplement codium https://vscodium.com/ .
Facultatif, mais fortement recommandé, un suivi de version avec git, c’est mieux de travailler avec les bonnes choses, pour ça il te faut git-scm https://git-scm.com/ .
Normalement dès que tu vas créer un premier fichier python, codium va te proposer de charger le paquet pour python, dit simplement oui, tu aura un linter et un reformateur de code efficace.
Après les bons réflexes de bases c’est de lire la pep020 et de ne pas oublier que le linter ne doit jamais afficher un seul message, si c’est le cas c’est que tu as fait une erreur et qu’il faut la corriger, c’est souvent assez simple.
Un bon code n’est pas un code qui fait le job, c’est un code qui est maintenable, c’est tout aussi important.
Programmer c’est modéliser une solution logicielle, installer python et dire que le serpent malin fera le job c’est vraiment tout juste s’en sortir avec des opérations indignes d’un programmeur, personne ne programme un “hello world” dans la vrai vie, alors le plus important quand on débute c’est d’appréhender l’outil informatique et les réseaux dans leur ensemble, comme une solution de traitement de l’information (pas la peine de devenir un super expert, juste de comprendre les bases) et de savoir POURQUOI on écrit une application et quels en seront les cas d’usage réels.
Pour aller plus loin, et surtout savoir que c’est possible, tu peux ensuite ajouter des tests, faire du profilage (savoir quelles sont les parties de ton logiciel qui prennent du temps ou trop de mémoire pour essayer d’optimiser les algorithmes…) on peut avoir de superbes graphiques avec une ligne. Savoir repérer le code inutile aussi c’est important (coverage) parceque et bien un code qui n’est jamais exécuter et bien il sert à rien :-P.
Sinon, mega astuce de débutant: lire les messages d’erreur. :smiley: rien que ça ça allège les forums.
Les outils que j’ai cité sont disponibles indépendamment sous windows, linux ou macos.
Tu peux aussi te la jouer j’code dans le cloud, tu ouvre ton navigateur et tu va sur repl.it c’est gratuit et tout est là pour débuter mais tu produira surement un code de mauvaise qualité si t’as pas de linter efficace, surtout si tu débute. En revanche c’est une solution qui fonctionne tout de suite sans aucune installation locale.
Encore un très bon conseil, n’hésite pas à partager ton code (que tu trouvera bien pourri) parce-que on a tous fait pareil et on peut tous t’aider à progresser (tu m’a déjà vu coder en go? c’est une horreur!) :D.
Petit mot concernant linux… en quoi c’est utile pour programmer? (si tu as déjà un système d’exploitation). Aller c’est transposable à n’importe quel système, remplace linux par windows, macos, beos ou haiku :stuck_out_tongue:

1 « J'aime »

+1, un développeur qui ne montre pas son code c’est comme un poète qui ne publie pas ses poésies.

3 « J'aime »

L’environnement de dev y est plus simple.