HTML
HTML (HyperText Markup Language) était le premier langage élaboré pour la création des pages Web. Il est toujours le langage le plus répandu sur la Toile mais il n'a plus d'avenir.
HTML véhicule à la fois le contenu d'une page et la présentation de ce contenu. Il mélange l'un à l'autre dans un même code (le code étant ce que vous voyez en affichant la source d'une page Web).
Suite aux développements successifs (HTML 2, HTML 3, HTML 4) qui s'intéressaient essentiellement à l'affichage de pages sur des écrans informatiques, HTML est devenu lourd, fastidieux et, surtout, peu accessible aux navigateurs alternatifs qui fleurissent sur le marché :
- PDAs,
- téléphones mobiles,
- navigateurs vocaux ou braille...
Ils sont moins (ou plutôt autrement) performants que les navigateurs de bureau, tels: Explorer, Netscape, Opera, Safari...
Allons-nous construire un Web parallèle, Web "bis", accessible à ces nouveaux navigateurs et appareils ou, sinon, nous promener avec nos ordinateurs de bureau pour profiter du Web en dehors de quatre murs ?
Il fallait trouver une solution globale et évolutive.
Modularisation
Cette solution a été trouvée et porte le nom Modularisation. Il ne reste qu'à répandre son utilisation pour en faire le quotidien du Web.
En quoi consiste la Modularisation ?
- Le contenu d'une page Web est séparé de ses attributs de présentation.
Il devient ainsi accessible à tous les navigateurs. - Des modules spécialisés sont associés au contenu
(module de mise en page, module d'impression, module de lecture à haute voix, module mathématique, etc) - Avant de vous afficher une page, un navigateur fait appel au(x) module(s) dont il a besoin, lui, pour satisfaire votre demande.
Il n'est pas contraint de se frayer le chemin à travers les parties du code qui ne lui servent à rien et qui, en plus, peuvent le planter car elles lui sont incompréhensibles.
Pour permettre cette séparation de contenu et de mise en page, le W3C a inventé :
- le CSS (Cascading Style Sheets - feuilles de style),
- le DOM (Document Objet Model).
Le CSS est un langage de la mise en forme (pour l'affichage, la lecture à haute voix ou l'impression) qui peut être consigné dans un fichier à part. Les navigateurs concernés par la mise en page chargent alors ce document et l'utilisent comme un filtre à travers lequel ils interprètent le contenu.
Le DOM, lui, est une antichambre des navigateurs où s'effectue le mélange.
Pour tirer profit de ces inventions, il était souhaitable de définir un langage qui se démarquerait de HTML, peu rigoureux et trop usé.
XHTML
Lancé en 2000, XHTML (Extensible HyperText Markup Language) est le successeur officiel de HTML.
Défini par W3C comme "une reformulation de HTML 4 en une application XML 1.0", le XHTML est un HTML amélioré et extensible grâce aux modules. Il utilise la plupart des balises HTML, mais les épure de leurs attributs "présentationnels" (la présentation étant confiée aux modules), et remet de l'ordre dans la programmation en imposant la syntaxe plus stricte de XML (Extensible Markup Language).
Les pages écrites en XHTML n'utilisent pas de suffixes particuliers. Pour savoir si vous regardez une page HTML ou XHTML, il faut jeter un coup d'oeil sur le DOCTYPE dans la source d'une page.
XHTML est compatible avec les navigateurs actuels pour peu qu'on respecte un ensemble de règles simples . Il est compatible avec les navigateurs XML, navigateurs de demain.
Une série de spécifications a été développée pour XHTML.
Bénéfices de XHTML
Avec le HTML, il était possible de créer des pages Web pleines d'erreurs (en oubliant de fermer une balise, en chevauchant des balises, etc). C'est une des raisons principales du poids de navigateurs actuels et de leurs incompatibilités réciproques : ils essaient de rattraper, tels des garde-fous, les erreurs de ceux qui conçoivent les pages Web.
Avec le XML (XHTML est un XML), les erreurs de syntaxe ne seront plus possibles. Les navigateurs pourront alors être allégés de leur garde-fou et deviendront plus faciles à faire évoluer.
Les pages Web écrites en XHTML deviennent accessibles à un grand nombre d'appareils, ce qui bénéficie à l'audience d'un site.