À quoi ça ressemble
<h2>Clients à relancer</h2>
<%
Script;
var Q, Nb;
Begin
Nb := '0';
SqlAssignDb(Q, Vars('Db'));
SqlQuery(Q, 'select nom, ville, solde from clients where solde > :seuil');
SqlParam(Q, 'seuil', '1000');
If SqlExec(Q) Then
If SqlFirst(Q) Then
Repeat
EchoChar('<p>' + HtmlEncode(SqlField(Q, 'nom')));
EchoChar(' — ' + FormatFloat('#,##0.00', SqlField(Q, 'solde')) + '</p>');
Nb := Nb + 1;
Until Not SqlNext(Q);
SqlFree(Q);
EchoChar('<p>' + Nb + ' client(s)</p>');
End;
%>
Une syntaxe de la famille Pascal : Begin / End,
If … Then … Else, := pour l'affectation. Rien à
apprendre de plus pour lire du Joodo si vous connaissez déjà un langage
impératif.
Le Script; en tête indique un bloc qui s'exécute là où il est
écrit, dans le flux de la page. Le bloc principal d'une page, lui,
s'exécute avant tout le HTML : c'est là qu'on lit la requête et qu'on prépare
les données, pas qu'on affiche.
Les quatre idées à retenir
Le HTML d'abord
Une page est du HTML dans lequel on insère du code, et non un programme qui fabrique du HTML. La mise en page reste lisible telle quelle.
Un seul type
Tout est chaîne de caractères. Les nombres, les dates et les booléens sont des chaînes interprétées selon le contexte. Pas de déclaration de type, pas de conversion à écrire.
Des structures par clés
A[3] et C.nom ne sont pas des tableaux ni des
enregistrements, mais des clés composées. Un objet JSON entier s'aplatit
ainsi en une seule opération.
292 fonctions intégrées
SQL, fichiers, dates, chaînes, JSON, HTTP, FTP, courriel, images, PDF, empreintes. La bibliothèque couvre ce qu'on écrit réellement dans une application de gestion.
Un exemple plus court
Aplatir une réponse JSON et la parcourir tient en quatre lignes :
jsonToObject(HttpGet('https://api.exemple.fr/clients'), Liste);
For I := 0 To Liste - 1 Do
EchoChar(Liste[I].nom + ' (' + Liste[I].ville + ')<br>');
jsonToObject range le nombre d'éléments dans Liste et
chaque champ sous une clé composée : Liste[0].nom,
Liste[0].ville, et ainsi de suite. La même fonction charge un objet
seul ou une collection entière.
Pour aller plus loin
La prise en main vous fait écrire votre première page et récapitule les quelques points qui surprennent au début. Le manuel est la référence complète : syntaxe, structures de contrôle, modèle de données, et les 292 procédures et fonctions avec leurs paramètres et leur résultat.