ssi.html.fr revision 4e6fe58e85c14d942c1644747e145b1d901ba342
0c959b39175b126fdb70ae00de37ca6d9c8ca3a1Kay Sievers<?xml version="1.0" encoding="ISO-8859-1"?>
0c959b39175b126fdb70ae00de37ca6d9c8ca3a1Kay Sievers<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
0c959b39175b126fdb70ae00de37ca6d9c8ca3a1Kay Sievers<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head><!--
0c959b39175b126fdb70ae00de37ca6d9c8ca3a1Kay Sievers XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
0c959b39175b126fdb70ae00de37ca6d9c8ca3a1Kay Sievers This file is generated from xml source: DO NOT EDIT
0c959b39175b126fdb70ae00de37ca6d9c8ca3a1Kay Sievers XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
0c959b39175b126fdb70ae00de37ca6d9c8ca3a1Kay Sievers -->
0c959b39175b126fdb70ae00de37ca6d9c8ca3a1Kay Sievers<title>Tutoriel Apache : Introduction aux "Inclusions C�t� Serveur"
0c959b39175b126fdb70ae00de37ca6d9c8ca3a1Kay Sievers(Server Side Includes - SSI) - Serveur Apache HTTP</title>
0c959b39175b126fdb70ae00de37ca6d9c8ca3a1Kay Sievers<link href="/style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
0c959b39175b126fdb70ae00de37ca6d9c8ca3a1Kay Sievers<link href="/style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
0c959b39175b126fdb70ae00de37ca6d9c8ca3a1Kay Sievers<link href="/style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="/style/css/prettify.css" />
0c959b39175b126fdb70ae00de37ca6d9c8ca3a1Kay Sievers<script src="/style/scripts/prettify.js" type="text/javascript">
0c959b39175b126fdb70ae00de37ca6d9c8ca3a1Kay Sievers</script>
0c959b39175b126fdb70ae00de37ca6d9c8ca3a1Kay Sievers
0c959b39175b126fdb70ae00de37ca6d9c8ca3a1Kay Sievers<link href="/images/favicon.ico" rel="shortcut icon" /></head>
0c959b39175b126fdb70ae00de37ca6d9c8ca3a1Kay Sievers<body id="manual-page"><div id="page-header">
0c959b39175b126fdb70ae00de37ca6d9c8ca3a1Kay Sievers<p class="menu"><a href="/mod/">Modules</a> | <a href="/mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="/glossary.html">Glossaire</a> | <a href="/sitemap.html">Plan du site</a></p>
0c959b39175b126fdb70ae00de37ca6d9c8ca3a1Kay Sievers<p class="apache">Serveur Apache HTTP Version 2.5</p>
0c959b39175b126fdb70ae00de37ca6d9c8ca3a1Kay Sievers<img alt="" src="/images/feather.gif" /></div>
0c959b39175b126fdb70ae00de37ca6d9c8ca3a1Kay Sievers<div class="up"><a href="./"><img title="&lt;-" alt="&lt;-" src="/images/left.gif" /></a></div>
0c959b39175b126fdb70ae00de37ca6d9c8ca3a1Kay Sievers<div id="path">
0c959b39175b126fdb70ae00de37ca6d9c8ca3a1Kay Sievers<a href="http://www.apache.org/">Apache</a> &gt; <a href="http://httpd.apache.org/">Serveur HTTP</a> &gt; <a href="http://httpd.apache.org/docs/">Documentation</a> &gt; <a href="../">Version 2.5</a> &gt; <a href="./">Recettes et tutoriels</a></div><div id="page-content"><div id="preamble"><h1>Tutoriel Apache : Introduction aux "Inclusions C�t� Serveur"
0c959b39175b126fdb70ae00de37ca6d9c8ca3a1Kay Sievers(Server Side Includes - SSI)</h1>
0c959b39175b126fdb70ae00de37ca6d9c8ca3a1Kay Sievers<div class="toplang">
0c959b39175b126fdb70ae00de37ca6d9c8ca3a1Kay Sievers<p><span>Langues Disponibles: </span><a href="/en/howto/ssi.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
0c959b39175b126fdb70ae00de37ca6d9c8ca3a1Kay Sievers<a href="/fr/howto/ssi.html" title="Fran�ais">&nbsp;fr&nbsp;</a> |
0c959b39175b126fdb70ae00de37ca6d9c8ca3a1Kay Sievers<a href="/ja/howto/ssi.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
0c959b39175b126fdb70ae00de37ca6d9c8ca3a1Kay Sievers<a href="/ko/howto/ssi.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a></p>
0c959b39175b126fdb70ae00de37ca6d9c8ca3a1Kay Sievers</div>
0c959b39175b126fdb70ae00de37ca6d9c8ca3a1Kay Sievers<div class="outofdate">Cette traduction peut �tre p�rim�e. V�rifiez la version
0c959b39175b126fdb70ae00de37ca6d9c8ca3a1Kay Sievers anglaise pour les changements r�cents.</div>
0c959b39175b126fdb70ae00de37ca6d9c8ca3a1Kay Sievers
0c959b39175b126fdb70ae00de37ca6d9c8ca3a1Kay Sievers<p>Les SSI permettent d'ajouter du contenu dynamique � des documents
0c959b39175b126fdb70ae00de37ca6d9c8ca3a1Kay SieversHTML pr�existants.</p>
0c959b39175b126fdb70ae00de37ca6d9c8ca3a1Kay Sievers</div>
0c959b39175b126fdb70ae00de37ca6d9c8ca3a1Kay Sievers<div id="quickview"><ul id="toc"><li><img alt="" src="/images/down.gif" /> <a href="#related">Introduction</a></li>
0c959b39175b126fdb70ae00de37ca6d9c8ca3a1Kay Sievers<li><img alt="" src="/images/down.gif" /> <a href="#what">Qu'est-ce que SSI ?</a></li>
0c959b39175b126fdb70ae00de37ca6d9c8ca3a1Kay Sievers<li><img alt="" src="/images/down.gif" /> <a href="#configuring">Configurer votre serveur pour permettre les SSI</a></li>
0c959b39175b126fdb70ae00de37ca6d9c8ca3a1Kay Sievers<li><img alt="" src="/images/down.gif" /> <a href="#basic">Directives SSI de base</a></li>
0c959b39175b126fdb70ae00de37ca6d9c8ca3a1Kay Sievers<li><img alt="" src="/images/down.gif" /> <a href="#additionalexamples">Exemples additionnels</a></li>
0c959b39175b126fdb70ae00de37ca6d9c8ca3a1Kay Sievers<li><img alt="" src="/images/down.gif" /> <a href="#config">Que puis-je configurer d'autre ?</a></li>
0c959b39175b126fdb70ae00de37ca6d9c8ca3a1Kay Sievers<li><img alt="" src="/images/down.gif" /> <a href="#exec">Ex�cution de commandes</a></li>
0c959b39175b126fdb70ae00de37ca6d9c8ca3a1Kay Sievers<li><img alt="" src="/images/down.gif" /> <a href="#advanced">Techniques SSI avanc�es</a></li>
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers<li><img alt="" src="/images/down.gif" /> <a href="#conclusion">Conclusion</a></li>
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers</ul><ul class="seealso"><li><a href="#comments_section">Commentaires</a></li></ul></div>
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers<div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div>
0c959b39175b126fdb70ae00de37ca6d9c8ca3a1Kay Sievers<div class="section">
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers<h2><a name="related" id="related">Introduction</a></h2>
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers <table class="related"><tr><th>Modules Apparent�s</th><th>Directives Apparent�es</th></tr><tr><td><ul><li><code class="module"><a href="/mod/mod_include.html">mod_include</a></code></li><li><code class="module"><a href="/mod/mod_cgi.html">mod_cgi</a></code></li><li><code class="module"><a href="/mod/mod_expires.html">mod_expires</a></code></li></ul></td><td><ul><li><code class="directive"><a href="/mod/core.html#options">Options</a></code></li><li><code class="directive"><a href="/mod/mod_include.html#xbithack">XBitHack</a></code></li><li><code class="directive"><a href="/mod/mod_mime.html#addtype">AddType</a></code></li><li><code class="directive"><a href="/mod/core.html#setoutputfilter">SetOutputFilter</a></code></li><li><code class="directive"><a href="/mod/mod_setenvif.html#browsermatchnocase">BrowserMatchNoCase</a></code></li></ul></td></tr></table>
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers
0c959b39175b126fdb70ae00de37ca6d9c8ca3a1Kay Sievers <p>Cet article traite des Inclusions C�t� Serveur (Server Side
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers Includes), plus commun�ment appel�s SSI. Vous trouverez ici la
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers mani�re de configurer votre serveur pour permettre les SSI, ainsi
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers qu'une introduction � quelques techniques SSI de base permettant
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers d'ajouter du contenu dynamique � vos pages HTML pr�existantes.</p>
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers <p>La derni�re partie de cet article sera consacr�e aux
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers configurations SSI plus avanc�es, telles que les expressions
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers conditionnelles dans les directives SSI.</p>
0c959b39175b126fdb70ae00de37ca6d9c8ca3a1Kay Sievers
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers</div><div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div>
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers<div class="section">
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers<h2><a name="what" id="what">Qu'est-ce que SSI ?</a></h2>
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers <p>SSI (Server Side Includes) est constitu� de directives plac�es dans
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers des pages HTML, et �valu�es par le serveur au moment o� les pages
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers sont servies. Elles vous permettent d'ajouter du contenu g�n�r�
0c959b39175b126fdb70ae00de37ca6d9c8ca3a1Kay Sievers dynamiquement � une page HTML pr�existante, sans avoir � servir la
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers page enti�re via un programme CGI, ou toute autre technologie de
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers contenu dynamique.</p>
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers <p>Le choix entre l'utilisation des SSI et la g�n�ration enti�re de
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers la page par un programme quelconque, est en g�n�ral dict� par la
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers proportion de contenu statique et de contenu devant �tre g�n�r�
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers chaque fois que la page est servie. SSI est id�al pour ajouter de
0c959b39175b126fdb70ae00de37ca6d9c8ca3a1Kay Sievers petites quantit�s d'information, comme l'heure courante. Mais si la
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers plus grande partie de votre page est g�n�r�e au moment o� elle est
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers servie, vous devez vous tourner vers une autre solution.</p>
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers</div><div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div>
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers<div class="section">
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers<h2><a name="configuring" id="configuring">Configurer votre serveur pour permettre les SSI</a></h2>
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers
0c959b39175b126fdb70ae00de37ca6d9c8ca3a1Kay Sievers <p>Pour permettre l'utilisation des SSI sur votre serveur, vous
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers devez ajouter la directive suivante dans votre fichier
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers <code>httpd.conf</code>, ou dans un fichier <code>.htaccess</code>
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers :</p>
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers<pre class="prettyprint lang-config">
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers Options +Includes
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers</pre>
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers
0c959b39175b126fdb70ae00de37ca6d9c8ca3a1Kay Sievers
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers <p>Cette directive indique � Apache que vous d�sirez permettre la
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers recherche de directives SSI lors de l'interpr�tation des fichiers.
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers Notez cependant que la plupart des configurations contiennent de
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers nombreuses directives <code class="directive"><a href="/mod/core.html#options">Options</a></code>
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers qui peuvent s'�craser les unes les autres. Vous devrez probablement
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers appliquer ces directives <code>Options</code> au r�pertoire
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers sp�cifique pour lequel vous voulez activer les SSI, afin d'�tre s�r
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers qu'elles y seront bien activ�es.</p>
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers <p>Tout fichier ne fera cependant pas l'objet de recherche de
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers directives SSI. Vous devez indiquer � Apache quels fichiers seront
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers concern�s. Vous pouvez y parvenir en indiquant une extension, comme
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers <code>.shtml</code>, � l'aide des directives suivantes :</p>
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers<pre class="prettyprint lang-config">
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers AddType text/html .shtml<br />
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers AddOutputFilter INCLUDES .shtml
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers</pre>
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers <p>Un des d�savantages de cette approche r�side dans le fait que si
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers vous voulez ajouter des directives SSI � une page pr�existante, vous
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers devrez changer le nom de cette page, et donc tout lien qui la
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers contient, de fa�on � ce qu'elle poss�de l'extension
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers <code>.shtml</code>, condition n�cessaire pour que les directives
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers SSI qu'elle contient soient trait�es.</p>
0c959b39175b126fdb70ae00de37ca6d9c8ca3a1Kay Sievers
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers <p>Une autre m�thode consiste � utiliser la directive <code class="directive"><a href="/mod/mod_include.html#xbithack">XBitHack</a></code> :</p>
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers<pre class="prettyprint lang-config">
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers XBitHack on
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers</pre>
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers <p>La directive <code class="directive"><a href="/mod/mod_include.html#xbithack">XBitHack</a></code>
0c959b39175b126fdb70ae00de37ca6d9c8ca3a1Kay Sievers indique � Apache qu'il doit rechercher des directivves SSI dans les
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers fichiers si leur bit d'ex�cution est positionn�. Il n'est ainsi plus
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers n�cessaire de changer le nom du fichier pour ajouter des directives
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers SSI � une page pr�existante ; vous devez simplement attribuer les
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers droits d'ex�cution au fichier � l'aide de <code>chmod</code>.</p>
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers<div class="example"><p><code>
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers chmod +x pagename.html
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers</code></p></div>
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers <p>Un bref commentaire sur ce qu'il ne faut pas faire. Certaines
0c959b39175b126fdb70ae00de37ca6d9c8ca3a1Kay Sievers personnes peuvent vous conseiller de tout simplement indiquer �
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers Apache de rechercher des directives SSI dans tous les fichiers
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers <code>.html</code>, ce qui vous �vite d'avoir � g�rer les noms de
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers fichiers avec extension <code>.shtml</code>. Ils n'ont probablement
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers pas entendu parler de la directive <code class="directive"><a href="/mod/mod_include.html#xbithack">XBitHack</a></code>. En effet, vous devez
0c959b39175b126fdb70ae00de37ca6d9c8ca3a1Kay Sievers garder � l'esprit qu'en faisant ceci, Apache va devoir rechercher
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers des directives SSI dans chaque fichier qu'il sert, m�me s'il n'en
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers contient aucune. Ce n'est donc pas une bonne id�e car les
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers performances peuvent en �tre sensiblement affect�es.</p>
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers <p>Bien entendu, sous Windows, il n'y a pas de bit d'ex�cution �
0c959b39175b126fdb70ae00de37ca6d9c8ca3a1Kay Sievers positionner, ce qui limite un peu vos choix.</p>
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers <p>Dans sa configuration par d�faut, Apache n'envoie pas la date de
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers derni�re modification ou les en-t�tes HTTP relatifs � la taille des
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers contenus dans les pages SSI, car ses valeurs sont difficiles �
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers calculer pour les contenus dynamiques. Ceci peut induire une
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers impression de diminution des performances c�t� client, en emp�chant
0c959b39175b126fdb70ae00de37ca6d9c8ca3a1Kay Sievers la mise en cache de votre document. Il existe deux m�thodes pour
0c959b39175b126fdb70ae00de37ca6d9c8ca3a1Kay Sievers r�soudre ce probl�me :</p>
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers
0c959b39175b126fdb70ae00de37ca6d9c8ca3a1Kay Sievers <ol>
0c959b39175b126fdb70ae00de37ca6d9c8ca3a1Kay Sievers <li>Utilisez la configuration <code>XBitHack Full</code>. Elle
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers indique � Apache de d�terminer la date de derni�re modification en
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers ne regardant que la date du fichier � l'origine de la requ�te,
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers tout en ignorant la date de modification de tout fichier inclus.</li>
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers
0c959b39175b126fdb70ae00de37ca6d9c8ca3a1Kay Sievers <li>Utilisez les directives fournies par le module
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers <code class="module"><a href="/mod/mod_expires.html">mod_expires</a></code> pour d�finir de mani�re explicite la
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers date d'expiration de vos fichiers, laissant par la-m�me
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers aux navigateurs et aux mandataires le soin de d�terminer s'il est
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers opportun ou non de les mettre en cache.</li>
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers </ol>
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers</div><div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div>
0c959b39175b126fdb70ae00de37ca6d9c8ca3a1Kay Sievers<div class="section">
0c959b39175b126fdb70ae00de37ca6d9c8ca3a1Kay Sievers<h2><a name="basic" id="basic">Directives SSI de base</a></h2>
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers
0c959b39175b126fdb70ae00de37ca6d9c8ca3a1Kay Sievers <p>Les directives SSI adoptent la syntaxe suivante :</p>
0c959b39175b126fdb70ae00de37ca6d9c8ca3a1Kay Sievers<div class="example"><p><code>
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers &lt;!--#�l�ment attribut=valeur attribut=valeur ... --&gt;
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers</code></p></div>
0c959b39175b126fdb70ae00de37ca6d9c8ca3a1Kay Sievers
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers <p>Le format d'une directive SSI �tant similaire � celui d'un
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers commentaire HTML, si vous n'avez pas activ� correctement SSI, le
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers navigateur l'ignorera, mais elle sera encore visible dans le source
0c959b39175b126fdb70ae00de37ca6d9c8ca3a1Kay Sievers HTML. Si SSI est correctement configur�, la directive sera remplac�e
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers par ses r�sultats.</p>
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers <p>"�l�ment" peut prendre de nombreuses formes, et nous d�crirons
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers plus pr�cis�ment la plupart d'entre eux dans la prochaine version de
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers ce document. Pour le moment, voici quelques exemples de ce que vous
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers pouvez faire avec SSI.</p>
0c959b39175b126fdb70ae00de37ca6d9c8ca3a1Kay Sievers
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers<h3><a name="todaysdate" id="todaysdate">La date courante</a></h3>
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers<div class="example"><p><code>
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers &lt;!--#echo var="DATE_LOCAL" --&gt;
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers</code></p></div>
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers <p>L'�l�ment <code>echo</code> permet d'afficher la valeur d'une
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers variable. Il existe un grand nombre de variables standards, y
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers compris l'ensemble des variables d'environnement disponibles pour
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers les programmes CGI. De plus, vous pouvez d�finir vos propres
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers variables � l'aide de l'�l�ment <code>set</code>.</p>
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers <p>Si vous n'aimez pas le format sous lequel la date s'affiche, vous
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers pouvez utiliser l'�l�ment <code>config</code> avec un attribut
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers <code>timefmt</code>, pour le modifier.</p>
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers<div class="example"><p><code>
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers &lt;!--#config timefmt="%A %B %d, %Y" --&gt;<br />
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers Today is &lt;!--#echo var="DATE_LOCAL" --&gt;
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers</code></p></div>
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers<h3><a name="lastmodified" id="lastmodified">Date de modification du fichier</a></h3>
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers<div class="example"><p><code>
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers Derni�re modification du document &lt;!--#flastmod file="index.html" --&gt;
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers</code></p></div>
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers <p>Le format peut l� aussi �tre modifi� � l'aide de l'attribut
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers <code>timefmt</code>.</p>
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers<h3><a name="cgi" id="cgi">Inclusion des r�sultats d'un programme CGI</a></h3>
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers <p>C'est le cas le plus courant d'utilisation des SSI - afficher les
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers r�sultats d'un programme CGI, comme l'universellement ador�
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers "compteur d'acc�s".</p>
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers<div class="example"><p><code>
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers &lt;!--#include virtual="/cgi-bin/counter.pl" --&gt;
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers</code></p></div>
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers</div><div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div>
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers<div class="section">
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers<h2><a name="additionalexamples" id="additionalexamples">Exemples additionnels</a></h2>
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers <p>Vous trouverez dans ce qui suit quelques exemples sp�cifiques de
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers ce que vous pouvez faire de vos documents HTML avec SSI.</p>
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers<h3><a name="docmodified" id="docmodified">Quand ce document a-t-il �t� modifi� ?</a></h3>
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers <p>Nous avons mentionn� plus haut que vous pouviez utiliser SSI pour
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers informer l'utilisateur de la date de derni�re modification du
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers document. Cependant, la m�thode pour y parvenir n'a pas �t� vraiment
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers abord�e. Plac� dans votre document HTML, le code suivant va ins�rer
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers un rep�re de temps dans votre page. Bien entendu, SSI devra avoir
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers �t� correctement activ�, comme d�crit plus haut.</p>
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers<div class="example"><p><code>
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers &lt;!--#config timefmt="%A %B %d, %Y" --&gt;<br />
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers Derni�re modification du fichier &lt;!--#flastmod file="ssi.shtml" --&gt;
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers</code></p></div>
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers <p>Bien entendu, vous devez remplacer <code>ssi.shtml</code> par le
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers nom du fichier auquel vous faites r�f�rence. Ceci ne conviendra pas
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers si vous recherchez un morceau de code g�n�rique que vous pourrez
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers ins�rer dans tout fichier ; dans ce cas, il est pr�f�rable
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers d'utiliser la variable <code>LAST_MODIFIED</code> :</p>
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers<div class="example"><p><code>
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers &lt;!--#config timefmt="%D" --&gt;<br />
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers This file last modified &lt;!--#echo var="LAST_MODIFIED" --&gt;
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers</code></p></div>
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers <p>Pour plus de d�tails sur le format <code>timefmt</code>, tapez
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers <code>strftime</code> dans votre moteur de recherche pr�fer�. La
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers syntaxe est identique.</p>
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers<h3><a name="standard-footer" id="standard-footer">Inclusion d'un pied de page standard</a></h3>
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers <p>Si le site que vous g�rez comporte plus que quelques pages, vous
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers allez vite vous apercevoir qu'effectuer des modifications sur toutes
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers ces pages peut devenir tr�s contraignant, en particulier si vous
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers voulez qu'elles conservent un aspect homog�ne.</p>
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers <p>Inclure un fichier pour un en-t�te et/ou un pied de page peut
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers simplifier cette corv�e de mises � jour. Il vous suffit de
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers confectionner un fichier de pied de page, et de l'inclure dans
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers chaque page � l'aide de l'�l�ment SSI <code>include</code>. Pour
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers d�finir le fichier � inclure, l'�l�ment <code>include</code> peut
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers utiliser soit l'attribut <code>file</code>, soit l'attribut
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers <code>virtual</code>. L'attribut <code>file</code> est un chemin de
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers fichier <em>relatif au r�pertoire courant</em>. C'est � dire qu'il
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers ne peut ni avoir pour valeur un chemin absolu (commen�ant par /), ni
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers comporter "../" dans son chemin. L'attribut <code>virtual</code> est
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers probablement plus commode, et peut sp�cifier une URL relative au
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers document servi. Elle peut commencer par un /, mais le fichier inclus
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers et le fichier servi doivent r�sider sur le m�me serveur.</p>
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers<div class="example"><p><code>
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers &lt;!--#include virtual="/footer.html" --&gt;
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers</code></p></div>
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers <p>Je combinerai souvent ces deux derniers points, en ajoutant une
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers directive <code>LAST_MODIFIED</code> dans un fichier de pied de page
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers destin� � �tre inclus. Le fichier inclus peut contenir des
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers directives SSI, et les inclusions peuvent �tre imbriqu�es - �
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers savoir, le fichier inclus peut inclure un autre fichier, etc...</p>
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers</div><div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div>
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers<div class="section">
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers<h2><a name="config" id="config">Que puis-je configurer d'autre ?</a></h2>
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers <p>En plus du format de date, vous pouvez utiliser l'�l�ment
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers <code>config</code> pour configurer deux autres choses.</p>
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers <p>En g�n�ral, lorsque quelque chose se passe mal avec votre
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers directive SSI, vous recevez le message :</p>
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers<div class="example"><p><code>
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers [an error occurred while processing this directive]
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers</code></p></div>
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers <p>Pour modifier ce message, vous pouvez utiliser l'attribut
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers <code>errmsg</code> avec l'�l�ment <code>config</code> :</p>
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers<div class="example"><p><code>
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers &lt;!--#config errmsg="[Il semblerait que vous ne sachiez pas
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers utiliser les SSI]" --&gt;
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers</code></p></div>
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers
0787758d26337ec897d9553fe962678fbf0a0962Zbigniew Jędrzejewski-Szmek <p>Il est cependant probable que les utilisateurs finaux ne voient
0787758d26337ec897d9553fe962678fbf0a0962Zbigniew Jędrzejewski-Szmek jamais ce message, car vous aurez r�solu tous les probl�mes issus de
0787758d26337ec897d9553fe962678fbf0a0962Zbigniew Jędrzejewski-Szmek vos directives SSI avant que votre site ne soit mis en production.
0787758d26337ec897d9553fe962678fbf0a0962Zbigniew Jędrzejewski-Szmek (N'est-ce pas ?)</p>
0787758d26337ec897d9553fe962678fbf0a0962Zbigniew Jędrzejewski-Szmek
0787758d26337ec897d9553fe962678fbf0a0962Zbigniew Jędrzejewski-Szmek <p>Vous pouvez aussi modifier le format sous lequel les tailles de
0787758d26337ec897d9553fe962678fbf0a0962Zbigniew Jędrzejewski-Szmek fichiers sont affich�es � l'aide de l'attribut <code>sizefmt</code>.
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers Vous pouvez sp�cifier <code>bytes</code> pour un affichage en
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers octets, ou <code>abbrev</code> pour un affichage plus concis en Ko
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers ou Mo, selon le cas.</p>
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers </div><div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div>
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers<div class="section">
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers<h2><a name="exec" id="exec">Ex�cution de commandes</a></h2>
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers <p>J'ai pour projet, dans les prochains mois, d'�crire un article �
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers propos de l'utilisation des SSI avec des petits programmes CGI. Pour
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers l'instant, voici ce que vous pouvez faire avec l'�l�ment
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers <code>exec</code>. Vous pouvez vraiment faire ex�cuter une commande
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers par SSI en utilisant le shell (<code>/bin/sh</code>, pour �tre plus
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers pr�cis - ou le shell DOS, si vous �tes sous Win32). Par exemple, ce
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers qui suit vous permet d'afficher le contenu d'un r�pertoire.</p>
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers<div class="example"><p><code>
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers &lt;pre&gt;<br />
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers &lt;!--#exec cmd="ls" --&gt;<br />
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers &lt;/pre&gt;
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers</code></p></div>
0c959b39175b126fdb70ae00de37ca6d9c8ca3a1Kay Sievers
0c959b39175b126fdb70ae00de37ca6d9c8ca3a1Kay Sievers <p>ou, sous Windows</p>
0c959b39175b126fdb70ae00de37ca6d9c8ca3a1Kay Sievers<div class="example"><p><code>
0c959b39175b126fdb70ae00de37ca6d9c8ca3a1Kay Sievers &lt;pre&gt;<br />
0c959b39175b126fdb70ae00de37ca6d9c8ca3a1Kay Sievers &lt;!--#exec cmd="dir" --&gt;<br />
0c959b39175b126fdb70ae00de37ca6d9c8ca3a1Kay Sievers &lt;/pre&gt;
0c959b39175b126fdb70ae00de37ca6d9c8ca3a1Kay Sievers</code></p></div>
0c959b39175b126fdb70ae00de37ca6d9c8ca3a1Kay Sievers
0c959b39175b126fdb70ae00de37ca6d9c8ca3a1Kay Sievers <p>Vous noterez probablement l'�trange formatage provoqu� par cette
0c959b39175b126fdb70ae00de37ca6d9c8ca3a1Kay Sievers directive sous Windows, car la sortie de <code>dir</code> contient
0c959b39175b126fdb70ae00de37ca6d9c8ca3a1Kay Sievers la cha�ne de caract�res "&lt;<code>dir</code>&gt;", ce qui trompe le
0c959b39175b126fdb70ae00de37ca6d9c8ca3a1Kay Sievers navigateur.</p>
0c959b39175b126fdb70ae00de37ca6d9c8ca3a1Kay Sievers
0c959b39175b126fdb70ae00de37ca6d9c8ca3a1Kay Sievers <p>Notez que cette fonctionnalit� est tr�s dangereuse, car elle va
0c959b39175b126fdb70ae00de37ca6d9c8ca3a1Kay Sievers permettre d'ex�cuter tout code associ� � l'�l�ment
0c959b39175b126fdb70ae00de37ca6d9c8ca3a1Kay Sievers <code>exec</code>. Si vous �tes dans la situation o� les
0c959b39175b126fdb70ae00de37ca6d9c8ca3a1Kay Sievers utilisateurs peuvent �diter le contenu de vos pages web, dans le cas
0c959b39175b126fdb70ae00de37ca6d9c8ca3a1Kay Sievers d'un "livre d'or" par exemple, assurez-vous de d�sactiver cette
0c959b39175b126fdb70ae00de37ca6d9c8ca3a1Kay Sievers fonctionnalit�. Vous pouvez, tout en permettant les SSI, d�sactiver
0c959b39175b126fdb70ae00de37ca6d9c8ca3a1Kay Sievers la fonctionnalit� <code>exec</code> � l'aide de l'argument
0c959b39175b126fdb70ae00de37ca6d9c8ca3a1Kay Sievers <code>IncludesNOEXEC</code> de la directive
0c959b39175b126fdb70ae00de37ca6d9c8ca3a1Kay Sievers <code>Options</code>.</p>
0c959b39175b126fdb70ae00de37ca6d9c8ca3a1Kay Sievers </div><div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div>
0c959b39175b126fdb70ae00de37ca6d9c8ca3a1Kay Sievers<div class="section">
0c959b39175b126fdb70ae00de37ca6d9c8ca3a1Kay Sievers<h2><a name="advanced" id="advanced">Techniques SSI avanc�es</a></h2>
0c959b39175b126fdb70ae00de37ca6d9c8ca3a1Kay Sievers
0c959b39175b126fdb70ae00de37ca6d9c8ca3a1Kay Sievers
0c959b39175b126fdb70ae00de37ca6d9c8ca3a1Kay Sievers <p>Outre l'affichage de contenu, les SSI d'Apache vous permettent de
0c959b39175b126fdb70ae00de37ca6d9c8ca3a1Kay Sievers d�finir des variables, et de les utiliser dans des comparaisons et
0c959b39175b126fdb70ae00de37ca6d9c8ca3a1Kay Sievers des conditions.</p>
0c959b39175b126fdb70ae00de37ca6d9c8ca3a1Kay Sievers
0c959b39175b126fdb70ae00de37ca6d9c8ca3a1Kay Sievers<h3><a name="variables" id="variables">D�finition de variables</a></h3>
0c959b39175b126fdb70ae00de37ca6d9c8ca3a1Kay Sievers
0c959b39175b126fdb70ae00de37ca6d9c8ca3a1Kay Sievers <p>Avec l'�l�ment <code>set</code>, vous pouvez d�finir des
0c959b39175b126fdb70ae00de37ca6d9c8ca3a1Kay Sievers variables pour un usage ult�rieur. Comme nous en aurons besoin plus
0c959b39175b126fdb70ae00de37ca6d9c8ca3a1Kay Sievers loin, nous allons en parler tout de suite. La syntaxe se pr�sente
0c959b39175b126fdb70ae00de37ca6d9c8ca3a1Kay Sievers comme suit :</p>
0c959b39175b126fdb70ae00de37ca6d9c8ca3a1Kay Sievers<div class="example"><p><code>
0c959b39175b126fdb70ae00de37ca6d9c8ca3a1Kay Sievers &lt;!--#set var="name" value="Rich" --&gt;
0c959b39175b126fdb70ae00de37ca6d9c8ca3a1Kay Sievers</code></p></div>
0c959b39175b126fdb70ae00de37ca6d9c8ca3a1Kay Sievers
0c959b39175b126fdb70ae00de37ca6d9c8ca3a1Kay Sievers <p>Pour affecter une valeur � vos variables, en plus de la
0c959b39175b126fdb70ae00de37ca6d9c8ca3a1Kay Sievers d�finition litt�rale de l'exemple ci-dessus, vous pouvez utiliser
0c959b39175b126fdb70ae00de37ca6d9c8ca3a1Kay Sievers une autre variable, y compris les <a href="/env.html">variables d'environnement</a>, ou les variables
0c959b39175b126fdb70ae00de37ca6d9c8ca3a1Kay Sievers d�crites plus haut (comme <code>LAST_MODIFIED</code> par exemple).
0c959b39175b126fdb70ae00de37ca6d9c8ca3a1Kay Sievers Pour indiquer qu'il s'agit d'une variable et non d'une cha�ne, vous
0c959b39175b126fdb70ae00de37ca6d9c8ca3a1Kay Sievers devez utiliser le symbole dollar ($) devant le nom de la
0c959b39175b126fdb70ae00de37ca6d9c8ca3a1Kay Sievers variable.</p>
0c959b39175b126fdb70ae00de37ca6d9c8ca3a1Kay Sievers
0c959b39175b126fdb70ae00de37ca6d9c8ca3a1Kay Sievers <div class="example"><p><code> &lt;!--#set var="modified" value="$LAST_MODIFIED" --&gt;
0c959b39175b126fdb70ae00de37ca6d9c8ca3a1Kay Sievers </code></p></div>
0c959b39175b126fdb70ae00de37ca6d9c8ca3a1Kay Sievers
0c959b39175b126fdb70ae00de37ca6d9c8ca3a1Kay Sievers <p>Pour ins�rer un caract�re $ dans la valeur de votre variable,
4a792f4676e5f8fa86aff8aac09c4b6391dee313Christoph Junghans vous devez l'�chapper � l'aide d'un backslash.</p>
4a792f4676e5f8fa86aff8aac09c4b6391dee313Christoph Junghans<div class="example"><p><code>
4a792f4676e5f8fa86aff8aac09c4b6391dee313Christoph Junghans &lt;!--#set var="cost" value="\$100" --&gt;
4a792f4676e5f8fa86aff8aac09c4b6391dee313Christoph Junghans</code></p></div>
0c959b39175b126fdb70ae00de37ca6d9c8ca3a1Kay Sievers
0c959b39175b126fdb70ae00de37ca6d9c8ca3a1Kay Sievers <p>Enfin, si vous voulez ins�rer une variable dans une cha�ne, et
0c959b39175b126fdb70ae00de37ca6d9c8ca3a1Kay Sievers s'il y a une chance pour que le nom de la variable se confonde avec
0c959b39175b126fdb70ae00de37ca6d9c8ca3a1Kay Sievers le reste de la cha�ne, vous pouvez l'entourer d'accolades pour
0c959b39175b126fdb70ae00de37ca6d9c8ca3a1Kay Sievers eviter toute confusion (Il est difficile de trouver un bon exemple
0c959b39175b126fdb70ae00de37ca6d9c8ca3a1Kay Sievers pour illustrer ceci, mais j'esp�re que vous comprendrez).</p>
0c959b39175b126fdb70ae00de37ca6d9c8ca3a1Kay Sievers<div class="example"><p><code>
0c959b39175b126fdb70ae00de37ca6d9c8ca3a1Kay Sievers &lt;!--#set var="date" value="${DATE_LOCAL}_${DATE_GMT}" --&gt;
0c959b39175b126fdb70ae00de37ca6d9c8ca3a1Kay Sievers</code></p></div>
0c959b39175b126fdb70ae00de37ca6d9c8ca3a1Kay Sievers
0c959b39175b126fdb70ae00de37ca6d9c8ca3a1Kay Sievers
0c959b39175b126fdb70ae00de37ca6d9c8ca3a1Kay Sievers<h3><a name="conditional" id="conditional">Expressions conditionnelles</a></h3>
0c959b39175b126fdb70ae00de37ca6d9c8ca3a1Kay Sievers
0c959b39175b126fdb70ae00de37ca6d9c8ca3a1Kay Sievers
0c959b39175b126fdb70ae00de37ca6d9c8ca3a1Kay Sievers <p>Maintenent que nous avons des variables, et que nous pouvons
0c959b39175b126fdb70ae00de37ca6d9c8ca3a1Kay Sievers d�finir et comparer leurs valeurs, nous sommes � m�me de les
0c959b39175b126fdb70ae00de37ca6d9c8ca3a1Kay Sievers utiliser dans des expressions conditionnelles. Ceci conf�re � SSI le
0c959b39175b126fdb70ae00de37ca6d9c8ca3a1Kay Sievers statut de petit langage de programmation.
0c959b39175b126fdb70ae00de37ca6d9c8ca3a1Kay Sievers <code class="module"><a href="/mod/mod_include.html">mod_include</a></code> fournit une structure <code>if</code>,
0c959b39175b126fdb70ae00de37ca6d9c8ca3a1Kay Sievers <code>elif</code>, <code>else</code>, <code>endif</code> pour la
0c959b39175b126fdb70ae00de37ca6d9c8ca3a1Kay Sievers construction d'expressions conditionnelles, ce qui vous permet de
0c959b39175b126fdb70ae00de37ca6d9c8ca3a1Kay Sievers g�n�rer plusieurs pages logiques � partir d'une seule vraie
0c959b39175b126fdb70ae00de37ca6d9c8ca3a1Kay Sievers page.</p>
0c959b39175b126fdb70ae00de37ca6d9c8ca3a1Kay Sievers
0c959b39175b126fdb70ae00de37ca6d9c8ca3a1Kay Sievers <p>La structure de l'expression conditionnelle est :</p>
0c959b39175b126fdb70ae00de37ca6d9c8ca3a1Kay Sievers<div class="example"><p><code>
0c959b39175b126fdb70ae00de37ca6d9c8ca3a1Kay Sievers &lt;!--#if expr="condition" --&gt;<br />
0c959b39175b126fdb70ae00de37ca6d9c8ca3a1Kay Sievers &lt;!--#elif expr="condition" --&gt;<br />
0c959b39175b126fdb70ae00de37ca6d9c8ca3a1Kay Sievers &lt;!--#else --&gt;<br />
0c959b39175b126fdb70ae00de37ca6d9c8ca3a1Kay Sievers &lt;!--#endif --&gt;
0c959b39175b126fdb70ae00de37ca6d9c8ca3a1Kay Sievers</code></p></div>
0c959b39175b126fdb70ae00de37ca6d9c8ca3a1Kay Sievers
0c959b39175b126fdb70ae00de37ca6d9c8ca3a1Kay Sievers <p>Une <em>condition</em> peut rev�tir la forme de toute comparaison
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers logique - soit une comparaison de valeurs avec une autre, soit une
0c959b39175b126fdb70ae00de37ca6d9c8ca3a1Kay Sievers v�rification de la "v�rit�" d'une valeur particuli�re (Une cha�ne
0c959b39175b126fdb70ae00de37ca6d9c8ca3a1Kay Sievers donn�e est vraie si elle n'est pas vide). Pour une liste exhaustive
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers des op�rateurs de comparaison disponibles, voir la documentation du
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers module <code class="module"><a href="/mod/mod_include.html">mod_include</a></code>. Voici quelques exemples
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers illustrant l'utilisation de ces expressions.</p>
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers <p>Vous pouvez ajouter les lignes suivantes dans votre fichier de
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers configuration :</p>
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers<pre class="prettyprint lang-config">
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers BrowserMatchNoCase macintosh Mac<br />
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers BrowserMatchNoCase MSIE InternetExplorer
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers</pre>
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers <p>Ces lignes d�finissent les variables d'environnement "Mac" et
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers "InternetExplorer" � true, si le client utilise InternetExplorer sur
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers un Macintosh.</p>
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers <p>Puis, dans votre document o� les SSI sont activ�es, vous ajoutez
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers ceci :</p>
0c959b39175b126fdb70ae00de37ca6d9c8ca3a1Kay Sievers<div class="example"><p><code>
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers &lt;!--#if expr="-T reqenv('Mac') &amp;&amp;
ddc77f62244bb41d5c8261517e2e1ff1b763fc94Kay Sievers -T reqenv('InternetExplorer')" --&gt;<br />
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers Un texte d'excuses est ins�r� ici<br />
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers &lt;!--#else --&gt;<br />
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers Ici se trouve du code JavaScipt sympa<br />
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers &lt;!--#endif --&gt;
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers</code></p></div>
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers <p>Notez que je n'ai rien contre IE sur Macintosh - J'ai juste
0c959b39175b126fdb70ae00de37ca6d9c8ca3a1Kay Sievers phosphor� quelques heures la semaine derni�re pour faire fonctionner
0c959b39175b126fdb70ae00de37ca6d9c8ca3a1Kay Sievers du JavaScript sous IE sur Macintosh, alors qu'il fonctionnait sous
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers tout autre environnement. Ce qui pr�c�de a constitu� un
0c959b39175b126fdb70ae00de37ca6d9c8ca3a1Kay Sievers contournement provisoire.</p>
0c959b39175b126fdb70ae00de37ca6d9c8ca3a1Kay Sievers
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers <p>Toute autre variable (que vous avez d�finie, ou une variable
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers d'environnement normale) peut �tre utilis�e dans les expressions
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers conditionnelles. Associ�e � la possibilit� avec Apache de d�finir
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers des variables d'environnement � l'aide de directives
0c959b39175b126fdb70ae00de37ca6d9c8ca3a1Kay Sievers <code>SetEnvIf</code>, ainsi que d'autres directives en rapport,
0c959b39175b126fdb70ae00de37ca6d9c8ca3a1Kay Sievers cette fonctionnalit� vous permet d'ajouter des contenus dynamiques
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers assez �volu�s sans avoir recours aux programmes CGI.</p>
0c959b39175b126fdb70ae00de37ca6d9c8ca3a1Kay Sievers
0c959b39175b126fdb70ae00de37ca6d9c8ca3a1Kay Sievers</div><div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div>
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers<div class="section">
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers<h2><a name="conclusion" id="conclusion">Conclusion</a></h2>
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers <p>SSI ne remplace certainement pas CGI, ou d'autres technologies
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers utilis�es pour la g�n�ration de pages web dynamiques. Mais c'est une
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers bonne m�thode pour ajouter des petits contenus dynamiques � vos
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers pages, sans devoir fournir un gros effort suppl�mentaire.</p>
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers</div></div>
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers<div class="bottomlang">
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers<p><span>Langues Disponibles: </span><a href="/en/howto/ssi.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers<a href="/fr/howto/ssi.html" title="Fran�ais">&nbsp;fr&nbsp;</a> |
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers<a href="/ja/howto/ssi.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers<a href="/ko/howto/ssi.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a></p>
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers</div><div class="top"><a href="#page-header"><img src="/images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&amp;A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers<script type="text/javascript"><!--//--><![CDATA[//><!--
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sieversvar comments_shortname = 'httpd';
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sieversvar comments_identifier = 'http://httpd.apache.org/docs/trunk/howto/ssi.html';
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers(function(w, d) {
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers if (w.location.hostname.toLowerCase() == "httpd.apache.org") {
0c959b39175b126fdb70ae00de37ca6d9c8ca3a1Kay Sievers d.write('<div id="comments_thread"><\/div>');
0c959b39175b126fdb70ae00de37ca6d9c8ca3a1Kay Sievers var s = d.createElement('script');
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers s.type = 'text/javascript';
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers s.async = true;
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier;
0c959b39175b126fdb70ae00de37ca6d9c8ca3a1Kay Sievers (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s);
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers }
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers else {
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>');
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers }
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers})(window, document);
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers//--><!]]></script></div><div id="footer">
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers<p class="apache">Copyright 2013 The Apache Software Foundation.<br />Autoris� sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers<p class="menu"><a href="/mod/">Modules</a> | <a href="/mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="/glossary.html">Glossaire</a> | <a href="/sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sieversif (typeof(prettyPrint) !== 'undefined') {
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers prettyPrint();
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers}
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers//--><!]]></script>
aedc2eddd16e48d468e6ad0aea2caf00c7d37365Kay Sievers</body></html>