Passage au XHTML avec HTML-Tidy

Dernière étape du remaniement du site: après la refonte de la maquette, voici l'autre changement de taille apporté au site, le passage du HTML au XHTML.

Cette évolution me trottait dans un recoin de ce qui me sert de cerveau depuis quelques semaines déjà, et les corrections que je devais apporter sur toutes les pages du site me donnèrent le prétexte de pousser plus loin cette réécriture du code. Me voilà donc lancer dans le XHTML, une version améliorée du HTML, à bien des égards plus logique et rationnelle que son ancêtre (en tout cas pour quelqu'un de formation scientifique comme moi).

Son principe est extrêmement simple; le XHTML, c'est juste du HTML avec quelques règles supplémentaires: toute balise ouverte doit être fermée, les éléments doivent être correctement imbriqués et ne pas se chevaucher, plus quelques autres petites bidouilles. Pas besoin d'avoir bac + quarante douze pour comprendre cette nouvelle norme de la publication web. Pour ceux qui seraient tentés par l'aventure, voici deux articles de l'incontournable Open Web à lire absolument:

Bien: passer du HTML valide au XHTML peut donc se faire "finger in the nose". Mais pour des pages web non dynamiques comme les miennes, cela représente tout de même une foultitude de modifications. Certaines pouvaient être automatisées avec Keynote, d'autres non. Je me voyais donc déjà suer sang et eau pendant des heures à corriger manuellement chaque page du site.

Et puis la lumière est venue, non pas de Laurent Blanc mais d'un génie de chez génie: Dave Raggett, le développeur d'un modeste outil nommé HTML Tidy. Modeste seulement par la taille, car ses fonctionnalités sont impressionnantes.

HTML Tidy n'est pas spécifiquement pensé pour passer du HTML au XHTML mais plus généralement pour corriger le code des pages web (balises manquantes, mal placées, en majuscule, etc.). C'est un outil surpuissant, rapide et d'une remarquable efficacité. Seul frein à son adoption par le grand public: il s'utilise en lignes de commande, via une fenêtre Dos sous Windows ou un terminal sous Linux.

Hormis cet inconvénient, qui n'est pas non plus insurmontable (la preuve), HTML Tidy facilite grandement la correction des pages web et la transformation du code que je souhaitais faire. Pour avoir de plus ample détails dans la manière de l'utiliser, Dave Raggett a écrit une petite présentation: Clean up your Web pages with HTML Tidy. Et pour montrer qu'au final, ce n'est pas si compliquée que ça, voici le fichier de configuration que j'ai du créé (un simple fichier texte) pour transformer les pages du site :

tidy-mark: no
wrap: 0
char-encoding: latin1
output-xhtml: yes
1. Fichier de configuration de HTML-Tidy

Il n'y avait plus qu'à taper quelques lignes de commandes, demander à HTML Tidy d'enregistrer les erreurs dans un fichier pour effectuer quelques corrections supplémentaires, et le tour était joué: la quarantaine de pages du site sont passées en XHTML strict en un peu plus d'une heure!

Cette migration amène évidemment à reconsidérer la mise en forme des pages HTML, surtout parce qu'Internet Explorer a de bien étranges comportements selon que l'on place ou non un prologue xml. Ces modifications ont été intégrées dans la nouvelle maquette. Pour le reste, les particularités d'IE feront l'objet de la dernière actu consacrée au remaniement du site.