2. juin 2021 de Camille Dell'Ava
Comment l’association d’adNucleus et SurveyJS gèrent les sondages et leurs réponses
Situation initiale
Excel a été utilisé pendant de nombreuses années pour sa simplicité et ses caractéristiques : principalement une page blanche avec une grille, qui permet de définir une structure de données avec des lignes et des colonnes (tableau à deux dimensions). Un cas courant est de définir une structure dans Excel, de l'envoyer aux destinataires qui vont renseigner les réponses et les renvoyer pour analyse.
Dans ce cas de figure, plusieurs problèmes bien connus se posent :
- Comment centraliser un grand nombre de réponses ?
- Comment s'assurer que les réponses utilisent le même format ?
- Comment le faire de manière efficace ?
Par example :
- Un acteur modifie le modèle Excel, comme la structure des données, adapte les cellules à ses réponses
- Une fois les réponses récupérées, elles doivent être fusionnées en un seul fichier avec le même format
- Une fois les données regroupées, des rapports et/ou des graphique Excel doivent être représentées dans des statistiques ou des Indicateurs Clés de Performance (KPI)
Pour faire face, il est courant d’utiliser Excel pour la communication de données, via mail par exemple. Plus directement liée à notre sujet, plusieurs services de sondage comme Google Form ou SurveyMonkey existent en ligne. Ils sont faciles à utiliser et pratique lorsqu’il s’agit de petits questionnaires, complètement décolérés de l’organisation ou du client concerné.
Le mal de tête arrive quand :
- On fait la conception du questionnaire (convivialité, questions complexes et/ou conditionnelles)
- On veut les comparer de manière centralisée et dans une interface unique
- L’utilisation d'informations provenant d'une base de données interne
Notre solution
De plus en plus de clients ouvrent leurs applications ou services sur le Cloud, plutôt que sur un serveur physique localisé sur le site de l'entreprise. Le prix de l’infrastructure est avantageux, facilement gérable à distance et comprends tous les services nécessaires à un haut niveau de disponibilité et de sauvegarde de sécurité (backup).
Cette approche permet de mettre en place de nouvelles manières pour résoudre le problème mentionné, comme bien d’autre. Le recueil de données auprès d’acteurs externes à une organisation est aussi une contrainte à respecter.
La solution choisie par adesso pour ses clients a répondu avec succès à cette problématique. La création de deux applications et d'une base de données, hébergées sur le cloud AWS (Amazon Web Service), ont répondu aux besoins métier et technique.
Voilà comment cela fonctionne
Les employés internes au client utilisent une application dédiée pour gérer les campagnes de sondage et les contacts externes accèdent à une autre application, contenant un ensemble limité de fonctionnalités.
Cette configuration permet un bon niveau de sécurité sans mettre en œuvre trop de complexité. Le coût de l'infrastructure complète* est abordable et permet le redimensionnement (scaling).
*= Équilibreur de charge, serveurs Web, base de données, attachements, sauvegardes
Plus sur adNucleus
Ces applications ont été construites avec un framework interne à adesso, adNucleus. C'est un framework dit «bac-à-sable» qui utilise des technologies open-source, même si lui-même ne l’est pas (sources propriétaires).
adNucleus est un écosystème Java Spring/Angular. Il regroupe de multiples fonctionnalités communes telles que l'authentification, le mappage de modèles de données, un moteur de requête, un front-end web, etc. Une fois assemblée, ce bloc agit en tant que coquille/noyau de l'application. Les fonctionnalités liées à l'activité du client sont intégrées dans cette coquille et forment la livraison finale.
Avec plus de 10 ans de travail et expériences clients, adNucleus forme une coquille d'application prête à l'emploi, intégrant de puissantes fonctionnalités. Certains de ces fonctionnalités sont incluses par défaut dans chaque application construite, d’autres, selon le besoin, sont optionnels.
Tous nos clients bénéficient de l'expérience acquise au fil des ans, en éprouvant les concepts et en les enrichissant au fil du temps.
L’intégration de SurveyJS
Nous avons choisi d’intégrer SurveyJS, un composant existant pour éviter de réinventer la roue. SurveyJS est une bibliothèque javascript réalisée par devsoftbaltic. Elle offre de multiples fonctionnalités comme une bibliothèque principale, un créateur de questionnaire, l'exportation PDF du questionnaire et un paquet d’analyse des réponses.
L'intégration de SurveyJS dans adNucleus répond pleinement à divers problématiques mentionnées :
- Conception de modèles de questionnaires (SurveyJS Creator)
- Gestion des campagnes de questionnaires (adNucleus)
- Définir la destination avec un e-mail
- Regroupement des réponses multiples d'un même questionnaire
- Visualiser les progrès individuels et globaux
- Rapport de campagne (SurveyJS PDF Export, SurveyJS Analytics Pack, adNucleus)
- Liaisons de différentes sources de données (adNucleus)
- Utiliser des données internes au client dans le questionnaire, telle qu’une liste d’utilisateurs ou de données métiers.
Notre conclusion
Notre framework adNucleus nous permet de créer et présenter rapidement un prototype d’une application sur le Cloud ou hébergée sur place. Nos prototypes adNucleus sont prêts à être déployé en production, tous les éléments d’une application finale y étant déjà présent.
SurveyJS permet de concevoir un questionnaire de sondage grâce à une interface conviviale et propose un mode spécifique et prêt à l'emploi pour répondre au dit questionnaires précédemment conçu.
SurveyJS intégré à adNucleus fournit une solution convaincante et flexible pour gérer la conception des sondages, les campagnes de sondage ainsi que les rapports et analyses sur les réponses.
Dans un contexte de Low-Code, un autre cas d'utilisation de cette bibliothèque pourrait être de l’utiliser pour concevoir des interfaces utilisateurs. Avec peu de code et en association avec adNucleus, cette configuration pourrait fournir un nouveau squelette d’application encore plus rapidement.