Chapitre 35 : Les SSI


Dernière mise à jour  20 mai 1996 Auteur Gilles Maire
Serveur  http://www.imaginet.fr/ime/ssi.htm Adresse Gilles.Maire@UNGI.com

35.1 - Généralités

Les SSI (Server Side Include) quand elles sont supportées par votre serveur sont un bon compromis entre le langage Javascript et les CGI. En effet s'ils elles sont supportées par le serveur http, elle seront compatibles avec tous les navigateurs puisque le code des SSI sera transformé en HTML. Cependant il se peut que le serveur qui abrite votre page HTML les accepte, mais que pour des raisons de sécurité votre administrateur système ne vous autorise pas l'accès à cette option.

La technologie SSI qui n'était pas normalisée jusqu'à présent est aujourd'hui adoptée par Netscape et Microsoft, qui l'ont implanté sur leur serveur HTTP.

Les SSI permettent d'exécuter de façon simple des primitives en temps réél sur le serveur, comme l'affichage de la date, le nombre de visiteurs ou de faire des tests conditionnels, pour envoyer un courrier électronique ou d'interroger une base de données pour y référencer la personne qui vient de vous lire.

Tout cela peut être fait sans aucune programmation de type CGI, mais par des portions de code incluses n'importe où dans votre page HTML.

Le format d'un appel SSI est le suivant :


<!--#<balise><variables> ->

Les balises reconnues sont break, config, echo, email, exec, if, include, fsize, flastmod, label, goto et odbc.

Le mot réservé && placé devant une variable permet de l'évaluer avant d'éxecuter la commande SSI.

35.2 - Les commandes

break

La balise break permet de terminer le document HTML à un point quelconque. Si la balise est rencontrée le document est considéré comme achevé.

Ceci est pratique pour envoyer une partie de page que sous certaines conditions de tests conditionnels.

Syntaxe :
<!--#break -->

config

La balise config est utilisée pour positionner certaines options de sortie HTML.

echo

La balise echo permet d'insérer certaines données dans une page HTML. La variable associée est var, qui est transformée en une chaîne de caractères à l'intérieur du source HTML à l'endroit de la variable. Syntaxe :
<!--#echo var="DATE_LOCAL" --> est la date du jour

On peut assigner des variables issues de formulaires par la méthode POST et des variables d'environnement.

Dans le cas où les variables sont issues d'un formulaire il suffit de donner en regard du mot var=, le nom que vous avez donné à la variable.

La liste des variables d'environnement peut varier d'un serveur à un autre mais la liste des variables les plus courantes est la suivante :

email

La balise email permet d'envoyer un courrier dès qu'une page est accédée ou qu'un formulaire est envoyé.

Il sera nécessaire de renseigner les variables fromhost, tohost, fromaddress et toaddress, les autres étant facultatives.

Regardons chacune des ces variables :

exec

La balise exec permet d'exécuter une commande quelconque par le système d'exploitation du serveur.

Les variables suivantes peuvent être utilisées:

fsize

La balise fsize permet d'insérer la taille du fichier en paramètre dans la page HTML à la position de la balise SSI. Les variables suivantes peuvent être ajoutées :

Syntaxe :
<!--#fsize virtual|File="fichier" -->

Exemple :
<!--#fsize virtual="exemple.sht" -->

flastmod

La balise flastmodpermet d'insérer la date de dernière modification d'un fichier dans le document HTML à l'endroit de la balise SSI. Les variables suivantes peuvent être ajoutées :

Syntaxe :
<!--#flastmod virtual|File="fichier" -->

Exemple :
<!--#lastmod virtual="exemple.sht" -->

goto

La balise goto permet de sauter vers une étiquette #label sans exécuter le code entre l'instruction courante et l'étiquette.

Syntaxe :
<!--#goto ="'etiquette>'"'

Exemple :


<!--#goto ="etiquette" -->
<P> n'est pas imprimé
<,!--#label ="etiquette" -->
<P> est imprimé

if

La balise if permet d'effectuer une exécution sous certaines conditions, par exemple, d'afficher une portion de texte HTML si une condition est remplie. La syntaxe générale de la balise est la suivante :


<!--#if "operande1" operateur "operande2" operation --> 

Les opérandes peuvent être des chaînes de caractères (comparaisons basées sur l'ordre alphabétique) ou des nombres entiers ou flottants (comparaison basée sur la valeur). Si l'un des opérandes n'est pas un entier la comparaison est alphabétique. L'opérateur hasstring retourne la valeur vrai si l'opérande 2 est présent dans l'opérande 1.

include

La balise include permet d'inclure le contenu d'un fichier dans la page HTML. Cette balise peut être récursive en SSI +. Les variables suivantes peuvent être ajoutées :

Syntaxe :
<!--#include virtual|File="fichier" -->

Exemple :
<!--#include virtual="exemple.sht" -->

label

La balise label permet de positionner une étiquette de saut pour un branchement goto

Sytaxe :
<!--#label ="etiquette'" -->

odbc

La balise odbc permet de soumettre des requêtes à une base de données odbc et de mettre à jour cette dernière. Quatre balises odbc sont définies :

Exemples :

<!--#odbc connect="mabase,gilles,toto" -->
<!--#odbc statement="SELECT NOM, AGE" -->
<!--#obdc format="%s a %s ans<P>" -->

Résultat :

Gilles a 34 ans
Pierre a 32 ans


Haut Haut Suivant Sommaire Recherche Fenêtre Glossaire Nouveau Bientôt Courrier Souscription Aide Copyright