ESTHÉTIQUE
SIMPLICITÉ
EFFICACITÉ

Aneartiste sur deviantartAneartiste sur twitter Aneartiste sur scoop-it

Installation de Brython 3.8

Un Python dans l'HTML

Si vous vous sentez plus à l'aise avec le langage Python qu'avec Javascript, vous avez peut-être déjà rêvé d'intégrer celui-ci au sein de vos pages html. Il existe trois manière de procéder. La plus classique fonctionne coté serveur et nécessite un interpréteur Python disponible (Django entre autres). Cela se passe ensuite un peu comme pour le PHP, l'éxécution du code fabrique du html qui sera ensuite envoyé au navigateur client. Pour les deux suivantes, le code est exécuté sur la machine cliente, soit à l'aide d'un interpréteur (Brython, Skulpt, Trancrypt ou d'autres...), soit à l'aide d'un convertisseur (par exemple : JavaScripthon. Dans ce dernier cas, le code est convertit en javascript auparavant. Pour concrétiser la démarche, j'ai choisi Brython qui est particulièrement facile à mettre en œuvre. Il s'agit d'un interpréteur Python, codé en javascript, dans le but de remplacer le javascript des pages web par du code Python 3. Étant interprété, il ne saura pas être aussi rapide que du code natif, et étant encore jeune toutes les commandes n'y sont pas totalement implémenté, mais il existe nombre de cas ou il sera suffisant.

Brython bleu,PythonPython

« Le nombre de femmes que j'aurais eues si je n'avais pas un python chez moi, c'est fou. L'embarras du choix, c'est l'angoisse. »
—Romain Gary

Il y a plusieurs façon de l'installer. Soit en téléchargeant directement la demo sur github, soit en ligne de commande (mode console). Sous Linux, par exemple, vous devrez entrer les commandes suivantes: sudo apt install python3-pip si PyPI (le gestionnaire de paquets) n'est pas présent. Puis pip3 install brython, et enfin, dans un répertoire vide, python3 -m brython --install. Si cette procédure ne fonctionne pas, télécharger l'archive d'installation sur pypi.org, puis installez Brython en mode console depuis ce répertoire (sous Linux : sudo python3 setup.py install. Dans le dossier demo, vous trouverez les deux fichiers brython.js et brython_stdlib.js, c'est à dire l'interpréteur Brython lui-même et sa librairie standard. Vous y dénicherez également une page demo.html contenant plusieurs scripts d'exemples pleinement fonctionnels. Si vous avez auparavant installé un serveur local (Wamp ou autres) et que vous placez le source code à la racine de celui-ci, vous aurez également accès à l'éditeur Brython avec l'url: http://localhost/brython/www/tests/editor.html. Pour pouvoir insérer du script Python dans vos pages web il suffira d'ajouter en ressources les fichiers de l'interpréteur en javascript et les lier dans le header de la page
<script
src="/brython.js">
</script>

puis d'ajouter le script comme suit :
<script
type="text/python"
src="test.py">
</script>

Logo Python brython,Brython logoBrython logo

« Il n'y a que deux sortes de langages de programmation: ceux dont les gens disent toujours du mal et ceux que personne n'utilise. »
—Bjarne Stroustrup

À noter que pour optimiser les performances des développements, l'outil Brython offre la possibilité de générer un nouveau fichier "brython_modules.js" qui ne contienne que le strict nécessaire. Pour cela, depuis une console, placez vous dans le dossier racine de votre projet, puis exécutez la commande suivante : python -m brython -modules; il ne reste alors plus qu'à placer le fichier généré à la racine du projet, puis à remplacer la ligne du header dans les fichiers HTML :
<script
type="text/javascript"
src="brython_stdlib.js">
</script>

par la ligne :
<script
type="text/javascript"
src="brython_modules.js">
</script>

Pour pimenter un peu cet article, je fais un lien vers l'article polémique de Sam & Max qui a le mérite de poser la question des "Python-like". Les différentes réactions sont intéressantes à lire, y compris celle de Pierre Quentel, l'auteur de Brython, que je cite ici : « Je suis d’accord sur le fond : les langages intermédiaires entre Python et Javascript comme RapydScript ou PythonJS (d’ailleurs abandonné) n’ont aucune chance de succès, les développeurs Python veulent du “vrai” Python. L’objectif de l’équipe Brython est bien d’aller vers 100% de compatibilité avec Python, en tout cas pour tout ce qui a du sens dans un navigateur (on oublie l’écriture de fichiers). Qu’on n’y soit pas encore, c’est certain, mais au stade où on en est il faut un peu se creuser la cervelle pour trouver des exemples qui ne marchent pas. » Des informations complémentaires sont disponibles sur brython.info.


publié le 04/12/2019, à 17h39 par Frédéric Schäfer

Précédentsuivant