Sortie de exxEditor

Posté par  (site web personnel) . Modéré par Benoît Sibaud.
Étiquettes :
14
18
août
2010
Communauté
Voici la première publication de ExxEditor, un éditeur XML. Cette dépêche est tirée du journal de Thomas_Guyard.

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

  • # Gestion des gros fichiers?

    Posté par  . Évalué à 3.

    Comment s'en sort-il avec des fichiers de plusieurs centaines de mégaoctets? Pas mal d'éditeurs très bons sur des fichiers de tailles raisonnables s'avèrent inutilisables sur les gros fichiers, tellement ils rament.
  • # Erreur à la compilation

    Posté par  (site web personnel) . Évalué à 2.

    J'ai voulu tester mais voici ce que ça me donne à la compilation :

    [ 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  . Évalué à 1.

      L'erreur à la compilation vient d'un problème de version de Xerces. Le projet ne fonctionne pas avec la version 2.8, mais uniquement avec une version > 3.0.

      Je vais vérifier mon FindXerces.cmake et faire en sorte qu'il refuse Xerces 2.8.
  • # Accès aux sources

    Posté par  (site web personnel, Mastodon) . Évalué à 1.

    Le SVN anonyme ne semble pas activé. C'est dommage, j'aurais bien jeté un coup d'œil.
  • # Xerces ?

    Posté par  . Évalué à 2.

    Pourquoi avoir utilisé Xerces plutôt que les fonctions XML de Qt, vu que Qt est déjà utilisé pour l'interface graphique ? (simple curiosité)
  • # Interessant!

    Posté par  (site web personnel) . Évalué à 1.

    Ca se faisait attendre un editeur XML libre et un peu intelligent
    (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  . Évalué à 3.

      C'est une très bonne nouvelle qu'un éditeur XML avec ce genre de fonctionnalités. a dire vrai, jusqu'à présent, seul XMLSpy sortait du lot. Mais bon, pas libre, cher, mode de licence insupportable... Les fonctionnalités restreintes de exxEditor, par contre, empêchent de profiter de toute la puissance de schémas: extension de types nommés, certaines formes de substitution, la multiplicité des composants choice et sequence...

      Je présume que ces restrictions seront levées à l'avenir?
      • [^] # Re: Interessant!

        Posté par  . Évalué à 2.

        Ces restrictions seront levées si des utilisateurs en on besoin. Pour l'instant, je n'en ai pas besoin je ne l'implémente pas, mais avec un peu de motivation je peux m'y mettre.
  • # Pour des "non informaticiens", vraiment ?

    Posté par  . Évalué à 2.

    Dans la deuxième copie d'écran on peut lire :
    [ Value must follow this pattern : [0-9]+\.[0-9]+\.[0-9]+ ]

    No comment.

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.