-
Notifications
You must be signed in to change notification settings - Fork 2
fonctions_utile
Un certain nombre de fichiers javascript nous a aidé à comprendre le fonctionnement de Jupyter, notamment la gestion des cellules, des inputs et outputs.
Ces fichiers se trouvent dans SageMath/local/lib/python2,7/site-package/notebook/static/notebook/js/
notebook.js C’est le fichier qui créer tous les éléments du notebooks, il utilise les fonctions de la plupart des autres fichier js , permet de créer et d’interagir avec la bar d’outils, les cellules, leur input et output… Les fonctions de notebook.js s’applique à Jupyter.notebook.
Retourne le nombre de cellules présentent actuellement sur le notebook.
Retourne un tableau avec toutes les cellules du notebook.cells()[i] pour utiliser le tableau.
Retourne une cellule spécifique en fonction de l’index mis en paramètre.
Retourne la cellule suivante en fonction de la cellule mis en paramètre.
Retourne la cellule précédente en fonction de la cellule mis en paramètre.
Retourne la dernière cellule sélectionnée.
Retourne l’index de la cellule qui est en cours d’édition (la cellule sur laquelle nous sommes en train d’agir, par exemple l’utilisateur est en train de rentrer une formule dans l’input d’une cellule, cette fonction retournera l’index de cette cellule)
Prend en paramètre un tableau d’indices, et supprime les cellules qui ont pour indice ceux présents dans le tableau donné en paramètre.
Insert un élément mis en paramètre dans la cellule correspondante à l’index mis en paramètre. L’élément peut un image, du texte ou n’importe quel autre type d’élément html.
Supprime l’output de la cellule correspondante à l’index mis en paramètre. Si l’index est null, supprime l’output de la cellule sélectionnée.
Fait la même chose mais pour plusieurs cellules)
Exécute les cellules correspondantes aux indices contenus dans le tableau d’indices mis en paramètre.
Exécute la cellule sélectionnée et créer une nouvelle cellule en dessous de celle-ci.
Exécute la cellule sélectionnée et sélectionne la cellule en dessous de celle-ci.
Fichiers qui gèrent les fonctions agissant sur les cellules. Ces fonctions s’appliquent à une cellule.
cell.js
- edit_mode()
Passe la cellule en mode édition.
- focus_cell()
Sélectionne la cellule.
- get_text()
Récupère le texte de l’input de la cellule.
- set_text(text)
Ecrit un texte sur l’input de la cellule.
- get_callbacks()
S’utilise avec la fonction execute() qu’on peut retrouver dans kernel.js. Permet de récupérer le résultat d’un calcul. Elle s’exécute de manière asynchrone.
- clear_input()
Vide l’input de la cellule.
- unselect()
Désélectionne une cellule.
Pour récupérer l’output d’une cellule : LaCellule.output_area. L’output est au format JSON, pour récupérer sa valeur : JSON.stringify(LaCellule.output_area.outputs[i]), ceci nous donne tous les éléments du format JSON dans un string mais il faut encore extraire uniquement ce dont on a besoin. Voir l'exemple ci-dessous.
On récupère la cellule d'incide 0, donc la première, puis on convertit en string la valeur contenu dans le JSON tout en gardant uniquement ce qui nous intéresse. (on prend uniquement l'élément data["text/plain"] auquel on enlève les guillemets avec la fonction replace) La variable output contient maintenant ce qui est affiché dans l'output de la cellule d'index 0.
Ce qui donne :