Aller au contenu

Publications

MathJax 4

Le notebook de Basthon passe à MathJax 4 pour afficher les formules mathématiques écrites en LaTeX dans les cellules Markdown. Autre nouveauté : MathJax n'est plus chargé que si le notebook contient des maths. Les notebooks qui n'en ont pas s'ouvrent donc plus vite !

Jouer avec !

Des formules avec MathJax 4

p5 dans les noyaux isolés

Le module p5 fonctionne désormais avec les noyaux isolés de Basthon. Le dessin est calculé dans le noyau puis affiché dans un cadre isolé de la page, qui lui transmet les interactions : souris, clavier et écran tactile. Les images (loadImage) et les éléments HTML (createButton, createSlider…) sont aussi pris en charge.

Jouer avec !

p5 enflamme Basthon

Un nouveau terminal pour la console

Le terminal de la console de Basthon a été entièrement reconstruit sur xterm.js, le terminal qui équipe notamment Visual Studio Code. Au programme : un affichage plus fidèle (émojis, couleurs, retours à la ligne quand on redimensionne la fenêtre), la complétion avec Tab, les commandes sur plusieurs lignes, un historique conservé d'une visite à l'autre et la saisie masquée pour getpass.

Jouer avec !

Le nouveau terminal

Un mot de passe enseignant pour débloquer la suite du notebook

La fonction input de Basthon sait maintenant masquer la saisie :

mdp = input("Mot de passe : ", password=True)

Le module standard getpass en profite aussi : getpass.getpass() affiche désormais un vrai champ de mot de passe.

Combinée au notebook séquencé, cette nouveauté permet de faire valider chaque étape d'une activité par l'enseignant, qui passe dans les rangs et tape son mot de passe.

Jouer avec !

Validation par mot de passe enseignant

Des sorties plus sûres

Un notebook partagé par lien peut contenir n'importe quoi… Basthon renforce donc la sécurité de tout ce qui s'affiche dans le notebook et la console :

  • le HTML, le SVG et le Markdown sont systématiquement nettoyés avec DOMPurify ;
  • le code JavaScript des sorties s'exécute dans un cadre isolé (bac à sable), sans accès à la page ;
  • une sortie ne peut plus déborder de sa zone d'affichage.

Les sorties interactives continuent de fonctionner : elles s'exécutent simplement dans leur bac à sable.

Jouer avec !

Script exécuté dans un bac à sable