Créez vos pages de calcul...
avec Loriot!

1. Présentation

1.1. Introduction

Loriot est un générateur de pages de calcul pour site web. Il permet de créer un ensemble de pages de calcul et, lorsqu'elles sont nombreuses, de les ranger dans une arborescence de dossiers.

Exemple de réalisation : http://eleydet.free.fr/BTS/applications/jshertz/

1.2. Téléchargement

VersionDateFichier compressé
1Juin 2015loriot_v1.zip
2Janvier 2016loriot_v2.zip
3Août 2016loriot_v3.zip
4Juillet 2017loriot_v4.zip
5Février 2021loriot_v5.zip

1.3. Premiers pas

Dans sa dernière version, Loriot comporte cinq fichiers :

Ces fichiers étant placés dans un même dossier, l'application démarre en ouvrant le fichier "index.html" avec un navigateur (Mozilla Firefox...).

La création de pages de calcul s'effectue à l'aide de fonctions placées dans le fichier "donnees.js". Ce fichier s'ouvre avec un éditeur de texte. Il doit être enregistré avec l'encodage UTF8.

Un exemple de ce que peut contenir le fichier "donnees.js" est proposé ci-dessous. Il permet de créer une page de calcul pour déterminer le volume d'un parallélépipède rectangle de dimensions a, b et c. Attention à bien respecter la syntaxe! S'il manque un guillemet ou un point-virgule, l'application ne fonctionne pas.

page();
entree("a");
entree("b");
entree("c");
formule("s=a*b");
formule("v=s*c");
resultat("v");

Comme le montre cet exemple, il est possible d'écrire des formules intermédiaires. On calcule d'abord la surface s de la base, puis le volume v en multipliant la base par la hauteur. Il est également possible d'afficher plusieurs résultats. On définit autant de pages de calcul qu'on le souhaite. L'exemple ci-dessous en propose une deuxième, permettant de calculer le volume d'une sphère.

page();
entree("a");
entree("b");
entree("c");
formule("s=a*b");
formule("v=s*c");
resultat("v");

page();
entree("r");
formule("s=4*PI*r*r*r/3");
resultat("v");

Une aide peut être mise en place. Elle sera disponible en cliquant sur le bouton "Aide" de la page d'accueil.

aide("aide.html");

page();
entree("a");
entree("b");
entree("c");
formule("s=a*b");
formule("v=s*c");
resultat("v");

page();
entree("r");
formule("s=4*PI*r*r*r/3");
resultat("v");

On notera que certaines variables ne peuvent pas être employées dans les formules. Il s'agit principalement des noms des fonctions : sin, cos ... U, R, UN.

2. Fonctions de base

2.1. Fonction "page();"

Elle sert à créer une nouvelle page de calcul et prend, au maximum, deux paramètres.

Si aucun paramètre n'est défini, l'application prend les valeurs par défaut. Dans l'exemple ci-dessous, il est nécessaire de créer le sous-dossier "icones" pour y placer l'image "icone_para.png".

page("Volume du parallélépipède","icones/icone_para.png");

2.2. Fonction "entree();"

Elle sert à créer une nouvelle entrée et prend un, deux ou trois paramètres.

Exemple :

entree("a","longueur","mm");

Il est possible de définir plusieurs unités, séparées par les caractères "||". Dans ce cas, il faut indiquer le coefficient multiplicateur pour le changement d'unité.

Exemple :

entree("a","longueur","mm||cm*10||dm*100");

Dans cet exemple, la valeur demandée par l'application s'exprime normalement en mm. Il faut multiplier cette valeur par 10 si l'utilisateur choisit les cm.

Remarque :

entree("s","aire","mm<sup>2</sup>");
entree("v","volume","mm³||cm³*0.001");

Si une seule unité est proposé, il est possible d'utiliser des balises HTML pour écrire les exposants. Sinon, il est préférable de les éviter.

2.3. Fonction "formule();"

Elle sert à créer une nouvelle formule et prend un seul paramètre.

Comme le montre l'introduction, il est possible d'entrer autant de formules qu'on le souhaite. Elles doivent s'appuyer sur les variables définies avec la fonction "entree()".

Exemple :

formule("s=a*b");
formule("v=s*c");

Symboles utilisables :

Fonctions acceptées :

La fonction "calculer_ordonnee();" permet de programmer les formulaires basés sur des tableaux de valeurs. Pour l'appeler il faut, au préalable, définir le tableau en question. Comme le montre l'exemple ci-dessous, cette fonction prend deux paramètres.

tableau_y=[
[0,0.5],
[1,1.5],
[2,2],
[3,2.2],
];
entree("x");
formule("y=calculer_ordonnee(x,tableau_y)");
resultat("y");

Dans cet exemple, si x est égal à 2, alors y prend la valeur 2. Si x est égal à 1.5, alors y prend une valeur comprise entre 1.5 et 2.

2.4. Fonction "resultat();"

Elle sert à créer un nouveau résultat et prend un, deux ou trois paramètres.

Elle s'utilise de la même manière que la fonction "entree()".

Exemple :

resultat("a","longueur","mm||cm*0.1||dm*0.01");

Dans cet exemple, la valeur retournée par l'application s'exprime normalement en mm. Il faut multiplier cette valeur par 0.1 si l'utilisateur choisit les cm.

3. Fonctions complémentaires

3.1. Fonction "guide();"

Elle sert à placer dans la page de calcul une information complémentaire et prend un seul paramètre.

Facultative, elle est appelée une seule fois pour chaque page de calcul. Il est possible d'inclure des balises HTML pour la mise en forme des caractères.

Exemple :

guide("Attention aux unités!");

3.2. Fonction "image();"

Elle sert à placer dans la page de calcul une image complémentaire et prend un seul paramètre.

Facultative, elle est appelée une seule fois pour chaque page de calcul. L'image associée à la page de calcul peut être placée dans un dossier. Il faut alors le préciser dans l'URL.

Exemple :

image("images/figure1.png");

3.3. Fonction "aide();"

Facultative, elle sert à créer un lien vers une page d'aide. Elle est appelée une seule fois et prend un paramètre, l'adresse de la page.

Exemple :

aide("aide.html");

4. Fonctions pour les dossiers

4.1. Fonction "dossier();"

Elle sert à créer un nouveau dossier et prend, au maximum, deux paramètres.

Si aucun paramètre n'est défini, l'application prend les valeurs par défaut.

Exemple :

dossier("Calcul des surfaces","images/dossier_surface.png");

Lorsqu'elles sont nombreuses, les pages de calcul sont rangées dans les dossiers. Ces derniers peuvent être organisés en arborescence.

Normalement, il est inutile d'associer une image au dossier racine. En effet, le contenu de ce dossier s'affiche directement au lancement de l'application. Par contre, il est utile de définir le texte qui sera affiché dans le bandeau supérieur.

4.2. Fonction "liens_dossiers();"

Elle sert à définir, dans le dossier nouvellement créé, les liens vers les dossiers et prend comme paramètres leurs numéros.

Le premier dossier défini dans le fichier "donnees.js" est le dossier racine, celui qui s'affiche en démarrant l'application. Il porte le numéro 0. Le deuxième dossier porte le numéro 1, le troisième le numéro 2 et ainsi de suite.

Exemple :

dossier("Calcul des surfaces","images/dossier_surface.png");
liens_dossiers(1,2,3);

4.3. Fonction "liens_pages();"

Elle sert à définir, dans le dossier nouvellement créé, les liens vers les pages de calcul et prend comme paramètres leurs numéros.

De la même manière que pour les dossiers, la première page de calcul définie dans le fichier "donnees.js" porte le numéro 0, la deuxième page le numéro 1 et ainsi de suite.

Exemple :

dossier("Calcul des surfaces","images/dossier_surface.png");
liens_pages(1,2,3);

5. Copyright

Copyright (C) 2015 Eric Leydet.

Ce programme est libre, vous pouvez le redistribuer et/ou le modifier selon les termes de la Licence Publique Générale GPL publiée par la Free Software Foundation.

Ce programme est distribué car potentiellement utile, mais SANS AUCUNE GARANTIE, ni explicite ni implicite, y compris les garanties de commercialisation ou d'adaptation dans un but spécifique. Reportez-vous à la Licence Publique Générale GPL pour plus de détails.

Pour une question, un commentaire ou une proposition, vous pouvez contacter l'auteur à l'adresse eleydet@free.fr.