SELFHTML/Quickbar  CGI/Perl  Conditions préalables/généralités


Server Side Includes en HTML

Cette page est un document avec du texte et des informations Généralités sur les Server Side Includes
Récapitulatif des Server Side Includes
 

Généralités sur les Server Side Includes

A l'aide de Server Side Includes (connus également sous l'abréviation SSI), vous pouvez incorporer directement dans des fichiers HTML des informations dynamiques - par exemple la date et l'heure. Vous pouvez aussi lancer des programmes CGI et incorporer leurs sorties dans le fichier HTML, par exemple un compteur avec le nombre d'accès au fichier actuel. Ou bien vous affichez le contenu actuel de différentes variables d'environnement CGI directement en HTML - sans passer par un script CGI séparé.

Les Server Side Includes ne sont exécutés que si le navigateur WWW appelle le fichier HTML par un serveur WWW installé, donc avec une adresse URL du type http://.... Une autre condition préalable est que le serveur installé soutienne les Server Side Includes. Ce n'est pas le cas de tous les serveurs, certains n'interprètent qu'une partie des mentions possibles. Si le serveur ne connaît pas de Server Side Includes, les instructions correspondantes dans le fichier HTML ne fonctionnent pas. Pour un test avec un serveur WWW installé localement, lisez pour cela la documentation du serveur. Pour la mise en place sur un serveur WWW public, demandez à votre fournisseur d'accès si son serveur WWW soutient les Server Side Includes.

Pour qu'un serveur WWW reconnaisse tout de suite qu'un fichier HTML contient des instructions Server Side Include, il est important de marquer ce genre de fichier HTML avec une extension de fichier spéciale. Les extensions usuelles sont .shtml, .shtm ou .sht. La plupart des serveurs ignorent les instructions Server Side Include, si celles-ci sont placées dans un fichier HTML normal avec la terminaison .htm ou .html !

Exemple: fichier HTML test.shtml avec Server Side Includes

<html>
<head>
<title>HTML dynamique avec Server Side Includes</title>
</head>
<body>
<h1>HTML dynamique avec Server Side Includes</h1>
Date/heure sur l'ordinateur serveur: <!--#echo var="DATE_LOCAL"--><br>
Nom de ce fichier HTML: <!--#echo var="DOCUMENT_NAME"--><br>
Logiciel serveur installé: <!--#echo var="SERVER_SOFTWARE"--><br>
Votre navigateur WWW: <!--#echo var="HTTP_USER_AGENT"-->
<h3>Autres informations:</h3>
<!--#exec cgi="/cgi-bin/baratin.pl"-->
</body>
</html>

Explication:

Dans un fichier HTML, les Server Side Includes doivent être notés dans un commentaire. Il y a différentes instructions Server Side Include, toutes commençant avec le signe dièse #. Dans l'exemple ci-dessus, on trouve les instructions #echo et #exec. Derrière l'instruction suit en règle générale une mention du style Type="valeur". En relation avec l'instruction #echo peut se trouver par exemple la mention var="nomdevariable", dans laquelle "nomdevariable" doit être un nom défini permis. Il peut s'agir de variables d'environnement CGI ou bien de noms de variables spéciaux des Server Side Include (voir liste plus bas). Pour l'instruction #exec, qui exécute un programme sur l'ordinateur serveur, vous devez mentionner le type du programme (dans l'exemple ci-dessus: cgi) et comme valeur l'adresse du programme exécutable (dans l'exemple ci-dessus: "/cgi-bin/baratin.pl").

 

Récapitulatif des Server Side Includes

La liste est triée alphabétiquement d'après les instructions.

instructions paramètre/valeur exemples
#config errmsg="[messageerreur]"
sizefmt="[valeur]"
timefmt="[valeur]"

errmsg est judicieux pour sortir un message d'erreur compréhensible en cas de Server Side Includes ne pouvant être affiché.

sizefmt détermine le format pour les mentions de taille de fichier, judicieux par exemple avant l'utilisation de #fsize.

valeurs permises:
"abbrev" (les mentions de taille de fichier se font en Koctets).
"bytes" (les mentions de taille de fichier se font en octets).

timefmt détermine le format de sortie pour la date/heure, judicieux par exemple avant l'utilisation de #echo var="LOCAL_TIME".
jokers autorisés:
%a = jour de semaine court, p. e. sat
%A = jour de semaine long, p. e. Saturday
%b = mois court, p. e. Apr
%B = mois long, p. e. April
%d = jour du mois 2chiffres, p. e. 09
%e = jour du mois, p. e. 9
%H = heure 24heures, p. e. 15
%I = heure 12heures, p. e.. 03
%j = date julienne, p. e. 278
%m = nombre du mois, p. e. 05
%M = minutes dans l'heure, p. e. 07
%p = pour%I: AM/PM, p. e. PM
%S = secondes, p. e. 01
%U = semaine calendaire, p. e. 52
%w = jour de la semaine, p. e. 5
%y = an 2chiffres, p. e. 97
%Y = an 4stellig, p. e. 1997
%Z = fuseau horaire, p. e. MEZ

<!--#config errmsg="SSI ne peut être affiché!"-->
<!--#config sizefmt="bytes"-->
<!--#config timefmt="%d.%m.%Y, %H.%M"-->
#echo var="[nomdevariable]"

 Pour [nomdevariable] les variables d'environnement CGI sont permis ainsi que les noms de variables spéciaux suivants:

  • DOCUMENT_NAME (nom du ficher HTML)
  • DOCUMENT_URI (chemin du ficher HTML)
  • LAST_MODIFIED (date du ficher HTML)
  • QUERY_STRING_UNESCAPED (chaîne GET transmise non codée)
  • DATE_LOCAL (date/heure, locales chez le serveur)
  • DATE_GMT (date/heure, d'après l'heure de Greenwich)
<!--#echo var="SERVER_NAME"-->
<!--#echo var="DATE_LOCAL"-->
#exec cmd="[chemin/fichierprogramme]"
cgi="[chemin-CGI/programme/script-CGI]"

utilisez cmd, pour démarrer un programme au choix sur l'ordinateur serveur.
utilisez cgi, pour exécuter un programme/script CGI sur l'ordinateur serveur.

Il doit s'agir de programmes qui écrivent les données sur la sortie standard. Ces sorties de données sont alors écrites directement dans le fichier HTML.

<!--#exec cmd="/prog/search.exe *.htm"-->
<!--#exec cgi="/cgi-bin/counter.pl"-->
#fsize file="[chemin/fichier]"

donne la taille du fichier mentionné.

<!--#fsize file="/download/selfhtml.zip"-->
#flastmod file="[chemin/fichier]"

donne la date du fichier mentionné.

<!--#flastmod file="/index.htm"-->
#include file = "[chemin/fichier]"
virtual = "[chemin/fichier]"

donne le contenu du fichier mentionné.

utilisez file pour des mentions de chemin absolues sur l'ordinateur serveur et virtual pour des mentions de chemin relatives par rapport à la racine pour les documents sur l'ordinateur serveur.

<!--#include virtual="/news/news.htm"-->

 
après: Formulaires HTML et CGI
avant: Variables d'environnement CGI
 

SELFHTML/Quickbar CGI/Perl Conditions préalables/généralités

© 1998 Stefan Münz / © 2001 Traduction  Serge François, 13405@free.fr