Journal La tortue passe au web

Posté par  (site web personnel) . Licence CC By‑SA.
18
2
août
2019

Un petit journal pour parler de tortoise, une implémentation en Python de la tortue du langage Logo, dans laquelle elle évolue dans un environnement web.

Il existe déjà un module Python qui implémente la tortue (turtle), mais celui-ci la fait évoluer dans un environnement graphique natif. C'est également le cas pour la plupart des nombreuses implémentations disponibles dans d'autres langages.

Les fonctionnalités actuellement disponibles sont les suivantes :

  • getAngle() : retourne l'ange courant ;
  • up() : lève le crayon ;
  • down() : pose le crayon ;
  • setAutoDraw(value) : le dessin est automatiquement tracé tous les value mouvements (la valeur 0 désactivera ce traçage automatique) ; lancez draw() une fois tous les mouvements exécutés pour dessiner les mouvements non tracés ;
  • setPosition(x,y) : la tortue saute à la position x, y relativement au centre de la zone de dessin ;
  • forward(distance) : la tortue se déplace de la distance spécifiée ;
  • right(angle) : la tortue tourne de angle degrés dans le sens des aiguilles d'une montre ;
  • left(angle) : la tortue tourne de angle degrés dans le sens contraire des aiguilles d'une montre ;
  • setColorRGB(r,g,b) : définit la couleur du crayon suivant le modèle de couleur RVB ;
  • setColorHSL(h,s,l) : définit la couleur du crayon suivant le modèle de couleur TSL (h : 0 à 360 ; s, l : 0 à 100%) ;
  • draw() : dessine les mouvements non encore tracés.

Il manque encore de nombreuses fonctionnalités, mais celles déjà existantes permettent de faire des dessins comme celui au début de ce journal.

Ce projet a pour but, tout comme l'implémentation originale, d'être employé dans le cadre de l'apprentissage de la programmation, d'où son développement en Python.

Le fait de cibler un environnement web permet :

  • de disposer des technologies web pour interagir avec le programme (l'accent sera mis sur cet aspect dans les prochaines moutures du projet) ;
  • d'avoir la possibilité d'accéder au programme de n'importe quel dispositif connecté à Internet, pourvu qu'il dispose d'un simple navigateur web.

Le projet existe sous forme de dépôt GitHub, mais est également disponible en tant que package Pypi (pip install tortoise pour l'installer).

Pour le tester, 2 moyens :

  • directement sur votre ordinateur, en y récupérant le dépôt GitHub, puis en lançant python main.py à partir de la racine du dépôt ;
  • directement dans votre navigateur, sans rien avoir à installer, en suivant le lien suivant : https://q37.info/s/dj9b7ksf.

Ce projet s'inscrit dans un projet plus large visant à proposer, dans le cadre de l'apprentissage de la programmation, des outils pour écrire des exercices modernes pour accompagner ces cours d'apprentissage, modernes dans le sens où les interactions se feront via une véritable interface graphique au lieu de l'habituelle (et austère) interface texte. Je pense en reparler ici même lorsque ce projet sera plus avancé…

Suivre le flux des commentaires

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