english version    ASP.NET, SQL Server et XML

Remplir des formulaires HTML avec ASP.NET, SQL Server et des champs XML.

Nous avons développé une application ASP.NET dont le but est de remplir des tables contenant des champs de type XML sous SQL Server.

Utiliser des champs XML est très utile quand vous devez stocker des dossiers en base de données et que les champs changent fréquemment ou quand les dossiers sont de types différents, non homogènes, et que vous ne souhaitez pas modifier trop souvent vos tables. Vous pouvez enregistrer sous une forme relationnelle les données supposées ne pas trop changer et ajouter un ou plusieurs champs XML pour stocker les données variables.

La difficulté est alors de pouvoir développer simplement et rapidement des formulaires permettant de stocker et d'afficher les données XML sans avoir à trop se soucier de la complexité du format XML. C'est le but que nous souhaitions atteindre.

Nous avions au préalable développé une application pour une fondation médicale (pour des demandes d'aides ou de subventions effectuées par des chercheurs) qui n'utilisait pas le format XML mais utilisait php et des tables relationnelles stockée dans Postgresql (cette application est utilisée depuis quelques années et donne entière satisfaction, ayant permis de gérer plus de 6000 dossiers durant cette période). Nous devions souvent modifier les structures des tables (la plupart du temps en ajoutant des champs ou en changeant la destination de champs existants) et le besoin d'un système plus souple se fit alors sentir. Nous avons donc porté cette application pour utiliser asp.net et SQL server qui offre un type de données XML natif.

Fonctionnement de l'application:

On commence par ouvrir des sessions de demandes pendant lesquelles les demandeurs pourront remplir un dossier (il reçoivent par mail un code leur permettant de remplir leur dossier et de reprendre une session de saisie lorsque celle-ci n'a pas été effectuée en une seule fois). Les formulaires HTML à remplir dépendent du type de demande effectuée.
Lorsque les saisies sont terminées des experts examinent et notent les dossiers sur internet.
Puis les dossiers sont acceptés ou refuses lors d'une reunion compte tenu des avis des experts.
La vie du dossier après l'acceptation (jusqu'à la génératoin d'écritures comptables) est gérée par une application access qui peut-être adaptée à moindre coût.
Cette application permet d'imprimer des rapports, d'envoyer simplement des email au demandeurs, de gérer une liste d'experts, d'ouvrir des sessions de demandes …
La structure des formulaires HTML est gardée aussi simple que possible afin de pouvoir être modifiée facilement.
Cette application pourrait être simplement adaptée à d'autres besoins (entièrement ou en partie).

Un peu de technique:
Les formulaires HTML utilisent une assemblée .net commune contenant les routines que nous avons pu développer. Ces formulaires ont tous la même structure globale commune.
Ils contiennent au début la liste des champs qui devront être lus lors de l'ouverture du formulaire et enregistrés lors de sa validation. Les données provenant de champs xml sont définies par leur chemin xpath. Les requêtes de sélection et de mise à jour sont générées automatiquement.
Des contrôles Javascript client utilisant une bibliothèque commune de fonction sont effectués avant la validation de chaque formulaire.
La navigation entre les différents formulaires constituant le dossier est réalisée par l'intermédiaire d'une barre de navigation standard.

Contactez nous pour plus d'informations :