XML pour les sites Internet

publicité
XML pour les sites Internet
Les langages XML sont particulièrement bien adaptés aux sites Internet
aussi bien pour leur conception que pour leurs mécanismes propres. Les
langages et outils pour les manipuler sont maintenant performants et au
point : langages 3G tels que Java ou .Net, langages de script tels que PHP
v4 ou v5, éditeurs de documents,…
XHTML plutôt que HTML
Le langage HTML est antérieur aux langages XML et il n’en a pas la
rigueur. Il s’en suit que les navigateurs ont tous été contraints de
développer des stratégies complexes pour interpréter les codes HTML
mal construits. La compatibilité en pâtit et le rendu d’une page HTML
varie d’un navigateur à l’autre au point de risquer d’en altérer aussi les
fonctionnalités.
HTML
XHTML
<html>
<head>…</head>
<body>
…
<img height=120 src="photo.gif">
…
<br>
…
</body>
</html>
<?xml version="1.0"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML … >
<html xmlns="http://www.w3.org/1999/xhtml">
<head>…</head>
<body>
…
<img height="120" src="photo.gif"/>
…
<br/>
…
</body>
</html>
Il existe maintenant une version XML du HTML que l’on appelle XHTML.
Les recommandations du consortium W3C à son sujet sont précises : elles
n’autorisent pas les simplifications que l’on pouvait se permettre en
HTML. Une page XHTML est donc un document XML utilisant un langage
clairement spécifié. Un programme de validation peut y être appliqué
pour s’assurer de sa conformité parfaite. Développer un navigateur
devient plus simple car il ne peut pas y avoir de mauvaise surprise. Plus
de fiabilité, voilà ce qu’apporte un langage XML.
© <agenceXML> 2007
http://www.agencexml.com
[email protected]
Pages dynamiques sans base de données
relationnelle
Les bases de données ont depuis longtemps été jugées incontournables
pour le stockage des éléments dynamiques des sites Internet. Pourtant,
elles n’ont pas que des avantages : elles sont consommatrices d’espace
disque, de mémoire et de puissance processeur.
Le modèle relationnel des bases de données modernes a un travers qu’il
ne faut pas perdre de vue : regrouper dans des tables toutes les données
de même nature. Pour les cas standard, qui sont en fait simples, rajouter
des données à une base de données relationnelle consiste, ni plus ni
moins, à les mélanger à d’autres données qui, bien que de même nature,
n’ont pas de lien fonctionnel avec elles alors qu’extraire des données
nécessite d’abord de les reconnaître dans un ensemble plus vaste. Les
bases de données relationnelles offrent des performances intéressantes
pour les consolidations de données et les statistiques mais elles
n’optimisent pas les usages courants qui sont aussi, la plupart du temps,
les usages principaux.
SGBD
XML
XML
XML
Lorsque l’on utilise du XML pour stocker des données, on choisit les
regroupements correspondant aux usages principaux : les données sont
regroupées selon leurs dépendances, par exemple, toutes les lignes d’une
facture avec l’entête de la facture, en un seul et même document. La
solution technique est quasi minimaliste car un seul fichier pourra suffire
pour mémoriser les données nécessaires à un traitement transactionnel.
Grâce à la maturité des langages de manipulation du XML, les
performances sont tout à fait bonnes. Le volume global de données n’est
pas un critère de choix entre l’utilisation d’une base de données ou
l’utilisation de fichiers XML : la granularité des données lues et mises à
© <agenceXML> 2007
http://www.agencexml.com
[email protected]
jour ainsi que les performances attendues pour les
transversaux vont permettre d’orienter le développement.
traitements
Par l’application d’une ou plusieurs transformations XSL-T, des données
XML deviennent simplement des pages entières ou des portions de pages
XHTML. Avec des possibilités de tris et de filtrages riches, les données
sont ainsi formatées pour l’affichage. Si nécessaire, du code Javascript
peut également être généré pour accompagner les formulaires.
Compilation de pages XHTML, de feuilles de
style CSS ou d’images
Lorsque les données sous-jacentes d’une page XHTML n’évoluent pas
fréquemment, voire jamais, il n’est que rarement opportun de
reconstruire la page à chaque appel. Si les volumes le permettent, il est
plus intéressant, en terme de performances, de stocker chaque page
constituée comme s’il s’agissait d’une page statique alors que sa
reconstruction est effectuée seulement après chaque modification.
Cette approche s’apparente à une phase de compilation dans laquelle les
données et le code dynamique sont compilés une fois pour toute.
XHTML
CSS
XML
XML
PNG
XML
JS
XHTML
Il devient alors simple d’inverser le raisonnement pour sortir du code
XHTML de pages statiques des éléments textuels ou graphiques et de les
regrouper dans un ou plusieurs documents XML.
Les différents styles CSS définis peuvent être reconstruits à partir de
paramètres synthétiques, suite à d’éventuels calculs mathématiques
simples.
Grâce au dessin vectoriel exprimé en XML (SVG) et moyennant un outil
de conversion graphique, des éléments habituellement non modifiables,
© <agenceXML> 2007
http://www.agencexml.com
[email protected]
tels que des bannières au format GIF, peuvent être regénérés après
modification de leur contenu, là encore, textuel ou graphique.
Architecture AJAX
En rendant la manipulation XML possible en Javascript, les pages d’un
site Internet peuvent maintenant avoir en local plus d’autonomie et de
puissance.
XHTML
+
JS
SERVEUR
NAVIGATEUR
XML
XML
Les échanges avec un serveur Internet ne se limitent plus à du code de
page venant remplacer le code précédent : les échanges client-serveur en
XML permettent à la fois un échange optimisé et une ergonomie riche où
l’utilisateur n’est pas soumis à un rafraîchissement systématique sur son
navigateur. Soit des parties de pages, soit des données brutes sont reçues
par le navigateur sans que l’utilisateur en soit dérangé et le code
Javascript traite ce qui a été reçu.
© <agenceXML> 2007
http://www.agencexml.com
[email protected]
Téléchargement