########################################################## Un **toplevel** ``Python`` embarqué (version **Skulpt**) ########################################################## .. include:: .javascript.fr.rst ------------------------------------------------------------------------------ .. seealso:: Je recommande les outils suivants, plus modernes et plus complets ! - `Basthon `_ est une console et un notebook Python très complets, fonctionnant en ligne sans besoin d'un serveur qui calcule votre code derrière : tout est interprété en javascript dans votre navigateur ! J'héberge une copie locale de Basthon, ici : `console Python 3.8 `_, `notebook Jupyter Python 3.8 `_. Ils sont aussi sur `python.besson.link `_ et `notebook.besson.link `_ (sans HTTPS mais c'est juste une copie transparente des dossiers de ce site). En cas de problème, on peut aussi utiliser : - `CodeSkulptor 3 `_ est assez complet pour la librairie standard et ça marche bien ! Pas sûr qu'il marche parfaitement hors ligne. Basé sur `Skulpt.org `_, que j'avais déployé dans la page `skulpt `_ ! - Le `notebook RustPython `_ est aussi bien fait, mais pas sûr de savoir quels modules de la librairie standard et quelles fonctionnalités de Python sont bien supportées. Mais c'est très impressionnant... .. warning:: Compatibilité HTML5 requise ! Cette page nécessite `un navigateur compatible HTML 5 `_ (voir aussi `html5readiness.com `_) Malgré ça, cette version de l'interprète Python semble plus accessible que la première mise en place (`python `_), en particulier **Skulpt** semble plus compatible avec les navigateurs des smartphones (si ce n'est pas votre cas, un retour ou une remarque me ferait plaisir, voir ``_ pour me contacter !). ------------------------------------------------------------------------------ Toplevel Python 2.7.3 Skulpt ---------------------------- .. raw:: html # Demo with 'turtle' module print("A demo of the 'turtle' module is in progress !") import turtle t = turtle.Turtle() for c in ['red', 'green', 'yellow', 'blue']: t.color(c) t.forward(75) t.left(90) t.color('cyan') t.forward(75) for c in ['blue', 'yellow', 'green', 'red']: t.color(c) t.forward(75) t.right(90) # Demo with 'document' module print("A demo of the minimalist DOM handler ('document') module is in progress !") import document spanoutput = document.getElementById('spanoutput') spanoutput.innerHTML = ' <br/><hr/><h1 style="color:red;">Skulpt can also access the DOM !</h1><br/><br/><hr/> ' spanoutput.innerHTML = spanoutput.innerHTML + '<img alt="GA|Analytics" src="https://ga-beacon.appspot.com/UA-38514290-1/skulpt.html/AddedWithSkulpt" />' # Ajoutez votre propre commande Python :

Sortie du toplevel (output) :



Espace d'écriture (spanaoutput) pour le toplevel :

Ce texte peut être modifié en modifiant le contenu de l'élément DOM d'identifiant spanoutput.


Canvas (mycanvas) pour le toplevel :

Il semblerait que votre navigateur ne supporte pas la balise canvas. La sortie graphique via le module ''turtle'' est donc non disponible !

+--------------------------------+-------------------------------+ | .. image:: .python-powered.png | .. image:: .ace-powered.png | | :scale: 120 % | :scale: 45 % | | :align: right | :align: left | | :alt: Python powered :) | :alt: ACE powered :) | | :target: http://python.org | :target: http://ace.c9.io/ | +--------------------------------+-------------------------------+ ------------------------------------------------------------------------------ .. warning:: Les modules sys et os ne sont pas disponibles. .. seealso:: `Python Emscripten `_ Cette page intègre une autre implémentation en *JavaScript* de Python. Compilée à partir du compilateur Emscripten (bytecode → JavaScript). .. seealso:: `SymPy Live `_ Est encore un autre terminal Python s'exécutant dans un navigateur. Avec SymPy installé (calcul symbolique en Python), et en interprétant la sortie de SymPy comme du code LaTeX, rendu avec MathJax. Autres pages ------------ Le premier terminal **Python** que j'ai intégré dans mes pages est là ``_. Hébergements ------------ Les scripts **Javascript** utilisés sur mes pages sont désormais hébergés sur ce dépot *git* : `lbesson/web-sphinx-scripts `_, sur **bitbucket.org**. Copyrights ---------- Le **toplevel** Python embarqué ici vient du projet *Skulpt*, dont la page principale est `www.skulpt.org `_. .. (c) Lilian Besson, 2011-2021, https://bitbucket.org/lbesson/web-sphinx/