SELFHTML/Quickbar
CGI/Perl
Conditions préalables/généralités
![]() |
Server Side Includes en HTML |
![]() |
![]() ![]() |
![]() |
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 !
<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> |
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").
![]() ![]() |
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:
timefmt détermine le format de sortie pour la date/heure,
judicieux par exemple avant l'utilisation de #echo var="LOCAL_TIME".
|
<!--#config errmsg="SSI
ne peut être affiché!"-->
<!--#config sizefmt="bytes"--> <!--#config timefmt="%d.%m.%Y, %H.%M"--> |
#echo | var="[nomdevariable]"
Pour [nomdevariable] les
|
<!--#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.
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:![]() |
![]() |
avant:![]() |
![]() |
CGI/Perl
Conditions préalables/généralités
Serge François, 13405@free.fr