-
Notifications
You must be signed in to change notification settings - Fork 2
SageDragon
DragonBox est un jeu éducatif visant à enseigner l’algèbre de façon ludique à des écoliers et collégiens. Le but du jeu étant de manipuler des formules via drag’n drop afin de les résoudre. Notre client est un particulier qui travaille dans le secteur de l’enseignement supérieur. Il est amené à fréquemment utiliser sagemath dans le cadre de ses cours. Après avoir découvert le jeu DragonBox, il trouva l’interface de sagemath trop rudimentaire et compliqué pour ses étudiants. Il aimerait donc apporter à celui-ci des améliorations afin de rendre son utilisation plus divertissant. Pour le moment nous disposons d’une interface de Sage nommée Jupyter. C’est une application serveur-client développée en JavaScript qui utilise MathJax, une librairie qui permet d’afficher des notations mathématiques, permet de les éditer ainsi que de faire tourner des notebooks via un navigateur web. Ces notebooks sont des feuilles de calculs qui proposent une présentation plus lisible que l’utilisation de Sage en ligne de commande. Ainsi, les travaux effectués avec Sage peuvent être facilement édités, sauvegardés et partagés. Cependant, l’utilisation de Jupyter nécessite tout de même la connaissance des commandes Sagemath.
Dans un premier temps vous devez installer sage, je vous invite à suivre notre tutoriel installer-sage
cd local/lib/python2.7/site-packages/notebook
git clone https://github.com/Scra3/sageDragon.git
cd ../../../../../
./sage -n jupyter
Puis exécuter ces instructions une par une dans les cellules à l'aide du bouton "run cell" ou en appuyant sur ctrl+entrer :
import notebook.nbextensions
notebook.nbextensions.install_nbextension('local/lib/python2.7/site-packages/notebook/sageDragon/extensions/sagedragon.js', user=True)
%%javascript
Jupyter.utils.load_extensions('sagedragon')
Attention l'extension automatique ne prend pas en compte les mise jours de votre extension il faut ré-exécuter les scripts pour activer l'extension.
Extension automatique à chaque démarrage
from notebook.services.config import ConfigManager
cm = ConfigManager()
cm.update('notebook', {"load_extensions": {"sagedragon": True}})
Arrêter le démarrage automatique
from notebook.services.config import ConfigManager
cm = ConfigManager()
# update with None, not False, to disable auto loading
cm.update('notebook', {"load_extensions": {"sagedragon": None}})