Rédaction d'une collection de tutoriels Python

Qui ? Quoi ? Comment ?

a marqué ce sujet comme résolu.

Je voudrai juste faire une petite proposition : plutôt que de mettre des adverts du type "il faut avoir lu tel cours pour suivre celui-ci : lien" comme proposé plus haut, ne serait-il pas mieux de donner un lien vers un "plan" de l'ensemble des cours sur python histoire d'éviter l'effet wikipedia(je dois lire ce truc-là avant de passer à la suite de ce cours là. Oui, mais ce truc-là demande d'avoir lu ça aussi. Ah mince je ne me rappelle plus de la première partie du cours que je suivais à la base, etc…) si le cours est trop partitionné ?

Jespar

+0 -0

Je pense qu'à terme ça se présentera comme un parcours, où l'on pourra rappeler à l'utilisateur une "carte du cours" (un peu comme celle du PO) en lui montrant vous êtes parti de là, vous avez fait ça, vous en êtes là.

On a une ZEP en préparation qui devrait pouvoir faire encore mieux que ça à terme (poser deux-trois questions au lecteur qui veut apprendre un sujet donné, et lui assembler le parcours qui est fait pour lui en sélectionnant dans les bons noeuds de l'arbre et dans le bon ordre).

Cela dit, pour l'instant avant de penser killer features, il faut d'abord que l'on produise le contenu qui va bien. La façon de lier les tutos entre eux à la fin, c'est un problème indépendant.

+0 -0

C'est vrai qu'un arbre ce serait bien, mais seulement si les noeuds sont des étoiles :)

Sinon, c'est une belle initiative qui montre le bel esprit communautaire.

Moi, je peux aider si besoin sur une partie sur le module matplotlib et sur la relecture.

+3 -0

C'est vrai qu'un arbre ce serait bien, mais seulement si les noeuds sont des étoiles :)

Comme dans Super Mario Galaxy ? :-°

Bon il est clair que l'inspiration de la carte (ou l'arbre) vient de l'idée sympa qui a peuplé la home page du SdZ un temps. C'est dommage qu'ils l'aient laissée tomber, parce qu'il y a des choses vraiment cool à faire à partir d'une structure de ce genre, à condition d'avoir le contenu qui s'enchaîne bien.

Moi, je peux aider si besoin sur une partie sur le module matplotlib et sur la relecture.

Karnaj

Génial ! Pourquoi pas entamer directement ce tutoriel dès maintenant ? On pourra toujours le lier dans un second temps au cluster "programmation scientifique". :)

+1 -0

Comme dans Super Mario Galaxy ? :-°

Exactement, par contre pour le son ce sera compliqué ^^

Génial ! Pourquoi pas entamer directement ce tutoriel dès maintenant ? On pourra toujours le lier dans un second temps au cluster "programmation scientifique". :)

nohar

Là je suis sur trois tutoriel, deux sur $\mathrm{LaTeX}$ et un sur les bibliothèques en C alors j'aurais pas trop le temps de le rédiger en même temps. Mais si quand j'ai plus de temps personne n'en a commencé un, ce sera avec plaisir.

+1 -0

J'en profite pour mettre moi aussi à disposition le github contenant le début de mes travaux quant au tutoriel sur les notions avancées du Python: https://github.com/entwanne/cours_python_avance

C'est pour l'instant assez rustre, sans version HTML/PDF mise à disposition par défaut, et j'essaierai d'avancer assez rapidement sur le tout.

Je passe juste pour dire que votre projet m'intéresse énormément.

J'ai trouvé (enfin) un prétexte qui pourrait me motiver à apprendre Python : le projet vertx auquel je contribue régulièrement va avoir besoin d'une API en Python.

Donc au final c'est du code auto-généré qui ne fait pas grand chose d'autre que d'appeler les primitives de l'API en Java (Jython), mais ce qui est intéressant en termes d'apprentissage, c'est de voir quelle allure aurait l'API en Python.

Comme c'est un framework asynchrone : y'a besoin de callbacks dans tous les sens. En Java ce sont des lambdas (Java 8), en Groovy des closures, en JS des fonctions anonymes, en Ruby des blocs (je crois).

Du coup travailler là-dessus me permettrait de me familiariser à "comment on décrit en Python des trucs que je connais dans d'autres langages". Et la structure du projet que vous avez en tête (bien découper ce qui relève de l'apprentissage de la programmation de ce qu'un développeur connaît déjà) devrait m'y aider.

Bon courage et merci de l'initiative.

+2 -0

Le problème de jython, est qu'il faut la version 2.x de python. Hors nohar crée un tutoriel sur python 3.x !

Malgré cela, si le concept du langage dans la version actuelle python est ancrée, il ne sera pas difficile de s'adapter afin de rendre un code compatible jython/python2.x, ça demandera juste un peu de recherches au départ pour retrouver les équivalences entre ces deux versions.

Il y a plusieurs moyens :

  • La relecture de l'existant,
  • Correction de typos/style,
  • Critique sur les points abordés/la façon de les aborder (sur une issue GH par exemple),
  • Aller sur les issues des prochains chapitres pour y ajouter des remarques ou des trucs que tu penses nécessaires à aborder,
  • Ou alors de la rédaction, carrément.

Sur GH il y a déjà une issue par chapitre qui reste à rédiger/compléter.

+0 -0

J'ai proposé ici une suite d'article principalement pour faire découvrir des modules intéressants de Python. Voici les posts pour plus de précisions :

Hier soir, je fouillais un peu dans les modules et je suis tombé sur webbrowser. Du coup j'ai un peu joué avec et ça m'a fait regarder d'autres modules (sys, sqlite3, hashlib), et du coup m'est venu la proposition suivante :

Je ne sais pas si ça a été évoqué, mais ça pourrait être sympa une série d'article présentant chacun un ou deux modules intéressants de python qui ne sont pas forcément expliqués dans les tutoriels, avec, pourquoi pas, un petit projet en fil rouge/objectif pour chaque article. Le but serait de faire découvrir des modules, mais aussi de faire pratiquer et d'inciter à aller voir la documentation, à la curiosité. Ce serait facilement appréhendable, découpé et léger (avec les bénéfices qu'apportent le découpage proposé par Nohar). À la fin de la série, on pourrait aussi les associer au sein d'un tutoriel. Je sais qu'il y a déjà beaucoup de travail et de projets en cours, mais c'est une idée en plus, qu'en pensez-vous ?

Une fois mon tutoriel terminé, je pourrais éventuellement m'y essayer. Ou alors, je suis aussi intéressé pour rédiger un article sur habitRPG puisque ça a été suggéré ici. Cet article parlerait des fonctionnalités qu'offre habitRPG mais aussi du principe de gamification.

Smokiev

Ça s'inscrirait plutôt bien dans la démarche de Nohar sur une suite de cours indépendants sur differentes "briques" python, non ?

Javier

Oui, il est vrai que c'est la même démarche que Nohar. Ce serait effectivement "une suite de cours indépendants" dont les objectifs seraient ceux expliqués plus haut et qui pourraient être réalisés par des auteurs différents (il faudrait donc réaliser une sorte de roadmap). Ces petits articles pourraient ainsi participer à la dynamique du site en sortant régulièrement.

Mais après, je ne sais pas si ces petites briques pourraient s'intégrer dans les briques de la carte de Nohar (ça dépendra d'une part de la forme des articles, d'autre part de l'auteur ou des auteurs des cours de la carte), ni quelle pourrait être leur place dedans, c'est pourquoi je suggérais de relier les articles en un tutoriel qu'on pourrait rajouter à la carte par exemple À la découverte de quelques modules Python ! Il faudrait que je vois avec Nohar. Je vais réfléchir à ça et voir ce que vous en pensez. Sinon, ce ne serait pas gênant de relier plusieurs articles en un tutoriel ?

Smokiev

Vu que ça colle à ce sujet et à ce que tu souhaites, je voulais savoir ce que tu en pensais :)

Je suis pour et j'ai proposé une idée similaire en première page :

Il faudrait aussi trouver un moyen d'explorer la lib standard. Beaucoup de tutos vont la brosser indirectement mais certaines parties ne pourront être couvertes où seront difficile d’accès. Une idée serait peut être de préparer une série d'article/mini-tuto, chacun sur un module de la lib standard. Ça permetrait à chaque tuto de les référencer ("Nous allons utiliser les namedtuple dans ce chapitre, assurez vous d'avoir lu cet article a propos du module collections de la lib standard"). Si on arrive à se préparer un pool, on peut imaginer faire des publications régulières ("Module python du mois/de la semaine")

J'ai lu le tuto pour débutant. C'est du très bon.

De manière général, je trouve le cours lent. Ce qui est un bon point, car je ne suis pas le public visé. ^^

Une typo : Partie 3.2.1.1 Les nombres entiers. Un accent se balade tout seul (version pdf) :

‘ Python comprendra tous ces nombres comme des entiers.

Deux remarques sur les chaines de caractères :

« Essayez de piéger [python] en saisissant une chaine qui contient à la fois des guillemets et des apostrophes, pour voir. » Il se vautre lamentablement. Ça fait bizarre de conseiller de faire un truc qui marche pas sans rebondir dessus.

Sinon, le triple guillemet """ permet d'éviter d'avoir à échapper certains caractères. Je veux dire que « """C'est la vie qui dit : "turlututu" et qui s'en va.""" » est valide. Je trouve étrange de dire que le triple guillemet existe mais de ne pas dire qu'il marche dans le cas précédant.

Je tiens à redire que ce que tu as écris est vraiment bon ! :)

+3 -0

« Essayez de piéger [python] en saisissant une chaine qui contient à la fois des guillemets et des apostrophes, pour voir. » Il se vautre lamentablement. Ça fait bizarre de conseiller de faire un truc qui marche pas sans rebondir dessus.

Gabbro

Comment ça il se vautre ?

J'ai proposé ici une suite d'article principalement pour faire découvrir des modules intéressants de Python. Voici les posts pour plus de précisions :

Hier soir, je fouillais un peu dans les modules et je suis tombé sur webbrowser. Du coup j'ai un peu joué avec et ça m'a fait regarder d'autres modules (sys, sqlite3, hashlib), et du coup m'est venu la proposition suivante :

Je ne sais pas si ça a été évoqué, mais ça pourrait être sympa une série d'article présentant chacun un ou deux modules intéressants de python qui ne sont pas forcément expliqués dans les tutoriels, avec, pourquoi pas, un petit projet en fil rouge/objectif pour chaque article. Le but serait de faire découvrir des modules, mais aussi de faire pratiquer et d'inciter à aller voir la documentation, à la curiosité. Ce serait facilement appréhendable, découpé et léger (avec les bénéfices qu'apportent le découpage proposé par Nohar). À la fin de la série, on pourrait aussi les associer au sein d'un tutoriel. Je sais qu'il y a déjà beaucoup de travail et de projets en cours, mais c'est une idée en plus, qu'en pensez-vous ?

Une fois mon tutoriel terminé, je pourrais éventuellement m'y essayer. Ou alors, je suis aussi intéressé pour rédiger un article sur habitRPG puisque ça a été suggéré ici. Cet article parlerait des fonctionnalités qu'offre habitRPG mais aussi du principe de gamification.

Smokiev

Ça s'inscrirait plutôt bien dans la démarche de Nohar sur une suite de cours indépendants sur differentes "briques" python, non ?

Javier

Oui, il est vrai que c'est la même démarche que Nohar. Ce serait effectivement "une suite de cours indépendants" dont les objectifs seraient ceux expliqués plus haut et qui pourraient être réalisés par des auteurs différents (il faudrait donc réaliser une sorte de roadmap). Ces petits articles pourraient ainsi participer à la dynamique du site en sortant régulièrement.

Mais après, je ne sais pas si ces petites briques pourraient s'intégrer dans les briques de la carte de Nohar (ça dépendra d'une part de la forme des articles, d'autre part de l'auteur ou des auteurs des cours de la carte), ni quelle pourrait être leur place dedans, c'est pourquoi je suggérais de relier les articles en un tutoriel qu'on pourrait rajouter à la carte par exemple À la découverte de quelques modules Python ! Il faudrait que je vois avec Nohar. Je vais réfléchir à ça et voir ce que vous en pensez. Sinon, ce ne serait pas gênant de relier plusieurs articles en un tutoriel ?

Smokiev

Vu que ça colle à ce sujet et à ce que tu souhaites, je voulais savoir ce que tu en pensais :)

Smokiev

Découvrir un module standard dans un article qui prend un exemple de programme concret comme fil rouge ? Je ne peux en penser que du bien !

Beaucoup de "petits" modules s'y prêtent bien. Tu cites à juste raison le module webbrowser (auquel j'ai modestement contribué pour la release 3.3 il y a quelques années…) et il y en a pas mal d'autres comme par exemple le module http.server, ou encore le module selectors, et tout un tas d'autres modules vraiment cool du Pypi.

Je ne sais pas si on peut inscrire ça dans un arbre de tutoriels (j'aime pas trop l'idée de faire dépendre un tutoriel d'un ou plusieurs articles : un tutoriel, pour moi, ça doit rester intemporel), mais dans tous les cas ça serait clairement intéressant et utile.

En revanche, d'autres packages de la lib standard vont clairement mériter des tutoriels à part entière (pas plus tard qu'aujourd'hui, j'explorais la lib asyncio et je m'imaginais déjà un tuto de plusieurs chapitres pour expliquer la façon dont il est conçu et les cas où il peut s'avérer vraiment utile).

PS : @Gabbro

1
2
>>> "\"ah bon ?\" s'interrogea nohar"
'"ah bon ?" s\'interrogea nohar'
+0 -0

Je suis pas contre l'idée des articles pour présenter un module de Python. Mais ça présente tout de même un problème, les articles vont être fondu dans les autres et il sera difficile d'avoir une bonne vue d'ensemble des différents modules déjà abordés. Je préfère le format de mini-tutoriel qui seront tous rassemblés dans la section Python.

Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte