Leçon 4 — Commandes et calculs
v0.7.76 : 100 commandes supplémentaires (texte, nombres, listes, dates, validation, couleur, confirmation, export…) sont décrites dans la leçon 8.
Commandes disponibles dans l'interpréteur du Studio
| Commande | Rôle |
|---|---|
message "Texte" | Afficher une notification (types, fenêtre modale et confirmation : message.info, message.modal, message.confirmer… voir la leçon 9) |
set "Cible" "Valeur" | Définir la valeur d'un composant |
increment "Cible" 1 | Ajouter un incrément numérique |
decrement "Cible" 1 | Soustraire un incrément numérique |
show "Cible" | Afficher un composant |
hide "Cible" | Masquer un composant |
toggle "Cible" | Basculer sa visibilité |
calculate "Résultat" "A" * "B" | Calculer avec deux champs |
ajouter "Cible" "texte" (append) | Ajouter du texte à la fin d'un champ |
effacer "Cible" (clear) | Vider un champ |
retirer "Cible" (backspace) | Supprimer le dernier caractère |
evaluer "Expression" "Résultat" [silencieux] (evaluate) | Calculer une expression (+ − × ÷ ^ % ( ), sin cos tan sqrt log ln abs, π, e ; angles en degrés) |
toutes les 100 ms (every) | En-tête de minuterie : les commandes qui suivent se répètent |
si "Cible" >= 100 alors ouvrir "Interface" | Condition sur une valeur |
circuler "Cible" / arreter | Texte en circulation / arrêt de la minuterie |
avancer "Cible" 40 (advance) | Déplacer le composant vers la droite de 40 px (10 px par défaut) |
reculer "Cible" 40 (retreat) | Déplacer vers la gauche |
monter "Cible" 40 / descendre "Cible" 40 (up / down) | Déplacer vers le haut / le bas |
deplacer "Cible" dx dy (move) | Déplacer de dx, dy pixels (valeurs négatives permises) |
placer "Cible" x y (place) | Placer le composant à la position x, y |
quand touche espace (on key space) | En-tête d'événement clavier : touches espace, droite, gauche, haut, bas, entree, echap ou une lettre (a) |
aller "Interface" (go) | Aller directement à une interface (sans empiler d'historique) : connexion, déconnexion, accueil |
stocker "clé" "Cible" (store) | Mémoriser la valeur d'un composant (conservée dans le navigateur) |
lire "clé" "Cible" ["défaut"] (recall) | Relire une valeur mémorisée dans un composant ou une variable $nom (vide si la clé n'existe pas) |
quitter (return) | Arrêter le script de l'événement en cours (ex. si "nom" = "" alors quitter) |
audio jouer / pause / basculer / arreter | Lecture, pause, lecture⇄pause, arrêt du lecteur audio |
audio volume 50 (ou +10, -10) | Volume de 0 à 100 (absolu ou relatif) |
audio avancer 10 / reculer 10 / position 30 | Se déplacer dans le morceau (secondes) |
audio source "Cible" | Choisir le morceau : un sélecteur de fichier (MP3, WAV, OGG…), un composant contenant une URL / data: ou une URL |
audio boucle oui | Répéter le morceau |
requete "https://…" "$reponse" (http, fetch) | Requête HTTP GET (Internet, serveur avec CORS) ; la réponse est placée dans un composant ou une variable. Le script attend la réponse avant la commande suivante |
extraire "$reponse" "chemin.json" "$cible" (json) | Lire une valeur dans un JSON : current.temperature_2m, results.0.name (vide si absente) |
associer "$code" "$cible" "0:Clair|1,2:Nuageux|51-57:Bruine|*:Autre" (map) | Traduire une valeur par table (valeurs, listes 1,2, plages 51-57, * = défaut) |
Lecture de l'état audio : {audio.temps}, {audio.duree}, {audio.progression} (0–100), {audio.etat}, {audio.volume}, {audio.titre} — par exemple set "barre" "{audio.progression}" dans un bloc toutes les 250 ms.
Dans une adresse web, {ville:url} insère la valeur d'un composant encodée (accents, espaces). Dans un champ de saisie, la touche Entrée peut déclencher quand touche entree.
Variables : $nom est une mémoire temporaire partagée par tous les scripts. Dans les textes (message, set, ajouter, clés), {composant} ou {$variable} est remplacé par sa valeur. À droite d'un si, un composant ou une variable écrit sans guillemets est comparé comme du texte (si "saisie" != $mdp alors …).
Position lisible dans les scripts : "brique.x", "brique.y", "brique.largeur", "brique.hauteur" (ex. si "brique.x" >= 700 alors message "Arrivée !"). Le composant ne sort jamais de la page, et sa position d'origine est rétablie en quittant l'aperçu.
Les opérateurs de calculate sont +, -, * et /.
Exemple : calcul de ligne
quand clic
calculate "Total de ligne" "Prix unitaire" * "Quantité"
message "Total de ligne mis à jour"Exemple : panneau d'aide
quand clic
toggle "instructions"Exemple : une touche de calculatrice
quand clic
ajouter "panneau_expression" "7"
evaluer "panneau_expression" "panneau_resultat" silencieuxVoir examples/calculatrice-scientifique.berkios.json : chaque touche contient son code.
Limites
Il n'existe pas ici de fonctions définies par l'utilisateur ni d'exécution JavaScript générale (les variables $nom et, depuis la v0.7.76, repeter et sauf-si existent). N'inventez pas de commandes : vérifiez la syntaxe prise en charge par le moteur.
Cette page en Markdown · llms.txt · documentation complète pour les IA