Factoriser du code HTML pour simplifier la maintenance

Les frames

On peut utiliser les frames classiques ou les iframes. Le document est recomposé par le navigateur. Il faut alors utiliser une DTD spécifique.

  • Inconvénients:
    • Problèmes de contexte
    • Problèmes d’accessibilité
avantages?

Les templates

On trouve des systèmes de template dans certains logiciels de création web comme Dreamweaver ou NVU. Le code factorisé est recopié par le logiciel avant d’être mis en ligne.

  • Inconvénient:
    • Ne fonctionne qu’avec les logiciels respectifs
    • Le code est recopié dans chaque document par le serveur donc n’allège pas le poids

HTML Overlays

Technologie développée par Disruptive Innovations. Le document est recomposé par le navigateur : http://disruptive-innovations.com/zoo/20040830/HTMLoverlays.html

  • Inconvénient:
    • Ne fonctionne pas sans Javascript

Javascript

On peut créer une fonction Javascript (placée dans un fichier .js) qui génère le code à factoriser. Le document est recomposé par le navigateur.

  • Inconvénient:
    • Problèmes d’accessibilité
    • Ne fonctionne pas sans Javascript

Les Server Side Includes (SSI)

Permettent d’inclure du code côté serveur. Pour activer cette fonctionnalité il suffit de configurer le serveur avec cette ligne (dans un .htaccess par exemple): Options +Includes

On peut alors indiquer à Apache (dans un .htaccess) de traiter les documents HTML comme dynamique de la manière suivante:

  AddHandler server-parsed .html

Enfin, pour inclure du code provenant d’un autre document il suffit d’insérer ce code dans le document:

  <!--#include virtual="/menu.html" -->

Il faut veiller à ce que le serveur traite le document comme un document dynamique.

Tous les détails sur le site d’Apache : http://httpd.apache.org/docs/howto/ssi.html

  • Inconvénient
    • Le code est recopié dans chaque document par le serveur donc n’allège pas le poids

Le PHP

En PHP, il suffit d’utiliser la clause d’inclusion

  <?php include 'menu.html.inc'; ?>

pour inclure un document externe. Le document est recomposé par le serveur.

  • Inconvénient
    • Le code est recopié dans chaque document par le serveur donc n’allège pas le poids

Notes

Penser à regarder les XIncludes

 
factoriserducodehtml.txt · Dernière modification: 2007/05/17 16:59 par 41.226.7.124
 

Fil RSS | Propulsé par DokuWiki