FLASH INFORMATIQUE FI



Une petite remise inForm ?




Pierre CREVOISIER


Avez-vous besoin d’un moyen simple d’enregistrer les participants à vos prochaines manifestations ? Souhaitez-vous lancer une enquête auprès des étudiants pour évaluer la pertinence de vos choix pédagogiques ? Vous organisez une consultation ou un vote dans votre groupe de travail ? Le KIS propose désormais un outil générique permettant de répondre à ces différents besoins : inForm, une application en ligne de génération de formulaires.

Avant de nous plonger dans la visite guidée de l’application, arrêtons-nous un instant sur sa genèse. Le besoin de disposer d’un tel service nous avait été présenté il y a longtemps déjà. Si nous avons pris du temps pour le faire, c’est pour une raison assez simple : il nous paraissait que les demandes, assez diffuses au demeurant, méritaient d’être précisées dans la mesure où le formulaire pouvait passer du simple au complexe, de l’élémentaire au sophistiqué. Comment pouvions-nous mettre en place un projet suffisamment générique pour répondre à la plus grande partie des besoins ?

De l’expérience Rumba

Notre approche a donc été pragmatique : lancer plusieurs expériences en parallèle de manière à en tirer les leçons et élaborer ainsi le cahier des charges de la future application. Il y a deux ans, nous avons donc démarré notre réflexion avec les responsables de l’enquête Rumba [1] : entre la confidentialité nécessaire et la nécessité de proposer un formulaire scénarisé (les questions posées sont conditionnées par les réponses données), le projet était suffisamment complet pour justifier notre participation.
Nous nous sommes efforcés, au rythme des différentes enquêtes Rumba, de répondre aux demandes (parfois mouvantes...) en essayant de toujours garder à l’esprit la généricité des développements. Au début de ce processus, nous avons bien entendu exploré des solutions existantes [2], mais aucune d’entre elles ne répondait aux différents besoins. Deux points fondamentaux ont été déterminants :

  • l’application devait nous permettre de générer aussi bien un simple formulaire d’enregistrement qu’un vote sécurisé ; cela n’était possible qu’en modifiant radicalement les scripts existants...
  • nous avions besoin d’un contrôle d’accès très souple et, surtout, modulaire ; sur ce point aussi, les solutions existantes étaient lacunaires.

En été 2004, les expériences accumulées nous ont paru suffisantes pour intégrer l’ensemble des pièces du puzzle dans une application Web que nous avons baptisé inForm [3]. C’est un jeune étudiant I&C, Andreas Jaggi, qui a été chargé de l’intégration des différents composants existants et des nouveaux développements. Fin octobre 2004, nous avions une version bêta à présenter.

La visite guidée

Voyons maintenant l’état des lieux, 8 mois après le lancement du projet. Lorsque vous disposez d’un compte sur inForm, vous êtes en mesure d’accéder à l’interface d’administration. Après authentification, un écran similaire à celui-ci apparaît :

JPEG - 11.4 ko
fig. 1

Il s’agit de la liste des formulaires auxquels vous avez accès, soit que vous en êtes propriétaire, soit que vous disposez d’un rôle d’éditeur. À partir de cette interface, il vous est possible :

  • de créer un nouveau formulaire ;
  • d’éditer un formulaire existant ;
  • de modifier ses éléments d’identification (en-tête et pied de page) ;
  • de lancer une traduction multilingue ;
  • d’autoriser d’autres utilisateurs à travailler sur votre formulaire ;
  • de publier un formulaire.

Une composition modulaire

Le coeur de l’application est constitué des outils de fabrication ou de construction d’un formulaire. Ainsi, si je choisis d’éditer un simple formulaire d’enregistrement, mon écran aura peut-être l’allure de la figure ci-après.
Dans la partie inférieure, le squelette de mon formulaire : je dispose de fonctionnalités simples me permettant d’en modifier l’ordonnancement ou la pagination ; je peux aussi détruire un composant ou l’éditer.
Dans la partie supérieure, il est possible de lancer la création d’un nouveau composant. Tous les types de composants basiques du HTML figurent au menu :

  • simple champ texte (text)
  • espace de texte étendu (textarea)
  • mot de passe (password)
  • téléchargement de fichiers (upload file)
  • cases à cocher (checkbox group)
  • boutons radio (radio button)
  • menu déroulant (select group)
  • liste à choix multiple (multiple select).
JPEG - 11.2 ko
fig. 2

Mais, comme vous le découvrez dans la figure ci-contre, des types plus complexes sont également disponibles : par exemple, un élément de recherche dans une base de données (SQL Search Field) ou dans un annuaire LDAP.
C’est là que l’architecture d’inForm prend toute sa signification. Nous avons en effet conçu l’application de manière à pouvoir ajouter, à l’avenir, de nouveaux composants. Chaque nouvel élément est constitué de trois choses :

  • un modèle d’édition
  • un modèle de présentation
  • la description de ses comportements

Pour le composant permettant une recherche dans une base de données, prenons un exemple : à un groupe d’étudiants en chimie, vous souhaitez demander de dresser la liste des produits X ou Y entrant dans la composition d’une matière. Vous disposez d’un fichier Excel contenant l’inventaire de tous les produits. Nous allons donc créer une petite base de données et il vous sera dès lors possible de l’utiliser dans votre composant SQL Search.

Enquête publique, sondage restreint

Lorsque le formulaire dont vous avez besoin est prêt, l’étape suivante sera de procéder à sa publication, soit définir qui y aura accès, choisir si vous souhaitez qu’un message vous soit transmis à chaque formulaire rempli et, enfin, déterminer les dates à l’intérieur desquelles vos utilisateurs pourront y accéder. Le processus apparaît dans l’illustration ci-dessous :

JPEG - 7.4 ko
fig. 4

La souplesse et la précision des droits d’accès ayant constitué nos principaux critères de choix, il est sans doute important de préciser qu’inForm autorise quatre modes d’accès :

  • l’accès public : le formulaire est entièrement ouvert ;
  • l’intranet : cette option vous permet de restreindre l’accès à l’EPFL, à une Faculté, à une unité, une section, etc., en parcourant l’arbre de l’annuaire LDAP de l’école ;
  • la liste d’email ad hoc : si les personnes que vous souhaitez consulter proviennent d’horizons divers et que vous possédez la liste de leurs adresses emails, vous pouvez la charger dans inForm [4] ;
  • la liste anonyme : dans le cas d’une enquête ou d’un vote qui exige une certaine confidentialité (comme dans le cas de Rumba), vous pouvez charger une liste d’identifiants anonymes (fournie, p.ex., par un tiers de confiance) ; ce procédé permettra de garantir l’unicité d’un vote sans permettre d’en identifier son auteur.
JPEG - 11.4 ko
fig. 5
Chaque utilisateur peut avoir un écran différent en fonction des rôles dont il dispose. Ainsi, l’éditeur propriétaire d’un formulaire pourra attribuer un accès limité à la traduction. Le traducteur ne verra s’afficher que l’icône traduction. Au premier niveau, trois rôles principaux sont définis : administrateur, éditeur et lecteur. Le plus courant sera l’éditeur, capable de créer de nouveaux formulaires. Au deuxième niveau, des droits plus fins peuvent être attribués à chaque formulaire : fabrication, publication, récupération des résultats, traduction, etc.

Comment récupérer les données ?

Nous n’avons pas ici toute latitude pour envisager l’application sous tous ses angles. Signalons simplement les outils mis en place pour récupérer voire simplement consulter les résultats. À l’issue d’une consultation, il est possible de télécharger toutes les données enregistrées sous la forme d’un fichier de type Excel (ou consultable dans n’importe quel tableur). Par ailleurs, si le formulaire permet de tracer des statistiques une interface de génération de graphiques (élémentaire) est disponible :

JPEG - 8.4 ko
fig. 6

Le plan de route

En 6 mois d’existence, le projet a déjà tracé son chemin. Parmi les enquêtes et sondages lancés, signalons les deux dernières enquêtes Rumba, de même que l’élection des représentants des étudiants à l’Assemblée d’École. Chacune de ces expériences nous a permis d’affiner le concept et de préparer la suite des développements. La priorité sera de doter inForm d’un manuel d’utilisation clair et précis pour favoriser l’autonomie de ses usagers. La deuxième priorité sera de répondre à toutes les contraintes posées par des consultations pointues, celles pour lesquelles nous devrons garantir, de bout en bout, un processus sécurisé et confidentiel... Au-delà des nouvelles fonctionnalités, c’est donc surtout l’accession à la maturité qui sera le moteur d’inForm au cours de ces prochains mois [5].

[1] http://securite.epfl.ch/rumba/RumbaMobility/enquete.htm

[2] Voici ceux que nous avions examinés (printemps 2004) : PHPEsp : http://phpesp.sourceforge.net/ ; Mod_survey : http://gathering.itm.mh.se/modsurvey/ : phpSurveyor : http://phpsurveyor.sourceforge.net/

[3] Le cahier des charges d’août 2004 : http://blogs.epfl.ch/article/786.

[4] Une interface de gestion et d’administration des messages emails est également disponible depuis peu.

[5] inForm est aussi destiné à une distribution open source. Nous avons terminé la documentation du code ; celle-ci est disponible sur http://inform.epfl.ch/docs/. Il nous restera à supprimer les dépendances à l’égard des systèmes d’information de l’EPFL et à proposer un script d’installation accompagnant le code source. En attendant, les intéressés sont les bienvenus.



Cherchez ...

- dans tous les Flash informatique
(entre 1986 et 2001: seulement sur les titres et auteurs)
- par mot-clé

Avertissement

Cette page est un article d'une publication de l'EPFL.
Le contenu et certains liens ne sont peut-être plus d'actualité.

Responsabilité

Les articles n'engagent que leurs auteurs, sauf ceux qui concernent de façon évidente des prestations officielles (sous la responsabilité du DIT ou d'autres entités). Toute reproduction, même partielle, n'est autorisée qu'avec l'accord de la rédaction et des auteurs.


Archives sur clé USB

Le Flash informatique ne paraîtra plus. Le dernier numéro est daté de décembre 2013.

Taguage des articles

Depuis 2010, pour aider le lecteur, les articles sont taggués:
  •   tout public
    que vous soyiez utilisateur occasionnel du PC familial, ou bien simplement propriétaire d'un iPhone, lisez l'article marqué tout public, vous y apprendrez plein de choses qui vous permettront de mieux appréhender ces technologies qui envahissent votre quotidien
  •   public averti
    l'article parle de concepts techniques, mais à la portée de toute personne intéressée par les dessous des nouvelles technologies
  •   expert
    le sujet abordé n'intéresse que peu de lecteurs, mais ceux-là seront ravis d'approfondir un thème, d'en savoir plus sur un nouveau langage.