x

Principaux chapitres

  1. LimeSurvey Cloud ou LimeSurvey CE
  2. LimeSurvey Cloud - Guide de démarrage rapide
  3. LimeSurvey CE - Installation
  4. Comment concevoir une bonne enquête (Guide)
  5. Commencer
  6. Configuration de LimeSurvey
  7. Introduction - Enquêtes
  8. Afficher les paramètres de l'enquête
  9. Afficher le menu de l'enquête
  10. Afficher la structure de l'enquête
  11. Présentation - Questions
  12. Introduction - Groupes de questions
  13. Introduction - Enquêtes - Gestion
  14. Options de la barre d'outils de l'enquête
  15. Enquête multilingue
  16. Guide de démarrage rapide - ExpressionScript
  17. Fonctionnalités avancées
  18. FAQ générale
  19. Dépannage
  20. Solutions de contournement
  21. Licence
  22. Journal des changements de version
  23. Plugins - Avancé
 Actions

Check survey logic - Advanced/fr: Difference between revisions

From LimeSurvey Manual

Maren.fritz (talk | contribs)
Created page with "Les lignes sont codées par couleur comme suit : *'''Groupes''' - sont affichés avec un fond gris clair *'''Questions''' - sont affichés avec un fond vert clair *' « Sous..."
Maren.fritz (talk | contribs)
Created page with "Bien que LimeSurvey prenne entièrement en charge l'utilisation de la virgule comme séparateur de base (décimal) au moment de l'exécution, vous devez toujours utiliser une..."
 
(33 intermediate revisions by the same user not shown)
Line 54: Line 54:
* » » Réponses » - sont affichées sur un fond blanc uni
* » » Réponses » - sont affichées sur un fond blanc uni


Answers have an additional attribute in the '''Relevance''' column:
Les réponses ont un attribut supplémentaire dans la colonne '''Pertinence''' :
*'''Value''' - this is the default internal value used by calculations. If you are using [[Assessments]], this will be the assessment value. Otherwise, this will be the same as the answer name.
*'''Valeur''' - il s'agit de la valeur interne par défaut utilisée par les calculs. Si vous utilisez [[Évaluations]], ce sera la valeur de l'évaluation. Sinon, ce sera le même que le nom de la réponse.




{{Note|The survey description, welcome and end messages, end URL, Survey data policy notice and label are listed within the Cgeck survey Logic (above the table) if their corresponding fields are not empty!}}
{{Remarque|La description de l'enquête, les messages de bienvenue et de fin, l'URL de fin, l'avis de politique sur les données de l'enquête et l'étiquette sont répertoriés dans la logique de l'enquête Cgeck (au-dessus du tableau) si leurs champs correspondants ne sont pas vides !}}


=Usage=
=Utilisation=




At the top of the page, there is a summary message. If all is well, it will say "No syntax errors detected in this survey", or "This group" or "This question", "by itself, does not contain any syntax errors". If the opposite is true, it will say "X questions have syntax errors that need to be corrected".
En haut de la page, il y a un message récapitulatif. Si tout va bien, il sera indiqué "Aucune erreur de syntaxe détectée dans cette enquête", ou "Ce groupe" ou "Cette question", "en elle-même, ne contient aucune erreur de syntaxe". Si l'inverse est vrai, le message "X questions comportent des erreurs de syntaxe qui doivent être corrigées".


Each question that has syntax errors gets the background of its leftmost column (i.e. '''#''') color-coded red. Also, a warning stating the number of minimum errors of a question will be displayed under the '''Name [ID]''' column. The following errors are common:
Chaque question comportant des erreurs de syntaxe obtient l'arrière-plan de sa colonne la plus à gauche (c'est-à-dire '''#''') de couleur rouge. De plus, un avertissement indiquant le nombre d'erreurs minimum d'une question sera affiché sous la colonne '''Nom [ID]'''. Les erreurs suivantes sont courantes :


*[[Check survey logic - Advanced#Undefined variable|Undefined variable]] - if you have not defined all of your variables, or mistyped array_filter (or different sets of answer options for array_filter), then some of your validation questions will show errors. Undefined variables are shown in red text, boxed with a red line.
*[[Vérifier la logique de l'enquête - Avancé#Variable non définie|Variable non définie]] - si vous n'avez pas défini toutes vos variables, ou si vous avez mal saisi array_filter (ou différents ensembles d'options de réponse pour array_filter), alors certaines de vos questions de validation afficheront des erreurs. . Les variables non définies sont affichées en texte rouge, entourées d'une ligne rouge.


*[[Check survey logic - Advanced#Bad syntax|Bad syntax]] - as you start to use relevance equations, you may use too many or too few parentheses. Such syntax problems are highlighted and boxed in red. If you hover the mouse over any such red-boxed text, a tool-tip will describe the error.
*[[Vérifier la logique de l'enquête - Avancé#Mauvaise syntaxe|Mauvaise syntaxe]] - lorsque vous commencez à utiliser des équations de pertinence, vous pouvez utiliser trop ou pas assez de parenthèses. Ces problèmes de syntaxe sont mis en évidence et encadrés en rouge. Si vous passez la souris sur un tel texte encadré en rouge, une info-bulle décrira l'erreur.


== Colors in ExpressScript syntax ==
== Couleurs dans la syntaxe ExpressScript ==
Conditions and equations are syntaxhighlighted to easier figure out what you are looking at:
Les conditions et les équations sont mises en évidence dans la syntaxe pour mieux comprendre ce que vous regardez :
# Green / Light Blue: A variable that references a question earlier in the survey
# Vert / Bleu clair : une variable qui fait référence à une question plus tôt dans l'enquête 
# Blue: A function
# Bleu : Une fonction
# Grey: A string expression
# Grey : Une expression de chaîne
# Brown: A TOKEN expression (participant data)
# Brown : Une expression TOKEN (données du participant)
# Black: Operator
# Black : Opérateur
Things to check:
Éléments à vérifier :
# Purple: A variable that references a question later in the survey. Usually this is an error and needs to be checked.
# Purple : Une variable qui fait référence à un question plus tard dans l’enquête. Il s'agit généralement d'une erreur qui doit être vérifiée.
# Red or red frame: A non-existing variable or reference to an earlier question or a syntax error - usually needs to be checked.
# Cadre rouge ou rouge : une variable inexistante ou une référence à une question antérieure ou une erreur de syntaxe - doit généralement être vérifiée.




==Undefined Variables==
==Variables non définies==




If undefined variables are used, the respective variable name will be color-coded in red and surrounded by a red line. If you hover your mouse over the variable name, it will say "undefined variable":
Si des variables non définies sont utilisées, le nom de la variable respective sera codé en rouge et entouré d'une ligne rouge. Si vous passez votre souris sur le nom de la variable, le message "variable non définie" s'affichera :




Line 92: Line 92:




{{Alert|title=Attention|text=Please note that LimeSurvey does not allow survey administrators to create questions that use the same question code. However, it could happen to have similar question codes within a survey if you import a question group or a question that uses the same question code as one of your already-defined questions. The question can still be imported because the question ids are different. However, if you wish to export the survey results to further explore the [[Exporting_results|survey results]] (R or SPSS), be careful because the question code is seen as a variable!}}
{{Alert|title=Attention|text=Veuillez noter que LimeSurvey ne permet pas aux administrateurs d'enquête de créer des questions utilisant le même code de question. Cependant, il peut arriver que des codes de question soient similaires dans une enquête si vous importez un groupe de questions ou une question qui utilise le même code de question que l'une de vos questions déjà définies. La question peut toujours être importée car les identifiants de question sont différents. Cependant, si vous souhaitez exporter les résultats de l'enquête pour explorer davantage les [[Exporting_results|survey results]] (R ou SPSS), soyez prudent car le code de la question est vu comme une variable !}}




<center>[[File:same_code_name_not_recommended.png]]</center>}}
<center>[[File:same_code_name_not_recommended.png]]</center>}}


==Bad syntax==
==Mauvaise syntaxe==




Most of the expression-related mistakes are related to bad syntax. This is related to the fact that survey administrators usually miss to add a curly bracket, to properly make use of parentheses, or they use expressions wrongly:
La plupart des erreurs liées aux expressions sont liées à une mauvaise syntaxe. Cela est lié au fait que les administrateurs d'enquête oublient généralement d'ajouter une accolade, d'utiliser correctement les parenthèses, ou qu'ils utilisent les expressions à tort :




Line 108: Line 108:




Here are many good examples on the usage of [[ExpressionScript How-tos#Syntax_Highlighting|syntax highlighting]].
Voici de nombreux bons exemples d'utilisation de la [[ExpressionScript How-tos#Syntax_Highlighting|syntax highlighting]].




===Bad custom JavaScript===
===JavaScript personnalisé incorrect===




The JavaScript errors will also be highlighted in the survey logic check:
Les erreurs JavaScript seront également mises en évidence lors de la vérification de la logique de l'enquête :




<center>[[File:javascript_error.jpg]]</center>
<center>[[File:javascript_error.jpg]]</center>


=Speeding editing and validation=
=Edition et validation accélérées=




All of the syntax-highlighted text has tooltips embedded, which are clickable:
Tout le texte mis en évidence par la syntaxe comporte des info-bulles intégrées, cliquables :
#Tooltips
#Tooltips
#*Functions - hovering the mouse lets you see the purpose and syntax definition of the function;
#*Fonctions - le survol de la souris vous permet de voir l'objectif et la définition de la syntaxe de la fonction ;
#*Variable Names - hovering the mouse lets you see the position (group, question sequence), question text, and allowable answers for the question.
#*Noms des variables - le survol de la souris vous permet de voir la position (groupe, séquence de questions), le texte de la question et les réponses autorisées pour la question.
#Actions
#Actions
#*Variable Names - clicking on the variable name opens a new window that allows you to edit the question. This makes it easy to navigate and verify logic - simply keep clicking on variable names of relevance or validation criteria for the question to see where they come from and how they are used.
#*Noms de variable - cliquer sur le nom de la variable ouvre une nouvelle fenêtre qui vous permet pour modifier la question. Cela facilite la navigation et la vérification de la logique : continuez simplement à cliquer sur les noms de variables pertinents ou sur les critères de validation de la question pour voir d'où ils viennent et comment ils sont utilisés.




=Examples=
=Exemples=




The following examples are taken from the [[ExpressionScript sample surveys|ExpressionScript sample surveys]]. You can find screenshots of running surveys, explanations, and downloads on that page.
Les exemples suivants sont tirés des [[Enquêtes par sondage ExpressionScript|Enquêtes par sondage ExpressionScript]]. Vous pouvez trouver des captures d'écran des enquêtes en cours, des explications et des téléchargements sur cette page.




==Body Mass Index==
==Indice de masse corporelle==




Here are [[ExpressionScript sample surveys#Screenshots|screenshots]] of this example.
Voici les [[exemples d'enquêtes ExpressionScript#Screenshots|screenshots]] de cet exemple.


This is the question-reorder view of the Body Mass Index calculation. You can see the relevance equations for weight, height, and BMI under the ''Question'' column:
Il s'agit de la vue de réorganisation des questions du calcul de l'indice de masse corporelle. Vous pouvez voir les équations de pertinence pour le poids, la taille et l'IMC dans la colonne « Question » :




Line 147: Line 147:




For a better survey overview, check the survey logic page:
Pour un meilleur aperçu de l'enquête, consultez la page de logique de l'enquête :




Line 153: Line 153:




This survey example is also a good example of nested if() statements to generate the "weightstatus".
Cet exemple d'enquête est également un bon exemple d'instructions if() imbriquées pour générer le « weightstatus ».




<center>[[File:BMI_logic2.jpg]]</center>
<center>[[File:BMI_logic2.jpg]]</center>


==Cascading logic==
==Logique en cascade==




Here are [[ExpressionScript sample surveys#Cascading Array Filters|screenshots]] of this example.
Voici les [[Exemples d'enquêtes ExpressionScript#Cascading Array Filters|captures d'écran]] de cet exemple.


It shows the subquestion validation logic that is automatically generated when you use [[QS:Array_filter|array_filter]] and [[QS:Array_filter_exclude|array_filter_exclude]]. This example also shows how you can substitute the tailored "Other" value (the answer for Q02_other is Q01_other).
Il montre la logique de validation de sous-question qui est automatiquement générée lorsque vous utilisez [[QS:Array_filter|array_filter]] et [[QS:Array_filter_exclude|array_filter_exclude]]. Cet exemple montre également comment vous pouvez remplacer la valeur « Autre » personnalisée (la réponse pour Q02_other est Q01_other).




Line 169: Line 169:




Q05 in this example shows simultaneous use of array_filter and array_filter_exclude on Q01 and Q02, respectively. This example demonstrates cascading array_filter capabilities. Note that one of the main reasons for showing the question and subquestion level '''validation''' criteria is to help ensure you have not made any typos in specifying the array_filter or array_filter_exclude variable names (or in case you use different variable names for your list of filtered subquestions). If you have such typos, all the invalid variable names will appear in red indicating that they are undefined, letting you quickly fix the problem.
Q05 dans cet exemple montre l'utilisation simultanée de array_filter et array_filter_exclude sur Q01 et Q02, respectivement. Cet exemple illustre les capacités de array_filter en cascade. Notez que l'une des principales raisons d'afficher les critères de « validation » au niveau des questions et des sous-questions est de vous assurer que vous n'avez commis aucune faute de frappe en spécifiant les noms de variable array_filter ou array_filter_exclude (ou si vous utilisez des noms de variable différents pour votre liste de sous-questions filtrées). Si vous avez de telles fautes de frappe, tous les noms de variables non valides apparaîtront en rouge, indiquant qu'ils ne sont pas définis, vous permettant de résoudre rapidement le problème.




Line 175: Line 175:




==Dynamic relevance==
==Pertinence dynamique==




This example demonstrates dynamic cascading relevance logic to control display of question visibility. You can download this example [[ExpressionScript sample surveys#Download|here]].
Cet exemple illustre une logique de pertinence en cascade dynamique pour contrôler l'affichage de la visibilité des questions. Vous pouvez télécharger cet exemple [[Exemples d'enquêtes ExpressionScript#Télécharger|ici]].


Also note that questions are displayed only if certain validation criteria are met. For example, if a person states that she has 2 kids, certain questions have to be filled in by the respondent (kid1 and kid2).
Notez également que les questions ne sont affichées que si certains critères de validation sont respectés. Par exemple, si une personne déclare avoir 2 enfants, certaines questions doivent être remplies par le répondant (kid1 et kid2).




<center>[[File:dynamic_relevance_logic1.jpg]]</center>
<center>[[File:dynamic_relevance_logic1.jpg]]</center>


==Group-level relevance==
==Pertinence au niveau du groupe==




This example shows how group-level relevance appears in the logic check. Here are [[ExpressionScript sample surveys#Sample Census|screenshots]] of the example described below.
Cet exemple montre comment la pertinence au niveau du groupe apparaît dans le contrôle logique. Voici les [[échantillons d'enquêtes ExpressionScript#Sample Census|screenshots]] de l'exemple décrit ci-dessous.


As you can see, the group-level relevance equation (cohabs > 1 && p1_rel != "") appear in the grey Person 2 row for G-2.
Comme vous pouvez le voir, l'équation de pertinence au niveau du groupe (cohabs > 1 && p1_rel != "") apparaît dans la ligne grise Personne 2 pour G-2.


You may also notice that all of the questions are mandatory. However, if the group is irrelevant, so are all its questions. As a result, those questions are only truly mandatory if the group is relevant.
Vous remarquerez peut-être également que toutes les questions sont obligatoires. Cependant, si le groupe n’est pas pertinent, toutes ses questions le sont également. Ces questions ne sont donc véritablement obligatoires que si le groupe est pertinent.


You may also note that certain questions are displayed only if the answer to the previous question is not empty. You may see below that if p2_sex is not filled in, p2_name is not going to be displayed, even though it is a mandatory questions. The mandatory question p2_age is also not going to be displayed if p2_name is not filled in. These questions can be considered "conditionally mandatory".  
Vous remarquerez peut-être également que certaines questions ne s'affichent que si la réponse à la question précédente n'est pas vide. Vous pouvez voir ci-dessous que si p2_sex n'est pas renseigné, p2_name ne sera pas affiché, même s'il s'agit d'une question obligatoire. La question obligatoire p2_age ne sera pas non plus affichée si p2_name n'est pas renseigné. Ces questions peuvent être considérées comme "obligatoires sous condition".  


Additionally, note that the '''tip''' messages are also automatically created for you. They are organized by value range (min/max), sum value range (min/max/equals), number of answers (min/max), etc (it depends on the used question type and active attributes). Sometimes you want to validate an answer range but don't want to display what might appear to be silly validation tips to the user. In such cases, you can use the [[QS:Hide_tip|hide_tip]] question option (as in this case, to avoid telling the user that the age must be between 0 and 115 unless they try to enter a bad value - see p2_age).
De plus, notez que les messages '''astuce''' sont également créés automatiquement pour vous. Ils sont organisés par plage de valeurs (min/max), plage de valeurs de somme (min/max/égal), nombre de réponses (min/max), etc. (cela dépend du type de question utilisé et des attributs actifs). Parfois, vous souhaitez valider une plage de réponses mais vous ne souhaitez pas afficher ce qui peut sembler être des conseils de validation idiots pour l'utilisateur. Dans de tels cas, vous pouvez utiliser l'option de question [[QS:Hide_tip|hide_tip]] (comme dans ce cas, pour éviter de dire à l'utilisateur que l'âge doit être compris entre 0 et 115 à moins qu'il n'essaye de saisir une mauvaise valeur - voir p2_age ).




<center>[[File:person2_logic.jpg]]</center>
<center>[[File:person2_logic.jpg]]</center>


==Comma as radix (decimal) separator==
== Virgule comme séparateur de base (décimal) ==




Although LimeSurvey fully supports the use of comma as radix (decimal) separator at run-time, you must still use a decimal as the radix separator at the design-time (e.g., when specifying min/max values in advanced question attributes). The working example can be [[ExpressionScript sample surveys#Using Comma as Radix Separator (Decimal Point)|found here]].
Bien que LimeSurvey prenne entièrement en charge l'utilisation de la virgule comme séparateur de base (décimal) au moment de l'exécution, vous devez toujours utiliser une décimale comme séparateur de base au moment de la conception (par exemple, lors de la spécification des valeurs min/max dans les attributs de questions avancés). L'exemple de travail peut être [[Enquêtes par échantillons ExpressionScript#Utilisation de la virgule comme séparateur de base (point décimal)|trouvé ici]].


Also, remember that the '''validation''' logic is created for you automatically from the enabled question attributes. The equations may look overwhelming, but you don't need to worry about them.
N'oubliez pas non plus que la logique '''validation''' est créée automatiquement pour vous à partir des attributs de question activés. Les équations peuvent sembler écrasantes, mais vous n’avez pas à vous en préoccuper.




<center>[[File:radix_logic1.jpg]]</center>
<center>[[File:radix_logic1.jpg]]</center>

Latest revision as of 09:24, 2 October 2023


Général

Une option importante qui vous aide à créer et à maintenir facilement des enquêtes complexes est « Vérifier la logique de l'enquête ».

Tout au long du développement et des tests de l'enquête, et avant de l'activer, il est très important de valider la logique de l'enquête. Cela est particulièrement vrai lorsque vous utilisez des équations complexes de pertinence, d'adaptation et de validation : vous devez être sûr que rien ne se brisera lorsque vous exécuterez l'enquête.

Cette fonctionnalité vous permet de valider rapidement l'exactitude de votre enquête, de vos groupes et de vos questions. Il est accessible à partir des options du menu de la barre supérieure situées sous les paramètres liés à l'enquête. Il est disponible via le menu Outils :



Comme vous pouvez le constater ci-dessus, vous pouvez exécuter cette option quatre fois, pour chaque langue utilisée dans une enquête.

Description

L'option « Vérifier la logique de l'enquête » affiche tout ce que vous avez spécifié pour chaque question et groupe (par exemple, nom, texte, aide, conditions/pertinence, règles de validation, valeurs par défaut, sous-questions, réponses) dans un format tabulaire pratique. Il met en évidence les erreurs et vous permet de cliquer sur les ID de question et de groupe (ou les variables utilisées dans les équations) pour ouvrir de nouveaux onglets de navigateur afin de modifier ces questions ou groupes. Cela facilite la modification rapide des erreurs et l'actualisation de la page de vérification logique pour confirmer l'exactitude de l'enquête avant de l'activer.

L'affichage est également conçu pour être lisible par les chercheurs et les promoteurs de l'étude afin qu'ils puissent valider l'exactitude de la conception et de la logique de l'enquête. La vérification de la logique de l'enquête met à jour le cache pour toutes les expressions utilisées dans une enquête active.

Il comprend les colonnes suivantes :

  • # - affiche le nombre de séquences de groupes et de questions, en commençant par 0.
  • Nom [ ID] - affiche le code de question pour le groupe/question/sous-question. Ces codes peuvent être utilisés comme variables dans expressions. ID est l'identifiant de la question (QID) ou l'identifiant du groupe (GID). Ce champ affiche également le type de question (par exemple, Choix multiple [M])).


Template:Remarque


  • Pertinence [ Validation] (par défaut) - affiche les éléments suivants :
    • Pertinence - l'équation de pertinence mise en évidence par la syntaxe pour la question ou le groupe. Si c'est toujours vrai (à afficher dans n'importe quel scénario), la valeur sera 1.
    • Validation - ExpressionScript génère automatiquement le validation équation en fonction des attributs de question sélectionnés (par exemple, nombre min/max de réponses, valeurs de somme min/max/égales, valeurs individuelles min/max ou validation d'expression régulière). Cette section montre l'équation de validation générée afin que vous puissiez détecter s'il y a des erreurs (telles que des variables non définies).
      • La validation au niveau de la question montre l'équation nécessaire pour vérifier les attributs de la question décrits ci-dessus
  • **La validation au niveau de la sous-question montre l'équation nécessaire pour implémenter array_filter, array_filter_exclude et exclusive_option
    • Default - si la question a une valeur par défaut, elle est affichée ici, avec une syntaxe mise en évidence (puisque la valeur par défaut pourrait être une expression).
  • Texte [ Aide] (Astuce) - affiche ce qui suit :
    • Texte - le texte du groupe, de la question, de la sous-question ou de la réponse. Sa syntaxe est mise en surbrillance pour afficher tous les tailoring intégrés, vous permettant ainsi de vérifier que vous avez déclaré toutes les variables que vous prévoyez d'utiliser dans la personnalisation.
    • Aide - ceci affiche le texte d'aide pour la question, également mis en évidence par la syntaxe.
    • Tip - cela montre l'astuce de validation générée en interne, basée sur les attributs de la question. Ce même conseil est utilisé dans tous les styles d'enquête, ainsi que dans les écrans d'enquête et de saisie de données imprimables.
    • Attributs de la question - ceci affiche un tableau de tous les attributs de question pertinents pour cette question. Les attributs qui peuvent être des équations sont mis en évidence par la syntaxe afin que vous puissiez valider leur exactitude.

Les lignes sont codées par couleur comme suit :

  • Groupes - sont affichés avec un fond gris clair
  • Questions - sont affichés avec un fond vert clair
  • ' « Sous-questions » - sont affichées sur un fond jaune pâle !
  •  » » Réponses » - sont affichées sur un fond blanc uni

Les réponses ont un attribut supplémentaire dans la colonne Pertinence :

  • Valeur - il s'agit de la valeur interne par défaut utilisée par les calculs. Si vous utilisez Évaluations, ce sera la valeur de l'évaluation. Sinon, ce sera le même que le nom de la réponse.


Template:Remarque

Utilisation

En haut de la page, il y a un message récapitulatif. Si tout va bien, il sera indiqué "Aucune erreur de syntaxe détectée dans cette enquête", ou "Ce groupe" ou "Cette question", "en elle-même, ne contient aucune erreur de syntaxe". Si l'inverse est vrai, le message "X questions comportent des erreurs de syntaxe qui doivent être corrigées".

Chaque question comportant des erreurs de syntaxe obtient l'arrière-plan de sa colonne la plus à gauche (c'est-à-dire #) de couleur rouge. De plus, un avertissement indiquant le nombre d'erreurs minimum d'une question sera affiché sous la colonne Nom [ID]. Les erreurs suivantes sont courantes :

  • Variable non définie - si vous n'avez pas défini toutes vos variables, ou si vous avez mal saisi array_filter (ou différents ensembles d'options de réponse pour array_filter), alors certaines de vos questions de validation afficheront des erreurs. . Les variables non définies sont affichées en texte rouge, entourées d'une ligne rouge.
  • Mauvaise syntaxe - lorsque vous commencez à utiliser des équations de pertinence, vous pouvez utiliser trop ou pas assez de parenthèses. Ces problèmes de syntaxe sont mis en évidence et encadrés en rouge. Si vous passez la souris sur un tel texte encadré en rouge, une info-bulle décrira l'erreur.

Couleurs dans la syntaxe ExpressScript

Les conditions et les équations sont mises en évidence dans la syntaxe pour mieux comprendre ce que vous regardez :

  1. Vert / Bleu clair : une variable qui fait référence à une question plus tôt dans l'enquête 
  2. Bleu : Une fonction
  3. Grey : Une expression de chaîne
  4. Brown : Une expression TOKEN (données du participant)
  5. Black : Opérateur

Éléments à vérifier :

  1. Purple : Une variable qui fait référence à un question plus tard dans l’enquête. Il s'agit généralement d'une erreur qui doit être vérifiée.
  2. Cadre rouge ou rouge : une variable inexistante ou une référence à une question antérieure ou une erreur de syntaxe - doit généralement être vérifiée.


Variables non définies

Si des variables non définies sont utilisées, le nom de la variable respective sera codé en rouge et entouré d'une ligne rouge. Si vous passez votre souris sur le nom de la variable, le message "variable non définie" s'affichera :



  Attention : Veuillez noter que LimeSurvey ne permet pas aux administrateurs d'enquête de créer des questions utilisant le même code de question. Cependant, il peut arriver que des codes de question soient similaires dans une enquête si vous importez un groupe de questions ou une question qui utilise le même code de question que l'une de vos questions déjà définies. La question peut toujours être importée car les identifiants de question sont différents. Cependant, si vous souhaitez exporter les résultats de l'enquête pour explorer davantage les survey results (R ou SPSS), soyez prudent car le code de la question est vu comme une variable !



}}

Mauvaise syntaxe

La plupart des erreurs liées aux expressions sont liées à une mauvaise syntaxe. Cela est lié au fait que les administrateurs d'enquête oublient généralement d'ajouter une accolade, d'utiliser correctement les parenthèses, ou qu'ils utilisent les expressions à tort :



Voici de nombreux bons exemples d'utilisation de la syntax highlighting.


JavaScript personnalisé incorrect

Les erreurs JavaScript seront également mises en évidence lors de la vérification de la logique de l'enquête :


Edition et validation accélérées

Tout le texte mis en évidence par la syntaxe comporte des info-bulles intégrées, cliquables :

  1. Tooltips
    • Fonctions - le survol de la souris vous permet de voir l'objectif et la définition de la syntaxe de la fonction ;
    • Noms des variables - le survol de la souris vous permet de voir la position (groupe, séquence de questions), le texte de la question et les réponses autorisées pour la question.
  2. Actions
    • Noms de variable - cliquer sur le nom de la variable ouvre une nouvelle fenêtre qui vous permet pour modifier la question. Cela facilite la navigation et la vérification de la logique : continuez simplement à cliquer sur les noms de variables pertinents ou sur les critères de validation de la question pour voir d'où ils viennent et comment ils sont utilisés.


Exemples

Les exemples suivants sont tirés des Enquêtes par sondage ExpressionScript. Vous pouvez trouver des captures d'écran des enquêtes en cours, des explications et des téléchargements sur cette page.


Indice de masse corporelle

Voici les screenshots de cet exemple.

Il s'agit de la vue de réorganisation des questions du calcul de l'indice de masse corporelle. Vous pouvez voir les équations de pertinence pour le poids, la taille et l'IMC dans la colonne « Question » :



Pour un meilleur aperçu de l'enquête, consultez la page de logique de l'enquête :



Cet exemple d'enquête est également un bon exemple d'instructions if() imbriquées pour générer le « weightstatus ».


Logique en cascade

Voici les captures d'écran de cet exemple.

Il montre la logique de validation de sous-question qui est automatiquement générée lorsque vous utilisez array_filter et array_filter_exclude. Cet exemple montre également comment vous pouvez remplacer la valeur « Autre » personnalisée (la réponse pour Q02_other est Q01_other).



Q05 dans cet exemple montre l'utilisation simultanée de array_filter et array_filter_exclude sur Q01 et Q02, respectivement. Cet exemple illustre les capacités de array_filter en cascade. Notez que l'une des principales raisons d'afficher les critères de « validation » au niveau des questions et des sous-questions est de vous assurer que vous n'avez commis aucune faute de frappe en spécifiant les noms de variable array_filter ou array_filter_exclude (ou si vous utilisez des noms de variable différents pour votre liste de sous-questions filtrées). Si vous avez de telles fautes de frappe, tous les noms de variables non valides apparaîtront en rouge, indiquant qu'ils ne sont pas définis, vous permettant de résoudre rapidement le problème.



Pertinence dynamique

Cet exemple illustre une logique de pertinence en cascade dynamique pour contrôler l'affichage de la visibilité des questions. Vous pouvez télécharger cet exemple ici.

Notez également que les questions ne sont affichées que si certains critères de validation sont respectés. Par exemple, si une personne déclare avoir 2 enfants, certaines questions doivent être remplies par le répondant (kid1 et kid2).


Pertinence au niveau du groupe

Cet exemple montre comment la pertinence au niveau du groupe apparaît dans le contrôle logique. Voici les screenshots de l'exemple décrit ci-dessous.

Comme vous pouvez le voir, l'équation de pertinence au niveau du groupe (cohabs > 1 && p1_rel != "") apparaît dans la ligne grise Personne 2 pour G-2.

Vous remarquerez peut-être également que toutes les questions sont obligatoires. Cependant, si le groupe n’est pas pertinent, toutes ses questions le sont également. Ces questions ne sont donc véritablement obligatoires que si le groupe est pertinent.

Vous remarquerez peut-être également que certaines questions ne s'affichent que si la réponse à la question précédente n'est pas vide. Vous pouvez voir ci-dessous que si p2_sex n'est pas renseigné, p2_name ne sera pas affiché, même s'il s'agit d'une question obligatoire. La question obligatoire p2_age ne sera pas non plus affichée si p2_name n'est pas renseigné. Ces questions peuvent être considérées comme "obligatoires sous condition".

De plus, notez que les messages astuce sont également créés automatiquement pour vous. Ils sont organisés par plage de valeurs (min/max), plage de valeurs de somme (min/max/égal), nombre de réponses (min/max), etc. (cela dépend du type de question utilisé et des attributs actifs). Parfois, vous souhaitez valider une plage de réponses mais vous ne souhaitez pas afficher ce qui peut sembler être des conseils de validation idiots pour l'utilisateur. Dans de tels cas, vous pouvez utiliser l'option de question hide_tip (comme dans ce cas, pour éviter de dire à l'utilisateur que l'âge doit être compris entre 0 et 115 à moins qu'il n'essaye de saisir une mauvaise valeur - voir p2_age ).


Virgule comme séparateur de base (décimal)

Bien que LimeSurvey prenne entièrement en charge l'utilisation de la virgule comme séparateur de base (décimal) au moment de l'exécution, vous devez toujours utiliser une décimale comme séparateur de base au moment de la conception (par exemple, lors de la spécification des valeurs min/max dans les attributs de questions avancés). L'exemple de travail peut être trouvé ici.

N'oubliez pas non plus que la logique validation est créée automatiquement pour vous à partir des attributs de question activés. Les équations peuvent sembler écrasantes, mais vous n’avez pas à vous en préoccuper.