Introduction

Installation

Limitations du protocole "file"

Questions fréquemment posées

Syntaxe, mots-clés et fonctions intégrées

Distribution standard

Implémentation de import

Packages Brython

Interface avec le navigateur

Introduction - API DOM
Créer un document
Accéder aux éléments
Attributs, propriétés et méthodes

Evénements
Evénements souris
Evénements clavier
Evénements focus
Evénements pour glisser-déposer

Chaine de requête

Objets et librairies Javascript

Modules intégrés propres à Brython

browser
browser.aio
browser.ajax
browser.html
browser.local_storage
browser.markdown
browser.object_storage
browser.session_storage
browser.svg
browser.template
browser.timer
browser.webcomponent
browser.websocket
browser.worker

Widgets
browser.widgets.dialog
browser.widgets.menu

interpreter
javascript

Travailler avec Brython

Options de la fonction brython()
Test et débogage
Deployer une application

Recettes

Salut !
Insérer du contenu dans un élément
Mise en forme HTML (gras, italique...)
Table HTML
Attacher / détacher des événements
Gérer la sélection d'options dans un SELECT
Glisser-déposer
Obtenir le contenu d'un élément
Lire le contenu d'un fichier
Stocker des objets localement
Exemple de onmouseover
 

Limitations du protocole "file"

Les fichiers HTML présents sur un ordinateur peuvent être chargés dans le navigateur de deux façons différentes:

  • par le menu Fichier / Ouvrir du navigateur : dans ce cas le protocole utilisé est "file"
  • en lançant un serveur web (par exemple celui de la distribution standard Python : python -m http.server) et en entrant l'adresse du fichier dans la barre d'adresse du navigateur (par exemple localhost:8000:app.html). Le protocole correspondant est "http" (ou "https")

Pour l'essentiel, ces deux solutions sont équivalentes. La première comporte néanmoins une limitation sur plusieurs points:

  • on ne peut pas charger des scripts externes par la syntaxe <script type="text/python" src="test.py"></script>
  • il n'est pas possible d'importer des modules ou des packages situés dans le même dossier que l'application
  • on ne peut pas ouvrir et lire des fichiers avec open()

La raison est que ces deux fonctionnalités reposent sur des appels Ajax pour récupérer le code source des modules / packages, ou le contenu du fichier; or les navigateurs ne permettent pas d'effectuer des appels Ajax quand le protocole est "file".

Avec ce protocole, il est toujours possible d'importer les modules de la bibliothèque standard si le fichier brython_stdlib.js est chargé dans la page, ainsi que les packages Brython, ou les modules qui ont été regroupés dans le fichier brython_modules.js créé par la commande python -m brython --modules (voir la section Implémentation de import).