Tuto pratique 🙂
En neuropsycho, comme en psychologie de manière générale d’ailleurs, l’une des méthode d’investigation la plus populaire est l’utilisation de questionnaires. Seulement voilà, il en existe des milliers, avec des versions différentes, des étalonnages et validations particulières, des traductions officielles et officieuses etc.
Résultat des courses : c’est la pagaille ; les cliniciens se retrouvent avec des extraits de questionnaires passés par des milliers de photocopieuses, doivent ensuite faire une cotation fastidieuse et chronophage, avant d’interpréter les scores selon des normes parfois douteuses, utilisant quand ils ont de la chance des fichiers excel sorti d’on-ne-sait-où qui calculent des indices on-ne-sait-trop-comment.
Et car je pense qu’un neuropsychologue doit, et doit pouvoir, travailler avec des outils de bonne qualité, je vais proposer aujourd’hui un moyen d’informatiser des questionnaires, qui feront automatiquement la cotation et la sauvegarde des réponses.
Pour cela, on va utiliser Neuropsydia, un genre de logiciel gratuit, open-source (tout le monde peut contribuer à son amélioration), basé sur le célèbre python, qui permet de développer des tâches, des tests, des expériences, faire des stats et, et c’est ce qui nous intéresse ici, d’informatiser très simplement des questionnaires.
JE VOUS PRÉVIENS : AUCUNE EXPÉRIENCE DE PROGRAMMATION N’EST REQUISE.
Remarque : ceci s’adresse aux utilisateurs de Windows. Pour les Linuxiens ou les membres de la secte à la pomme, cela viendra ;).
Suivez simplement les instructions suivantes :
- Télécharger Winpython (la dernière version, avec QT5 et non-zéro).
- Installez-le sur votre bureau ou sur une clé USB si vous voulez (ce logiciel est portable, ce qui fait que vous pouvez le balader sur une clé USB pour l’utiliser chez vous, au cabinet, à l’hôpital…)
- Une fois l’installation terminée, ouvrez le dossier du logiciel, et lancez WinPython Command Prompt.exe.
- Cela devrait ouvrir une console noire. Copiez-y la ligne suivante :
pip install https://github.com/neuropsychology/Neuropsydia.py/zipball/master
Appuyez sur ENTRER. Le logiciel devrait se mettre à télécharger des trucs (cela peut quelques minutes). Une fois qu’il a fini, fermez-le.
TADAAA, vous avez réussi à installer Winpython (qui contient le langage python) et Neuropsydia.
Maintenant, double-cliquez sur Spyder.exe, toujours dans le dossier du logiciel.
Le logiciel s’ouvre (prenant un certain temps la première fois). Il est constitué de 3 fenêtres:
- L’éditeur (l’équivalent d’un fichier texte : l’endroit ou votre programe sera écrit).
- La console (La où vit Python, quand vous lancer un programe, il ne fera rien de plus que de copier ce qu’il y a dans l’éditeur dans cette console).
- Un 3ème panneau pas important aujourd’hui.
Commencez par enregistrer (Fichier -> Enregistrer sous…) le fichier quelque part (genre sur votre bureau). Appelez le comme vous voulez. De manière a ce que ça donne « commevousvoulez.py » (sans oublier le .py à la fin).
Faisons un test minimal
En théorie, ce fichier devrait être vide, a part la première ligne qui contient # –– coding: utf-8 –-.
Sautez une ligne et collez dessous le code suivant :
import neuropsydia as n # Load neuropsydia questions_dictionary = { "Item": { 1: "Is Neuropsydia great?", 2: "Is Neuropsydia not great?", 3: "Is Python great?", 4: "Is Python not great?" } } n.start() n.questionnaire(questions_dictionary) n.close()
Ensuite, appuyez sur F5 ou sur la flèche verte pour exécuter le programe (si c’est la première fois, il vous demande si vous voulez toujours exécuter le script dans la console ouverte, dites oui).
PAS MAL, NON ? et c’est que le début.
Bien-entendu, l’idée c’est de remplacer les questions par celles de votre questionnaire.
Alors, maintenant, on va complexifier notre questionnaire, en précisant certaines informations, notamment :
- Quels sont les items inversés : Neuropsydia va ainsi automatiquement calculer le bon score en inversant la réponse du sujet.
- A quelle dimension appartient chaque item : Souvent, plusieurs items servent à mesurer la même dimension (par exemple, « extraversion »). En indiquant à quelle dimension appartient chaque item, Neuropsydia peut automatiquement calculer la moyenne du sujet pour chaque dimensions.
- Changer le style des échelles : notamment si l’on ne veut pas une échelle analogique (avec une infinité de points, mais par exemple juste les chiffres de 0 à 7). On peut également proposer que les questions soient automatiquement randomisées, et bien sûr de sauvegarder les données.
Voici un exemple de code pour faire tout ça :
import neuropsydia as n questions_dictionary = { "Item": { 1: "Is Neuropsydia great?", 2: "Is Neuropsydia not great?", 3: "Is Python great?", 4: "Is Python not great?" }, "Reverse": { 1: False, 2: True, 3: False, 4: True }, "Dimension": { 1: "Neuropsydia", 2: "Neuropsydia", 3: "Python", 4: "Python" } } n.start() n.questionnaire(questions_dictionary, # The questions anchors=["Not at all", "Absolutely"], # The edges of the scale results_save=True, # Should it save the data? dimensions_mean=True, # Compute the mean by dimension? analog=False, # Lickert-like edges=[0, 7], # Values underneath style="blue", # The cursor's colour randomize=True) # Randomize the question's order n.close()
Neuropsydia permet de faire bien plus de choses encore, mais c’est déjà une bonne introduction. Comme prévu, le programe a enregistré un fichier de résultats contenant toutes les informations nécessaires.
NOTE : A chaque fois que vous voulez exécuter le programe, il faut ouvrir une nouvelle console python en cliquant sur l’onglet « Console » puis « Ouvrir une console Python ».
Vous trouverez ici directement les scripts utilisés, avec d’autres exemples.
Bon courage, et n’hésitez pas à me faire un retour si vous rencontrez des difficultés ou des problèmes. Ou juste pour me passer le bonjour 🙂