Aller au contenu
Korben, roi d’internet, logo bébé avec des lunettes en mode thug life

Comment exécuter du Python dans une page web ?

Bon, le JavaScript vous voyez ce que c’est. C’est un langage interprété qui permet de lancer du code directement via les pages web que nous consultons.

Cool.

Bon, et maintenant si je vous disais qu’on peut faire exactement la même chose, mais en Python ?

Vous me dites : SORCELLERIE !!!

Et vous avez raison. N’empêche que c’est totalement faisable grâce à Brython. Brython est une implémentation de Python 3 fonctionnant dans le navigateur, avec une interface pour les éléments DOM et les événements.

Voici un bout de code de ce que ça donne :

    <html>

        <head>
            <script type="text/javascript" src="/path/to/brython.js"></script>
        </head>

        <body onload="brython()">

            <script type="text/python">
            from browser import document, alert

            def echo(event):
                alert(document["zone"].value)

            document["mybutton"].bind("click", echo)
            </script>

            <input id="zone"><button id="mybutton">click !</button>

        </body>

    </html>

Il suffit donc de charger dans la page le fichier brython.js puis d’appeler la fonction brython() au chargement de la page pour ensuite pouvoir fourrer du code Python dans une balise script comme vous le feriez en JavaScript. Un tutoriel est dispo ici.

Magique non ?

Brython supporte la syntaxe de Python 3, y compris les compréhensions de listes, les générateurs, les métaclasses, les importations, etc. et de nombreux modules de la distribution CPython.

Brython dispose de bibliothèques pour interagir avec les éléments DOM et les événements, ainsi qu’avec les bibliothèques JavaScript existantes telles que jQuery, D3, Highcharts, Raphael, etc. Il prend en charge les dernières spécifications de HTML5/CSS3, et peut utiliser des cadres CSS comme Bootstrap3, LESS, SASS, etc.

Bref, c’est de la bonne.

D’ailleurs, si vous voulez voir ce que ça donne, il y a une belle page d’exemples avec code source ici.

Ça peut vous permettre surtout d’utiliser du code existant dans des pages web sans devoir tout vous retaper à réécrire en JS. Et ça, c’est beau.

Si vous voulez plus d’infos sur Brython, c’est par ici que ça se passe.


Les articles du moment