Catégorie:OpenXODM
OpenXODM (Open Xml Oriented Data Management) se veut un outil permettant de construire la base d'une application de type WEB rapidement. La particularité de ce projet réside dans le fait que chaque interface est décrite dans un fichier XML à l'aide d'XHTML enrichi de nouveaux widgets.
Sommaire |
[modifier] État d'avancement
Ce projet, quoique déjà bien entamé n'est encore qu'au stade de conception/R&D, et donc les spécifications ne sont pas encore gelées. Origines du projet
Durant la période de juin 2008 à septembre 2009 j'ai effectué une mission durant lequel j'ai développé un prototype d'application pour la Direction Régionale de l'Environnement du Poitou-Charentes.
Il faut dire que voce projet est à l'initiative d'un chef de service, débordé par le flot important d'informations que son service traite. Au cours de celle-ci j'ai été confronté à plusieurs problèmes majeurs :
- Un manque d'expertise pour développer et maintenir un projet informatique complexe. C'est un problème que l'on peut rencontrer sans doute à de nombreux endroits (par exemple dans les PME/PMI).
- Des besoins qui évoluent rapidement.
- Le personnel (effectifs ou chargés de missions) surchargé.
- Des besoins critiques et donc des cycles de développement cours, et très peu de perspectives.
- Un budget réduit pour pas dire ridicule voire nul.
- En bonus : par la suite le projet a intéressé d'autres régions, mais le souci c'est que celles-ci travaillent chacune différemment et donc posent un problème d'hétérogénéité.
Je pense qu'on a réuni toutes les pires conditions pour l'implantation d'un projet d'envergure. Pour donner un ordre d'idée, ce projet se chiffre entre ½M€ et 1M€.
M'avouant jamais vaincu, et même si le contexte paraît complètement « fou », j'ai essayé d'inventer et concevoir un modèle d'application/framwork qui apporterait LA solution idéale !
[modifier] Objectifs
Le défi est de taille, car pour réussir, le modèle devra vérifier les propriétés suivantes :
- Simplicité (de développement) : permettant une adaptation de façon rapide.
- Un coût réduit.
- Une IHM simple, très intuitive et très efficace (calculé à partir du facteur Investissement Utilisateur sur Service rendu à l'utilisateur) : l'impact de l'implantation du logiciel ne doit pas avoir un effet négatif sur la charge de travail des utilisateurs, et même si paraît logique, c'est pourtant très loin d'être évident !
- Un moteur de recherche puissant et efficace (la complexité du moteur de recherche étant proportionnelle à la complexité du modèle de donnée).
[modifier] Plus de détails
L'idée serait, comme je l'ai annoncé plus haut, de créer uniquement un fichier XML par interface, et d'avoir une application fonctionnelle sur le champ (enfin presque).
[modifier] Exemple d'interface
Prenons plutôt l'exemple d'un formulaire de contact. Pour l'occasion on créera un fichier Contact.xml qui ressemblera à ça :
Le fichier xml est formé de la manière suivante :
- Le nœud racine ui décrit l'interface qui peut être un onglet ou un une fenêtre « popup » (attribut type).
- Le nœud ui-title définit de titre de l'onglet/fenêtre.
- Le nœud variable permet d'insérer le contenu d'une variable.
- Le nœud xform décrit un formulaire avec le nom de l'objet (correspondant à une table, vue ou autre objet de la base de donnée).
- Le nœud field décrit un champ contenant entre autre le nom, un type de champ et un texte d'aide.
Là encore, la TDT n'est pas encore gelé loin de là...
Voilà le résultat correspondant à l'interface ci-dessus (mis à part le menu) :
[modifier] Architecture
Fichiers multimédias dans la catégorie « OpenXODM »
Cette catégorie contient 3 fichiers, dont les 3 ci-dessous.