Comprendre le XHTML

Sommaire :

I - Qu'est ce que le XHTML 1.0 ?
II - Comment fonctionne le XHTML 1.0 ?
III - Comment l'intégrer à son script ?
IV - Principales différences avec les normes HTML 4.0
V - Comment remédier à ces changements ?
VI - Pourquoi ne pas parler du XHTML 1.1 ?
VII - De nouvelles normes avec le XHTML 2.0
VIII - Informations

I - Qu'est ce que le XHTML 1.0 ?

Le XHTML 1.0 est une évolution du format HTML 4.0 utilisé pendant plusieurs années par les concepteurs du web. En effet il est nécessaire, comme toute chose, d'avoir des codes d'utilisation. On peut parler de protocole, de charte ou encore de lois pour la création de page web. Le W3C est donc l'institution qui est chargée d'établir ces règles d'utilisation. Le XHTML est une alternative au HTML et il apporte de nombreuses améliorations, notamment pour la conception des pages. Il permet au code de ces pages d'être beaucoup moins chargé, beaucoup moins lourd. On s'interessera donc davantage au contenu du script qu'à son design.

II - Comment fonctionne le XHTML 1.0 ?

Le XHTML 1.0 simplifie donc le développement de pages web. Pour cela il travaille en étroite relation avec le CSS de façon à créer un design de page externe au contenu. De nombreuses balises sont donc devenues obsolètes depuis la sortie de cette nouvelle norme. Il n'est plus nécessaire de chargé son script avec le design de la page: le CSS est là pour s'en charger.

III - Comment l'intégrer à son script ?

Pour cela il suffit simplement de copier le code suivant au début du script. Il existe 3 types de format XHTML 1.0 (appelés couramment DTD): Strict, Transitionnal et Frameset. Il est néanmoins recommandé d'utilisé le DTD Strict pour plus de compatibilité.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr">
<head>
<title>Sans Titre</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />

IV - Principales différences avec les normes HTML 4.0

Pour arriver à recentrer l'intérêt de la création d'une page web sur son contenu, le XHTML a supprimé plusieurs balises, attributs, arguments ou options apparetenant aux normes du HTML 4.0. Voici une liste (non-exhaustive) des attributs et des balises les plus couramment utilisés qui ont été supprimé :

V - Comment remédier à ces changements ?

Normalement une personne qui apprend le (x)HTML depuis peu ne connait pas ces balises puisqu'elles sont obsolètes depuis 2000 et donc la plupart des tutoriels ont mis à jour leur enseignement. Cependant il se peut que des personnes habituées au HTML aient pris de mauvaises habitudes. Voici quelques méthodes simples pour palier ce manque:

En ce qui concerne les balises simples telles que <br>, img ou input ou link, il est impératif de les fermer par un "/" à la fin. Exemple: <br> deviendra <br /> , img deviendra <img src=".... />.

VI - Pourquoi ne pas parler du XHTML 1.1 ?

Le XHTML 1.1 est ici encore une évolution des normes du XHTML. En revanche il ne comporte pas de changements réels par rapport au XHTML 1.0. De plus, une page validée au format XHTML 1.1 peut être "valide" mais en réalité elle ne l'est pas... En effet, le XHTML 1.1 regroupe les normes utiles au langage objet (exemple: xml). Autrement dit, dans une conception de pages web où il y a seulement du texte/image (cas des pages en général), le XHTML 1.1 n'a aucun intérêt.
Il n'est donc pas nécessaire de se mettre aux normes du XHTML 1.1 (d'ailleurs le site du W3C lui-même n'y est pas) puiqu'il n'apporte rien de novateur pour les pages courantes du web.
Voici cependant les grandes différences existant entre le XHTML 1.0 et le XHTML 1.1 :

VII - Bientôt de nouvelles normes avec le XHTML 2.0 !

Les nouvelles normes du langage XHTML vont révolutionner la conception des pages web. Pour cela il y aura beaucoup de suppressions mais aussi de nombreux ajouts bien utiles. Ce n'est pour l'instant qu'un objet de travail du W3C qui prend en charge la conception du projet. Néanmoins voici quelques changements qui se révèlent riches en nouveautés. Cependant ces changements sont susceptibles d'être changé, et ils ne sont évidemment pas encore exploitable avec nos navigateurs actuels (il faudra pour cela que de nouvelles génération de navigateurs apparaissent). Voici quelques modifications pratiques:

L'attribut href permet désormais de transformer un élément XHTML quelconque en lien. Les liens ne sont donc plus l'apanage de la seule balise <a>

<h1 href="page.html">Un titre</h1>

Un nouvel attribut dénommé edit permet d'indiquer son type de manipulation :

<blockquote edit="changed" datetime="2003-01-22T09:16:55Z">
  Un bloc de citation...
</blockquote>

L'attribut datetime fournit une date et une heure lorsqu'un changement a été effectué dans l'élément courant.

Un attribut cite permet d'indiquer une adresse URL désignant la source d'information de l'élément courant.

<p cite="http://source.com/provenance.html">
  Un texte...
</p>

La balise de césure de ligne, <br/> est remplacé par un nouvel élément <l> ... </l> permettant d'encadrer le contenu d'une ligne.

Les paragraphes ont maintenant la possibilité de contenir au sein de ses marqueurs des listes et des tableaux.

<p>Un texte... : 
  <ol>
    <li> ... </li>
    ...
  </ol>

</p>

Le nouvel élément <nl> (navigation lists) devrait permettre de définir des collections d'éléments sélectionnables afin d'afficher une liste de navigation à partir d'un menu principal hiérarchisé.

<nl>

  <label>Menu Principal</lable>
  <li href="index.html" navindex="1">Accueil</li>
  <li href="cours.html" navindex="2">Les cours</li>
  <nl>
    <label>XHTML</lable>
    <li href="sommaire.html">Sommaire du cours</li>
    <li href="intro.html">Introduction</li>
    <li href="xhtml2.html">Les nouveautés avec XHTML 2.0</li>
    ...
  </nl>

  ...
  <li href="cours.html" navindex="3">Les services</li>
  <nl>
    <label>La librairie</lable>
    <li href="librairie.html">Accueil</li>
    <nl>

      <label>Informatique</lable>
      <li href="html.html">HTML</li>
      <li href="xhtml.html">XHTML</li>
      ...
    <nl>
    ...
  </nl>

  ...
</nl>

L'attribut navindex définit l'ordre dans lequel les éléments doivent recevoir le focus lorsque l'utilisateur actionne les touches de son clavier.

D'autre part, l'élément <section> associé à <h> permet de structurer avec plus de souplesse les documents XHTML.

<section>
  <h>Sommaire</h>
  <nl>
    ...
  </nl>
  <section>
    <h>Introduction</h>
    <p> ... </p>
    ...
  </section>

  ...
</section>

La balise <acronym> a été supprimée au bénéfice de l'élément <abbr> possèdant une fonction similaire. De même, la balise <q> disparaît pour laisser sa place à la balise <quote>.

<p>L'<abbr title="Oranisation de Nations Unies">ONU</abbr> ... </p>

Les éléments <img> et <applet> ont été remplacés par la balise <object> prenant en charge désormais tous les éléments multimédias.

<object 
             classid="java:flame.class"
             codetype="application/java">
    <para name="text" value="Un texte">
    <para name="font" vamue="Arial">
    <para name="link" value="http://laltruiste.com">
</object>

L'attribut src est également applicable à tous les éléments XHTML dans le but d'insérer un contenu externe dans le document XHTML courant.

<span src="chemin/image.jpg" type="image/jpeg"></span>

<script src="chemin/fichier.js" 
                language="Javascript" 
                type="text/javascript">
  ...
</script>

Pour en savoir plus, consultez les spécifications disponible sur le site du W3C.

VIII - Informations

Pour de amples informations concernant les différents langage et les normes associées, référez-vous au site du W3C
Sources concernant le XHTML 2.0 prises sur laltruiste.com
Pour toutes questions relatives à ce site merci de me contacter (voir au bas de cette page)

icone xhtml   icone css

Contact