Version

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

Interactions avec 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 d'exécution
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
 

Options d'exécution

Un certain nombre d'options sont disponibles pour personnaliser l'exécution des scripts. Ces options peuvent être définies au niveau de la page HTML, ou par script.

Définition des options

La déclaration d'options valables pour toute la page se fait par les attributs d'une balise spécifique <brython-options>. Cette balise doit être placée de préfence dans la partie <body> du document plutôt que <head>.

Par exemple, pour définir les options debug et cache:

<brython-options debug="1" cache="true">
</brython-options>

Pour définir une option pour un script spécifique, il faut la définir dans la balise <script>:

<script type="text/python" debug="2">

Options disponibles seulement au niveau page

ids

par défaut, tous les scripts de la page sont exécutés. Cette option spécifie la liste des identifiants des scripts à exécuter (attribut id de la balise) sous forme d'une liste séparée par des espaces.

Si la chaine est vide, aucun script n'est exécuté.

<brython-options ids="scriptA scriptB"></brython-options>

indexedDB

indique si le programme peut utiliser la base indexedDB pour stocker une version précompilée des modules situés dans brython_stdlib.js ou brython_modules.js. Vaut true par défaut.

Options disponibles au niveau page ou par script

Une option définie pour un script a priorité sur une option définie au niveau de la page.

args

équivalent des arguments passés en ligne de commande, disponibles dans le programme par sys.argv. Les valeurs sont des chaines de caractères.

cache : utilisation du cache du navigateur

si la valeur est true, les appels Ajax pour importer des modules, charger des scripts externes par <script src="foo.py"> ou lire des fichiers avec open() utilisent le cache du navigateur. Vaut false par défaut

debug : le mode de débogage

  • 0 (valeur par défaut) : aucun débogage. A utiliser quand l'application est au point, cela accélère légèrement l'exécution
  • 1 : les messages d'erreur sont imprimés dans la console du navigateur (ou vers la sortie spécifiée par sys.stderr)
  • 2 : la traduction du code Python en code Javascript est affichée dans la console
  • 10 : la traduction du code Python et des modules importés est affichée dans la console

pythonpath

une liste, séparée par des espaces, de chemins dans lesquels chercher les modules importés

static_stdlib_import

booléen qui indique si, pour importer des modules ou des paquetages de la bibliothèque standard, on se sert du tableau de correspondance statique du script stdlib_paths.js. Vaut true par défaut

La fonction brython(options)

Dans les versions de Brython antérieures à 3.12, les options ne pouvaient être définies que pour l'ensemble des scripts de la page, et étaient passées comme argument de la fonction brython() appelée explicitement au chargement de la page par la syntaxe

<body onload="brython({debug: 2})">

Cette syntaxe reste utilisable dans la version 3.12.

Si la page définit une balise <brython-options>, les valeurs passées à la fonction brython() remplacent celles de la balise.