Réalisations

Orgue Et XML

Objectif

Trouver un langage1 commun pour stocker et échanger des descriptifs d'orgues à travers la toile.

Spécifications

2 initiatives, à différents niveaux d'avancement (la seconde est pour l'instant au stade d'ébauche) ont été lancées :

XML Organ Spec
Edward L. Stauff : http://www.stauffconsulting.com/XMLorganSpecs/

ODL (Organ Definition Language)
Sébastien Cosson : http://hydraule.org/bureau/ordi/odl/

Tous deux ont choisi le langage XML. Se référer à l'article Wikipédia pour en savoir plus sur XML : http://fr.wikipedia.org/wiki/Xml

Editeur de compositions

Edward L. Stauff a créé en 2002 la spécification XML OrganSpec (si ce lien ne marche pas, une copie est disponible ici). Mais il a aussi écrit des classes C# et Java pour la lecture et l'écriture de fichiers OrganSpec ainsi qu'un programme en C# pour éditer, modifier, visualiser de tels fichiers : OrganSpecEdit.

Malheureusement, si on se fie à cette page, le projet semble être à l'arrêt depuis 2003.

Début Septembre 2009, j'ai légèrement corrigé le code source puis je l'ai recompilé avec Microsoft Visual Studio 2005 pour que le programme fonctionne sous Windows Vista (nécessite la plateforme Microsoft .NET). Bien que le code ne soit pas libre, au vu du peu de modifications apportées, je permets de mettre à disposition le nouvel exécutable. Merci de me contacter si cela pose problème.

Taille : 344 Ko
OS : Windows Vista 32 bits, XP, Seven
Nécessite Microsoft .NET Framework

Télécharger OrganSpecEdit v0.3

Attention : ce programme est en version Bêta. Merci de me signaler les bugs.

Version actuelle : 0.3.3545.29450 | Date : 15/09/2009 17:21

Corrections apportées au programme d'origine :

  • Encodage des fichiers d'E/S désormais en UTF-8 au lieu de US-ASCII
  • Correction du bug du clic droit dans une zone vide du treeview
  • Correction d'un bug de la fonction d'attribution automatique d'ID aux Eléments (prise en charge des accents)
  • Correction du bug d'icône lors de l'ajout d'un élément "frère" dans le treeview
  • Correction du bug survenant à la pression de la touche "Del" dans les champs texte de la zone de saisie des attributs des éléments
  • Mise à jour du lien vers le site du projet dans la fenêtre "A propos" ; Ce lien s'ouvre à présent automatiquement dans le navigateur par défaut

En voici un petit aperçu : nous prenons ici l'exemple de l'orgue de Mimizan. Nous saisissons les informations à partir de la fiche de l'inventaire ADORA :
http://pagesperso-orange.fr/adora.orgue/mimizan.htm

Capture d'écran de la fenêtre d'édition d'OrganSpecEdit

L'interface d'édition suit de très près la structure du fichier XML OrganSpec. A gauche, un arbre de tous les éléments constitutifs de l'orgue. A droite, un formulaire contenant les différents attributs de l'élément sélectionné. Au départ, seule la racine "Organ" est présente. L'arbre prend forme petit à petit en ajoutant des branches, des feuilles, ...

Capture d'écran des fenêtres A propos et Ajout d'un nouvel élément

Voici le fichier en sortie du programme une fois que les principales informations sur l'instrument ont été saisies :

Diagrammes des classes du code source

Pour avoir une représentation visuelle de l'agencement des différentes classes du programme, voici quelques diagrammes de classes en mode texte. D'autres viendront s'ajouter d'ici peu...

OrganSpecLib

L'arborescence du code source contient un répertoire nommé "OrganSpecLib" avec :

  • les classes qui implémentent les 30 éléments de la spécification XML (Accessory, Blower, ... jusqu'à Tuning)
  • des classes utilitaires (pour modéliser par exemple les chiffres romains, les dates, les notes, ...)

Interface

L'interface comporte plusieurs éléments : des formulaires, des contrôles utilisateur, des composants, ...

Diagramme de classes des Elements
Diagramme de classes de l'Interface

---
1 "Langage" désigne ici un langage informatique (compréhensible par un programme)

Orgue

« Instrument à vent composé de tuyaux à une seule note, accordés selon une gamme définie, alimentés par une soufflerie et actionnés par un ou plusieurs claviers. »

Friedrich Jakob, Curt Sachs

Réflexions

Réalisations

Vie du site

edit SideBar