Commit 034caa38 authored by Romain Casati's avatar Romain Casati
Browse files

Adding PythonTutor to the documentation.

parent 76fd374f
......@@ -30,7 +30,7 @@ Basthon a été intégralement construit à l'aide de logiciels libres. Il est l
## Quels sont les logiciels et ressources tierces utilisées ? {#third-party}
L'éxécution du code est confiée à [Pyodide](https://github.com/iodide-project/pyodide), une compilation de l'interprète de référence de Python (CPython) en [WebAssembly](https://webassembly.org/). Quelques modifications ont été apportées pour pouvoir utiliser entre autres [P5.js](https://p5js.org), [Matplotlib](https://matplotlib.org/), [Sympy](https://www.sympy.org), [Pandas](https://pandas.pydata.org/), [Turtle](https://docs.python.org/fr/3/library/turtle.html), [Folium](https://python-visualization.github.io/folium/), [Requests](https://requests.readthedocs.io/en/master/), [Proj4js](http://proj4js.org/) et [Graphviz](https://graphviz.org/) via le module [graphviz](https://github.com/xflr6/graphviz) à l'aide de [viz.js](https://github.com/mdaines/viz.js/). Turtle n'est pas implémenté dans Pyodide, c'est une version modifiée de l'implémentation de [Brython](https://brython.info/) qui est utilisée dans Basthon.
L'exécution du code Python est confiée à [Pyodide](https://github.com/iodide-project/pyodide), une compilation de l'interprète de référence de Python (CPython) en [WebAssembly](https://webassembly.org/). Quelques modifications ont été apportées pour pouvoir utiliser entre autres [P5.js](https://p5js.org), [Matplotlib](https://matplotlib.org/), [Sympy](https://www.sympy.org), [Pandas](https://pandas.pydata.org/), [Turtle](https://docs.python.org/fr/3/library/turtle.html), [Folium](https://python-visualization.github.io/folium/), [Requests](https://requests.readthedocs.io/en/master/), [Proj4js](http://proj4js.org/), [Graphviz](https://graphviz.org/) via le module [graphviz](https://github.com/xflr6/graphviz) à l'aide de [viz.js](https://github.com/mdaines/viz.js/) et [PythonTutor](https://pythontutor.com). Turtle n'est pas implémenté dans Pyodide, c'est une version modifiée de l'implémentation de [Brython](https://brython.info/) qui est utilisée dans Basthon.
Basthon-Notebook est un fork (une copie) de [Jupyter-Notebook](https://github.com/jupyter/notebook). Une grande partie du code derrière l'interface notebook de Basthon provient de Jupyter. C'est seulement l'interface avec Basthon-Kernel qui a été écrite par l'auteur de Basthon.
......
......@@ -208,15 +208,21 @@ Vous pouvez aussi afficher des cartes (avec Folium), des graphes
%
Il est également possible d'utiliser la librairie
\href{https://p5js.org/}{p5.js} pour animer des objets, afficher des
modèles en 3D, interagir avec l'utilisateur...
modèles en 3D, interagir avec l'utilisateur... PythonTutor est
également disponible ; il permet de visualiser schématiquement le
déroulé d'un programme.
\begin{center}
%
\includegraphics[width=0.4\textwidth]{medias/screenshots/gallery/p5-balls}
\includegraphics[width=0.3\textwidth]{medias/screenshots/gallery/p5-balls}
%
\hfil
%
\includegraphics[width=0.4\textwidth]{medias/screenshots/gallery/p5-torus}
\includegraphics[width=0.3\textwidth]{medias/screenshots/gallery/p5-torus}
%
\hfil
%
\includegraphics[width=0.3\textwidth]{medias/screenshots/gallery/pythontutor}
%
\end{center}
%
......@@ -1027,7 +1033,7 @@ chargement de la page grâce au paramètre d'URL \texttt{module}.
%
\end{attention}
%
\section{Utiliser Turtle, p5.js et Graphviz avec Basthon}
\section{Utiliser Turtle, p5.js, Graphviz et PythonTutor avec Basthon}
%
\label{sec:modules-usage}
%
......@@ -1073,6 +1079,33 @@ télécharger.
utiliser l'argument \pil{scale} pour augmenter la résolution.
%
\end{astuce}
%
\subsection{PythonTutor}
%
Pour utiliser \href{http://pythontutor.com}{PythonTutor}, il faut
appeler la fonction \pil{tutor} du module \pil{tutor}, comme ceci par
exemple :
\begin{jupytercode}
from tutor import tutor # ou 'from tutor import *' ou simplement
# 'import tutor' et appeler tutor.tutor()
# mettre ici le code à tutorer
a = 5
a = a + 1
tutor() # peut aussi être mis avant le code à tutorer
# les options de PythonTutor peuvent être passées en paramètre
\end{jupytercode}
\begin{attention}
%
Le code exécuté (le script dans le cas de la console et la cellule
dans le cas du notebook) doit contenir toute l'information utile à
PythonTutor pour fonctionner : déclarations de variables, de
fonctions, \emph{etc}. Toutefois, l'import de \pil{tutor} lui-même
peut être effectué anterieurement.
%
\end{attention}
%
\section{Utilisation avancée}
%
......
../../../../www/theme/static/assets/img/galerie/pythontutor.png
\ No newline at end of file
......@@ -60,7 +60,7 @@ def tutor(**kwargs):
"""
Tutor the current executed script with PythonTutor.
See PythonTutor for available options.
See PythonTutor at http://pythontutor.com for available options.
The code is not executed by PythonTutor itself (server side)
but by Basthon. The solution is actually entirely executed
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment