##################################### Un **toplevel** ``Python`` embarqué ##################################### .. 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:: Cette page est très vieille, et ne marche probablement plus bien. Ca n'a jamais été autre chose qu'une petite démonstration. .. warning:: Une autre version, plus légère et rapide, est disponible : `skulpt `_ ! Toplevel Python 2.7.2 avec l'éditeur ACE ----------------------------------------- .. raw:: html
   # Une démonstration de python.js, utilisant l'éditeur ACE.js :) !
   print 'Bonjour, le monde !'
   print {i: i**9 for i in range(8)}  # dictionnaire en compréhension
   print {i*6 for i in range(8)}  # ensemble en compréhension
   # Un exemple, comme celui pour OCaml
   def factorial(n):
     if n == 0: return 1
     else: return n * factorial(n - 1)
   print factorial(11)
   # Dernier exemple, montre la version
   import sys, os
   print "Version: %s" % sys.version
   print "Dossier courant: %s" % os.getcwd()
   # Ajoutez votre propre commande Python :
   

Sortie du toplevel (output) :


   

+--------------------------------+-------------------------------+ | .. image:: .python-powered.png | .. image:: .ace-powered.png | | :scale: 120 % | :scale: 40 % | | :align: right | :align: left | | :alt: Python powered :) | :alt: ACE powered :) | | :target: http://python.org | :target: http://ace.c9.io/ | +--------------------------------+-------------------------------+ ------------------------------------------------------------------------------ .. seealso:: Skulpt (`ici aussi `_) `Skulpt `_ est une autre implémentation en *JavaScript* de Python. Il propose aussi des modules simples pour manipuler des canvas HTML pour avoir des interfaces graphiques ! SymPy Live (`live.SymPy.org `_) 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. À propos -------- Comme dans `.special.rst <_sources/.special.txt>`_, j'utilise la directive ``.. raw:: html`` pour **embarquer du code** ``HTML`` dans la page produite par **Sphinx**. :navy:`C'est simple, c'est propre.` Libraire standard ~~~~~~~~~~~~~~~~~ En utilisant un débogueur JavaScript, comme `FireBug `_, ou les "outils développeurs" dans Firefox ou Chromium, il est possible de voir les appels aux fichiers de la librairie Python. Ils sont stockés dans ce dossier `<_static/python/lib/python2.7/>`_ :) Autres pages ~~~~~~~~~~~~ Ce terminal est aussi disponible ici `<_static/python/index.html>`_, mais avec l'apparence la plus simpliste. Hébergements ~~~~~~~~~~~~ Les scripts **Javascript** utilisés sur mes pages sont hébergés sur ce dépot *git* : `lbesson/web-sphinx-scripts `_, sur **bitbucket.org**. Copyrights ~~~~~~~~~~ Le **toplevel** Python embarqué ici est implémenté en **Javascript**, et vient du projet Empythoned (voir cette page `github.com/replit/empythoned `_) pour plus de détails. .. (c) Lilian Besson, 2011-2021, https://bitbucket.org/lbesson/web-sphinx/