Conception

Partie ouverte

Une information alphanumérique, numérique ou d'autres types peut être attachée à n'importe quelle catégorie de réponse. Elle est enregistrée dans un champ distinct qui porte le même nom que la question d'origine auquel est préfixée la lettre « A ». La définition des parties ouvertes suit la syntaxe suivante : liste des codes de catégories de réponses séparée par des virgules, à gauche d'un signe égale (=), et suivi d'instructions décrivant la partie ouverte, à droite du signe égale.

Exemple de segment de partie ouverte :

    % Partie ouverte
    9 = C80

La syntaxe de l'instruction de partie ouverte utilise les codes suivants (selon le type de donnée attendu).

SyntaxeUtilisationExplication
Clargeurpartie ouverte alphanumériqueoù « largeur » est le nombre de caractères du champ
Nlargeur.décimales min maxpartie ouverte numérique« largeur » est le nombre de caractères du champ numérique;
« min » est la valeur minimale acceptée; ce peut être une constante, le nom d'une variable dans le questionnaire (p.ex., Q1 ou AQ1) ou une expression Perl entre accolades;
« max » est la valeur maximale acceptée; ce peut être une constante, le nom d'une variable dans le questionnaire (p.ex., Q1 ou AQ1) ou une expression Perl entre accolades
Mlargeurmot de passeoù « largeur » est le nombre de caractères du champ
Elargeuradresse de courrielpour ouvrir une boîte texte de 40 caractères qui est validée comme une adresse de courriel associée au code 4, utiliser : 4 = E40
UlargeurURLpour ouvrir une boîte texte de 40 caractères qui est validée comme une adresse Web associée au code 4, utiliser : 4 = U40. Les caractères « http:// » sont ajoutés au besoin et la validation suivante est effectuée : la chaîne doit contenir au moins un point mais pas d'arobas
Plargeurcode postal canadienvoir l'exemple donné pour le code E, ci-haut
Slargeurtrois premières lettres d'un code postal canadienvoir le code P
Tlargeurnuméro de téléphonedemande un numéro de téléphone à dix chiffres (les caractères non numériques sont effacés avant que le numéro ne soit reformatté comme suit : (xxx)xxx-xxxx)
D min maxdateles champs de date contiennent toujours huit caractères; le système attend une date formattée comme AAAAMMJJ et accepte les obliques, les espaces et les tirets entre les groupes de chiffres; si le navigateur accepte le code JavaScript, un clic dans la boîte de date appelle un calendrier avec lequel la personne peut choisir une date.
« min » est la valeur minimale acceptée; ce peut être une constante ou le nom d'une variable dans le questionnaire (p.ex., Q1 ou AQ1) ou une expression Perl entre accolades;
« max » est la valeur maximale acceptée; ce peut être une constante ou le nom d'une variable dans le questionnaire (p.ex., Q1 ou AQ1) ou une expression Perl entre accolades
H min maxheureles champs d'heure sont toujours présentés comme des champs textes de quatre caractères; le système attend une heure formattée comme HHMM et accepte les obliques, les espaces, les tirets et la lettre « h » entre les groupes de chiffres;
« min » est la valeur minimale acceptée; ce peut être une constante ou le nom d'une variable dans le questionnaire (p.ex., Q1 ou AQ1);
« max » est la valeur maximale acceptée; ce peut être une constante ou le nom d'une variable dans le questionnaire (p.ex., Q1 ou AQ1)
Ilargeuradresse IPpour ouvrir une boîte texte de 15 caractères qui est validée comme une adresse IP associée au code 4, utiliser : 4 = I15
Rlargeur lignes colonnes expression-régulièreexpression régulièrepour ouvrir une boîte texte de 7 caractères qui est validée comme un code de cours qui ressemble à XXX:XXX associé au code de réponse 4, utiliser :
4 = R15 1 15 [a-zA-Z0-9]{3}:[a-zA-Z0-9]{3}
Dans le cas de ce type de partie ouverte, le nombre de lignes et de colonnes doivent être précisés. Références aux expressions régulières : 1, 2, 3. 4, 5
Llargeur [condition]partie ouverte de liste déroulanteoù « largeur » est le nombre de caractères du champ; ceci affiche une partie ouverte de type C précédée d'une liste déroulante des valeurs déjà sauvegardées dans les données pour cette question. Une condition en syntaxe MYSQL utilisant toute donnée disponible peut être ajoutée entre crochets pour limiter les valeurs affichées dans la liste déroulante (par exemple, [Q1=1] ou [AQ1="ABC"]). À l'utilisation, une sélection dans la liste déroulante a préséance sur le texte saisi dans la boîte
Flargeurpartie ouverte permettant de téléverser un fichier vers le serveuroù « largeur » est le nombre de caractères du champ. L'instruction dièse # GENERAL UPLOAD PARMS définit la localisation des téléversements ainsi que les contraintes imposées à la taille et aux types de fichiers permis. Les fichiers sont enregistrés dans un tableau MysQL et, optionnellement, dans le répertoire de téléversement, et leur nom utilise les informations suivantes : le nom du projet, le _telkey, le nom de la question ouverte et l'extension du fichier téléversé au départ. Il ne peut pas y avoir plus d'une question de type F par page de questionnaire.
W il s'agit d'un modificateur de la partie ouverte C qui interprète la limite en termes de mots plutôt que de caractères dans une partie ouverte multi-ligne.

Contrôler la taille de la boîte de saisie

La plupart des parties ouvertes sont présentées comme des boîtes de quatre lignes et quarante colonnes par défaut. La taille de la boîte peut être déterminée au cas par cas grâce à la syntaxe suivante :

    paramètre_de_partie_ouverte n_lignes n_colonnes

comme dans

    C30 1 20

qui ouvre une boîte d'une ligne et vingt colonnes contenant une réponse alphanumérique de trente caractères.

Note : A moins que « # Contraindre la longueur des reponses » vaille OUI, les boîtes de plusieurs lignes ne contrôlent pas le nombre de caractères qui y sont saisis; la limite du nombre de caractères est alors utilisée seulement à l'extraction d'un fichier à colonnes fixes. Les boîtes d'une seule ligne limitent la saisie au nombre de caractères précisé dans la déclaration de la partie ouverte. Si « # Contraindre la longueur des reponses » vaut OUI, et que le modificateur W accompagne la déclaration C (p.ex., CW100 2 30), la limite fixée (ici 100) concerne les mots et non les caractères.

Les parties ouvertes numériques ouvrent toujours une boîte d'une seule ligne; la largeur de la boîte est fonction du nombre de caractères déclaré dans la définition de la partie ouverte.

Mise en page des valeurs numériques

Par défaut, les valeurs numériques fournies dans les parties ouvertes ne sont pas formattées; en fait, les symboles additionnels comme le signe de dollar ou de pourcentage sont éliminés de la valeur saisie et les virgules décimales françaises sont remplacées par des points décimaux anglais.

Par contre, la syntaxe suivante permet d'afficher une version formattée de la partie ouverte dans les boîtes de saisie et dans les rappels de réponses :

    1 = N5 FORMAT=formatxx

  • « FORMAT= » est un mot-clef;
  • « format » est l'une des valeurs suivantes :
    • NUM : pour une valeur numérique simple utilisant xx décimales
    • DOLLAR ou DOLLARS : pour une valeur numéraire exprimée en dollars
    • POUND ou POUNDS : pour une valeur numéraire exprimée en livres sterling
    • EURO ou EUROS : pour une valeur numéraire exprimée en euro
    • PERCENT ou POURCENT ou % : pour un pourcentage
    • TELEPHONE : pour un numéro de téléphone enregistré comme une valeur à dix chiffres
    • ZERO: retourne une valeur entière remplie de zéros à gauche
  • « xx » est le nombre de décimales à afficher (sauf pour TELEPHONE où aucun xx n'est attendu et ZERO où xx est le nombre de positions occupées par la valeur entière après formattage).

Donc, 1 = N6.2 0 100 FORMAT=DOLLAR2 affiche une partie ouverte comme une valeur en dollars avec deux décimales.

Notez que la largeur du champ (6 dans l'exemple ci-haut) détermine la largeur de la boîte de saisie; cette largeur doit suffire à afficher la valeur formattée.

Notez aussi que le mot-clef « format » peut être remplacé par une valeur en format Perl (entre accolades); ceci permet le formattage conditionnel (p.ex., afficher des montants numéraires en fonction d'une question précédente).

Conception

Partie ouverte

Une information alphanumérique, numérique ou d'autres types peut être attachée à n'importe quelle catégorie de réponse. Elle est enregistrée dans un champ distinct qui porte le même nom que la question d'origine auquel est préfixée la lettre « A ». La définition des parties ouvertes suit la syntaxe suivante : liste des codes de catégories de réponses séparée par des virgules, à gauche d'un signe égale (=), et suivi d'instructions décrivant la partie ouverte, à droite du signe égale.

Exemple de segment de partie ouverte :

    % Partie ouverte
    9 = C80

La syntaxe de l'instruction de partie ouverte utilise les codes suivants (selon le type de donnée attendu).

SyntaxeUtilisationExplication
Clargeurpartie ouverte alphanumériqueoù « largeur » est le nombre de caractères du champ
Nlargeur.décimales min maxpartie ouverte numérique« largeur » est le nombre de caractères du champ numérique;
« min » est la valeur minimale acceptée; ce peut être une constante, le nom d'une variable dans le questionnaire (p.ex., Q1 ou AQ1) ou une expression Perl entre accolades;
« max » est la valeur maximale acceptée; ce peut être une constante, le nom d'une variable dans le questionnaire (p.ex., Q1 ou AQ1) ou une expression Perl entre accolades
Mlargeurmot de passeoù « largeur » est le nombre de caractères du champ
Elargeuradresse de courrielpour ouvrir une boîte texte de 40 caractères qui est validée comme une adresse de courriel associée au code 4, utiliser : 4 = E40
UlargeurURLpour ouvrir une boîte texte de 40 caractères qui est validée comme une adresse Web associée au code 4, utiliser : 4 = U40. Les caractères « http:// » sont ajoutés au besoin et la validation suivante est effectuée : la chaîne doit contenir au moins un point mais pas d'arobas
Plargeurcode postal canadienvoir l'exemple donné pour le code E, ci-haut
Slargeurtrois premières lettres d'un code postal canadienvoir le code P
Tlargeurnuméro de téléphonedemande un numéro de téléphone à dix chiffres (les caractères non numériques sont effacés avant que le numéro ne soit reformatté comme suit : (xxx)xxx-xxxx)
D min maxdateles champs de date contiennent toujours huit caractères; le système attend une date formattée comme AAAAMMJJ et accepte les obliques, les espaces et les tirets entre les groupes de chiffres; si le navigateur accepte le code JavaScript, un clic dans la boîte de date appelle un calendrier avec lequel la personne peut choisir une date.
« min » est la valeur minimale acceptée; ce peut être une constante ou le nom d'une variable dans le questionnaire (p.ex., Q1 ou AQ1) ou une expression Perl entre accolades;
« max » est la valeur maximale acceptée; ce peut être une constante ou le nom d'une variable dans le questionnaire (p.ex., Q1 ou AQ1) ou une expression Perl entre accolades
H min maxheureles champs d'heure sont toujours présentés comme des champs textes de quatre caractères; le système attend une heure formattée comme HHMM et accepte les obliques, les espaces, les tirets et la lettre « h » entre les groupes de chiffres;
« min » est la valeur minimale acceptée; ce peut être une constante ou le nom d'une variable dans le questionnaire (p.ex., Q1 ou AQ1);
« max » est la valeur maximale acceptée; ce peut être une constante ou le nom d'une variable dans le questionnaire (p.ex., Q1 ou AQ1)
Ilargeuradresse IPpour ouvrir une boîte texte de 15 caractères qui est validée comme une adresse IP associée au code 4, utiliser : 4 = I15
Rlargeur lignes colonnes expression-régulièreexpression régulièrepour ouvrir une boîte texte de 7 caractères qui est validée comme un code de cours qui ressemble à XXX:XXX associé au code de réponse 4, utiliser :
4 = R15 1 15 [a-zA-Z0-9]{3}:[a-zA-Z0-9]{3}
Dans le cas de ce type de partie ouverte, le nombre de lignes et de colonnes doivent être précisés. Références aux expressions régulières : 1, 2, 3. 4, 5
Llargeur [condition]partie ouverte de liste déroulanteoù « largeur » est le nombre de caractères du champ; ceci affiche une partie ouverte de type C précédée d'une liste déroulante des valeurs déjà sauvegardées dans les données pour cette question. Une condition en syntaxe MYSQL utilisant toute donnée disponible peut être ajoutée entre crochets pour limiter les valeurs affichées dans la liste déroulante (par exemple, [Q1=1] ou [AQ1="ABC"]). À l'utilisation, une sélection dans la liste déroulante a préséance sur le texte saisi dans la boîte
Flargeurpartie ouverte permettant de téléverser un fichier vers le serveuroù « largeur » est le nombre de caractères du champ. L'instruction dièse # GENERAL UPLOAD PARMS définit la localisation des téléversements ainsi que les contraintes imposées à la taille et aux types de fichiers permis. Les fichiers sont enregistrés dans un tableau MysQL et, optionnellement, dans le répertoire de téléversement, et leur nom utilise les informations suivantes : le nom du projet, le _telkey, le nom de la question ouverte et l'extension du fichier téléversé au départ. Il ne peut pas y avoir plus d'une question de type F par page de questionnaire.
W il s'agit d'un modificateur de la partie ouverte C qui interprète la limite en termes de mots plutôt que de caractères dans une partie ouverte multi-ligne.

Contrôler la taille de la boîte de saisie

La plupart des parties ouvertes sont présentées comme des boîtes de quatre lignes et quarante colonnes par défaut. La taille de la boîte peut être déterminée au cas par cas grâce à la syntaxe suivante :

    paramètre_de_partie_ouverte n_lignes n_colonnes

comme dans

    C30 1 20

qui ouvre une boîte d'une ligne et vingt colonnes contenant une réponse alphanumérique de trente caractères.

Note : A moins que « # Contraindre la longueur des reponses » vaille OUI, les boîtes de plusieurs lignes ne contrôlent pas le nombre de caractères qui y sont saisis; la limite du nombre de caractères est alors utilisée seulement à l'extraction d'un fichier à colonnes fixes. Les boîtes d'une seule ligne limitent la saisie au nombre de caractères précisé dans la déclaration de la partie ouverte. Si « # Contraindre la longueur des reponses » vaut OUI, et que le modificateur W accompagne la déclaration C (p.ex., CW100 2 30), la limite fixée (ici 100) concerne les mots et non les caractères.

Les parties ouvertes numériques ouvrent toujours une boîte d'une seule ligne; la largeur de la boîte est fonction du nombre de caractères déclaré dans la définition de la partie ouverte.

Mise en page des valeurs numériques

Par défaut, les valeurs numériques fournies dans les parties ouvertes ne sont pas formattées; en fait, les symboles additionnels comme le signe de dollar ou de pourcentage sont éliminés de la valeur saisie et les virgules décimales françaises sont remplacées par des points décimaux anglais.

Par contre, la syntaxe suivante permet d'afficher une version formattée de la partie ouverte dans les boîtes de saisie et dans les rappels de réponses :

    1 = N5 FORMAT=formatxx

  • « FORMAT= » est un mot-clef;
  • « format » est l'une des valeurs suivantes :
    • NUM : pour une valeur numérique simple utilisant xx décimales
    • DOLLAR ou DOLLARS : pour une valeur numéraire exprimée en dollars
    • POUND ou POUNDS : pour une valeur numéraire exprimée en livres sterling
    • EURO ou EUROS : pour une valeur numéraire exprimée en euro
    • PERCENT ou POURCENT ou % : pour un pourcentage
    • TELEPHONE : pour un numéro de téléphone enregistré comme une valeur à dix chiffres
    • ZERO: retourne une valeur entière remplie de zéros à gauche
  • « xx » est le nombre de décimales à afficher (sauf pour TELEPHONE où aucun xx n'est attendu et ZERO où xx est le nombre de positions occupées par la valeur entière après formattage).

Donc, 1 = N6.2 0 100 FORMAT=DOLLAR2 affiche une partie ouverte comme une valeur en dollars avec deux décimales.

Notez que la largeur du champ (6 dans l'exemple ci-haut) détermine la largeur de la boîte de saisie; cette largeur doit suffire à afficher la valeur formattée.

Notez aussi que le mot-clef « format » peut être remplacé par une valeur en format Perl (entre accolades); ceci permet le formattage conditionnel (p.ex., afficher des montants numéraires en fonction d'une question précédente).