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

1.3. Premiers pas

Dans sa version actuelle, Loriot comporte quatre 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é selon l'encodage UTF8.

L'exemple ci-dessous 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("Cette application permet de calculer les volumes ");
aide("des parallélépipèdes rectangles et des sphères.");

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");

2. Fonctions de base

2.1. Fonction "page();"

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

Si aucun argument 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 arguments.

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 argument.

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 arguments.

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 arguments.

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.

2.5. Fonction "aide();"

Elle sert à créer une aide et prend un seul argument.

Facultative, elle peut être appelée plusieurs fois, auquel cas le texte nouvellement créé s'ajoute au précédent. Il est possible d'inclure, dans cette aide, des balises HTML pour la mise en forme des caractères.

Exemple :

aide("Cette <i>application</i> permet de <b>calculer</b> les volumes ");
aide("des <u>parallélépipèdes rectangles</u> et des sphères.");

3. Fonctions complémentaires

3.1. Fonction "guide();"

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

Facultative, elle est appelée une seule fois pour chaque page de calcul. Comme pour l'aide, 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 argument.

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");

4. Fonctions pour les dossiers

4.1. Fonction "dossier();"

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

Si aucun argument 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 arguments 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 arguments 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.