Les pages src/pages/outils/python-*.astro contiennent les cellules et corrections. PythonCellRunner.astro (../../src/components/PythonCellRunner.astro) fournit le chargement et l’exécution communs.
| Route | Contenu |
|---|---|
/outils/python-1-variables |
Variables et affectations |
/outils/python-2-conditionnelles |
Conditions |
/outils/python-3-while |
Boucle while |
/outils/python-4-fonctions |
Fonctions |
/outils/python-5-for |
Boucle for |
/outils/python-6-types |
Types |
/outils/python-7-listes |
Listes |
/outils/python-fcts-myst |
Fonction mystère |
Pyodide 0.27.5 est chargé depuis jsDelivr. Le calcul se déroule côté navigateur, mais requiert le téléchargement du moteur. L’implémentation actuelle appelle Pyodide depuis la page : elle n’a pas le dispositif d’isolation/arrêt du moteur LN. Une boucle Python bloquante peut gêner l’interface ; ne pas présenter ces moteurs comme équivalents.
Les cellules partagent l’environnement Python de la page. Vérifier les dépendances entre cellules et les corrections. Les accolades de code Python dans un fichier Astro doivent rester du texte : utiliser un contenu correctement échappé ou is:raw. Une f-string non échappée a déjà provoqué une erreur de rendu dans Python 4.
Basthon
scripts/setup-basthon.ps1 (../../scripts/setup-basthon.ps1) installe une application statique dans public/basthon-notebook/, exclue du dépôt. Cette installation est distincte du runner Pyodide ci-dessus. Ne la relancer que si des contenus l’utilisent ; le script récupère une archive distante non verrouillée par package-lock.
Des descriptions contiennent encore des liens vers les notebooks de l’ancien site : leur réponse HTTP ne signifie pas qu’ils ont été portés localement. Vérifier les liens réels du catalogue.
Recette : ouverture des huit routes, chargement Pyodide, exécution de cellules, sorties/erreurs et corrections. Un HTTP 200 seul ne valide pas l’exécution Python.