Dynamic Data Controls: une interface Web d'édition de base de données en quelques clics...
Cela fait un petit moment que je cherche un générateur d'interface Web gratuit et ultra rapide a mettre en ouvre, pour générer une interface d'administration pas forcement belle mais efficace / suffisamment user friendly pour un utilisateur non technique qui souhaite faire de la saisie de manière bête et méchante sur une base de données.
Le projet BLINQ correspondait plutôt a mes attentes: être capable en une ligne de commande de générer toute l'application Web d'édition de mes tables. Seul hic, le projet n'est plus supporté depuis la CTP de LINQ de Mai... 2006!
Bref, à la chasse d'informations sur ce projet, je suis tombé sur MSN sur un célèbre WebMaster VBiste averti qui m'a tout simplement remis sur le droit chemin: "jeune padawan ce que tu cherches existe, mais ce n'est pas au niveau de BLINQ qu'il faut chercher, mais tout simplement dans ASP.NET Futures, May 2007 Release" (ou comment gentiment me faire comprendre que les derniers événements de ma vie privé m'ont mis trois mois de retard technique dans la vue).
Et la... quel surprise... rapide et efficace, une interface de saisie mise en place sur une base de test en 3min chrono:
- 1. Installation de ASP.NET Futures par dessus mon VS 2008
- 2. Création d'un projet de type "Dynamic Data Web Site"

- 3. Modification du Web.Config afin de configurer le site pour fonctionner avec ma base locale de test (contenant juste trois tables t_personnes, t_products et t_commandes.
<connectionStrings>
<add name="TestCS" connectionString="Data Source=.;Initial Catalog=Test;Integrated Security=True"/>
</connectionStrings>
<dynamicDataControls showAllTables="false" connectionString="TestCS">
<nameMap>
</nameMap>
</dynamicDataControls>
- 4. Création de trois pages, t_products.aspx, t_personnes.aspx et t_commandes.aspx, dont les noms correspondent exactement aux noms de mes trois tables, le tout en se basant sur un modèle de page "Dynamic Data Web Form".

- 5...et c'est finit... il ne reste plus qu'a exécuter les pages et le contenu de celles-ci va être généré automatiquement a partir de la structure de la table, pour de la lecture, modification, suppression, insertion, en prenant compte des relations (et donc en proposant une liste déroulante en édition / insertion dans certains cas) ainsi qu'en mettant à disposition un système de navigation entre les pages représentatif des liaisons entre tables.
En résumé:
- Non, ce n'est pas adapté pour des belles applications propres de la vraie vie
- Non, le résultat n'est pas très "sexy" et c'est pas forcement super drôle à personnaliser graphiquement (mais tout a fait réalisable)
- Oui, je n'aurai pas à modifier mon interface de saisie dans le cas ou mon modèle conceptuel de données évolue, vu que tout est généré dynamiquement
- Oui, cela m'a fait gagner une bonne journée de travail
- Oui, mes utilisateurs sont extrêmement satisfaits car le résultat est largement suffisant et moi extrêmement surpris du résultat :)
Pour aller plus loin, un webcast beaucoup plus complète d'une 20ene de minute, plutôt interessante sous forme d'une grosse démonstration, traine par ici.
Voila!
PS: si vous vous demandez qui est François Ziserman dont le nom apparait dans la capture d'écran, vous pouvez jeter un coup d'œil à son excellent blog sur l'E-Commerce.