Documentation MindCraft

Guide complet de la plateforme — de la création de compte à la collecte et l'export des données.

1. Démarrage rapide

1.1 Créer un compte

1

Accéder à la page d'inscription

Depuis la page de connexion, cliquez sur "Créer un compte". Renseignez votre nom d'utilisateur, adresse email académique et mot de passe.

2

Valider votre inscription

Après soumission du formulaire, vous êtes redirigé(e) vers le tableau de bord. Votre compte est immédiatement actif.

3

Accéder au tableau de bord

Le tableau de bord liste vos projets (projets dont vous êtes propriétaire et projets partagés). C'est le point d'entrée principal de la plateforme.

1.2 Créer un premier projet

1

Nouveau projet

Depuis le tableau de bord, cliquez sur "Nouveau projet". Donnez-lui un nom et optionnellement une description.

2

Page du projet

Vous arrivez sur la page du projet. Vous pouvez y créer des études, inviter des collaborateurs et consulter l'activité récente.

3

Créer une étude

Cliquez sur "Nouvelle étude". Nommez-la. L'éditeur de blocs s'ouvre automatiquement.

2. L'éditeur de blocs

L'éditeur de blocs (ou "builder") est l'interface principale de création d'une étude. Il se compose de trois zones :

  • Palette de blocs (gauche) — Cliquez sur un type de bloc pour l'ajouter à la fin de votre étude.
  • Zone centrale — Affiche la structure de votre étude (onglet "Structure") ou la configuration du bloc sélectionné (onglet "Configurer").
  • Barre d'onglets supérieure — Naviguez entre Constructeur, Design expérimental, Export et Open Science.
Deux façons d'ajouter un bloc :
  • Cliquer sur un type dans la palette de gauche → le bloc s'ajoute à la fin de la liste.
  • Cliquer sur le bouton « + Insérer ici » qui apparaît au survol entre deux blocs → le bloc s'insère directement à la position choisie.
Réordonner les blocs : saisissez la poignée à gauche d'un bloc (six points) et glissez-la vers la position souhaitée. Une ligne bleue apparaît pendant le déplacement pour indiquer où le bloc va être inséré. Les blocs s'exécutent dans l'ordre défini.

2.1 Types de blocs disponibles

ACCUEIL

Message d'accueil

Page d'introduction ou consignes. Titre, texte libre (HTML) et bouton de démarrage personnalisable.

QUESTIONNAIRE

Questionnaire

Bloc de questions. 30+ types disponibles. Ordre aléatoire configurable.

TÂCHE

Tâche comportementale

Présentation de stimuli avec mesure de temps de réaction. Phases entraînement / test.

LOGIQUE

Logique

Branchement conditionnel basé sur les réponses précédentes. Routage dynamique.

DEBRIEFING

Message de fin

Page de conclusion. Redirection automatique vers la plateforme de recrutement ou une URL personnalisée.

3. Types de questions

Les types de questions sont organisés en cinq catégories : choix, texte, numérique, échelles & matrices, et spécial. Chaque question peut être marquée comme obligatoire et ses choix peuvent être randomisés (sauf les choix ancrés).

3.1 Choix

RADIO

Radio (choix unique)

Une seule réponse parmi plusieurs options. Idéal : genre, condition.

Option AOption BOption C
CHECKBOX

Case à cocher

Plusieurs réponses possibles. Idéal : connaissances préalables, symptômes.

Option A
Option B
Option C
LIKERT

Likert

N points avec labels extrêmes. Idéal : accord, intensité émotionnelle.

Pas du tout d'accordTout à fait d'accord
CONSENTEMENT

Consentement

Boutons Accepter / Refuser distincts. Idéal : formulaire RGPD.

J'accepte
Je refuse
SELECT

Liste déroulante

Menu déroulant au lieu de boutons radio. Idéal : quand beaucoup d'options (pays, langues).

Sélectionnez...
BUTTON_GROUP

Groupe de boutons

Choix unique sous forme de boutons stylés côte à côte. Idéal : réponses rapides.

Oui
Non
NSP
MEDIA_RADIO

Choix unique avec médias

Chaque option peut avoir une image, un audio ou une vidéo. Idéal : choix visuels.

Option 1
Option 2
MEDIA_CHECKBOX

Choix multiple avec médias

Sélection multiple avec médias (image, audio, vidéo). Idéal : classement visuel.

A
B
C
RADIO_COMMENT

Choix unique + commentaire

Radio classique avec zone de texte libre. Idéal : avis avec justification.

Option A
Commentaire...
CHECKBOX_COMMENT

Choix multiple + commentaire

Cases à cocher avec zone de texte libre. Idéal : sélection + précisions.

Option B
Commentaire...
DRILL_DOWN

Menu en cascade

Choix hiérarchique (niveau 1 puis niveau 2). Idéal : Pays puis Ville.

France
Paris

3.2 Texte

TEXTE

Texte libre

Zone de saisie ouverte. Idéal : justification, réponse qualitative.

Votre réponse...
FILL_BLANK

Texte à trous

Le participant remplit des champs dans un passage. Idéal : tests de compréhension.

Le chat est un ______ domestique.
INPUT_DEMAND

Saisie demandée

Champ de texte court avec validation. Idéal : code participant, identifiant.

Entrez votre code...
DROP_WORD

Texte à trous (banque de mots)

Glisser-déposer des mots depuis une banque vers les blancs. Idéal : vocabulaire, compréhension.

Le soleil brille.
lunesoleilvent
DISPLAY

Affichage texte/HTML

Contenu riche sans collecte de données. Idéal : consignes, stimuli textuels.

Consigne
Lisez attentivement le texte suivant...

3.3 Numérique

NUMÉRIQUE

Numérique

Entier ou décimal avec min/max. Idéal : âge, fréquence, score.

25
Min: 0 — Max: 100
EQUATION

Calcul / Équation

Le participant entre le résultat d'un calcul. Idéal : tests numériques, arithmétique.

12 + 7 =
?
COMPUTED

Calcul automatique

Variables d'entrée + formule = résultat calculé en temps réel. Idéal : scores composites.

Q1 + Q2=42
DATE

Date

Calendrier natif. Idéal : date de naissance, dernier contact.

JJ/MM/AAAA

3.4 Échelles & Matrices

SLIDER

Slider

Échelle continue avec curseur. Idéal : certitude subjective.

0100
MATRICE

Matrice

Plusieurs items sur la même échelle. Idéal : BFI, STAI, PHQ-9.

12345
Item 1
Item 2
SÉMANTIQUE

Différentiel sémantique

Bipôles adjectivaux sur une échelle. Idéal : perception d'un objet.

Mauvais
Bon
SOMME

Somme constante

Répartition de N points entre items. Idéal : allocation de ressources.

Item A
60
Item B
40
SIDE_BY_SIDE

Side-by-side

Même items évalués sur deux conditions (avant/après, gauche/droite). Idéal : comparaisons.

Avant
Après

3.5 Spécial

CLASSEMENT

Classement

Ordonnancement par glisser-déposer. Idéal : préférences, priorités.

Premier choix
Deuxième choix
Troisième choix
TIMING

Timing

Mesure automatique de la durée de réponse. Invisible pour le participant.

Durée mesurée automatiquement
IMAGE

Image

Affiche une image comme stimulus ou support de question.

Sélectionner une image
AUDIO

Audio

Lecture d'un fichier audio. Idéal : stimuli sonores, amorçage auditif.

audio.mp3
VIDÉO

Vidéo

Lecture d'une vidéo. Idéal : stimuli vidéo, scénarios comportementaux.

DRAG_DROP

Glisser-déposer

Classer des éléments dans des catégories par drag and drop. Idéal : tri, catégorisation.

Cat. A
Item 1
Cat. B
HIGHLIGHT

Surlignage

Sélectionner des mots/passages dans un texte. Idéal : analyse de texte, repérage.

Voici un passage important dans le texte.
HOTSPOT

Zone cliquable

Cliquer sur une image, coordonnées enregistrées. Idéal : détection visuelle, cartes de chaleur.

FILE_UPLOAD

Dépôt de fichier

Le participant uploade un fichier. Idéal : recueil de documents, dessins.

Déposer un fichier
META_INFO

Métadonnées

Collecte automatique (navigateur, OS, résolution). Invisible pour le participant.

Navigateur, OS, résolution...
Bon à savoir : Pour les échelles validées (BFI, STAI, PHQ-9, etc.), utilisez le type Matrice et cochez l'option « Inversé (R) » sur les items à scorer en sens inverse. À l'export, deux colonnes seront produites pour chaque item inversé : une avec la valeur brute (sans suffixe) et une avec la valeur recodée (suffixe _R). Le type TIMING est cumulable avec n'importe quel autre type de question.
Valeur de départ : Les échelles de Likert, Matrice et Différentiel sémantique peuvent commencer à 0 ou à 1. Sélectionnez la valeur de départ souhaitée dans le formulaire de la question (option « Valeur de départ »).
Confort de passation pour les questionnaires longs : deux options complémentaires sont disponibles dans les paramètres de chaque question.
  • « Garder la consigne visible pendant le défilement » la consigne (le texte de la question) reste épinglée en haut de l'écran ; le corps de la question (la matrice et ses items) continue de défiler normalement en-dessous.
  • « En-tête de matrice toujours visible » (matrices uniquement) la ligne des chiffres et libellés de colonnes (ex. 1 2 3 4 5, « Pas du tout d'accord »…) reste affichée en haut. Évite que les ancres de l'échelle disparaissent au-delà du 10\u1d49 item.
Vous pouvez activer les deux options ensemble : la consigne se positionne au-dessus, puis l'en-tête de matrice juste en-dessous, et les items défilent en-dessous.

4. Tâche comportementale

Le bloc Tâche permet de créer des paradigmes comportementaux (amorçage, catégorisation, temps de réaction). Il se configure via 4 onglets dans l'inspecteur de droite.

4.1 Onglet Structure — phases de la tâche

Une tâche se compose de phases successives. Définissez-les dans l'onglet Structure. Chaque phase a un rôle distinct dans le déroulement du paradigme :

  • Instruction — Texte de consignes affiché avant les essais. Peut contenir des images, du texte mis en forme et un bouton de démarrage.
  • Bloc d'entraînement — Essais de pratique permettant au participant de se familiariser avec la tâche. Le feedback est généralement activé. Les données sont identifiées comme « entraînement » dans l'export, pour que vous puissiez les écarter facilement. Indiquez le nombre d'essais et si les stimuli doivent être randomisés.
  • Bloc de test — Essais expérimentaux dont les données sont enregistrées et exportables. Le feedback peut être désactivé selon le protocole. Configurez le nombre d'essais et la randomisation.
  • Pause — Écran de pause inter-blocs avec durée configurable.

4.2 Onglet Essai — séquence temporelle d'un essai

Construisez la séquence temporelle d'un essai en ajoutant des étapes. Le diagramme ci-dessous illustre un essai typique d'amorçage :

IEI
500 ms
Fixation
200–500 ms
Stimulus
jusqu'à réponse
Masque
250 ms
Feedback
600 ms
ÉtapeDurée typiqueOptions clés
Intervalle inter-essai (IEI)400–1000 msDurée fixe, ou variable (plage min/max tirée aléatoirement, continue ou par paliers)
Point de fixation200–600 msCroix ou point central ; durée variable configurable
StimulusVariable (réponse) ou fixeImage / son / vidéo / texte ; réponse clavier ou souris ; durée max
Masque50–300 msImage de masque ; durée fixe
Feedback400–800 msTexte correct/incorrect ; couleur configurable
Question post-essaiVariableJugement de confiance, awareness check
Durées aléatoires : Pour les étapes de type fixation ou IEI, activez « Durée variable » pour définir une plage min/max. À chaque essai, une durée est tirée dans cette plage.
  • Tirage continu — laissez le champ Pas vide : la durée peut prendre n'importe quelle valeur entière entre min et max (par ex. 300–800 ms → 456 ms, 712 ms, 389 ms…).
  • Tirage par paliers — renseignez un Pas (ex. 100) : la durée est choisie parmi les multiples du pas dans l'intervalle (par ex. 300–800 ms avec pas 100 → 300, 400, 500, 600, 700 ou 800 ms).

4.3 Exemple — configuration IAT (Implicit Association Test)

Voici comment structurer les 7 blocs classiques d'un IAT dans MindCraft :

BlocTypeCatégoriesEssaisTouches
1EntraînementCible A vs B20E / I
2EntraînementAttribut + vs −20E / I
3EntraînementCible A + Attribut + / Cible B + Attribut −20E / I
4TestCompatible (A+) / (B−)40E / I
5EntraînementCible inversée B vs A20E / I
6EntraînementCible B + Attribut + / Cible A + Attribut −20E / I
7TestIncompatible (B+) / (A−)40E / I
Conseil IAT : Dans l'onglet Design expérimental, créez un facteur intra-sujets "Ordre" avec deux niveaux (Compatible en premier / Incompatible en premier) et utilisez le contrebalancement Williams pour contrôler les effets d'ordre.

4.4 Onglet Stimuli — gestion des fichiers

Uploadez vos fichiers stimulus (images, sons, vidéos). Vous pouvez les organiser par catégories. Les catégories sont utilisées pour l'assignation dans le design expérimental.

TypeFormats acceptésOptions
ImagesJPEG, PNG, SVG, WebPTaille, position, durée d'affichage
AudioMP3, WAV, OGGVolume, lecture automatique, nombre de répétitions
VidéoMP4, WebMDimensions, lecture automatique, masquage des contrôles
Texte (mots)Chaînes de caractèresPolice, taille, couleur, position à l'écran

4.5 Paramètres d'apparence

L'apparence de la tâche est configurable pour correspondre aux standards de votre protocole :

  • Couleur de fond — Couleur d'arrière-plan de l'écran de tâche (blanc, gris, noir ou couleur personnalisée).
  • Couleur du texte — Couleur des labels, feedback et consignes.
  • Taille des stimuli — En pixels ou en pourcentage de l'écran.
  • Point de fixation — Croix (+), point ou personnalisé. Taille et couleur configurables.

4.6 Réponses par touches clavier

Configurez les touches de réponse dans l'onglet Essai. Pour chaque catégorie de stimulus, associez une touche clavier (ex : "E" pour gauche, "I" pour droite). Les touches sont affichées au participant pendant la tâche sous forme de labels configurables.

4.7 Intégrer une tâche externe

Si vous avez déjà une tâche développée sur PsychoPy, PsyToolkit, OpenSesame ou en HTML, vous pouvez l'intégrer sans la recréer via l'onglet Tâche externe :

  • Mode iFrame — La tâche s'affiche dans la page MindCraft. Compatible avec les tâches web hébergées (GitHub Pages, serveur personnel).
  • Mode Redirection — Le participant est redirigé vers la tâche externe, puis revient automatiquement sur MindCraft pour la suite de l'étude.

La détection de fin de tâche peut se faire via un bouton "Continuer", un message JavaScript (postMessage('mindcraft:complete')), ou une durée maximale.

5. Mesures physiologiques

MindCraft permet de synchroniser vos enregistrements physiologiques (EEG, ECG, GSR, eye-tracking, fNIRS) avec chaque événement de votre étude grâce au protocole Lab Streaming Layer (LSL). Cette section explique le concept, le fonctionnement et la configuration.

5.1 Qu'est-ce qu'un marqueur LSL ?

Imaginez que vous filmez une scène de cinéma tout en enregistrant le son séparément. Pour pouvoir synchroniser l'image et le son au montage, on utilise un clap : un signal bref, visible sur la vidéo et audible sur la piste son, qui sert de point de repère commun.

Un marqueur LSL fonctionne exactement de la même façon. C'est un signal bref envoyé à un instant précis de l'expérience (par exemple : « un stimulus vient d'apparaître » ou « le participant a répondu ») qui est enregistré en même temps dans votre flux de données physiologiques (EEG, eye-tracking, etc.).

Après l'expérience, ces marqueurs vous permettent, dans vos outils d'analyse externes, de découper vos données physiologiques pour isoler précisément ce qui se passe dans le cerveau ou les yeux du participant à chaque étape de votre tâche.

LSL (Lab Streaming Layer) est un protocole standard en neurosciences utilisé par BrainVision, BIOPAC, Tobii, OpenBCI et bien d'autres logiciels d'acquisition. MindCraft envoie les marqueurs via WebSocket vers un petit script relay Python qui les injecte dans le réseau LSL.

5.2 Architecture : deux niveaux de marqueurs

MindCraft envoie des marqueurs à deux niveaux complémentaires :

  • Marqueurs globaux (niveau étude) — Envoyés automatiquement par MindCraft pour tous les types de blocs : début/fin dtude, début/fin de bloc, affichage de question, réponse du participant. Codes par défaut : STUDY_START, STUDY_END, BLOCK_START, BLOCK_END, Q_SHOW, Q_RESP. Configurables dans ltude, onglet « Mesures physio ».
  • Marqueurs fins (niveau tâche) — Spécifiques aux blocs de type Tâche. Ils marquent chaque micro-événement à l'intérieur d'un essai (fixation, stimulus, réponse, feedback). Le fonctionnement de ces marqueurs dépend du type de tâche : interne ou externe.

Les deux niveaux coexistent et se complètent. Les marqueurs globaux vous donnent la structure générale (« on est dans le bloc 3 »), les marqueurs fins vous donnent le détail (« le stimulus n°12 vient d'apparaître »).

5.3 Tâche interne (construite dans MindCraft)

Lorsque vous construisez votre tâche directement dans MindCraft (onglets Structure, Essai, Stimuli), les marqueurs fins sont envoyés automatiquement à chaque étape de chaque essai. Vous n'avez rien à coder.

Fixation
marqueur : F
Stimulus
marqueur : S
Réponse
marqueur : R
Feedback
marqueur : FB

Les codes marqueurs (F, S, R, FB) sont personnalisables dans les paramètres de chaque bloc Tâche. Vous pouvez les renommer (par exemple FIXATION, STIM, RESP, FEED) selon les conventions de votre laboratoire.

Idéal pour : les paradigmes classiques (amorçage, Stroop, IAT, Go/No-Go, flanker, etc.) où chaque essai suit une séquence régulière dtapes. MindCraft gère tout automatiquement.

5.4 Tâche externe en iframe (marqueurs personnalisés)

Certaines tâches sont trop complexes ou trop écologiques pour être construites avec lditeur trial-based de MindCraft (par exemple : un client email réaliste, un jeu vidéo, une simulation de réseau social). Dans ce cas, vous hébergez votre tâche en HTML et MindCraft l'affiche dans une iframe.

Le problème : MindCraft ne contrôle pas votre tâche, donc il ne peut pas savoir quand un stimulus apparaît ou quand le participant répond. C'est votre tâche qui doit envoyer ses propres marqueurs via la fonction JavaScript postMessage.

MindCraft écoute ces messages et les relaie automatiquement vers le flux LSL, exactement comme s'il les avait envoyés lui-même.

Votre tâche (iframe)
postMessage
MindCraft
WebSocket
LSL Relay → EEG / Eye-tracker

Pour envoyer un marqueur depuis votre tâche, ajoutez cette fonction à votre code HTML :

function mc(marker, data) {
  try {
    window.parent.postMessage(
      { type: "mindcraft:marker", marker, data }, "*"
    );
  } catch {}
}

Ensuite, appelez mc() aux moments clés de votre tâche. Les noms de marqueurs et les données sont entièrement libres — vous les adaptez à votre paradigme :

// Quand un stimulus apparaît
mc("STIMULUS_ONSET", { trial: 5, type: "phishing", code: "EM_12" });

// Quand le participant répond
mc("RESPONSE", { trial: 5, key: "Q", rt_ms: 3200, correct: true });

// Quand la tâche est terminée (signal de fin)
window.parent.postMessage("mindcraft:complete", "*");
Exemples d'adaptation : Pour un Stroop : mc("STIMULUS", { color, word, congruent }). Pour un IAT : mc("TRIAL_START", { block, category }). Pour une tâche de recherche visuelle : mc("TARGET_ONSET", { setSize, targetPresent }). Les noms et données sont entièrement libres.
Compatibilité : si votre tâche est utilisée hors de MindCraft (en standalone), les appels postMessage sont silencieusement ignorés par le navigateur. Aucun risque d'erreur.

5.5 Tâche externe en redirection

En mode Redirection, le participant quitte MindCraft pour aller sur un site externe (PsyToolkit, Qualtrics, Gorilla, etc.) puis revient automatiquement. Comme la tâche s'exécute sur un autre site, il n'y a aucune communication possible entre la tâche et MindCraft pendant l'exécution.

Dans ce mode, MindCraft envoie uniquement deux marqueurs : TASK_START (au moment de la redirection) et TASK_END (au retour du participant). Aucun marqueur fin (stimulus, réponse) n'est possible.

Limitation : Si vous avez besoin de marqueurs fins pour la synchronisation physiologique (eye-tracking, EEG), utilisez le mode iFrame plutôt que le mode Redirection. Le mode Redirection ne convient que si vous n'avez pas besoin de synchroniser les micro-événements de la tâche.

5.6 Tableau comparatif

Résumé des marqueurs disponibles selon le type de tâche :

Tâche interneExterne (iframe)Externe (redirection)
Marqueurs globauxAutomatiquesAutomatiquesTASK_START / TASK_END uniquement
Marqueurs finsAutomatiques (F, S, R, FB)Envoyés par la tâche via postMessageImpossible
Noms des marqueursPersonnalisables dans MindCraftLibres (définis par le développeur)
Données embarquéestrial, phase, rtLibres (n'importe quel objet JSON)
Code nécessaireAucun1 fonction + appels aux moments clésAucun
Synchronisation physioPrécise (par essai)Précise (selon vos marqueurs)Grossière (début/fin seulement)
Idéal pourParadigmes classiquesTâches écologiques complexesQuestionnaires externes

5.7 Horodatage automatique (même sans LSL)

Même si vous n'utilisez pas de marqueurs LSL, MindCraft horodate automatiquement chaque événement via performance.now() avec une résolution sub-milliseconde dès que les mesures physiologiques sont activées. Ces timestamps apparaissent dans le CSV exporté et permettent un alignement post-hoc avec vos enregistrements.

Concrètement : si vous enregistrez avec un équipement qui a sa propre horloge (par exemple un eye-tracker Tobii ou un EEG BrainVision), vous pouvez utiliser les marqueurs LSL pour la synchronisation en temps réel, OU les timestamps du CSV pour un alignement post-hoc. Les deux approches sont compatibles.

5.8 Workflow recommandé

1

Configurer l'outil physiologique

Dans l'onglet « Mesures physio » de ltude, sélectionnez votre équipement (EEG, ECG, eye-tracking, etc.), renseignez le logiciel et la fréquence dchantillonnage.

2

Activer LSL et configurer le port

Activez les marqueurs LSL et configurez le port WebSocket du relay (par défaut : 12345). Personnalisez les codes marqueurs globaux si nécessaire.

3

Configurer les marqueurs fins

Pour une tâche interne : personnalisez les codes (F, S, R, FB) dans les paramètres du bloc Tâche. Pour une tâche externe en iframe : ajoutez la fonction mc() à votre code HTML et activez « Marqueurs LSL » dans la section Synchronisation de l'onglet Tâche externe.

4

Lancer le script relay Python

Exécutez le script relay (pip install pylsl websockets && python lsl-relay.py) sur la machine du participant. Il fait le pont entre le WebSocket du navigateur et le réseau LSL.

5

Lancer l'enregistrement physiologique

Démarrez l'enregistrement dans votre logiciel d'acquisition (BrainVision, BIOPAC, Tobii, etc.). Vérifiez que le flux LSL « MindCraft-Markers » est détecté.

6

Le participant complète ltude

Les marqueurs sont envoyés automatiquement en temps réel. Pour les tâches externes en iframe, chaque appel mc() dans votre code est relayé vers LSL.

7

Aligner les données

Utilisez les timestamps haute précision dans le CSV exporté et les marqueurs LSL enregistrés pour aligner les données comportementales et physiologiques.

6. Design expérimental

L'onglet "Design expérimental" permet de configurer un plan factoriel avec contrebalancement automatique des conditions. Le module automatise la gestion des conditions et du contrebalancement.

6.1 Facteurs inter-sujets (between-subjects)

Chaque participant est assigné à une seule condition. MindCraft répartit automatiquement et équitablement les participants entre les niveaux du facteur. Utile pour manipuler des variables comme le type de consigne, la version d'un stimulus ou le cadrage d'un message.

6.2 Facteurs intra-sujets (within-subjects)

Chaque participant passe par toutes les conditions. L'ordre de présentation est contrôlé par le contrebalancement :

  • Carré latin — Chaque condition apparaît une fois à chaque position ordinale.
  • Séquence de Williams — Contrôle à la fois les effets de position et les effets de report (carry-over).
  • Aléatoire — Ordre tiré au hasard pour chaque participant.

6.3 Plans mixtes et conditions

Combinez des facteurs inter et intra-sujets. MindCraft génère automatiquement la matrice complète des conditions et assigne chaque participant à la combinaison appropriée. Le nombre de conditions totales est le produit des niveaux de tous les facteurs.

6.4 Types de plans

TypeDescriptionContrebalancement
Inter-sujetsChaque participant est exposé à une seule conditionRépartition aléatoire et égale entre les groupes
Intra-sujetsChaque participant passe par toutes les conditionsCarré Latin, Williams ou aléatoire
MixteCertains facteurs sont inter, d'autres intraCombinaison selon le type de chaque facteur

6.5 Configurer un facteur

1

Ajouter un facteur

Cliquez sur "Ajouter un facteur". Nommez-le (ex : "Type d'amorce") et choisissez son type (inter ou intra-sujets).

2

Définir les niveaux

Ajoutez les niveaux du facteur (ex : "Compatible", "Incompatible", "Neutre"). Chaque niveau reçoit un code court utilisé dans les exports.

3

Assigner les blocs de stimuli

Pour chaque niveau, sélectionnez les blocs Tâche correspondants. MindCraft présentera ces blocs aux participants assignés à ce niveau.

6.6 Taille d'échantillon

Indiquez le nombre total de participants visé. MindCraft répartira automatiquement et équitablement les participants dans chacune des conditions expérimentales.

7. Randomisation

MindCraft offre deux niveaux de randomisation : au niveau des blocs (ordre de passage) et au niveau des questions (ordre d'affichage dans un bloc).

7.1 Randomisation inter-blocs (groupes)

Vous pouvez assigner des blocs au même groupe de randomisation (A, B, C ou D) pour que leur ordre de passage soit permuté aléatoirement pour chaque participant. Les blocs sans groupe conservent leur position fixe.

1

Sélectionner un bloc

Cliquez sur un bloc dans le constructeur, puis passez en mode "Configurer".

2

Assigner un groupe

Dans le sélecteur "Groupe de randomisation", choisissez un groupe (A, B, C, D). Assignez le même groupe aux blocs dont vous souhaitez permuter l'ordre.

3

Vérifier visuellement

Un badge coloré (ex : "🔀 A") apparaît sur les cartes de blocs concernés dans le canvas.

Exemple : Bloc "Attitudes" et bloc "Comportements" dans le groupe A. Pour le participant 1 : Attitudes puis Comportements. Pour le participant 2 : Comportements puis Attitudes. Les blocs "Accueil" et "Fin" restent en première et dernière position.

7.2 Randomisation intra-bloc (questions)

Dans un bloc Questionnaire, vous pouvez mélanger l'ordre des questions pour chaque participant. Un système d'ancrage permet de fixer certaines questions à leur position.

1

Activer la randomisation

Dans la configuration du bloc, activez "Randomiser l'ordre des éléments". Toutes les questions sont alors marquées "🔀 random" (fond jaune).

2

Ancrer des questions (optionnel)

Cliquez sur "📌 Ancrer" pour fixer une question à sa position. Elle apparaît en bleu ("📌 ancré") et ne sera pas déplacée.

3

Résultat

Les questions ancrées restent à leur position fixe. Les autres sont mélangées entre elles dans les positions restantes.

Exemple : 5 questions, Q1 ancrée en position 1. Pour chaque participant, Q1 reste en premier, puis Q2 à Q5 apparaissent dans un ordre aléatoire.

7.3 Indicateurs visuels

IndicateurSignification
🔀 A (badge jaune sur le bloc)Ce bloc fait partie du groupe de randomisation A
🔀 random (fond jaune, bordure gauche orange)Cette question sera mélangée avec les autres questions random
📌 ancré (fond bleu, bordure gauche bleue)Cette question reste à sa position fixe

Aperçu visuel dans le constructeur :

Bloc « Émotions »🔀 A
Q3 « Quelle est votre humeur ? »🔀 random
Q1 « Consentement »📌 ancré

8. Logique conditionnelle

MindCraft propose deux niveaux de logique conditionnelle pour adapter le parcours du participant en fonction de ses réponses.

8.1 Blocs Logique (flux inter-blocs)

Les blocs de type Logique permettent de contrôler le flux entre les blocs de l'étude. Ils sont évalués automatiquement et ne sont jamais affichés au participant.

ActionDescription
ContinuerPasser au bloc suivant normalement
Sauter le bloc suivantIgnorer le prochain bloc
Aller au bloc…Sauter directement à un bloc spécifique
Terminer l'étudeRediriger vers le message de fin

Chaque règle peut être basée sur la réponse du participant à une question précédente (code question + opérateur + valeur) ou sur la condition expérimentale assignée.

8.2 Conditions daffichage (questions individuelles)

Chaque question peut avoir une condition daffichage : elle ne saffichera que si la condition est remplie. Cela permet de poser des questions de suivi sans créer de blocs séparés.

1

Modifier la question concernée dans le constructeur.

2

Activer Afficher sous condition en bas du formulaire.

3

Choisir la question source (son code), lopérateur et la valeur attendue.

Important : dans le champ « Valeur », indiquez le code du choix (ex : oui), pas le libellé affiché au participant (ex : « Oui »).
OpérateurDescriptionExemple
=Égalité exacteQ1 = oui
Différent deQ1 non
>Supérieur à (numérique)AGE > 18
<Inférieur à (numérique)SCORE < 5
contientContient le texteCOMM contient stress
est renseignéLa question a été répondueQ1 est renseigné

8.3 Indicateur visuel

Les questions ayant une condition daffichage sont signalées dans le constructeur par un badge vert. Au survol, le détail de la condition apparaît.

Aperçu visuel :

Q5 « Pouvez-vous préciser ? » si Q1

9. Prévisualisation par bloc

MindCraft permet de prévisualiser un bloc individuel sans lancer l'étude complète. Cette fonctionnalité est accessible directement depuis l'éditeur de blocs.

1

Repérer licône de prévisualisation

Dans la liste des blocs (onglet « Structure »), chaque bloc possède une icône en forme dœil à côté de son nom.

2

Cliquer sur licône

Un nouvel onglet souvre avec la prévisualisation du bloc sélectionné uniquement, sans les autres blocs de létude.

3

Tester et ajuster

Interagissez avec le bloc comme le ferait un participant. Fermez longlet pour revenir à léditeur et ajuster la configuration si nécessaire.

Astuce : Utilisez la prévisualisation par bloc pour tester rapidement les modifications sur un questionnaire ou une tâche sans parcourir l'étude entière.

10. Collecte et recrutement

9.1 Cycle de vie d'une étude

StatutDescriptionParticipants peuvent accéder
BrouillonEn cours de constructionNon
En révisionEn attente de validationNon
ValidéeApprouvée, prête à diffuserNon
En collecteOuverte aux participantsOui
ArchivéeCollecte terminéeNon

9.2 Comparaison des plateformes de recrutement

MindCraft s'intègre avec les principales plateformes de crowdsourcing. Le tableau ci-dessous résume les différences clés et la méthode de complétion recommandée pour chaque plateforme.

PlateformeParamètres URL à passerMéthode de complétionPublic typique
ProlificPROLIFIC_PIDRedirection vers l'URL de complétion ProlificChercheurs (Europe / US)
Amazon MTurkworkerId, assignmentId, hitIdCode de complétion à saisir dans le HITTurkers (US majoritaire)
Foule FactoryToken de session (paramètre configuré)Code de complétion affiché sur le debriefingPanels francophones
Recrutement directAucun (optionnel : ref pour tracking)Page de fin personnalisée, redirection libreÉtudiants, réseaux sociaux

9.3 Intégration Prolific

Prolific identifie chaque participant via le paramètre PROLIFIC_PID passé dans l'URL. La complétion se fait par redirection automatique.

URL à configurer dans Prolific :
https://app.mindcraft.io/run/[studyId]?PROLIFIC_PID={{%PROLIFIC_PID%}}
1

Créer l'étude sur Prolific

Dans Prolific, créez une nouvelle étude, choisissez "I'll redirect participants" et collez l'URL ci-dessus dans le champ "Study URL".

2

Configurer la redirection de fin

Dans votre bloc Debriefing sur MindCraft, entrez l'URL de complétion Prolific (ex : https://app.prolific.com/submissions/complete?cc=XXXXXXXX) dans le champ "URL de redirection".

3

Tester le flux

Utilisez la fonction "Prévisualiser" (bouton en haut du builder) pour tester le parcours complet avant de lancer la collecte.

9.4 Intégration Amazon Mechanical Turk (MTurk)

MTurk passe trois paramètres dans l'URL : workerId, assignmentId et hitId. La complétion se fait via un code de complétion que le participant doit saisir dans le HIT.

URL à configurer dans votre HIT MTurk :
https://app.mindcraft.io/run/[studyId]?workerId=${workerId}&assignmentId=${assignmentId}&hitId=${hitId}
1

Créer le HIT sur MTurk

Dans Requester UI, créez un HIT de type "Survey Link". Collez l'URL ci-dessus. MTurk remplacera automatiquement les variables au moment de la distribution.

2

Activer le code de complétion dans MindCraft

Dans les paramètres de l'étude (onglet "Publier"), activez "Afficher un code de complétion". MindCraft génère un code unique par participant, affiché sur la page de debriefing.

3

Vérification et approbation

Les participants saisissent le code dans le HIT. Exportez vos données MindCraft en CSV, vérifiez les assignmentId et approuvez les soumissions dans MTurk.

Attention : MTurk ne redirige pas automatiquement les participants à la fin de la tâche. Assurez-vous que le message de debriefing MindCraft indique clairement au participant de retourner sur MTurk pour saisir son code.

9.5 Intégration Foule Factory

Foule Factory est un panel francophone (France / Belgique). L'intégration repose sur un token de session et un code de complétion.

URL à configurer dans Foule Factory :
https://app.mindcraft.io/run/[studyId]?ff_uid=[TOKEN_FOURNI_PAR_FOULE_FACTORY]
1

Créer la mission sur Foule Factory

Dans l'interface Foule Factory, créez une tâche de type "Sondage externe". Renseignez l'URL MindCraft en incluant le paramètre de token indiqué par la plateforme.

2

Activer le code de complétion

Activez "Afficher un code de complétion" dans MindCraft. Le participant le reporte sur Foule Factory pour valider sa participation et déclencher sa rémunération.

9.6 Recrutement direct

Pour le recrutement par email, réseaux sociaux ou SONA (crédit-cours), utilisez l'URL standard de l'étude. Vous pouvez ajouter un paramètre ref pour distinguer les sources de recrutement dans l'export.

Exemples d'URLs :
  • Email : https://app.mindcraft.io/run/[studyId]?ref=email
  • Twitter/X : https://app.mindcraft.io/run/[studyId]?ref=twitter
  • SONA : https://app.mindcraft.io/run/[studyId]?ref=sona&sona_id=%SURVEY_CODE%

La valeur du paramètre ref est enregistrée dans la colonne source du fichier CSV export. La page de debriefing peut être personnalisée avec un message différent selon la source (via le bloc Logique).

11. Export des données

Les données collectées sont accessibles depuis l'onglet "Export" du builder. Sept formats sont proposés, couvrant à la fois les données collectées et la structure de l'étude (data portability).

FormatContenuCompatible avec
CSV — QuestionnairesFormat wide : un participant par ligne, une colonne par question. Inclut les conditions expérimentales.Excel, R, Python (pandas), SPSS, jamovi
CSV — Temps de réactionUn essai par ligne : stimulus, touche, TR (ms), correct, phase (TRAINING / TEST), nom de phase. Inclut les conditions. La colonne phase permet de filtrer ou exclure les essais d'entraînement (par exemple pour identifier des participants n'ayant pas compris la consigne).R, Python, SPSS pour calculs de D-scores, d', RT moyens
CSV — Tâches externesRésultats des tâches externes embarquées : un essai par ligne avec toutes les colonnes spécifiques de la tâche.R, Python, Excel
Excel (.xlsx)Classeur complet avec onglets : Sessions, Questionnaires, RT stimulus, Tâches externes. Format Microsoft.Microsoft Excel, LibreOffice Calc
Tableur ouvert (.ods)Mêmes données qu'Excel, au format ouvert OpenDocument (ISO 26300). À privilégier pour l'archivage et la science ouverte.LibreOffice Calc, OnlyOffice, Excel récent, Google Sheets
Codebook (PDF)Dictionnaire de toutes les variables : codes, libellés, types, modalités, design expérimental.Documentation de l'étude, dépôt open data
Structure JSONSauvegarde complète du design (blocs, questions, séquences, métadonnées Open Science). Aucune donnée participant. Réimportable sur une autre instance MindCraft.Archivage, migration, partage de protocole, OSF / Zenodo

Structure du fichier CSV

ColonneDescriptionExemple
participantIdIdentifiant anonyme du participantcm3abc123... ou ID Prolific / workerId MTurk
studyIdIdentifiant de l'étudecm3xyz789...
blockIdIdentifiant du bloc questionnairecm3def456...
questionCodeCode de la question (défini dans l'éditeur)Q1, STAI_1, AGE
valueRéponse du participant3, "Très d'accord", ["A","C"]
sourceSource de recrutement (paramètre ref)prolific, mturk, email
createdAtHorodatage de la réponse2026-04-05T14:32:11Z

CSV / Excel Questionnaire

Format wide : une ligne par participant, une colonne par question. Les questions de type Matrice, Différentiel sémantique et Side-by-side sont automatiquement éclatées en colonnes individuelles par item (ex : BFI_item1, BFI_item2).

Items inversés : les items marqués « Inversé (R) » dans la matrice donnent lieu à deux colonnes dans l'export :
  • BFI_item3 : la valeur brute (telle que cliquée par le participant)
  • BFI_item3_R : la valeur recodée (15, 24, 3=3, etc. selon l'échelle)
Cela permet de vérifier la donnée brute tout en utilisant directement la valeur recodée dans les analyses, sans avoir à la calculer manuellement.

CSV Essais (tâche comportementale)

Exporte les données des blocs de type Tâche. Une ligne par essai, avec les colonnes : participantId, blockId, trialIndex, phase, stimulusCategory, stimulusFile, responseKey, correct, rt (temps de réaction en ms), createdAt. Ce format est directement exploitable pour le calcul de D-scores (IAT), d' (détection de signal) ou d'autres métriques comportementales.

Codebook PDF

Le codebook est un document PDF généré automatiquement qui décrit chaque variable de l'étude : code de la question, libellé, type, modalités de réponse et valeurs possibles. Ce document est utile pour accompagner un dépôt de données ouvertes (OSF, Zenodo) ou pour la documentation interne du projet.

Structure JSON (data portability)

L'export JSON sauvegarde la structure complète de votre étude : tous les blocs (welcome, instruction, question, stimulus, logique, debriefing), les questions avec leurs options et conditions, les séquences d'essais expérimentaux, le design factoriel, et les métadonnées Open Science. Aucune donnée participant n'est incluse — c'est uniquement le « plan » de l'étude.

Ce format permet trois usages clés :

  • Archivage scientifique — joindre le JSON au dépôt OSF / Zenodo de votre projet pour que toute personne puisse reconstituer l'étude exactement comme vous l'avez conçue.
  • Migration — réimporter l'étude sur une autre instance de MindCraft (instance locale, université, fork de la plateforme), sans avoir à tout reconstruire à la main.
  • Partage de protocole — envoyer un fichier JSON à un collaborateur ou un reviewer, plus précis qu'une description textuelle.
Reproductibilité : le JSON est versionné (champ schemaVersion) et documenté dans le dépôt source du projet (docs/json-export-format.md). Un exemple complet est fourni dans examples/.

Citer MindCraft après l'export

En bas de l'onglet Export, un bandeau « Pensez à citer MindCraft » rappelle qu'il convient de citer la plateforme dans toute publication, mémoire ou rapport exploitant les données collectées. Le bouton « Obtenir la citation » ouvre une fenêtre proposant trois formats : APA (texte courant), BibTeX (LaTeX), RIS (Zotero / EndNote / Mendeley). Voir la section 14 ci-dessous pour le détail.

12. Open Science

L'onglet "Open Science" de chaque étude permet de documenter les métadonnées nécessaires à la transparence et à la reproductibilité scientifique.

ChampDescriptionExemple
Titre du projetNom du projet de recherche globalAttitudes implicites et comportement prosocial
Description du projetRésumé du projetSérie d'études sur les biais implicites...
DOI du projetIdentifiant numérique du projet sur OSF ou similairehttps://doi.org/10.17605/osf.io/abc12
Titre de l'étudeNom de cette étude spécifiqueÉtude 1 — IAT race
Description de l'étudeRésumé de l'étudeTest d'Association Implicite mesurant...
PréenregistrementLien vers le préenregistrement (OSF, AsPredicted)https://osf.io/xyz123
Matériel en ligneLien vers le matériel partagé (OSF, GitHub)https://github.com/user/repo
Données en ligneLien vers les données déposées (OSF, Zenodo)https://zenodo.org/record/123456
Mots-clésTags pour l'indexationbiais implicite, IAT, amorçage
Bonne pratique : Renseignez ces métadonnées avant de lancer la collecte. Le préenregistrement (OSF ou AsPredicted) est une pratique fortement recommandée en psychologie expérimentale pour distinguer les analyses confirmatoires des exploratoires.

13. Collaboration

Chaque projet peut être partagé avec des collaborateurs. Trois rôles sont disponibles :

RôleDroits
PropriétaireTous les droits : modifier, supprimer le projet, inviter/retirer des collaborateurs
ÉditeurCréer et modifier des études, configurer les blocs
LecteurConsulter les études et les données uniquement
1

Inviter un collaborateur

Depuis la page du projet, cliquez sur "Inviter" dans la section Équipe. Entrez l'email et le rôle. L'invitation est valable 48h.

2

Accepter une invitation

Le collaborateur reçoit un lien par email. En cliquant dessus (connecté sur MindCraft), il rejoint automatiquement le projet.

14. Citer MindCraft

Si MindCraft a contribué à vos travaux de recherche, d'enseignement ou de pratique, merci de citer la plateforme. La citation est essentielle pour la reconnaissance scientifique du logiciel libre, et elle aide à pérenniser le projet auprès des financeurs académiques.

Identifiants pérennes

Chaque version publiée de MindCraft est associée à plusieurs identifiants permanents, indépendants de l'URL d'hébergement actuel :

TypeValeurUsage
DOI Zenodo10.5281/zenodo.19864887Identifiant standard pour la citation académique. Frappé à chaque release.
SWHID Software Heritageswh:1:rev:df8a8b127…Archive pérenne du code source. Garantit la reproductibilité même si GitHub disparaît.
ORCID auteure0000-0002-4315-1058Identifiant chercheur de l'auteure principale (Dayle DAVID).
Dépôt sourcegithub.com/mindcraft-research/mindcraftCode source ouvert sous licence AGPL-3.0-or-later.

Bouton de citation automatique

Deux points d'accès dans l'application proposent un bouton Citer cette plateforme qui ouvre une fenêtre avec trois formats prêts à coller :

  • Page « Termes et Conditions », section 6 « Citation de la plateforme » — citation APA en clair (avec titre en italique) accompagnée du bouton pour obtenir aussi BibTeX et RIS.
  • Onglet « Export » de chaque étude — bandeau de rappel « Pensez à citer MindCraft » avec le bouton de citation, affiché juste après la grille des exports de données.

Les trois formats disponibles dans la fenêtre :

  • APA (7e édition) — pour articles, mémoires et thèses en sciences humaines.
  • BibTeX — pour LaTeX (entrée @software avec author, version, doi, url, orcid, license).
  • RIS — pour Zotero, EndNote et Mendeley (type COMP = computer program).

Chaque format inclut automatiquement la version actuelle, le DOI Zenodo, le SWHID et l'URL du dépôt. À chaque nouvelle release de MindCraft, ces valeurs sont mises à jour.

Quand citer la plateforme ?

  • Dans la section Méthode ou Matériel de tout article publié à partir de données collectées via MindCraft
  • Dans les annexes ou le matériel supplémentaire d'un mémoire ou d'une thèse
  • Dans le README d'un dépôt OSF / Zenodo / GitHub où vous partagez les données ou le protocole
  • Dans tout rapport, présentation ou poster scientifique exploitant les fonctionnalités de la plateforme
Bonne pratique Open Science : citer un logiciel de recherche revient à reconnaître le travail scientifique et technique qui le sous-tend, exactement comme on cite un article ou un livre. Les principes FAIR (Findable, Accessible, Interoperable, Reusable) recommandent d'utiliser les identifiants pérennes (DOI, SWHID) plutôt que les URL volatiles.