Aller au contenu

Notebook

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 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

Des noyaux isolés

Les noyaux de Basthon (Python, OCaml, JavaScript, SQL et XCAS) sont désormais isolés : le code s'exécute dans un environnement séparé de la page web qui l'affiche. Concrètement :

  • plus de sécurité : le code exécuté n'a pas accès aux données de la page (comme vos informations de connexion sur un site qui intègre Basthon) ;
  • une page qui ne se bloque plus : un long calcul ne fige plus l'interface ;
  • un affichage en temps réel : les print et les input apparaissent au fur et à mesure de l'exécution.

Jouer avec !

Affichage en temps réel

Pour retrouver l'ancien fonctionnement, il suffit d'ajouter le suffixe -legacy au paramètre d'URL kernel, par exemple https://console.basthon.fr/?kernel=python3-legacy. Tous les détails sont dans la documentation.

Le notebook en plein écran

Un nouveau bouton dans la barre d'outils du notebook de Basthon permet de passer en plein écran (et d'en sortir). Idéal pour projeter en classe ou travailler sur un petit écran !

Bouton plein écran