XForms,
ou XML Forms, est une spécification de définition
de formulaires, basée sur XML, destinée aux futures
générations de HTML et XHTML. Cette spécification
est en cours d'élaboration depuis 1999 au W3C,
et un nouveau document
de travail pour XForms 1.0 a été mis en ligne
le 21 août dernier, préfigurant une prochaine Recommandation
du W3C.
Le projet n'est pas anodin, quand on sait que les formulaires
sont la base de toute intéractivité en ligne, comme
les communautés (salons de discussions et forums), la personnalisation
de contenus, les moteurs de recherche, le commerce en ligne et toute
application en ligne.
Plusieurs centaines de millions (probablement un euphémisme)
de transactions ont été réalisées sur
le Web par leur biais: pas seulement pour des applications de commerce
ou communautaires, mais aussi pour des calculs en ligne, des inscriptions,
des conversions et beaucoup d'autres types d'applications qui, de
part leur forte utilisation de programmes externes pour parvenir
à un résultat donné, prouvent que les formulaires
arrivent très vite à leurs limites.
Partant de là, il était nécessaire de pouvoir
utiliser des formulaires sur le plus vaste nombre de supports possibles,
et donc de réaliser une "version XML" des formulaires
HTML classiques, extrêmement limités et inchangés
depuis plus de sept ans.
Le besoin
Les formulaires classiques fonctionnent de la manière bidirectionnelle:
l'utilisateur entre ses données à l'aide des éléments
du formulaire (champs texte, boutons, listes déroulantes...),
celles-çi sont ensuite envoyées au serveur via l'attribut
de balise action (et validées
soit à l'aide de JavaScript, soit coté serveur), et
le serveur traite les données et renvoie (ou non) un résultat
à l'utilisateur.
Mais, n'ayant pas été prévu pour des applications
complexes, les formulaires HTML manquent de souplesse et d'interopérabilité.
Notamment, ils ne font pas appel à XML, ce qui limite les
possibilités d'échange d'informations, et ils n'ont
pas été prévus pour autre chose qu'un ordinateur.
Avec l'arrivée massive d'internautes passant par des PocketPC
et autres, il devenait nécessaire de créer des formulaires
intelligents, capables de séparer la forme, le contenu et
la logique. C'est à cette attente que répond la norme
XForms.
Elle a été
dès le début conçue pour intégrer de
nombreux éléments qui permettent d'enrichir la gestion
d'un formulaire tout en le rendant indépendant du support.
Ses principaux atours sont sa réutilisabilité
(plusieurs formulaires par page Web, ou un seul destiné à
plusieurs pages), son faible besoin de programmation (la validation
de certaines données est faite par le formulaire lui-même),
et son indépendance vis-à-vis de la plateforme: la
spécification prévoit le support sur ordinateur, terminaux
mobiles portatifs (Palm, PocketPC, téléphone...),
télévision, imprimante et scanner. Sur ces deux derniers
points, un utilisateur devra par exemple pouvoir imprimer un formulaire,
le remplir à la main, et scanner le résultat pour
le renvoyer sur le réseau.
On décrit donc les types de données que l'on souhaite
saisir tandis qu'un autre langage expliquera comment, selon le contexte,
le formulaire sera proposé à l'utilisateur : le formulaire
ne sera pas le même selon que ce dernier utilise un ordinateur
ou un téléphone.
Le principe de fonctionnement
XForms sépare
la présentation du contenu par une organisation en trois
sections: données (ce que contient le formulaire), interface
utilisateur (ce à quoi il ressemble), et logique d'intéraction
(la manière dont il fonctionne). Il permet l'utilisation
de technologie déjà existantes comme XSL
et CSS pour la présentation. Chaque section utilise une définition
indépendante et séparée.
XForms comprend deux parties, dont la première, le XForms
Data Model, porte sur la modélisation des données,
et dont la deuxième, non-encore définie, portera sur
l'interface utilisateur. Cette séparation facilite la réutilisation
et permet de générer plusieurs présentations
à partir d'un seul modèle de données.
XForms utilise XML tant pour définir les formulaires que
pour transporter les données entrantes et sortantes (grâce
au Unicode).
Etant donné que c'est une norme basée sur XML, on
peut la coupler avec d'autres applications XML, comme le WML
(langage de balises pour plateformes sans fil) ou le SVG
(langage de graphisme vectoriel).
Le progrés
majeurs par rapport aux formulaires HTML sont:
- fort typage: chaque donnée soumise à
un formulaire XForms doit avoir un type donné. Cela permet
une pré-validation de base des données entrées,
par le formulaire lui-même.
- format XML: cela élimine le besoin d'une
logique coté serveur pour mettre en forme les données
envoyées à l'application serveur. Le document XML
reçu peut-être directement validé et utilisé
par l'application.
- internationalisation: l'utilisation de XML pour
les données d'occurences assure que les données
transmises sont au format international.
- accessibilité: en séparant le contenu
de la présentation, XForms permet à l'interface utilisateur
d'encapsuler toutes les données utiles, commes les titres
et descriptions, améliorant ainsi l'accessibilité
d'une application selon le support sur lequel elle est utilisée.
Les éléments d'interface sont génériques
et prévus pour être indépendant du support.
- ...et d'autres encore.
Les éléments
d'interface sont définis de manière abstraite, de
telle sorte que différentes plateformes puissent choisir
la manière dont elles les implémentent. Ainsi, là
où une balise <select>
dans un formulaire HTML n'aura qu'une seule représentation
possible (une liste déroulante), l'élément
<select1> d'un formulaire XForms pourra sur un ordinateur
être représenté par une liste déroulante,
et sur un téléphone portable par une série
de boutons radio. Mais, si l'aspect change, le but de l'élément
reste le même sur toutes les plateformes: permettre à
l'utilisateur de ne choisir qu'un seul élément dans
une liste.
Malheureusment, comme pour tout standard émergent, XForms
a encore du mal à s'imposer face à la simplicité
des formulaires classiques, cette simplicité qui a fait le
succés et la pérennité de la norme HTML...
Gageons cependant que la puissance offerte par XForms saura être
remarquée et intégrée aux principaux outils
de création Web rapidement. La facilité de mise à
jour peut aussi jouer en la faveur d'une prompte adoption des développeurs,
étant donné que la programmation n'est pas mélangée
aux balises de présentation.
Dans tous les cas, XForms mérite son surnom de "nouvelle
génération des formulaires", et que l'on se penche
plus sérieusement sur son utilisation...
|