Construire une Étude Multi-utilisateur
Comment connecter réellement deux participants afin que les actions de l'un atteignent l'écran de l'autre ?
Ce guide couvre les mécanismes click par click : activer le mode multi-utilisateur, attribuer des rôles, connecter les participants et maintenir leur synchronisation. Pour savoir quand utiliser un design multi-utilisateur, les meilleures pratiques et des études exemple existantes, voir Conception d'Expérimentations Multi-utilisateurs.
Les quatre étapes ci-dessous sont les mêmes pour chaque étude multi-utilisateur, quels que soient les tests effectués. Une fois que vous les avez mises en place, la section "Exemples Supplémentaires" montre les mêmes quatre étapes réutilisées dans trois conceptions différentes.
Table des Matières
Connaissances Préalables
Une connaissance fondamentale de Labvanced est conseillée, telle que le fonctionnement des événements et l'utilisation des variables, afin de suivre la terminologie utilisée ci-dessous.
Cadres
Le bloc de construction qui contient ce que les participants voient à chaque instant dans un essai.
Événements
Ce qu'est un déclencheur et une action, et comment ils s'unissent pour construire la logique d'une étude.
Variables
Ce qu'est une variable et comment elle stocke et met à jour des valeurs pendant une étude.
Mise en Place de la Structure
Activation du mode multi-participant
Une étude Labvanced est construite pour un participant par défaut. Aucun des outils multi-utilisateurs, Role_Id, Distribute Variable, synchronisation, n'existe tant que l'étude n'est pas informée qu'elle fonctionnera avec plus d'une personne à la fois.
Ouvrez Paramètres dans la colonne de droite, puis sous Fonctionnalités Spéciales, cliquez sur Étude Multi-utilisateur et cliquez sur Transform. Cela révèle deux champs : Number of Participants (minimum 2) et Maximum Parallel Sessions. Voir Étude Multi-utilisateur pour la liste complète des paramètres que cela déverrouille.
Cette action ne peut pas être annulée (la boîte de dialogue de confirmation elle-même est étiquetée Transform Permanently). Décidez d'abord de votre nombre de participants et dupliquez l'étude au préalable si vous souhaitez également une version à participant unique.

Attribution des rôles avec Role_Id
Avec le mode multi-participants activé, chaque participant exécute toujours une copie identique et indifférenciée de l'expérience ; rien ne les distingue encore. Role_Id donne à chaque participant une identité sur laquelle vous pouvez agir, sans collecter d'informations personnelles, afin que leurs expériences puissent commencer à faire des choses différentes.
Ajoutez un événement avec un Trial and Frame Trigger → On Frame Start, puis une action Control Actions → Requirement Actions (If... Then... Else If) :
- Ajouter Exigence : côté gauche →
Variable→ sélectionnerRole_Id; comparaison →equal; côté droit →Constant Value→Number→1 - Ensuite : ajoutez toutes les actions applicables au rôle 1, par exemple
Set Object Propertypour afficher une image cible - Ajouter Élément Sinon : ajoutez les actions qui s'appliquent à tous les autres rôles

Connexion des participants avec Distribute Variable
Un Role_Id différent peut mettre un contenu différent devant chaque participant, mais il ne peut toujours pas déplacer d'informations entre eux ; l'expérience de chaque participant s'exécute toujours isolément. Distribute Variable est la seule action qui pousse une valeur de l'expérience d'un participant à celle d'un autre, ce qui fait réellement en sorte que l'étude semble partagée plutôt que côte à côte.
Sur l'un ou l'autre déclencheur qui correspond à votre design, par exemple un Button Click Trigger ou Enter on Input Trigger, ajoutez un Variable Actions → Distribute Variable Action :
- Distribuer la valeur à : tous les participants ou une sélection
- Choisir la variable cible et la valeur : la variable sur l'écran du participant récepteur et ce qui doit y être défini
- Bloquer : activez cette option si plus d'un participant pourrait écrire dans la même variable cible en même temps

priceArray, avec Blocage activé et une limite de taux debounce. Maintien de la Synchronisation des Participants
Les participants ne avancent pas dans l'étude au même rythme par eux-mêmes. Sans point de synchronisation, un participant peut atteindre un cadre ultérieur avant même que la valeur qu'il attend n'ait été distribuée, voyant un état vide ou inachevé au lieu de la réponse de l'autre participant.
Au cadre où les participants doivent rester synchronisés, par exemple aucun ne devrait avancer avant que l'autre ait répondu, activez Sync Frame Start sous Paramètres de Cadre. Tout le monde attend à ce cadre jusqu'à ce que tous les participants soient arrivés.

Exemples Supplémentaires
Les quatre étapes ci-dessus ne changent pas. Ce qui change, c'est ce qui est distribué et où se trouve le point de synchronisation. Trois variations illustrées, en commençant par la plus simple :
- Compteur Partagé : la version minimale, une valeur maintenue synchronisée entre deux participants
- Tâche de Description Directeur-Appairant : un participant décrit, l'autre identifie
- Offre et Réponse par Tours : un participant propose, l'autre accepte ou rejette
Compteur Partagé
La version la plus simple possible de la structure : les deux participants voient le même total cumulatif, et l'un d'eux peut y ajouter.
- Role_Id : non nécessaire ici puisque les deux participants agissent de la même façon.
- Distribuer : sur un
Button Click Trigger, distribuer la valeur à tous les participants, variable cibleSharedCount, valeur =SharedCount + 1. - Synchroniser : aucune nécessaire, puisqu'il n'y a pas de frontière d'essai pour maintenir les participants.
Cela confirme que le mode multi-participant et Distribute Variable fonctionnent avant d'ajouter une logique basée sur les rôles.
Tâche de Description Directeur-Appairant
Une tâche de communication référentielle : un participant (le Directeur) décrit un élément cible, l'autre (le Appairant) l'identifie parmi un ensemble de candidats.
- Role_Id :
Role_Id1 voit l'image cible et un champ de saisie de texte.Role_Id2 voit les images candidates et pas de cible. - Distribuer : sur le déclencheur de la touche Entrée du Directeur, distribuer la valeur de texte à une variable
Descriptionsur l'écran du Appairant, avecBlockactivé puisque seule une description doit être en vol à un moment donné. - Synchroniser : activez
Sync Frame Startsur le cadre du prochain essai, afin que le Directeur ne puisse pas avancer avant que le Appairant ait sélectionné un candidat.
C'est la même structure derrière la Démo de Description d'Image.
Offre et Réponse par Tours
Un échange économique : un participant propose une répartition d'un montant partagé, l'autre l'accepte ou la rejette.
- Role_Id :
Role_Id1 voit un champ pour la répartition proposée.Role_Id2 ne voit rien jusqu'à ce qu'une proposition arrive. - Distribuer : sur le déclencheur de soumission du proposeur, distribuer la valeur proposée à une variable
Offersur l'écran du répondant. - Synchroniser : activez
Sync Frame Startsur le cadre de résultat, afin qu'aucun participant ne voie le résultat avant que le répondant ait répondu.
C'est la même structure derrière le Jeu de l'Ultimatum.
Un exemple réel de ce modèle, utilisant un montant tiré au sort au lieu d'un montant saisi manuellement : Role_Id égal à 1 déclenche une action Draw Random Number (un tirage uniforme discret entre 50 et 150, enregistré dans amountToSplit), suivi immédiatement par Distribute Variable envoyant amountToSplit à tous les participants, avec Block activé.

amountToSplit, puis Distribute Variable l'envoie à tous les participants avec Blocage activé. Lectures Complémentaires
Conception d'Expérimentations Multi-utilisateurs
Quand utiliser un design multi-utilisateur, meilleures pratiques et une galerie d'exemples existants construits dans Labvanced.
Études Multi-participants
La référence complète pour activer le mode multi-utilisateur, les groupes de participants prédéfinis et la synchronisation des cadres/tâches.
Système d'Événements : Distribute Variable
Référence complète des paramètres pour Distribute Variable, y compris l'option de Stratégie de Limite de Taux non abordée ici.