Comme vous le savez peut-être, je m'intéresse à l'impact d'expressions faciales et de caractéristiques faciales sur les attributions de qualités personnelles (exemple: est-ce qu'un homme qui a un gros menton a l'air plus intelligent qu'un homme au petit menton?). C'est pourquoi j'ai décidé de programmer FacePresenter. FacePresenter permet de présenter une image 3D d'une figure humaine (générée à partir d'un logiciel appelé FaceGen, qui coûte environ $600 US), et de poser des questions aux participants.
Voici un exemple d'une figure en 3D:
Pour utiliser FacePresenter, il faut placer toutes les figures 3D que nous voulons utiliser dans le dossier du programme. Il faut que les images soient nommées "faceX.bmp", où X est 1, 2, 3, etc. Le dossier du programme ressemble à ceci, avec 12 figures en 3D:
Une fois que tous les stimuli ont été placés dans le dossier, nous sommes prêts à utiliser le programme. Il suffit de double-cliquer sur "FacePresenter.exe". La fenêtre suivante apparaît:
L'image 3D est affichée à gauche de l'écran, avec la question inscrite au-dessus: "How would you describe this person?". À droite, une série d'items sur des échelles de 1 à 7 sont inscrits. Dans l'exemple ci-dessus, le participant devait indiquer sur une échelle de 1 à 7 à quel point il trouvait l'homme Not intelligent/Intelligent, Unattractive/Attractive, etc. Lorsque le participant clique sur une réponse pour un item (un des carrés 1 à 7 sur une ligne), la réponse devient encerclée en rouge (comme dans l'exemple ci-dessus). Lorsque le participant désire passer à la prochaine photo, il clique sur "Next page"; à ce moment, les réponses du participant, ainsi que le temps passé sur la photo, sont enregistrées dans un document .txt appelé "results.txt", dans le dossier du programme.
Pour changer les questions auxquelles le participant doit répondre, il suffit d'ouvrir le document "items.txt" dans le dossier du programme, et de modifier les items à notre guise.
Les items ne sont pas les seules choses que l'utilisateur peut modifier avant d'utiliser le programme. Le programme utilise un fichier de configuration ("config.txt"), qui permet de modifier les options suivantes:
- ITEMS_UNANSWERED_ALLOWED: "YES" ou "NO", selon que les participants peuvent laisser des questions sans réponse ou pas (si l'option "NO" est indiquée dans le fichier de configuration, et que le participant essaie de changer de figure en cliquant Next page, le programme affichera une alerte similaire à celle qui apparaît lorsque le fichier de configuration est invalide [voir plus bas], et ne permettra pas au participant de changer de page tant que toutes les questions n'aient pas été répondues);
- NUMBER_OF_STIMULI: Nombre de figures 3D à présenter lors de la session;
- WIDTH: Largeur de l'écran;
- HEIGHT: Hauteur de l'écran;
- INTER_STIMULI_DELAY: Lorsque le participant clique sur Next page, délai (en millisecondes) avant que la prochaine figure n'apparaisse;
- QUOTIENT: Option pas vraiment utile à modifier -- nombre de sections horizontales (pour les questions) en lesquelles l'écran est divisé (i.e., selon les configurations actuelles, il y a une question à tous les 1/14e de la hauteur de l'écran);
- RANDOM_ITEMS: Chaque fois que le programme est ouvert, est-ce que les items sont présentés dans le même ordre que dans le fichier "items.txt" ("NO"), ou bien est-ce que l'ordre des items est aléatoires ("YES") ?
- RANDOM_ITEMS_STIMULI: À chaque fois qu'une nouvelle figure 3D apparaît, est-ce que les items sont présentés dans le même ordre ("NO"), ou bien l'ordre des items est-il changé aléatoirement ("YES") ?
Lorsque le programme est ouvert, avant qu'une figure 3D ne soit loadée et que les questions ne soient présentées, le programme s'assure que les configurations spécifiées dans le fichier de configuration sont valides, et que le nombre d'items indiqués dans le fichier items.txt est valide (1-12). Par exemple, si dans le fichier config.txt pour l'option "ITEMS_UNANSWERED_ALLOWED" (YES ou NO) on inscrit "YExS" (typo intentionnel), on obtient l'erreur suivante et le programme se ferme automatiquement:
Si le fichier de configuration est correct, et que le nombre d'items inscrits dans le fichier d'items est compris entre 1 et 12, le participant répond aux questions pour le nombre de stimuli spécifié dans les configurations. Si le fichier d'une figure 3D est endommagé, qu'il ne porte pas le nom "faceX.bmp" (X=1,2,3,...), ou qu'il n'existe pas (p.ex., parce que dans le fichier de configuration nous avons écrit qu'il y avait 13 stimuli alors que nous en avons mis 12 dans le dossier), une alerte s'affichera lorsque le programme tentera de loader l'image, et un message d'erreur sera enregistré dans le fichier results.txt. Le programme passe donc à la prochaine image dans la liste, et l'expérimentation se poursuit comme si rien n'était arrivé, et les résultats pour les prochaines images continuent d'être enregistrés.
Et après tout ça, j'ai les résultats d'un participant qui a évalué les images que j'avais préalablement sélectionnées pour l'expérience, enregistrés directement sur mon ordinateur, prêts à être analysés. Merci, cours de programmation pour psychologie.