Retour : page principale > sommaire eFlore v2 > besoins et solution techniques
XUL est langage spécifique au navigateur internet Mozilla (disponible sous windows, linux et macos).
Il permet soit de réaliser des programmes prenant place à lintérieur du navigateur (à la place de la page HTML), soit à lextérieur de celui-ci sous la forme dapplications autonomes.
Lavantage principale à lutilisation de XUL semble être la possibilité de basculer très facilement de la consultation des données du projet eFlore en pages HTML classiques (donc visible sur nimporte quel navigateur) à la modification de ces mêmes données. En quelque sorte reprendre la philosophie des wiki (qui est vraiment très séduisante) tout en gardant la possibilité davoir une structuration forte de linformation grâce à une interface plus riche quune simple page HTML. En effet XUL met à disposition des contrôles sophistiqués, comme des tableaux, des arborescences, des fenêtres modales ce que noffre pas lHTML.
Evidemment XUL nest pas une solution parfaite, elle a notamment les inconvénients suivants :
Le logiciel dinstallation pèse 10 méga.
Le langage est spécifique à mozilla (mais une grande partie se fait en javascript ce qui est un standard).
On pourrait privilégié dautres solutions :
On peut également se dire que la première étape pourrait être de réaliser une application fonctionnant en mode connecté permettant de réaliser lensemble des opérations déditions dune façon confortable. XUL qui est plus riche fonctionnellement que HTML semble être une bonne solution. Certes il faut télécharger 10 méga pour linstaller (mais normalement une seule fois), et travailler dans un premier temps en mode connecté, mais il faut bien avouer que dans tous les cas il sera certainement difficile de participer à un projet de tela sans avoir une liaison haut débit ou tout du moins permanente. Pour ce qui est de la spécificité du langage on peut essayer de limiter cela en dissociant le plus possible les données du code du programme écrit en XUL.
En effet on peut imaginer deux façons de programmer différentes :
Prochainement vous trouverez ici, une page décrivant à quoi pourrait ressembler lapplication cliente du serveur eFlore.
Si vous souhaiter avoir une bonne documentation sur XUL, le plus simple est dinstaller mozilla sur votre ordinateur (à télécharger sur le site http://www.mozilla.org). Puis de télécharger la documentation de XUL qui est elle-même contenue dans une application XUL. En réalité cest la copie conforme du livre "Creating Applications with Mozilla" chez OREILLY. Vous pouvez télécharger cette documentation à partir de la page suivante : http://xulmaker.mozdev.org/releases/xulmaker040/.
Des sites en français :
http://xulfr.org/
Des sites en englais :
http://www.xulplanet.com/
XUL
Description
XUL est langage spécifique au navigateur internet Mozilla (disponible sous windows, linux et macos).
Il permet soit de réaliser des programmes prenant place à lintérieur du navigateur (à la place de la page HTML), soit à lextérieur de celui-ci sous la forme dapplications autonomes.
Lavantage principale à lutilisation de XUL semble être la possibilité de basculer très facilement de la consultation des données du projet eFlore en pages HTML classiques (donc visible sur nimporte quel navigateur) à la modification de ces mêmes données. En quelque sorte reprendre la philosophie des wiki (qui est vraiment très séduisante) tout en gardant la possibilité davoir une structuration forte de linformation grâce à une interface plus riche quune simple page HTML. En effet XUL met à disposition des contrôles sophistiqués, comme des tableaux, des arborescences, des fenêtres modales ce que noffre pas lHTML.
Inconvénients
Evidemment XUL nest pas une solution parfaite, elle a notamment les inconvénients suivants :
Le logiciel dinstallation pèse 10 méga.
Le langage est spécifique à mozilla (mais une grande partie se fait en javascript ce qui est un standard).
On pourrait privilégié dautres solutions :
- Faire le logiciel en java, mais dans ce cas là nous aurions deux applications complètement séparées (consultation/édition) sans possibilité de passer rapidement de lune à lautre, de plus il faut également télécharger la machine virtuelle ce qui nest pas négligeable.
- Faire le logiciel en Rebol, dans ce cas nous navons toujours pas la possibilité de passer instantanément du mode consultation à lédition. De plus cest un langage complètement propriétaire. Par contre la machine virtuelle est très légère à télécharger (moins de 1 méga).
- Faire deux applications pour lédition de données lune en HTML lorsque lon travaille sur des données « simples » en mode connectée (par exemple le dictionnaire nomenclature). Lune en un autre langage pour les parties réalisant lassemblage de ces données « simples » où lorsque lédition nécessite plus de temps. Evidemment démarqué ces deux types dédition nest pas quelque chose de simple car ces opérations peuvent sentrecroisées.
- Encore plein dautres solutions mais qui aurons toutes ce genre dinconvénients.
Comment pourrions nous utiliser XUL?
On peut également se dire que la première étape pourrait être de réaliser une application fonctionnant en mode connecté permettant de réaliser lensemble des opérations déditions dune façon confortable. XUL qui est plus riche fonctionnellement que HTML semble être une bonne solution. Certes il faut télécharger 10 méga pour linstaller (mais normalement une seule fois), et travailler dans un premier temps en mode connecté, mais il faut bien avouer que dans tous les cas il sera certainement difficile de participer à un projet de tela sans avoir une liaison haut débit ou tout du moins permanente. Pour ce qui est de la spécificité du langage on peut essayer de limiter cela en dissociant le plus possible les données du code du programme écrit en XUL.
En effet on peut imaginer deux façons de programmer différentes :
- Générer grâce à PHP le programme XUL en associant les données et le code. Cest certainement la solution la plus simple à réaliser car elle ne nécessite quun faible niveau de conceptualisation. Cependant cela à des désavantages :cela signifie quà chaque fois que lon veut changer les données on retélécharge une nouvelle fois le programme, de plus cela signifie que lon réalise quelque chose de vraiment spécifique à XUL dont aucune partie ne pourra être mutualisé pour un autre outil. De plus cela ôte tout espoir de pouvoir travailler en mode déconnecté.
- Dissocier le programme XUL des données. Le programme est écrit directement dans des fichiers envoyés une fois par session par le serveur web (nous navons pas ou peu besoin du langage PHP pour cela). Les données sont générées par des pages PHP dans un format préalablement convenu (en XML bien sur). Ces fichiers ne sont pas spécifiques à une application XUL particulière, et peuvent être utilisé à autre chose. Cela complique bien entendu un peu le développement du programme XUL puisque cest lui qui doit intégrer ces données (mais de toutes façon nous aurions du faire des opérations semblables) puisque le but dun programme XUL est quand même de manipuler les données (ajout, suppression, modification). Par contre il devient envisageable de travailler en mode déconnecté. Pour cela il suffit de prévoir une option pour sauvegarder les données dans un fichier sur lordinateur client, ainsi que la possibilité pour lapplication de recharger ce même fichier.
Prochainement vous trouverez ici, une page décrivant à quoi pourrait ressembler lapplication cliente du serveur eFlore.
Où trouver de la documentation?
Si vous souhaiter avoir une bonne documentation sur XUL, le plus simple est dinstaller mozilla sur votre ordinateur (à télécharger sur le site http://www.mozilla.org). Puis de télécharger la documentation de XUL qui est elle-même contenue dans une application XUL. En réalité cest la copie conforme du livre "Creating Applications with Mozilla" chez OREILLY. Vous pouvez télécharger cette documentation à partir de la page suivante : http://xulmaker.mozdev.org/releases/xulmaker040/.
Des sites en français :
http://xulfr.org/
Des sites en englais :
http://www.xulplanet.com/