Aller au contenu principal

Tâche Questionnaire

Version : v1 (actuelle)

Un outil flexible d'enquête et d'évaluation pour collecter des données autodéclarées, des informations démographiques et des réponses structurées auprès des participants.

Vue d'ensemble

La tâche Questionnaire fournit un système complet pour administrer des enquêtes, des évaluations psychologiques, des formulaires démographiques et toute collecte structurée de réponses des participants. Elle prend en charge plusieurs types de questions (choix multiples, échelles, saisie de texte, etc.), la logique conditionnelle, les règles de validation et le branchement.

Contrairement aux tâches comportementales qui mesurent la performance, les questionnaires capturent les expériences subjectives, les informations personnelles, les attitudes, les symptômes et les caractéristiques autodéclarées. Ils sont essentiels pour corréler les données comportementales avec les différences individuelles, filtrer les participants et collecter des informations contextuelles.

La tâche est couramment utilisée pour :

  • Enquêtes démographiques : Âge, éducation, langue, antécédents médicaux
  • Évaluations psychologiques : Dépression (BDI), anxiété (GAD-7), personnalité (Big Five)
  • Évaluations de tâche : Difficulté, effort, motivation, utilisation de stratégies
  • Filtrage : Critères d'éligibilité, facteurs d'exclusion
  • Vérifications de manipulation : Vérifier que les manipulations expérimentales ont fonctionné
  • Debriefing : Expérience et commentaires post-étude

Pourquoi les chercheurs utilisent cette tâche

  1. Différences individuelles : Corréler la performance aux tâches avec les traits, les symptômes, les données démographiques
  2. Caractérisation des participants : Décrire les caractéristiques de l'échantillon
  3. Filtrage : Déterminer l'éligibilité ou l'assignation à un groupe
  4. Expérience subjective : Capturer les évaluations de difficulté, de confiance, d'engagement
  5. Échelles validées : Administrer des évaluations psychologiques standardisées
  6. Méthodes mixtes : Combiner le comportement quantitatif avec l'autodéclaration qualitative

État actuel de l'implémentation

Entièrement implémenté :

  • ✅ 12 types de questions (QCM, échelle, texte, sélection multiple, curseur/EAV, matrice/grille, classement, choix par image, dichotomique, date, numérique, zone de texte)
  • ✅ Questions obligatoires et optionnelles
  • ✅ Règles de validation (min/max pour numeric, min_length/max_length pour text/textarea)
  • ✅ Logique d'affichage conditionnel (opérateurs eq/neq/gt/lt)
  • ✅ Questionnaires multi-pages avec questions_per_page
  • ✅ Suivi de la progression (show_progress, show_question_numbers)
  • ✅ Ordre aléatoire des questions (randomize_questions)
  • ✅ Support RTL pour les langues de droite à gauche
  • ✅ Exportation des données en format structuré (JSON complet + CSV aplati)
  • ✅ Temps de réponse (latency_ms, display_duration_ms)
  • ✅ Options avec image_url pour choix par image
  • ✅ Items de matrice et de classement
  • ✅ Modèles de questionnaires (templates)
  • ✅ Importation/Exportation de configurations
  • ✅ Clés de méta-traduction personnalisables

Paramètres de configuration

Structure du questionnaire

ParamètreTypeDéfautDescription
titlestring''Titre du questionnaire
randomize_questionsbooleanfalseOrdre aléatoire des questions
show_progressbooleanfalseAfficher la barre de progression
show_question_numbersbooleantrueAfficher les numéros de questions
questions_per_pagenumber0Questions par page (0 = toutes sur une page)
questionsarray[]Tableau d'objets de questions

Structure de l'objet Question

{
id: "q1", // Identifiant unique
type: "mcq", // Type de question
text: "Quelle est votre tranche d'âge ?", // Texte de la question
required: true, // Doit être répondu
options: [ // Pour les types à options (mcq, multi, dichotomous, image_choice)
{ label: "18-25", image_url: "..." },
{ label: "26-35" }
],
min: 1, // Min pour scale/numeric/slider
max: 5, // Max pour scale/numeric/slider
step: 1, // Pas pour scale/numeric/slider
label_min: "Pas du tout", // Étiquette d'extrémité gauche (scale/slider)
label_max: "Extrêmement", // Étiquette d'extrémité droite (scale/slider)
scale_labels: ["Jamais", "Rarement", "Parfois", "Souvent", "Toujours"], // Étiquettes par point (scale, array)
min_length: 10, // Longueur min pour text/textarea
max_length: 500, // Longueur max pour text/textarea
randomize_options: false, // Ordre aléatoire des options
items: ["Item 1", "Item 2"], // Items pour matrix/ranking
condition: { // Logique conditionnelle
question_id: "q0",
operator: "eq", // eq, neq, gt, lt
value: "Yes"
}
}

Types de questions

TypeDescriptionFormat de réponse
scaleÉchelle Likert ou de notation numériqueNombre
numericSaisie numériqueNombre
textSaisie de texte libre (court)Chaîne
textareaTexte longChaîne
mcqChoix multiples (sélection unique)Chaîne (option sélectionnée)
multiCocher plusieurs optionsTableau de chaînes
dichotomousQuestion oui/nonChaîne ("Yes"/"No")
dateSélecteur de dateChaîne de date
sliderCurseur / Échelle analogique visuelle (EAV)Nombre
matrixMatrice / Grille de questionsObjet {item: valeur}
rankingClassement d'itemsTableau de chaînes (ordre de classement)
image_choiceChoix par imageChaîne (option sélectionnée)

Options avec images

Pour les questions de type image_choice, les options peuvent inclure des URLs d'images :

{
id: "q1",
type: "image_choice",
text: "Quelle image vous plaît le plus ?",
options: [
{ label: "Option A", image_url: "https://..." },
{ label: "Option B", image_url: "https://..." }
]
}

Paramètres de présentation

ParamètreTypeDéfautDescription
show_progressbooleanfalseAfficher la barre de progression
show_question_numbersbooleantrueAfficher les numéros de questions
questions_per_pagenumber0Questions par page (0 = toutes)
randomize_questionsbooleanfalseOrdre aléatoire des questions

Clés de méta-traduction

Les textes de l'interface utilisateur peuvent être personnalisés via les clés de méta-traduction :

CléDéfaut (EN)Utilisation
submit"Submit"Bouton de soumission (retombe sur next)
previous"Previous"Bouton page précédente
required_indicator"*"Indicateur de champ obligatoire
yes"Yes"Option oui (dichotomous)
no"No"Option non (dichotomous)
required_fields_error"Please answer all required questions before submitting."Message d'erreur de validation
progress"Question {current} of {total}"Modèle de texte de progression

Données en sortie

Marqueurs et Réponses

La tâche enregistre plusieurs marqueurs pendant le questionnaire et un objet de réponse par question lors de la soumission.

Marqueurs (questionnaire_order) :

{
"type": "questionnaire_order",
"ts": "2024-01-01T00:00:01.000Z",
"hr": 1234.56,
"data": {
"order": ["q1", "q2", "q3"]
}
}

Marqueurs (stimulus_shown) :

{
"type": "stimulus_shown",
"ts": "2024-01-01T00:00:01.000Z",
"hr": 1234.56,
"data": {
"order": ["q1", "q2", "q3"]
}
}

Marqueurs additionnels enregistrés via la base de marqueurs de la tâche :

  • {task}_q{N} -- Participant a interagi avec la question N (base 1)
  • {task}_q{N}_o{M} -- Participant a sélectionné l'option M (base 1) à la question N (pour les types de questions à options)

Marqueurs (questionnaire_submitted) :

{
"type": "questionnaire_submitted",
"ts": "2024-01-01T00:00:30.000Z",
"hr": 30234.56
}

Données de réponse (une par question lors de la soumission) :

{
"id": "q1",
"marker": "q1",
"index": 0,
"type": "scale",
"value": 4,
"response_label": null,
"latency_ms": 3450,
"display_duration_ms": 3450,
"order": ["q1", "q2", "q3"]
}
ChampTypeDescription
idstringIdentifiant de question (ex: "q1")
markerstringClé de marqueur de question (ex: "q1")
indexnumberIndex d'affichage de la question (base 0)
typestringType de question ("scale", "mcq", "multi", "text", "textarea", "numeric", "dichotomous", "slider", "matrix", "ranking", "image_choice", "date")
valuevariesRéponse du participant (nombre pour scale, chaîne pour mcq/text, tableau de chaînes pour multi, objet pour matrix)
response_labelstring/nullÉtiquette lisible de l'option pour les types à sélection unique (mcq, dichotomous, image_choice) ; null sinon
latency_msnumber/nullTemps de la présentation à la première interaction, en millisecondes
display_duration_msnumber/nullDurée d'affichage de la question en millisecondes
orderarrayOrdre de présentation (clés de marqueur des questions) pour cette instance

Artefact de synthèse

La tâche émet un seul artefact de synthèse standardisé (questionnaire_summary_{index}.json). Les réponses par question circulent aussi dans le flux de réponses par type, et la projection CSV générique par type produit les colonnes de réponses aplaties ; il n'y a donc pas de fichier JSON aplati distinct.

{
"task_kind": "questionnaire",
"task_index": 0,
"overall": {
"question_count": 3,
"total_duration_ms": 45000,
"title": "Titre de l'enquête"
},
"trials": [
{
"id": "q1",
"type": "scale",
"value": 4,
"latency_ms": 3450
}
],
"extras": {
"answers": {
"q1": 4,
"q2": "Yes",
"q3": ["Option A", "Option B"]
},
"response_times": {
"q1": 3450
},
"order_markers": ["q1", "q2", "q3"],
"questions": []
}
}

Exemples de questionnaires

Enquête démographique

{
title: "Informations de base",
questions: [
{
id: "age",
type: "numeric",
text: "Quel est votre âge ?",
required: true,
min: 18,
max: 100
},
{
id: "gender",
type: "mcq",
text: "Genre",
options: [
{ label: "Homme" },
{ label: "Femme" },
{ label: "Non-binaire" },
{ label: "Préfère ne pas répondre" }
],
required: true
},
{
id: "education",
type: "mcq",
text: "Niveau d'éducation le plus élevé complété",
options: [
{ label: "Moins que le secondaire" },
{ label: "Diplôme d'études secondaires" },
{ label: "Études collégiales partielles" },
{ label: "Diplôme d'associé" },
{ label: "Baccalauréat" },
{ label: "Maîtrise" },
{ label: "Doctorat" }
],
required: true
},
{
id: "handedness",
type: "mcq",
text: "Quelle main utilisez-vous principalement pour écrire ?",
options: [
{ label: "Droite" },
{ label: "Gauche" },
{ label: "Les deux également" }
],
required: true
}
]
}

Évaluations post-tâche

{
title: "Expérience de la tâche",
questions: [
{
id: "difficulty",
type: "scale",
text: "Comment avez-vous trouvé la tâche difficile ?",
min: 1,
max: 7,
scale_labels: ["Très facile", "", "", "", "", "", "Très difficile"],
required: true
},
{
id: "effort",
type: "scale",
text: "Combien d'effort avez-vous mis dans la tâche ?",
min: 1,
max: 7,
scale_labels: ["Effort minimal", "", "", "", "", "", "Effort maximal"],
required: true
},
{
id: "strategy",
type: "textarea",
text: "Veuillez décrire toute stratégie que vous avez utilisée pour compléter la tâche.",
required: false,
min_length: 10,
max_length: 500
}
]
}

Questionnaire de filtrage avec logique conditionnelle

{
title: "Filtrage d'éligibilité",
questions: [
{
id: "color_vision",
type: "dichotomous",
text: "Avez-vous une vision des couleurs normale ou corrigée à la normale ?",
required: true
},
{
id: "color_deficiency_type",
type: "mcq",
text: "Quel type de déficience de vision des couleurs avez-vous ?",
options: [
{ label: "Rouge-vert" },
{ label: "Bleu-jaune" },
{ label: "Daltonisme complet" },
{ label: "Incertain" }
],
required: true,
condition: {
question_id: "color_vision",
operator: "eq",
value: "no"
}
},
{
id: "vision_correction",
type: "dichotomous",
text: "Portez-vous des lunettes ou des lentilles de contact ?",
required: true
},
{
id: "wearing_correction",
type: "dichotomous",
text: "Portez-vous vos lunettes/lentilles en ce moment ?",
required: true,
condition: {
question_id: "vision_correction",
operator: "eq",
value: "yes"
}
}
]
}

Échelle psychologique validée (GAD-7 simplifié)

{
title: "Échelle de trouble d'anxiété généralisée à 7 items (GAD-7)",
questions: [
{
id: "gad1",
type: "scale",
text: "Se sentir nerveux(se), anxieux(se) ou à cran",
min: 0,
max: 3,
scale_labels: ["Pas du tout", "Plusieurs jours", "Plus de la moitié des jours", "Presque tous les jours"],
required: true
},
{
id: "gad2",
type: "scale",
text: "Ne pas pouvoir arrêter ou contrôler l'inquiétude",
min: 0,
max: 3,
scale_labels: ["Pas du tout", "Plusieurs jours", "Plus de la moitié des jours", "Presque tous les jours"],
required: true
}
// ... items GAD-7 restants
]
}

Exemple de matrice/grille

{
title: "Évaluation de satisfaction",
questions: [
{
id: "satisfaction",
type: "matrix",
text: "Veuillez évaluer votre satisfaction pour chaque aspect :",
items: [
"Qualité du contenu",
"Facilité d'utilisation",
"Support technique",
"Rapport qualité-prix"
],
min: 1,
max: 5,
scale_labels: ["Très insatisfait", "Insatisfait", "Neutre", "Satisfait", "Très satisfait"],
required: true
}
]
}

Exemple de classement

{
title: "Préférences",
questions: [
{
id: "priorities",
type: "ranking",
text: "Classez les éléments suivants par ordre d'importance (1 = le plus important) :",
items: [
"Salaire",
"Équilibre travail-vie",
"Opportunités d'avancement",
"Culture d'entreprise",
"Lieu de travail"
],
required: true
}
]
}

Exemple de choix par image

{
title: "Reconnaissance d'émotions",
questions: [
{
id: "emotion",
type: "image_choice",
text: "Quelle émotion cette personne exprime-t-elle ?",
options: [
{ label: "Joie", image_url: "https://exemple.com/joie.jpg" },
{ label: "Tristesse", image_url: "https://exemple.com/tristesse.jpg" },
{ label: "Colère", image_url: "https://exemple.com/colere.jpg" },
{ label: "Surprise", image_url: "https://exemple.com/surprise.jpg" }
],
required: true
}
]
}

Recommandations de conception

Conception des questions

  • Clarté : Utiliser un langage simple et sans ambiguïté
  • Neutralité : Éviter les questions orientées ou suggestives
  • Concept unique : Une seule question par item (éviter les questions à double sens)
  • Options de réponse : Mutuellement exclusives et exhaustives
  • Sujets sensibles : Inclure l'option "Préfère ne pas répondre"

Conception des échelles

  • Impair vs. pair : Les échelles impaires permettent un point neutre central ; les paires forcent une direction
  • Ancres : Étiqueter clairement les extrémités ; optionnellement étiqueter tous les points
  • Étendue : 5-7 points typique pour Likert ; 0-10 pour les échelles de douleur/difficulté
  • Directionnalité : Maintenir une direction cohérente (élevé = plus du construit)

Longueur du questionnaire

  • Temps de complétion : Viser <10 minutes pour les échantillons non cliniques
  • Nombre de questions : 15-30 questions typique ; >50 risque la fatigue
  • Pages : Diviser en 3-5 pages pour une meilleure expérience
  • Barre de progression : Aide les taux de complétion, particulièrement pour les enquêtes longues

Obligatoire vs. optionnel

  • Données démographiques : L'âge et le genre sont souvent obligatoires pour l'analyse
  • Filtrage : Les critères d'éligibilité doivent être obligatoires
  • Expérience : Les évaluations post-tâche peuvent être optionnelles
  • Sensible : La santé et les revenus sont souvent préférables en optionnel

Problèmes courants et solutions

ProblèmeSolution
Faibles taux de complétionRaccourcir le questionnaire ; rendre les questions optionnelles vraiment optionnelles
Réponses linéaires (même réponse répétée)Inverser le codage de certains items ; inclure des vérifications d'attention
Données manquantes sur les variables clésRendre les questions critiques obligatoires avec des instructions claires
Biais de réponse (désirabilité sociale)Assurer l'anonymat ; utiliser des échelles validées ; envisager des formats à choix forcé
Les participants répondent trop viteAjouter des horodatages ; signaler les complétions suspectes (<2 s/question)
Confusion sur les échellesFournir des ancres et des exemples clairs

Intégration d'échelles validées

Lors de l'utilisation d'échelles psychologiques validées :

  1. Permission : S'assurer d'avoir les droits d'utilisation de l'échelle
  2. Formulation exacte : Utiliser le texte verbatim des questions et des options de réponse
  3. Notation : Suivre les algorithmes de notation publiés
  4. Interprétation : Utiliser les normes et les seuils publiés
  5. Citation : Citer l'article original de développement de l'échelle

Échelles validées courantes :

  • Dépression : PHQ-9, BDI-II, CES-D
  • Anxiété : GAD-7, STAI, BAI
  • Personnalité : Big Five Inventory (BFI), HEXACO
  • Plaintes cognitives : Cognitive Failures Questionnaire (CFQ)
  • Sommeil : Pittsburgh Sleep Quality Index (PSQI)

Considérations pour l'analyse des données

Quantitatif :

  • Calculer les scores d'échelle (somme, moyenne ou pondérée)
  • Tester la cohérence interne (alpha de Cronbach)
  • Corréler avec les mesures comportementales
  • Différences entre groupes (tests t, ANOVA)

Qualitatif (questions ouvertes) :

  • Analyse thématique des réponses textuelles
  • Codage de contenu
  • Analyse de fréquence de mots / analyse de sentiment

Données manquantes :

  • Rapporter les taux de manquant
  • Utiliser une imputation appropriée si nécessaire (moyenne, régression, imputation multiple)
  • Considérer la suppression par liste vs. par paire

Références

Les questionnaires sont des outils généraux ; les références dépendent des échelles spécifiques utilisées. Pour la conception de questionnaires :

  • Krosnick, J. A., & Presser, S. (2010). Question and questionnaire design. In P. V. Marsden & J. D. Wright (Eds.), Handbook of Survey Research (2nd ed., pp. 263-313). Emerald Group Publishing.

  • DeVellis, R. F. (2016). Scale Development: Theory and Applications (4th ed.). SAGE Publications.

Pour les échelles validées spécifiques, citer l'article de développement original (p. ex., Spitzer et al., 2006 pour le GAD-7).

Voir aussi

  • Instructions - Pour présenter des informations sans collecter de réponses