TorPy : la Tortue Python vernaculaire

Posté par  (site web personnel) . Édité par Nils Ratusznik et Benoît Sibaud. Modéré par ZeroHeure. Licence CC By‑SA.
Étiquettes :
39
25
fév.
2015
Éducation

TorPy est une version francisée (mais pouvant être traduite dans toute autre langue) du module turtle de Python. Inspiré de la tortue Logo, turtle permet d'apprendre à programmer, puisqu'on écrit les instructions que la tortue n'effectuera qu'ensuite. De plus, cela permet de produire de belles figures géométriques !

TorPy a été écrit par votre serviteur après avoir fait des essais d'utilisation de turtle par des élèves de collège. Son but est de pallier quelques difficultés rencontrées.

Une photo d'écran

TorPy est développé en Python, et nécessite les dépendances supplémentaires suivantes :

Quelques particularités de TorPy

  • les instructions du module turtle sont traduites en français : par exemple on écrit avance(100) au lieu de forward(100) ;
  • seules les instructions sont affichées dans la zone de saisie, le reste du programme Python (shebang, etc) est masqué ;
  • les instructions sont exécutées sans avoir besoin d'être enregistrées au préalable (mais on peut évidemment enregistrer son fichier) ;
  • la liste des instructions disponibles peut être consultée à tout moment, et des exemples d'utilisation de chaque instruction peuvent être copiés-collés ;
  • toute autre instruction Python peut être utilisée pour une utilisation plus avancée (boucles, définitions de fonctions, importations de modules, etc…) ;
  • le programme peut être facilement adapté à d'autres langues que le français et il est facile aussi d'ajouter de nouvelles instructions ;
  • si le fichier est enregistré, le résultat peut être enregistré en image (format EPS, mais aussi SVG sous GNU/Linux si pstoedit est installé).

Fonctionnement

Au lancement, un sous-dossier torpy est créé dans le dossier temporaire de l'ordinateur et 3 fichiers y sont copiés :

  • turtle.cfg : fichier de configuration de la fenêtre de turtle (dimensions, titre, etc…) ;
  • importturtle.py : fichier contenant les traductions des fonctions ;
  • torpy.py : fichier qui sera exécuté (et contient un import du fichier importturtle.py).

Lorsque l'utilisateur demande l'exécution de ses instructions, celles-ci sont insérées dans le fichier torpy.py avant qu'il ne soit exécuté. Plus précisément, ce fichier contient la ligne suivante qui sert de repère et sera remplacée par les instructions de l'utilisateur :

# USER INSTRUCTIONS

Remarque

Afin de pouvoir utiliser TorPy dans d'autres langues que le français, le fichier qui est situé dans le sous-dossier files s'appelle importturtle_xx.py, où xx désigne la langue de l'ordinateur.
La langue est détectée au lancement et si le fichier correspondant existe, il est copié dans le dossier temporaire sous le nom importturtle.py.

En conclusion

J'ai développé TorPy car j'en avais besoin pour mes élèves.
Ensuite je me suis dit que ça pouvait intéresser un peu de monde, donc autant prendre le temps de le finir, de rédiger une documentation et de venir ici signaler son existence.

Aller plus loin

  • # Quel drôle de nom ...

    Posté par  (site web personnel) . Évalué à -1.

    Bon, je n'y connais rien sur le fond de cette dépêche, par contre le nom du programme me semble super mal choisi, dans le sens où j'ai cru qu'il y avait un lien avec Tor et Python.

    Confucius en serait tout confus … Désolé de ne pas apporter un commentaire à plus haute valeur ajoutée, mais je trouve que le nom d'un programme est important :-)

    • [^] # Re: Quel drôle de nom ...

      Posté par  . Évalué à 8.

      Tortue, j'ai cru que c'était un drone de la NSA pour tor-piller Tor, mais non, j'avais Tor, euh, tort, ça ne volait pas ça rampait sur le ventre lentement. Tordu tout ça, ma tortue va bien rire. :))

      Bonne idée, EdLeH.

    • [^] # Re: Quel drôle de nom ...

      Posté par  . Évalué à 2.

      Bon, je n'y connais rien sur le fond de cette dépêche

      C'est bien l'origine de ton erreur d'interprétation.
      Tor ne m'est pas venu en tête, à la limite ça ferait un début de "Torpille" et encore; car dans mon interprétation "tor" c'est tout ou rien .

      Retrouve Ta Foi dans le Manuel

      Je trouve très intéressant

      je trouve que le nom d'un programme est important

      Quitte à parler de philosophe je m'orienterai plutôt vers de Quine "le mot et la chose" ou plus simplement un Krishnamurti que Confucius. En bref, en se concentrant sur l'essentiel
      - que fait le programme ?
      - m'est utile  ?
      - etc
      ce qui, je croit, est le principal message de l'auteur de ce journal. Alors tu aura certainement un autre point de vue.

  • # Excellent !

    Posté par  . Évalué à 8.

    Pour ma part part, je ne trouve pas le nom si mal choisi.
    Et pour revenir à du constructif, C'est du bon travail. Ressusciter ce bon vieux Logo me semble une très bonne idée.
    Et-ce qu'il est envisageable de piloter un robot ?

    • [^] # Re: Excellent !

      Posté par  (site web personnel) . Évalué à 6.

      Dans le même genre (outil rendant l'accès à la programmation visuel et facile), il y a également laby qui permet de s'essayer à différents langages de programmation. Ce genre d'outil est en effet excellent pour aborder la programmation avec des étudiants. Bon travail.

      « IRAFURORBREVISESTANIMUMREGEQUINISIPARETIMPERAT » — Odes — Horace

  • # fr_LOL

    Posté par  (site web personnel) . Évalué à 2.

    Le logiciel à l'air sympa, j'ai regarder pour voir si je pouvais faire quelque chose avec ma fille, mais je crois qu'elle est encore un peu jeune pour ça.
    Par contre LA trouvaille du jour, c'est le jeux de traduction fr_LOL, j'ai vraiment envie de me lancer dans la traduction de plein de logiciels dans cette langue.

    • [^] # Re: fr_LOL

      Posté par  (site web personnel) . Évalué à 2.

      Attends, cette traduction est destinée aux « kikou, lol », ou aux joueurs d'un jeu en ligne ?

    • [^] # Re: fr_LOL

      Posté par  (site web personnel) . Évalué à 1. Dernière modification le 26 février 2015 à 17:01.

      Désolé mais je ne l'ai pas laissé dans l'archive.
      Je me suis juste fait plaisir en rédigeant les explications.
      En tous cas c'est une variante du Français qui a de l'avenir.

  • # Choix d'une langue par défaut (+ une erreur à corriger)

    Posté par  (site web personnel) . Évalué à 2.

    Tout d'abord, bravo pour le boulot !

    L'erreur (commune) à corriger est dans cette phrase :

    Son but est de pallier aux quelques difficultés rencontrées.

    On dit « palier qqch », mais la confusion provient sûrement de « remédier à qqch ».

    Sinon, pourquoi avoir choisi le français comme langue de base pour le projet ? Il est souvent préférable de commencer en anglais, puis d'y ajouter un module français par la suite.

    Néanmoins, on voit que les booléens sont tout de même en anglais dans les arguments de fonctions. N'y a-t-il pas moyen d'avoir des valeurs en français (comme Vrai et Faux ?). C'est également vrai pour les boucles, et les conditions (for et if).
    Si la majorité des fonctions sont en français, mais pas d'autres, c'est absolument incohérent pour l'élève, qui ne peut pas trouver de logique derrière.

    Puisque ce sont des élèves de collège, ne serait-ce pas un bon moyen de leur montrer que l'anglais est utile ici ?
    Ça aurait l'avantage de garder l'unicité de la langue au moins.

    Le gros problème, c'est que Python ne te laissera pas définir de macros pour remplacer la structure for element in iterable: par son équivalent français : pour (chaque) élément dans itérable:.
    Il existe un projet (mort) pour essayer d'avoir des macros dans Python : https://code.google.com/p/metapython/.

    Il serait également possible de procéder à une analyse syntaxique pour remplacer les mots français par leurs équivalent anglais, et fournir le tout à Python.

    Il semble plus simple de garder l'anglais à mon humble avis.

    • [^] # Re: Choix d'une langue par défaut (+ une erreur à corriger)

      Posté par  . Évalué à 1.

      Heu non, on écrit "pallier quelque chose", quand on veut éviter de prendre la porte (et de se retrouver sur le… palier :))

    • [^] # Re: Choix d'une langue par défaut (+ une erreur à corriger)

      Posté par  (site web personnel) . Évalué à 3.

      Corrigé, merci.

    • [^] # Re: Choix d'une langue par défaut (+ une erreur à corriger)

      Posté par  (site web personnel) . Évalué à 5.

      D'abord merci pour l'erreur (et à Benoît Sibaud pour la correction) ; j'ai appris un truc aujourd'hui.

      Pour ce qui est de la langue, le logiciel n'a aucun intérêt en anglais car le vocabulaire de turtle n'a pas besoin d'y être traduit.

      Ensuite pour ce qui est de traduire toutes les directives Python, d'une part ça sort de mes compétences et d'autre part je ne suis pas certain que ce soit utile.
      Le but de TorPy c'est de pouvoir démarrer rapidement avec des élèves la construction de figures géométriques.
      Je ne leur fait pas écrire des boucles ou des fonctions mais juste des suites d'instructions.
      Après, si on veut aller plus loin en programmation, autant apprendre un vrai langage plutôt qu'un machin francisé.

      Vivement que la matière informatique existe.

  • # XLogo

    Posté par  . Évalué à 4.

    Bonjour,

    Je vous invite à regarder le site : http://xlogo.tuxfamily.org/

    Avec aussi pleins d'exemples ;)

    Florent

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.