Historique
L'auteur travaille dans une équipe de recherche qui développe un simulateur de croissance de plantes : digiplante. Ce simulateur, pour fonctionner, a besoin de paramètres complexes en entrée. La liste et le type des paramètres sont amenés à être modifiés assez fréquemment (au cours des développements et des travaux de recherche). Les paramètres sont stockés dans un fichier XML. Or, comme tout le monde le sait, XML ce n'est pas très pratique à éditer à la main (particulièrement lorsque on s'adresse à des non-informaticiens). Il fallait donc une solution souple permettant de saisir les paramètres et donc de créer le fichier XML.
Le logiciel exxEditor
Pour résoudre ce problème, il a été développé exxEditor, un "éditeur" XML, qui génère une interface en lisant un fichier XML Schema. On a ainsi une interface qui affiche l'arbre des paramètres, et permet de les modifier. Bien entendu, exxEditor empêche l'utilisateur de saisir des valeurs non valides. Pour se rendre compte de quoi il s'agit, rien de mieux qu'une copie d'écran. Vous pouvez télécharger exxEditor sur le site du projet. La gestion du projet ce fait sur la Gforge INRIA.
Licence
exxEditor est sous licence CeCILL-C (type LGPL).
Technique
exxEditor est développé en C++ avec Xerces pour la "décomposition analytique" XML, Qt pour l'interface et Boost pour un peu tout le reste. On utilise CMake comme système de configuration. ExxEditor est multi-plateforme (Linux - Windows - Mac OS). ExxEditor est conçu de manière à pouvoir s'intégrer facilement dans une application Qt.
Avancement et version
exxEditor est maintenant en version 0.9 (comprendre en Beta), et lorsqu'il sera un peu mieux testé et débogué, il passera en version 1.0. Bien que le logiciel ne soit pas capable d'interpréter l'ensemble de la norme XML Schema, je ne compte pas ajouter de nouvelles fonctionnalités avant la version 1.0. En effet, il répond déjà parfaitement à mes besoins, et presque toutes les fonctionnalités basiques de XML Schema sont supportées.
Aller plus loin
- Journal de Thomas_Guyard à l'origine de la dépêche (4 clics)
- Site officiel (26 clics)
- Captures d'écran (5 clics)
- Téléchargements (6 clics)
- Licence CeCILL-C (3 clics)
# Gestion des gros fichiers?
Posté par coid . Évalué à 3.
[^] # Re: Gestion des gros fichiers?
Posté par Thomas Guyard . Évalué à 1.
[^] # Re: Gestion des gros fichiers?
Posté par Mathieu Segaud . Évalué à -2.
[^] # Re: Gestion des gros fichiers?
Posté par Nicolas Legrand (site web personnel) . Évalué à 5.
http://www.cnrtl.fr/lexiques/morphalou/
[^] # Re: Gestion des gros fichiers?
Posté par Thomas Guyard . Évalué à 3.
[^] # Re: Gestion des gros fichiers?
Posté par Kerro . Évalué à 3.
Au passage, il y a un ratio de 14 entre le fichier xml et le zip. Qui a dit qu'xml est verbeux ? :-)
[^] # Re: Gestion des gros fichiers?
Posté par FantastIX . Évalué à 2.
[^] # Re: Gestion des gros fichiers?
Posté par Aris Adamantiadis (site web personnel) . Évalué à 1.
Il semblerait qu'aucun ne soit optimisé pour dérouler l'arbre à la volée plutôt qu'en un coup. D'ailleurs c'est aussi le problème de wireshark (le faire tourner sur un pcap de 3 ou 4 Gb c'est assez rigolo).
# Erreur à la compilation
Posté par Maxime (site web personnel) . Évalué à 2.
[ 1%] Building CXX object Sources/exxUtils/Xml/CMakeFiles/exxXmlUtils.dir/XmlReader.cpp.o
/home/max/Downloads/exxEditor-SVN.r.158-Source/Sources/exxUtils/Xml/XmlReader.cpp: In member function ‘std::string exx::XmlReader::GetNamespace(const xercesc_2_8::DOMNode*) const’:
/home/max/Downloads/exxEditor-SVN.r.158-Source/Sources/exxUtils/Xml/XmlReader.cpp:286: error: invalid conversion from ‘const xercesc_2_8::DOMNode*’ to ‘xercesc_2_8::DOMNode*’
/home/max/Downloads/exxEditor-SVN.r.158-Source/Sources/exxUtils/Xml/XmlReader.cpp:286: error: initializing argument 1 of ‘virtual const xercesc_2_8::DOMXPathNSResolver* xercesc_2_8::DOMXPathEvaluator::createNSResolver(xercesc_2_8::DOMNode*)’
make[2]: *** [Sources/exxUtils/Xml/CMakeFiles/exxXmlUtils.dir/XmlReader.cpp.o] Error 1
make[1]: *** [Sources/exxUtils/Xml/CMakeFiles/exxXmlUtils.dir/all] Error 2
make: *** [all] Error 2
J'ai aussi essayé la version 164 du svn et j'obtiens d'autres erreurs (il trouve pas tout ce qui est relatif à ELS).
gcc version 4.4.3
libxerces-c2-dev 2.8.0
Bon courage, le projet peut être très utile :).
[^] # Re: Erreur à la compilation
Posté par Thomas Guyard . Évalué à 1.
Je vais vérifier mon FindXerces.cmake et faire en sorte qu'il refuse Xerces 2.8.
# Accès aux sources
Posté par LupusMic (site web personnel, Mastodon) . Évalué à 1.
[^] # Re: Accès aux sources
Posté par Thomas Guyard . Évalué à 3.
[^] # Re: Accès aux sources
Posté par Thomas Guyard . Évalué à 6.
https://gforge.inria.fr/frs/?group_id=2382
[^] # Re: Accès aux sources
Posté par LupusMic (site web personnel, Mastodon) . Évalué à 2.
[^] # Re: Accès aux sources
Posté par pini . Évalué à 1.
J'ai posté un bug report (#10772) et un patch de correction a été envoyé à l'équipe en charge de la plate-forme aujourd'hui. Reste plus qu'à attendre que ça entre en action...
# Xerces ?
Posté par zakMcKraken . Évalué à 2.
[^] # Re: Xerces ?
Posté par Thomas Guyard . Évalué à 2.
http://linuxfr.org/~Thomas_Guyard/30061.html
[^] # Re: Xerces ?
Posté par Xavier Teyssier (site web personnel) . Évalué à 3.
Pourquoi avoir utilisé Xerces, etc. plutôt que l'équivalent QT, l'auteur l'a expliqué ici : https://linuxfr.org//comments/1153014.html#1153014.
En résumé, la principal raison est historique : ses fonctions ont été codées avant que QT n'arrive dans le code.
# Interessant!
Posté par zaurus (site web personnel) . Évalué à 1.
(pas juste un editeur de texte quoi).
Sinon, pour aider les utilisateurs, passer le fichier de conf
de XML a YAML aurait ete aussi une tres bonne idee.
PS: Vive le libre et vive l'INRIA! ;)
[^] # Re: Interessant!
Posté par FantastIX . Évalué à 3.
Je présume que ces restrictions seront levées à l'avenir?
[^] # Re: Interessant!
Posté par Thomas Guyard . Évalué à 2.
# Pour des "non informaticiens", vraiment ?
Posté par VoixOff . Évalué à 2.
[ Value must follow this pattern : [0-9]+\.[0-9]+\.[0-9]+ ]
No comment.
[^] # Re: Pour des "non informaticiens", vraiment ?
Posté par djano . Évalué à 1.
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.