Cette liste des questions les plus fréquemment posées est tenue à jour par WDG et a été mise à jour pour la dernière fois le 15 Juillet 2000. (La présente traduction date de Janvier 2001). Elle peut être trouvée aux adresses suivantes :
La traduction en hollandais de ce document est disponible également :
La présente traduction française se trouve sur :
Si vous souhaitez contribuez à cette FAQ, merci d'envoyer un message à <darin@htmlhelp.com>. Toutes les personnes qui ont participé à cette FAQ sont listées à la fin.
N'hésitez pas à contacter le traducteur pour signaler une imprécision, une erreur de traduction, une faute de français que vous pourrez trouver dans ce document : <cedrik.rousseau@insa-rouen.fr>
HTML en soi n'offre pas de possibilité d'incorporer sans couture le contenu d'un document dans un autre.
La vraie inclusion dynamique d'un document dans un autre (même dans un différent code de caractères) est possible avec l'élément OBJECT, mais comme peu de navigateurs sont capables de comprendre ceci, il n'est pas envisageable de compter là dessus, du moins pour un contenu essentiel. La même chose est valable pour IFRAME.
Il y a deux façons répandues d'inclure un fichier dans un document html sans utiliser les cadres (frames) : le prétraitement et les inclusions du coté serveur.
Parmi les techniques de prétraitement, on trouve le préprocesseur C, d'autres méthodes génériques de manipulation de texte et plusieurs processeurs spécifiques au HTML. Vous pouvez consulter une belle liste de préprocesseurs HTML sur <http://www.idocs.com/wmr/software/html+preprocessors/>.
Attention de ne pas produire du code source non portable. Par ailleurs, le document HTML ne peut être validé qu'après le prétraitement. Ainsi le cycle typique 'Edition, Vérification, Envoi' devient 'Edition, Prétraitement, Vérification, Envoi'. (Ici, 'Vérification' comprends toutes les étapes que vous pouvez franchir pour prévisualiser vos pages; et 'Envoi' fait référence au moment où vous publier réellement vos pages sur le Web).
Une technique de prétraitement bien plus puissante et polyvalente est d'utiliser un processeur SGML. (tel que SP package) pour générer votre code HTML. Le code ainsi généré peut être vérifié automatiquement.
Exemples d'inclusions coté serveur : Server Side Includes (SSI, supporté par Apache, NCSA, et d'autres serveurs Web) et la technologie Active Server Pages de Microsoft (ASP, supportée par MS IIS). Le traitement se déroule au moment même où les documents sont consultés. Un exemple type d'inclusion ressemble à :
<!--#include virtual="/chemin/jusqua/monfichier.htm" -->
mais le mieux est de consulter la documentation de votre propre serveur http, car de nombreux détails peuvent varier entre les différentes implémentations. Toute l'instruction est remplacée par le contenu du fichier spécifié.
Utiliser les inclusions coté serveur (un outil potentiellement puissant) simplement pour insérer des documents statiques tels que des en-têtes ou des pieds de pages a un impact sur la vitesse d'accès et sur la charge de travail du serveur et devrait être évité sur les serveurs encombrés. Cependant si vous tenez à procéder ainsi, le mieux est de pouvoir conserver les pages résultantes en mémoire cache (par exemple, avec "XBitHack full" pour Apache; ou en réglant correctement les propriétés de réponse avec ASP). Cette FAQ ne peut se permettre de donner plus de détails mais ce lien devrait vous être utile : http://www.mnot.net/cache_docs/
La validation du code html des inclusions n'est possible qu'après le traitement par le serveur (par exemple, en utilisant un validateur en ligne qui rappatrie le document depuis le serveur).
Enfin, prenez garde que si le document à inclure contient un texte brut arbitraire, alors il pourrait être judicieux de s'assurer de la conversion des caractères spéciaux (tels que '&' ou '<') en entités (telles que '&' ou '<').
En HTML, les caractères peuvent être représentés de trois façons :
En théorie, ces représentations sont aussi valables les unes que les autres. En pratique, la commodit&eac