2. Qu’est-ce que XHL ? XHL est un langage créé en 1999 qui, à la base, était destiné à créer un équivalent de XML pour le réseau Hypr@net via un système d’extension (on pouvait inventer des balises). Au fil des versions, XHL s’est étoffé d’un système de base de données (DHL : Database Hypr@net Language), d’un langage 3D (XHL3D, utilisé pour CyberWorlds) et de machines virtuelles. Dans ses versions 6.67 et suivantes, XHL s’est aussi intégré dans le système d’Intelligence Artificielle Seline afin de pouvoir comprendre le langage courant et répondre rapidement et de façon souple aux requêtes posées. Dans sa version 8.0, XHL a eu pour ambition d’étendre ses dernières possibilités et d’intégrer tous les langages existants (HTML, XML, PHP, VB, .Net etc.) et de les rendre plus performants. Langage interprété souple, simple, léger et libre. Pas de limite : si une fonction n’existe pas en XHL, rien n’empêche d’intégrer la syntaxe d’un autre langage dans le listing. Déjà utilisé par le réseau Hypr@net et le système d’IA Seline. Compatibilité parfaite avec les systèmes existants. Système d’administration qui permet de donner des droits aux utilisateurs d’un réseau, qu’ils soient développeurs ou non.
3. Présentation d’un code source : [name/index.html [title/Bienvenue dans l'aide de Langues-U Web Editor [author/Langues-U/Nicolas RUIZ [folder/aide [text/Langues-U Web Editor est un logiciel permettant de créer rapidement des cours et des exercices destinés aux étudiants de Langues-U sans se préoccuper de programmer en HTML ou de respecter la charte graphique. En effet, le logiciel est très simple d'utilisation et permet de créer simplement des pages de présentations ou des questionnaires. De plus, le logiciel permet de mettre en forme les textes grâce des options de justification, <b>de gras</b>, <i>d'italique</i> ou de<u> souligné.</u>. Cette aide va vous présenter toutes les options du logiciel et répondre à vos interrogations. [label/Créer une page [href/premierepage.html [target/ [label/Créer un questionnaire [href/questionnaire.html [target/ [label/Accès à Langues-U [href/http://www.langues-u.org [target/_blank [label/Contacter l'auteur [href/mailto:nicolas.ruiz@univ-nancy2.fr [target/ [end/ Ici, le développeur veut créer une page HTML : plutôt que de s’embêter avec ce langage, il définit en XHL ce qu’il veut avoir. XHL est incapable de mettre en forme du texte. Il laisse donc le choix à l’utilisateur (selon qu’il veut créer un document HTML ou RTF, les codes ne sont pas les mêmes). De même, si ce dernier veut rajouter une fonction propre à un langage (afficher l’heure en javascript), il peut le taper ici. L’utilisateur peut préciser la fin de son listing avec une balise [end/ mais elle est la plupart du temps facultative.
5. Le résultat final : Que ce soit en HTML ou en XHL, le résultat final est strictement identique. Il n’y a effectivement aucune différence puisque XHL sait traduire une page en HTML et le résultat ne change pas.
6. Le fonctionnement de XHL : Réseau Hypr@net World Wide Web Intranet ou site Web PC d’un utilisateur (-GRD-) (-LRD-) (-Page XHL rapatriée-)
7. Le fonctionnement de XHL –2- XHL fonctionne uniquement par référence, c’est-à-dire que le code en lui-même n’est qu’un simple texte qui ne veut rien dire. Ce sont les références qui lui donnent tout son sens car c’est elles qui définissent les balises et l’agencement de la page. Il existe deux références, dont une obligatoire : GRD : Global Reference Document : ce document est présent sur le serveur central de Hypr@net : c’est lui qui définit les balises de base. Par exemple, le GRD définit que la balise [ titre / annonce un texte de taille 20, en caractères gras et centré sur la feuille d’arrivée. Si le programme est stocké sur une machine qui n’a pas accès au serveur central Hypr@net, alors elle cherche le GRD là où elle se trouve, soit sur son réseau local soit en local (pour une application qui n’a pas besoin d’accès aux réseaux). Le GRD est la norme, mais rien ne peut empêcher le programmeur de définir une autre norme. LRD : Local Reference Document : on l’a vu ci-dessus, le GRD régie le langage XHL. Mais avant d’être interprété sur la machine, XHL recherche le LRD. Le LRD est un document, identique au GRD, mais qui peut contenir des précisions selon le type d’applications qu’il doit faire tourner. Par exemple, vous codez un site en XHL et vous désirez qu’en tapant [ myip /, cela affiche votre adresse IP. Le GRD n’a pas de telles balises, donc il faut que vous la définissiez dans le LRD. Si le développeur inclut une balise déjà existante dans le GRD, XHL donnera priorité au LRD. Par exemple, si vous voulez que [ titre / affiche un titre justifié à gauche et en taille 15, il faut bien que XHL vous donne satisfaction. On peut comparer les LRD comme des styles CSS, mais leur utilité est tout autre. De même, il est possible de créer un LRD pour un intranet ou pour un site, ou de décider de créer un LRD par dossier, voir par feuille (page). Ces deux documents sont codés en XHL, ils ont donc eux aussi des balises. Pour résumer, on peut dire que le GRD est le standard du XHL, le LRD ajoutant des balises (d’où le X de XHL) non prévues au dé part .
9. Source XHL : [title/Bienvenue sur mon site [br/null [text /Je vous souhaite la bienvenue sur ce site de test !<br><b>Le XHL est :</b> [br/null [argument/Adapté à la programmation rapide [argument/Souple en évitant les redondances [line/null [copyright/Nicolas RUIZ Le créateur de page peut donc s’appuyer sur le LRD et le GRD. Il a aussi inclus du HTML pur plutôt que d’utiliser les balises [bold/ ou [br/
12. Les balises fixes : Toutes les balises sont définies dans les documents GRD ou LRD sauf quelque-unes : en voici les caractéristiques : [begin/ : cette balise intègre un code dans n’importe quelle page avant le code du développeur XHL. [end/ : cette balise intègre un code dans n’importe quelle page après le code du développeur XHL. [compilation/ : cette balise reçoit en référence le chemin d’accès du compilateur, dans le cas de programmation d’un langage compilé. [grd/disabled : cette balise indique aux pages XHL dépendantes du LRD d’ignorer le GRD. [lrd/disabled : cette balise indique aux pages XHL de consulter uniquement le GRD et d’ignorer le LRD (dans le cas du GRD du réseau Hypr@net, il n’y a pas cette balise mais elle peut servir aux administrateurs fournissant des restrictions. [lrd/limited : cette balise indique aux pages XHL de consulter le GRD avant le LRD et donc d’ignorer les balises du LRD qui voudraient écraser celles du GRD. [br] : cette balise indique un retour à la ligne pour les langages qui n’ont pas de syntaxe spécifique. %reference % : ceci n’est pas une balise, c’est là où doit se placer la référence de la balise : si on a plusieurs références, on les sépare par des points virgules « ; » . Ces balises ne doivent être utilisées uniquement dans les documents de référence et pas dans une page XHL à l’exception de [br] .
13. Les langages compilés : Jusqu’à présent, XHL vous a montré son efficacité dans des langages interprétés : il en est de même pour un langage compilé : prenons un exemple avec Visual Basic 6. Le GRD contient des références à VB6 ; en voici un extrait : [click/Private Sub %reference%_click [hr] %reference%[br]End Sub [show/%reference%.show [max/%reference%.windowstate=vbmaximized … Voici le code tapé en XHL par un codeur avec pour référence ce GRD : [click/button1;[max/FrmMain Après passage sous Visual Basic, le code sera le suivant : Private Sub button1_Click() FrmMain.WindowState = vbMaximized End Sub
14. Conclusion : Utilisé dans les projets NRC puis eviGroup, XHL8 régit depuis maintenant plusieurs années les sysèmes de bases de données de Seline et des progiciels associés : MedicalCenter, ChromatographicCenter, XSS. Si vous utilisez un produit eviGroup, ce dernier a forcément à un moment ou un autre convertit ce que vous faisiez en XHL. L’ouverture de ce dernier n’a hélas pas été couronné de succès puisque arrivé probablement trop tard et avec comme objectif premier de d’abord fonctionner. Les documentations sont donc arrivés malheureusement après. Cependant, cela ne remet pas en cause son efficacité et sa simplicité d’utilisation. XHL8 n’a d’ailleurs jamais eu de remplaçant alors que les premières version (de la v1 à la v7) étaient sans cesse mise-à-jour, preuve d’une certaine maturité dans les possibilités d’applications. Malgré son utilisation exclusive dans les produits evigroup, de manière transparente ou non, XHL reste un système d’interprétation et de stockage totalement ouvert et libre, non soumis à royalties.