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
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.
Valider votre inscription
Après soumission du formulaire, vous êtes redirigé(e) vers le tableau de bord. Votre compte est immédiatement actif.
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
Nouveau projet
Depuis le tableau de bord, cliquez sur "Nouveau projet". Donnez-lui un nom et optionnellement une description.
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.
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.
- 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.
2.1 Types de blocs disponibles
Message d'accueil
Page d'introduction ou consignes. Titre, texte libre (HTML) et bouton de démarrage personnalisable.
Questionnaire
Bloc de questions. 30+ types disponibles. Ordre aléatoire configurable.
Tâche comportementale
Présentation de stimuli avec mesure de temps de réaction. Phases entraînement / test.
Logique
Branchement conditionnel basé sur les réponses précédentes. Routage dynamique.
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 (choix unique)
Une seule réponse parmi plusieurs options. Idéal : genre, condition.
Case à cocher
Plusieurs réponses possibles. Idéal : connaissances préalables, symptômes.
Likert
N points avec labels extrêmes. Idéal : accord, intensité émotionnelle.
Consentement
Boutons Accepter / Refuser distincts. Idéal : formulaire RGPD.
Liste déroulante
Menu déroulant au lieu de boutons radio. Idéal : quand beaucoup d'options (pays, langues).
Groupe de boutons
Choix unique sous forme de boutons stylés côte à côte. Idéal : réponses rapides.
Choix unique avec médias
Chaque option peut avoir une image, un audio ou une vidéo. Idéal : choix visuels.
Choix multiple avec médias
Sélection multiple avec médias (image, audio, vidéo). Idéal : classement visuel.
Choix unique + commentaire
Radio classique avec zone de texte libre. Idéal : avis avec justification.
Choix multiple + commentaire
Cases à cocher avec zone de texte libre. Idéal : sélection + précisions.
Menu en cascade
Choix hiérarchique (niveau 1 puis niveau 2). Idéal : Pays puis Ville.
3.2 Texte
Texte libre
Zone de saisie ouverte. Idéal : justification, réponse qualitative.
Texte à trous
Le participant remplit des champs dans un passage. Idéal : tests de compréhension.
Saisie demandée
Champ de texte court avec validation. Idéal : code participant, identifiant.
Texte à trous (banque de mots)
Glisser-déposer des mots depuis une banque vers les blancs. Idéal : vocabulaire, compréhension.
Affichage texte/HTML
Contenu riche sans collecte de données. Idéal : consignes, stimuli textuels.
3.3 Numérique
Numérique
Entier ou décimal avec min/max. Idéal : âge, fréquence, score.
Calcul / Équation
Le participant entre le résultat d'un calcul. Idéal : tests numériques, arithmétique.
Calcul automatique
Variables d'entrée + formule = résultat calculé en temps réel. Idéal : scores composites.
Date
Calendrier natif. Idéal : date de naissance, dernier contact.
3.4 Échelles & Matrices
Slider
Échelle continue avec curseur. Idéal : certitude subjective.
Matrice
Plusieurs items sur la même échelle. Idéal : BFI, STAI, PHQ-9.
| 1 | 2 | 3 | 4 | 5 | |
|---|---|---|---|---|---|
| Item 1 | |||||
| Item 2 |
Différentiel sémantique
Bipôles adjectivaux sur une échelle. Idéal : perception d'un objet.
Somme constante
Répartition de N points entre items. Idéal : allocation de ressources.
Side-by-side
Même items évalués sur deux conditions (avant/après, gauche/droite). Idéal : comparaisons.
3.5 Spécial
Classement
Ordonnancement par glisser-déposer. Idéal : préférences, priorités.
Timing
Mesure automatique de la durée de réponse. Invisible pour le participant.
Image
Affiche une image comme stimulus ou support de question.
Audio
Lecture d'un fichier audio. Idéal : stimuli sonores, amorçage auditif.
Vidéo
Lecture d'une vidéo. Idéal : stimuli vidéo, scénarios comportementaux.
Glisser-déposer
Classer des éléments dans des catégories par drag and drop. Idéal : tri, catégorisation.
Surlignage
Sélectionner des mots/passages dans un texte. Idéal : analyse de texte, repérage.
Zone cliquable
Cliquer sur une image, coordonnées enregistrées. Idéal : détection visuelle, cartes de chaleur.
Dépôt de fichier
Le participant uploade un fichier. Idéal : recueil de documents, dessins.
Métadonnées
Collecte automatique (navigateur, OS, résolution). Invisible pour le participant.
_R). Le type TIMING est cumulable avec n'’importe quel autre type de 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.
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 :
| Étape | Durée typique | Options clés |
|---|---|---|
| Intervalle inter-essai (IEI) | 400–1000 ms | Durée fixe, ou variable (plage min/max tirée aléatoirement, continue ou par paliers) |
| Point de fixation | 200–600 ms | Croix ou point central ; durée variable configurable |
| Stimulus | Variable (réponse) ou fixe | Image / son / vidéo / texte ; réponse clavier ou souris ; durée max |
| Masque | 50–300 ms | Image de masque ; durée fixe |
| Feedback | 400–800 ms | Texte correct/incorrect ; couleur configurable |
| Question post-essai | Variable | Jugement de confiance, awareness check |
- 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 :
| Bloc | Type | Catégories | Essais | Touches |
|---|---|---|---|---|
| 1 | Entraînement | Cible A vs B | 20 | E / I |
| 2 | Entraînement | Attribut + vs − | 20 | E / I |
| 3 | Entraînement | Cible A + Attribut + / Cible B + Attribut − | 20 | E / I |
| 4 | Test | Compatible (A+) / (B−) | 40 | E / I |
| 5 | Entraînement | Cible inversée B vs A | 20 | E / I |
| 6 | Entraînement | Cible B + Attribut + / Cible A + Attribut − | 20 | E / I |
| 7 | Test | Incompatible (B+) / (A−) | 40 | E / I |
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.
| Type | Formats acceptés | Options |
|---|---|---|
| Images | JPEG, PNG, SVG, WebP | Taille, position, durée d'affichage |
| Audio | MP3, WAV, OGG | Volume, lecture automatique, nombre de répétitions |
| Vidéo | MP4, WebM | Dimensions, lecture automatique, masquage des contrôles |
| Texte (mots) | Chaînes de caractères | Police, 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.
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 d'étude, 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 l'étude, 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.
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.
5.4 Tâche externe en iframe (marqueurs personnalisés)
Certaines tâches sont trop complexes ou trop écologiques pour être construites avec l'éditeur 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.
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", "*");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.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.
5.6 Tableau comparatif
Résumé des marqueurs disponibles selon le type de tâche :
| Tâche interne | Externe (iframe) | Externe (redirection) | |
|---|---|---|---|
| Marqueurs globaux | Automatiques | Automatiques | TASK_START / TASK_END uniquement |
| Marqueurs fins | Automatiques (F, S, R, FB) | Envoyés par la tâche via postMessage | Impossible |
| Noms des marqueurs | Personnalisables dans MindCraft | Libres (définis par le développeur) | — |
| Données embarquées | trial, phase, rt | Libres (n'importe quel objet JSON) | — |
| Code nécessaire | Aucun | 1 fonction + appels aux moments clés | Aucun |
| Synchronisation physio | Précise (par essai) | Précise (selon vos marqueurs) | Grossière (début/fin seulement) |
| Idéal pour | Paradigmes classiques | Tâches écologiques complexes | Questionnaires 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.
5.8 Workflow recommandé
Configurer l'outil physiologique
Dans l'onglet « Mesures physio » de l'étude, sélectionnez votre équipement (EEG, ECG, eye-tracking, etc.), renseignez le logiciel et la fréquence d'échantillonnage.
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.
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.
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.
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é.
Le participant complète l'étude
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.
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
| Type | Description | Contrebalancement |
|---|---|---|
| Inter-sujets | Chaque participant est exposé à une seule condition | Répartition aléatoire et égale entre les groupes |
| Intra-sujets | Chaque participant passe par toutes les conditions | Carré Latin, Williams ou aléatoire |
| Mixte | Certains facteurs sont inter, d'autres intra | Combinaison selon le type de chaque facteur |
6.5 Configurer un facteur
Ajouter un facteur
Cliquez sur "Ajouter un facteur". Nommez-le (ex : "Type d'amorce") et choisissez son type (inter ou intra-sujets).
Définir les niveaux
Ajoutez les niveaux du facteur (ex : "Compatible", "Incompatible", "Neutre"). Chaque niveau reçoit un code court utilisé dans les exports.
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.
Sélectionner un bloc
Cliquez sur un bloc dans le constructeur, puis passez en mode "Configurer".
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.
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.
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).
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.
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
| Indicateur | Signification |
|---|---|
| 🔀 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 :
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.
| Action | Description |
|---|---|
| Continuer | Passer au bloc suivant normalement |
| Sauter le bloc suivant | Ignorer le prochain bloc |
| Aller au bloc… | Sauter directement à un bloc spécifique |
| Terminer l'’étude | Rediriger 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 d’affichage (questions individuelles)
Chaque question peut avoir une condition d’affichage : elle ne s’affichera que si la condition est remplie. Cela permet de poser des questions de suivi sans créer de blocs séparés.
Modifier la question concernée dans le constructeur.
Activer Afficher sous condition en bas du formulaire.
Choisir la question source (son code), l’opérateur et la valeur attendue.
oui), pas le libellé affiché au participant (ex : « Oui »).| Opérateur | Description | Exemple |
|---|---|---|
| = | Égalité exacte | Q1 = oui |
| ≠ | Différent de | Q1 ≠ non |
| > | Supérieur à (numérique) | AGE > 18 |
| < | Inférieur à (numérique) | SCORE < 5 |
| contient | Contient le texte | COMM contient stress |
| est renseigné | La question a été répondue | Q1 est renseigné |
8.3 Indicateur visuel
Les questions ayant une condition d’affichage sont signalées dans le constructeur par un badge vert. Au survol, le détail de la condition apparaît.
Aperçu visuel :
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.
Repérer l’icô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.
Cliquer sur l’icône
Un nouvel onglet s’ouvre avec la prévisualisation du bloc sélectionné uniquement, sans les autres blocs de l’étude.
Tester et ajuster
Interagissez avec le bloc comme le ferait un participant. Fermez l’onglet pour revenir à l’éditeur et ajuster la configuration si nécessaire.
10. Collecte et recrutement
9.1 Cycle de vie d'une étude
| Statut | Description | Participants peuvent accéder |
|---|---|---|
| Brouillon | En cours de construction | Non |
| En révision | En attente de validation | Non |
| Validée | Approuvée, prête à diffuser | Non |
| En collecte | Ouverte aux participants | Oui |
| Archivée | Collecte terminée | Non |
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.
| Plateforme | Paramètres URL à passer | Méthode de complétion | Public typique |
|---|---|---|---|
| Prolific | PROLIFIC_PID | Redirection vers l'URL de complétion Prolific | Chercheurs (Europe / US) |
| Amazon MTurk | workerId, assignmentId, hitId | Code de complétion à saisir dans le HIT | Turkers (US majoritaire) |
| Foule Factory | Token de session (paramètre configuré) | Code de complétion affiché sur le debriefing | Panels francophones |
| Recrutement direct | Aucun (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.
https://app.mindcraft.io/run/[studyId]?PROLIFIC_PID={{%PROLIFIC_PID%}}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".
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".
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.
https://app.mindcraft.io/run/[studyId]?workerId=${workerId}&assignmentId=${assignmentId}&hitId=${hitId}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.
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.
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.
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.
https://app.mindcraft.io/run/[studyId]?ff_uid=[TOKEN_FOURNI_PAR_FOULE_FACTORY]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.
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.
- 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).
| Format | Contenu | Compatible avec |
|---|---|---|
| CSV — Questionnaires | Format wide : un participant par ligne, une colonne par question. Inclut les conditions expérimentales. | Excel, R, Python (pandas), SPSS, jamovi |
| CSV — Temps de réaction | Un 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 externes | Ré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 JSON | Sauvegarde 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
| Colonne | Description | Exemple |
|---|---|---|
participantId | Identifiant anonyme du participant | cm3abc123... ou ID Prolific / workerId MTurk |
studyId | Identifiant de l'étude | cm3xyz789... |
blockId | Identifiant du bloc questionnaire | cm3def456... |
questionCode | Code de la question (défini dans l'éditeur) | Q1, STAI_1, AGE |
value | Réponse du participant | 3, "Très d'accord", ["A","C"] |
source | Source de recrutement (paramètre ref) | prolific, mturk, email |
createdAt | Horodatage de la réponse | 2026-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).
BFI_item3: la valeur brute (telle que cliquée par le participant)BFI_item3_R: la valeur recodée (1↔5, 2↔4, 3=3, etc. selon l'échelle)
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.
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.
| Champ | Description | Exemple |
|---|---|---|
| Titre du projet | Nom du projet de recherche global | Attitudes implicites et comportement prosocial |
| Description du projet | Résumé du projet | Série d'études sur les biais implicites... |
| DOI du projet | Identifiant numérique du projet sur OSF ou similaire | https://doi.org/10.17605/osf.io/abc12 |
| Titre de l'étude | Nom de cette étude spécifique | Étude 1 — IAT race |
| Description de l'étude | Résumé de l'étude | Test d'Association Implicite mesurant... |
| Préenregistrement | Lien vers le préenregistrement (OSF, AsPredicted) | https://osf.io/xyz123 |
| Matériel en ligne | Lien vers le matériel partagé (OSF, GitHub) | https://github.com/user/repo |
| Données en ligne | Lien vers les données déposées (OSF, Zenodo) | https://zenodo.org/record/123456 |
| Mots-clés | Tags pour l'indexation | biais implicite, IAT, amorçage |
13. Collaboration
Chaque projet peut être partagé avec des collaborateurs. Trois rôles sont disponibles :
| Rôle | Droits |
|---|---|
| Propriétaire | Tous les droits : modifier, supprimer le projet, inviter/retirer des collaborateurs |
| Éditeur | Créer et modifier des études, configurer les blocs |
| Lecteur | Consulter les études et les données uniquement |
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.
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 :
| Type | Valeur | Usage |
|---|---|---|
| DOI Zenodo | 10.5281/zenodo.19864887 | Identifiant standard pour la citation académique. Frappé à chaque release. |
| SWHID Software Heritage | swh:1:rev:df8a8b127… | Archive pérenne du code source. Garantit la reproductibilité même si GitHub disparaît. |
| ORCID auteure | 0000-0002-4315-1058 | Identifiant chercheur de l'auteure principale (Dayle DAVID). |
| Dépôt source | github.com/mindcraft-research/mindcraft | Code 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
@softwareavec 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