Les commandes des scripts

Home

Dernière mise à jour :

Version

Cette documentation s'applique à Perceval v.3.0.3.

Généralités

Les commandes permettent de produire des évènements (ex: affichage, production sonore...) pour chaque trial. Toutes les commandes sonr optionnelles et dépendant du plan d'expérience.

Voir informations générales sur les commandes.

Liste des commandes

Chaque clé de la section définit une commande.

Commandes communes entre PERCEVAL et LANCELOT

Commandes uniquement pour PERCEVAL

Commandes uniquement pour LANCELOT

Commandes communes entre PERCEVAL et LANCELOT

Syntaxe :

X10=BEGIN
X20=...
X30=REM je fais un commentaire pour comprendre la suite
X40=...
X50=END

Commandes uniquement pour PERCEVAL

Syntaxe :

Xn=PLAY_SOUND<fichier><VOLUME attenuation><TIME_BEGIN begin><TIME_BEGIN end><DURATION duration>

<fichier> est le nom du fichier wave (impérativement Windows PCM)

<VOLUME attenuation> définit le volume sonore (attenuation est impérativement une valeur négative ou nulle et correspond à l'atténuation en dB à apporter sur le fichier audio originel)

<TIME_BEGIN begin> définit la position temporelle initiale de production du fichier audio (begin est impérativement une valeur positive ou nulle et inférieure à la durée du fichier audio)

<TIME_END end> définit la position temporelle finale de production du fichier audio (end est impérativement une valeur supérieure à begin et inférieure à la durée du fichier audio)

<DURATION duration> définit la durée de production du fichier audio (duration est impérativement une valeur inférieure à la durée du fichier audio)

Remarque : <TIME_BEGIN begin>, <TIME_END end> et <DURATION duration> sont reliées par la relation :
duration=end - begin

PLAY_SOUND

Figure 1: paramètres de la commande Perceval : PLAY_SOUND

Syntaxe :

Xn=DISPLAY_TEXT<texte>

<texte>définit la chaîne de caractères à afficher. Il est possible de faire appel aux TRIAL_DATA.

Exemples :

X20=DISPLAY_TEXT <#1> (voir exemple)
X50=DISPLAY_TEXT <vrai ou faux>

Syntaxe :

Xn=DISPLAY_FILEBMP <fichier.bmp>

<fichier.bmp> définit le nom du fichier bitmap à afficher. Il est possible de faire appel aux TRIAL_DATA.

Syntaxe :

Xn=CLEAR_SCREEN <color>

<color> définit la couleur d'effacement.

Syntaxe :

Xn=WAIT <ms>

<ms> définit la durée d'attente. Il est possible de faire appel aux TRIAL_DATA ou à la variable calculée $WAVE_DURATION.

Syntaxe :

Xn=GET_INPUT <DELAY ms>

<DELAY ms> définit le délai de réponse maximal autorisé au sujet. Il est possible de faire appel aux TRIAL_DATA. Si le délai n'est pas spécifié, l'attente de réponse est "inifinie".

Commandes uniquement pour LANCELOT

Syntaxe :

Xn=PLAY_SOUND <fichier><SLEEP yes/no>

<fichier> est le nom du fichier wave (impérativement Windows PCM)

<SLEEP yes/no> permet ou non (resp yes, no) de bloquer (sleep) le dispositif pendant la production sonore.

Syntaxe :

Xn=SHOW_TEMPLATE <fichier>

<fichier> est le nom d'une page HTML.

Syntaxe :

Xn=START_CHRONO <WITHCOMMAND ID=nn>

<WITHCOMMAND ID=nn>est l'identificateur d'une commande. Le temps de réponse sera calculée entre le premier appel à cette commande et la validation des réponses par l'auditeur. Ce temps est approximatif (+/- 100 ms).

Syntaxe :

Xn=SHOW_MARK <mark1><mark2><mark3>...

<mark> est une marque cachée dans la page HTML. Il est possible de faire appel aux TRIAL_DATA ou à des variables calculées.

Syntaxe :

Xn=REPLACE_STRING <string1a string1b><string2a string2b>

<string> est une chaîne de caractères. Il est possible de faire appel
- aux TRIAL_DATA qui seront convertis
- à des variables calculées qui prendront leur valeur

Xn=REPLACE_STRING <@AGE@ #AGE><@SEXE@ #SEXE><@TITRE@ $TITLE_GROUP>

Pour éviter les remplacements intempestifs, utilisez des séquences de caractères non ambigues dans le texte de la page HTML comme, par exemple, @AGE@. Si vous utilisez des séquences ambigues, comme par exemple err, le remplacement de err par ERREUR s'opérera sur erraillé (si ce mot est contenu dans la page) et erraillésera transformé en ERREURaillé!

REPLACE_STRING Example

Figure 2:effet de la commande Lancelot : REPLACE_STRING <@AGE@ #AGE><@SEXE@ #SEXE><@TITRE@ $TITLE_GROUP>

Syntaxe :

Xn=GET_RESPONSES <RESPONSE_BLOCK bloc><NON_RESPONSE_AUTHORISED yes/no>

<RESPONSE_BLOCK bloc> définit le bloc de réponses attendues. Le bloc doit être cohérent avec les définitions des items de réponses définis dans les SETTINGS.

blocdoit avoir la forme suivante :

5-10 items de réponses de 5 à 10
51 8 15> items de réponses de 5, 8 et 15

Syntaxe :

Xn=SHOW_NEXT_TRIAL_MARK

Pour rendre cette commande opérationnelle, il faut que la page HTML courante possède la commande cachée :

<A NAME="COMMAND::NEXT_TRIAL"> Suivant </A>

Les commandes interactives LANCELOT à l'intérieur d'une page HTML

La documentation ci-dessous nécessite un minimum de connaissance sur la syntaxe HTML.

Pour plus d'information, consulter :

Syntaxe des commandes interactives

Il est possible d'insérer des commandes à l'intérieur d'une page HTML. Pour cela, lors de la composition de la page, il suffit de créer un lien hypertexte et de préciser que la cible est :

COMMAND::NOM_DE_LA_COMMANDE <param1> <param2>

Exemple :

Lancelot Command inserted in HTML

Figure 3: l'image du haut-parleur contient un lien hypertexte (code HTML : <AHREF=...></A>)
qui pointe sur une commande interactive PLAY_SOUND <#wave>¨...

Toutes les commandes Lancelot décrites ci-dessus peuvent être insérées dans une page HTML de la sorte.

Propriétés des commandes interactives

Afin de pouvoir identifier ces commandes qui sont déclenchés de façon interactive par l'utilisateur (et non séquentiellement comme dans la section des commandes), il est possible de rajouter des propriétés. Ces propriétés doivent s'écrire de la sorte:

{ID=ii,RETRIGGERABLE=nn}COMMAND::NOM_DE_LA_COMMANDE <param1> <param2>

Exemple :

Lancelot Command inserted in HTML

Figure 3: l'image du haut-parleur contient un lien hypertexte (code HTML : <AHREF=...></A>)
qui pointe sur une commande interactive PLAY_SOUND <#wave>¨... avec les propriétés {ID=100,RETRIGGERABLE=3}

Les propriétés illustrés dans l'exemple, permettent:

Liste complémentaires des commandes interactives Lancelot

Syntaxe HTML:


<P><A HREF="COMMAND::INSTRUCTIONS_READ">Cliquer ici pour commencer</A><P>

Le lien vers COMMAND::INSTRUCTIONS_READ doit être impérativement inséré dans la page des instructions aux sujets, ceci afin de commencer le test.

Syntaxe HTML:


<P><A HREF="COMMAND::NEXT_TRIAL">Trial suivant</A><P>

Le lien vers COMMAND::NEXT_TRIAL peut être inséré dans une page HTML pour passer au trial suivant.

Cette solution peut être génante car elle offre la possibilité au sujet de passer directement au trial suivant sans accomplir les épreuves du trial. La solution alternative est d'insérer la commande cachée sous forme d'ancre (bookmark):

<P><A NAME="COMMAND::NEXT_TRIAL">Trial suivant</A><P>
(la balise <A NAME= indique une ancre, à ne pas confondre avec <A HREF= qui indique un lien)

L'avantage des ancres réside dans le fait qu'elle ne sont pas visibles, ni activables. Pour activer au bon moment (à la fin du trial), la commande COMMAND::NEXT_TRIAL, il suffit de faire appel à la commande SHOW_NEXT_TRIAL_MARK qui va transformer l'ancre en lien.

Les réponses sont fournies par un formulaire HTML. Il s'agit d'un ensemble de champs (boutons radio, cases à cocher, lignes de texte, champs de texte...) qui se termine par un bouton de validation.

Syntaxe HTML:


<FORM ACTION="COMMAND::POST_RESPONSES" METHOD="post">...</FORM>
L'action du formulaire vers COMMAND::POST_RESPONSES doit être impérativement inséré dans la page
<INPUT TYPE="RADIO" NAME="catégorie1" VALUE="value1">...
<INPUT TYPE="RADIO" NAME="catégorie1" VALUE="value2">...

Saisie par un radio bouton de la valeur d'une catégorie de réponse. Cette information doit être cohérente avec les RESPONSE_ITEM définis dans la section SETTINGS du script.

<INPUT TYPE="SUBMIT" VALUE="Valider">
</FORM>

HTML Form

Figure 4: principes de la saisie et validation des réponses avec un formulaire HTML

Syntaxe HTML:


<P><A HREF="COMMAND::FINISHED">Cliquer ici pour quitter</A><P>

Le lien vers COMMAND::FINISHED peut être inséré dans la page du message final.

Les marques cachées LANCELOT à l'intérieur d'une page HTML

Les marques cachées sont des ancres HTML qui deviennent visibles sous l'action de la commande SHOW_MARK.

Syntaxe des marques cachées

<A NAME="MARKHIDDEN::marque"></A>

marque peut être un appel auxTRIAL_DATA ou à des variables calculées

Exemples:


<B><I><FONT COLOR="#FF0000"><A NAME="MARKHIDDEN::$CORRECT1"></A></FONT></I></B>
qui prendra la forme "normal" sous l'action de la commande SHOW_MARK <$CORRECT1> (si $CORRECT1=normal)
SHOW_MARK

Figure 5: action de la commande SHOW_MARK sur les marques cachées