URL: https://linuxfr.org/users/cspaier/journaux/presentation-des-librairies-pydiderotlibs-dediees-a-l-enseignement-de-python Title: Présentation des librairies pydiderotlibs dédiées à l'enseignement de python Authors: cspaier Date: 2019年12月01日T12:18:16+01:00 License: CC By-SA Tags: enseignement, lycée et python Score: 17 ## Présentation Bonjour à tous, Mon premier journal pour présenter un projet créé par des profs de math de Marseille: [Pydiderotlibs](https://pydiderotlibs.readthedocs.io/) L'objectif est de créer des librairies dédiées à l'enseignement de python au lycée. La démarche générale est de cacher les difficultés techniques en présentant des fonctions simples. Le travail, sous licence MIT, a lieu sur ce dépôt [github](https://github.com/cspaier/pydiderotlibs), on héberge la documentation sur [readthedocs](https://pydiderotlibs.readthedocs.io/) et le projet est sur [pypi](https://pypi.org/project/pydiderotlibs/) pour être installé facilement via pip. ## Exemple 1: Un traceur de courbe Pédagogiquement, amener les élèves à construire un traceur de courbe est relève un certain intérêt: - repérage dans le plan - le sens d'une courbe représentative de fonction - boucles en python On a une librairie [repere](https://pydiderotlibs.readthedocs.io/librairies/repere.html) qui permet de faire ca facilement: ```python from pydiderotlibs.repere import fenetre, point x = -10 x_max = 10 pas = 0.01 fenetre() while x < x_max: y = x*x point(x,y) x = x + pas ``` On obtient une fenêtre graphique tkinter qui contient un repère "interactif". On peut zoomer, se déplacer dans le repère.  ## Exemple 2: Ca bouge! Un projet plus ambitieux est le codage d'un jeu de type pong. On a une librairie [graphique](https://pydiderotlibs.readthedocs.io/librairies/graphique.html) qui est une surcouche à [pygame](https://www.pygame.org/news) facilitant la création d’objets et l'écoute des évènements. Voici par exemple un cercle qui suit la souris et qu'on peut aussi déplacer au clavier avec les touches `haut` et `bas`. ```python from pydiderotlibs.graphique import fenetre, efface, cercle, ecoute_evenements from time import sleep fenetre() x = 10 y = 10 while 1: efface() evenements = ecoute_evenements() if "haut" in evenements: y = y + 1 if "bas" in evenements: y = y - 1 if "souris" in evenements: x, y = evenements["souris"][0], evenements["souris"][1] cercle(x, y) sleep(0.001) ``` ## Conclusion J'ai présenté deux exemples mais on a d'autres librairies à découvrir. On essaye de fournir une documentation de qualité et on invite les élèves à travailler avec elle car c'est une bonne pratique. L'import d'une librairie affiche un message: ``` Merci d'utiliser la librairie repere du module pydiderot. N'hésitez pas à consulter la documentation en ligne: https://pydiderotlibs.rtfd.io/librairies/repere.html ``` C'est un travail collaboratif et toute aide, remarques, critiques sont les bienvenues.