Sélectionner une page

Comment traiter les données issues de questionnaires à l’aide de Javascript

À propos

Cet article propose une solution pour effectuer des tris sur des données issues de sondages en lignes tels que TypeBot, à l’aide de Javascript.

Cette solution a été conçue dans le cadre d’un projet scolaire, où le sondage suivant a été diffusé afin de recueillir des informations utilisateurs liées à la consommation de documentaires en ligne.

Le repo Gihutb suivant met à disposition le script ainsi que le fichier au format JSON regrouppant une partie des réponses obtenues lors du sondage.

Tous les chemins ne mènent pas assez vite à Rome

Traiter les données issues de questionnaires en ligne peut être un défi de taille. S’il existe peut-être de nombreux outils en ligne qui permettent de le faire, quoi de mieux qu’une bonne vieille solution custom et très adaptative ? 

En effet, trouver le bon outil nécessite certainement de se coltiner de nombreux tutoriels vidéos sans être certains que la solution réponde finalement au besoin, ou encore de se faire attraper dans des tunnels de conversion de solutions en ligne qui vous font comprendre que la solution est payante (et trop chère) seulement après avoir recueillies votre adresse email et des données liées à votre activité. 

Traiter les données avec du code

Le code devient alors un allié de taille pour ce genre de situations et vous accorde de l’indépendance. Il permet de surmonter de façon agile les problèmes, avec la certitude d’obtenir le résultat escompté une fois le défis techniques relevés. La condition est d’y mettre l’implication nécessaire pour comprendre les limitations et mettre en pratique la logique de la programmation pour les dépasser. Dans ce cas-ci, cette dernière étape ne vous sera peut-être pas nécessaire, puisque le code vous est gracieusement fourni. 

Ce que la solution permet de faire

  • Compter le nombre de fois où une ou plusieurs réponses d’une question à choix multiple apparaissent.
  • Faire des liens entre les réponses fournies.
  • Récupérer n’importe quelle donnée variable et y faire les calculs  et opérations souhaités avec un minimum de compréhension.

Prérequis

  • Avoir NodeJS sur sa machine
  • Disposer d’un éditeur de code
  • Être en mesure d’ouvrir un terminal
  • Être en mesure d’identifier le chemin d’accès d’un fichier

Récupération des données

Dans un premier temps, il est nécessaire d’exporter les données issues du formulaire dans un fichier que vous pourrez récupérer. La majorité des outils de sondages en ligne permettent un export au format CSV.

Une fois l’exportation faite, il faut effectuer une transformation afin de permettre à Javascript d’interpéter le fichier.

Pour ce faire, rendez-vous sur ce convertisseur de fichiers, copier l’ensemble du contenu de votre fichier CSV dans la partie de gauche (CTRL + A puis CTRL + C une fois le fichier ouvert) et collez le à droite (CTRL + V).

Récupérez ensuite le fichier au format JSON en le renommant « data.json ».

Ajout du script

Les données sont maintenant prêtes à être traitées par Javascript.

Le code détaillé ci-après permet justement de faire les opérations souhaitées dessus. 

Rendez vous dans le dossier que vous souhaitez de votre ordinateur et créez un dossier que vous pourrez par exemple nommer « analyse-enquête-utilisateur ».

Créez un fichier nommé « index.mjs ». Copiez le code détaillé ci-après et collez le dans le fichier à l’aide de votre éditeur de code.

import * as fs from ‘fs’;

function getNumberOfProperty(property, value) {
const data = fs.readFileSync(‘./data.json’);
const buf = Buffer.from(data);
let answers = buf.toString();
answers = JSON.parse(answers);
//console.log(answers[0][‘#7.2 Fonctionnalités’]);

let number_of_property_value = 0;
answers.forEach((answer) => {
if (answer[property].includes(value)) {
number_of_property_value++;
}
});

console.log(
‘number of iteration of ‘,
value,
‘in’,
property,
‘:’,
number_of_property_value
);
return answers;
}

getNumberOfProperty(‘property’, ‘value’);

 

Enfin, ajoutez dans le dossier le fichier « data.json » que vous avez téléchargé durant l’étape précédente. Votre dossier devrait ressembler à ça:

Utiliser le script

Le script est maintenant prêt à être utilisé ! Pour ce faire, dans la dernière ligne de code, remplacez ‘property’ par le nom de la propriété que vous souhaitez compter. Cel correspond à la colonne de votre fichier csv.

Remplacez ensuite ‘variable’ par la valeur que vous souhaitez compter.

Par exemple, si vous remplacez ‘property’ par ‘Ton’ et ‘value’ par ‘Informative’ en utilisant le fichier d’exemple, le script vous retournera le nombre de fois où les utilisateurs ont indiqué être intéressé par une interview avec un ton ‘Informative’.

Vous pouvez ainsi compter le nombre d’apparition de n’importe quelle réponse à choix multiple.

 

Lancer le script

Pour lancer le script, ouvrez un terminal. Rendez vous ensuite sur le dossier que vous avez créé, par exemple « analyse-enquete-utilisateur » à l’aide de la commande cd « chemin d’accès du fichier ».

Celà peut par exemple correspondre à:

$> cd C:\Users\username\analyse-enquete-utilisateur

Ensuite, il faut indiquer à la machine d’exécuter le script. Pour ce faire, inscrivez dans le terminal:

$> node index.mjs

Cela fait en sorte que Node interprète le contenu de votre script.

Et voilà le travail ! La console de votre terminal vous affiche ensuite le résultat, que vous pourrez exploiter comme bon vous semble, par exemple en répertoriant les données dans un fichier Excel. Dans l’exemple ci-dessous, on constate que le nombre d’utilisateurs ayant indiqué vouloir que le ton de l’interview soit ‘informative’ est de 56.

 

Aller plus loin

Si vous êtes familier avec le code, vous pouvez employer ce modèle pour effectuer des calculs et filtres dans le script aisément en ajoutant les opérations à la fonction getNumberOfProperty().

J’espère que ce tutoriel vous a été utile. N’hésitez pas à laisser vos questions en commentaires si vous en avez, et à explorer d’autres projets sympathiques de WebMarketing.