XSLT et site web : introduction

Creative Commons License
Cette création est mise à disposition sous un contrat Creative Commons.

L'article original se trouve sur http://ymettier.free.fr/articles_lmag/.

Article publié dans le numéro 51 (juin 2003) de GNU/Linux France Magazine


Table des matières

1. Introduction
2. Prérequis
3. Plan du dossier
4. SGML, HTML et XML, historique
5. Remerciements
6. Références

1. Introduction

XSLT est un langage qui permet de transformer entre autres du XML en HTML. On peut créer très facilement un site web homogène avec quelques transformations XSLT. Tel est l'objet de cet article: créer un site web rudimentaire, par exemple pour présenter votre projet, description, page de téléchargement, licence, changements...

XSLT permet de transformer du XML en de nombreux formats, à commencer par le XML, ce qui peut paraître ridicule énoncé comme ceci, mais qui le sera moins dans un article plus loin. On peut aussi obtenir du HTML, ou encore du SVG, ou tout simplement du texte. XSLT prend en entrée du XML, et génère de nombreux formats en sortie en fonction du processeur XSLT que vous utilisez.

L'idée, dans ce dossier, est donc de créer un site web à base de modèles (templates en anglais), patrons qui seront en XML, et dont le moteur de transformation en pages web est le processeur XSLT de votre choix. Le gros avantage par rapport à tous les logiciels à base de modèles est que nous n'utilisons que des standards, et que nous ne sommes pas liés à un logiciel. Ainsi, les modèles resteront les mêmes en cas de changement de logiciel. Seule la mise en oeuvre du logiciel diffère.

2. Prérequis

Pour les prérequis, je partirai du principe que vous maîtrisez parfaitement le peu de HTML que nous allons utiliser, et que vous savez ce que c'est que XML même si vous ne l'avez jamais utilisé. Cet article vous fera pratiquer XML aussi! Vous devrez aussi disposer d'un processeur xslt, comme sablotron ou xsltproc: chacun fait partie des distributions majeures et vous n'aurez aucun problème pour les installer.

3. Plan du dossier

Ce dossier contient:

Tableau 1. Plan du dossier

ArticleThéoriePratique
XSLT au service du webLes premiers pas pour utiliser un processeur XSLT et générer une page webCréez la page d'accueil de votre site web
XSLT et transformations XML vers XMLComment transformer un document XML dans un certain format en un document XML dans un autre formatCréez les pages des nouveautés et changements
XPath, le langage de requètes d'XMLQuelques explications sur XPathRetour sur quelques expressions XPath vues dans les articles précédents
CSS pour un web plus beauCe qu'est CSS est ce que CSS n'est pasQuelques améliorations graphiques du site web

4. SGML, HTML et XML, historique

A l'origine, parmi les langages à balises (langages similaires à HTML), était SGML (dans les années 60, avant même la naissance d'Unix). Dans les années 80, SGML devient stable, et internet commence à poindre le bout de son nez. En l'occurence, dans les années 90, un sous-ensemble de SGML commence à apparaître pour créer ce qui va devenir le World Wide Web, et se nomme HTML. Un groupe de travail du W3C se met au travail, reprenant l'usage courant du HTML en 1994, et crée en 1996 une RFC (RFC1866) qui définit le HTML 2.0.

Parallèlement à cela, en novembre 1996, un premier brouillon de XML est écrit, en tant que sous-ensemble de SGML. XML devient une recommendation du W3C en février 1998. XSLT date de 1999, puis on commence à penser à rapprocher HTML de XML.

Le 26 janvier 2000, le W3C publie une nouvelle recommendation, XHTML-1.0 qui n'est pas la réunion du XML et du HTML, mais un sous-ensemble de XML. Ce sous-ensemble a été élaboré à partir de HTML-4.01, et est en fait un HTML réécrit en XML.

Actuellement, XML en est toujours à sa version 1.0 comme nous le verrons plus loin. HTML en est à sa version 4.01, version qui devrait être la dernière version de HTML. Et XHTML en est à la version 1.1 mais au moment ou j'écris cet article, trois brouillons du XHTML-2.0 ont déjà été publiés. XHTML est en fait l'évolution de HTML.

5. Remerciements

Je remercie vivement Guillaume Rousse pour ses nombreuses remarques constructives et ses commentaires qui m'ont bien aidés. Parmi ses commentaires, un détail concernait le vocabulaire. Pour la traduction du mot template il préfère le terme règle. J'ai choisi d'utiliser modèle car c'est celui qu'on rencontre dans le livre XML in a nutshell et dans la traduction française de la recommandation XSLT. Le terme règle convient tout autant que le terme modèle si vous le trouvez ailleurs.

6. Références

création est mise à disposition sous un contrat Creative Commons