diff options
author | Lucien Gentis <lgentis@apache.org> | 2018-07-12 13:05:22 +0000 |
---|---|---|
committer | Lucien Gentis <lgentis@apache.org> | 2018-07-12 13:05:22 +0000 |
commit | 7bee0591d578bc86d2e80044e5ef523d877422ce (patch) | |
tree | e98a7c5add10bb5bf71fdedb9c3db2e0b5101fa7 /docs/manual/howto/cgi.html.fr | |
parent | 3e1905926b7e1cdf5b28a6a5207086cde8f68285 (diff) | |
download | httpd-7bee0591d578bc86d2e80044e5ef523d877422ce.tar.gz |
Rebuild (with 8 bits characters replaced by their HTML entities because -Xbootclasspath/p option disabled in build.sh script because it is no more supported in openjdk 10)
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1835732 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'docs/manual/howto/cgi.html.fr')
-rw-r--r-- | docs/manual/howto/cgi.html.fr | 522 |
1 files changed, 261 insertions, 261 deletions
diff --git a/docs/manual/howto/cgi.html.fr b/docs/manual/howto/cgi.html.fr index e88c7b07ad..93c56ef5b0 100644 --- a/docs/manual/howto/cgi.html.fr +++ b/docs/manual/howto/cgi.html.fr @@ -7,7 +7,7 @@ This file is generated from xml source: DO NOT EDIT XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX --> -<title>Tutoriel Apache : Contenu dynamique basé sur CGI - Serveur Apache HTTP Version 2.5</title> +<title>Tutoriel Apache : Contenu dynamique basé sur CGI - Serveur Apache HTTP Version 2.5</title> <link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> <link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> <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" /> @@ -21,11 +21,11 @@ <img alt="" src="../images/feather.png" /></div> <div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> <div id="path"> -<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.5</a> > <a href="./">Recettes et tutoriels</a></div><div id="page-content"><div id="preamble"><h1>Tutoriel Apache : Contenu dynamique basé sur CGI</h1> +<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.5</a> > <a href="./">Recettes et tutoriels</a></div><div id="page-content"><div id="preamble"><h1>Tutoriel Apache : Contenu dynamique basé sur CGI</h1> <div class="toplang"> <p><span>Langues Disponibles: </span><a href="../en/howto/cgi.html" hreflang="en" rel="alternate" title="English"> en </a> | -<a href="../es/howto/cgi.html" hreflang="es" rel="alternate" title="Español"> es </a> | -<a href="../fr/howto/cgi.html" title="Français"> fr </a> | +<a href="../es/howto/cgi.html" hreflang="es" rel="alternate" title="Español"> es </a> | +<a href="../fr/howto/cgi.html" title="Français"> fr </a> | <a href="../ja/howto/cgi.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | <a href="../ko/howto/cgi.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> </div> @@ -33,9 +33,9 @@ <div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#intro">Introduction</a></li> <li><img alt="" src="../images/down.gif" /> <a href="#configuring">Configurer Apache pour autoriser CGI</a></li> <li><img alt="" src="../images/down.gif" /> <a href="#writing">Ecrire un programme CGI</a></li> -<li><img alt="" src="../images/down.gif" /> <a href="#troubleshoot">Mais ça ne marche toujours pas !</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#troubleshoot">Mais ça ne marche toujours pas !</a></li> <li><img alt="" src="../images/down.gif" /> <a href="#behindscenes">Que se passe-t-il en coulisse</a></li> -<li><img alt="" src="../images/down.gif" /> <a href="#libraries">Bibliothèques et modules CGI</a></li> +<li><img alt="" src="../images/down.gif" /> <a href="#libraries">Bibliothèques et modules CGI</a></li> <li><img alt="" src="../images/down.gif" /> <a href="#moreinfo">Pour plus d'informations</a></li> </ul><h3>Voir aussi</h3><ul class="seealso"><li><a href="#comments_section">Commentaires</a></li></ul></div> <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> @@ -43,37 +43,37 @@ <h2><a name="intro" id="intro">Introduction</a><a title="Lien permanent" href="#intro" class="permalink">¶</a></h2> - <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_alias.html">mod_alias</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_cgid.html">mod_cgid</a></code></li></ul></td><td><ul><li><code class="directive"><a href="../mod/mod_mime.html#addhandler">AddHandler</a></code></li><li><code class="directive"><a href="../mod/core.html#options">Options</a></code></li><li><code class="directive"><a href="../mod/mod_alias.html#scriptalias">ScriptAlias</a></code></li></ul></td></tr></table> + <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_alias.html">mod_alias</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_cgid.html">mod_cgid</a></code></li></ul></td><td><ul><li><code class="directive"><a href="../mod/mod_mime.html#addhandler">AddHandler</a></code></li><li><code class="directive"><a href="../mod/core.html#options">Options</a></code></li><li><code class="directive"><a href="../mod/mod_alias.html#scriptalias">ScriptAlias</a></code></li></ul></td></tr></table> - <p>CGI (Common Gateway Interface) définit une méthode d'interaction - entre un serveur web et des programmes générateurs de contenu - externes, plus souvent appelés programmes CGI ou scripts CGI. Il - s'agit d'une méthode simple pour ajouter du contenu dynamique à votre site - web en utilisant votre langage de programmation préféré. - Ce document est une introduction à la configuration de CGI sur votre - serveur web Apache, et une initiation à l'écriture de programmes + <p>CGI (Common Gateway Interface) définit une méthode d'interaction + entre un serveur web et des programmes générateurs de contenu + externes, plus souvent appelés programmes CGI ou scripts CGI. Il + s'agit d'une méthode simple pour ajouter du contenu dynamique à votre site + web en utilisant votre langage de programmation préféré. + Ce document est une introduction à la configuration de CGI sur votre + serveur web Apache, et une initiation à l'écriture de programmes CGI.</p> </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> <div class="section"> <h2><a name="configuring" id="configuring">Configurer Apache pour autoriser CGI</a><a title="Lien permanent" href="#configuring" class="permalink">¶</a></h2> - <p>Apache doit être configuré pour permettre l'exécution des + <p>Apache doit être configuré pour permettre l'exécution des programmes CGI, pour que vos programmes CGI puissent fonctionner - correctement. Il existe plusieurs méthodes pour y parvenir.</p> + correctement. Il existe plusieurs méthodes pour y parvenir.</p> - <div class="warning">Note: si Apache a été compilé avec le support - des modules partagés (DSO), vous devez vous assurer que le module CGI est - chargé ; vous devez pour cela vérifier que la directive <code class="directive"><a href="../mod/mod_so.html#loadmodule">LoadModule</a></code> correspondante n'a pas été - commentée dans votre <code>httpd.conf</code>. Une directive correcte - doit ressembler à ceci : + <div class="warning">Note: si Apache a été compilé avec le support + des modules partagés (DSO), vous devez vous assurer que le module CGI est + chargé ; vous devez pour cela vérifier que la directive <code class="directive"><a href="../mod/mod_so.html#loadmodule">LoadModule</a></code> correspondante n'a pas été + commentée dans votre <code>httpd.conf</code>. Une directive correcte + doit ressembler à ceci : <pre class="prettyprint lang-config">LoadModule cgid_module modules/mod_cgid.so</pre> - Sous Windows, ou si l'on utilise un module MPM non-threadé comme prefork, - une directive correctement configurée sera du style : + Sous Windows, ou si l'on utilise un module MPM non-threadé comme prefork, + une directive correctement configurée sera du style : <pre class="prettyprint lang-config">LoadModule cgi_module modules/mod_cgi.so</pre> </div> @@ -82,78 +82,78 @@ <h3><a name="scriptalias" id="scriptalias">ScriptAlias</a></h3> - <p>La directive <code class="directive"><a href="../mod/mod_alias.html#scriptalias">ScriptAlias</a></code> indique à Apache qu'un - répertoire particulier est dédié aux programmes CGI. Apache - considérera que tout fichier situé dans ce répertoire est un - programme CGI, et tentera de l'exécuter lorsque cette ressource - fera l'objet d'une requête client.</p> + <p>La directive <code class="directive"><a href="../mod/mod_alias.html#scriptalias">ScriptAlias</a></code> indique à Apache qu'un + répertoire particulier est dédié aux programmes CGI. Apache + considérera que tout fichier situé dans ce répertoire est un + programme CGI, et tentera de l'exécuter lorsque cette ressource + fera l'objet d'une requête client.</p> - <p>La directive <code class="directive"><a href="../mod/mod_alias.html#scriptalias">ScriptAlias</a></code> se présente comme suit + <p>La directive <code class="directive"><a href="../mod/mod_alias.html#scriptalias">ScriptAlias</a></code> se présente comme suit :</p> <pre class="prettyprint lang-config">ScriptAlias "/cgi-bin/" "/usr/local/apache2/cgi-bin/"</pre> - <p>Cet exemple est tiré de votre fichier de configuration - <code>httpd.conf</code> par défaut, si vous avez installé Apache - dans son répertoire par défaut. La directive <code class="directive"><a href="../mod/mod_alias.html#scriptalias">ScriptAlias</a></code> est similaire à la + <p>Cet exemple est tiré de votre fichier de configuration + <code>httpd.conf</code> par défaut, si vous avez installé Apache + dans son répertoire par défaut. La directive <code class="directive"><a href="../mod/mod_alias.html#scriptalias">ScriptAlias</a></code> est similaire à la directive <code class="directive"><a href="../mod/mod_alias.html#alias">Alias</a></code>, qui - définit à quel répertoire particulier doit correspondre un préfixe + définit à quel répertoire particulier doit correspondre un préfixe d'URL. <code class="directive">Alias</code> et - <code class="directive">ScriptAlias</code> sont généralement utilisés pour - accéder à des répertoires situés en dehors du répertoire défini - par la directive <code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code>. La différence entre + <code class="directive">ScriptAlias</code> sont généralement utilisés pour + accéder à des répertoires situés en dehors du répertoire défini + par la directive <code class="directive"><a href="../mod/core.html#documentroot">DocumentRoot</a></code>. La différence entre <code class="directive">Alias</code> et <code class="directive">ScriptAlias</code> - réside dans le fait que <code class="directive">ScriptAlias</code> indique - en plus que tout ce qui se trouve sous le préfixe d'URL doit être - considéré comme un programme CGI. Ainsi, l'exemple ci-dessus - indique à Apache que toute requête pour une ressource commençant - par <code>/cgi-bin/</code> doit être servie depuis le répertoire - <code>/usr/local/apache2/cgi-bin/</code>, et doit être traitée en + réside dans le fait que <code class="directive">ScriptAlias</code> indique + en plus que tout ce qui se trouve sous le préfixe d'URL doit être + considéré comme un programme CGI. Ainsi, l'exemple ci-dessus + indique à Apache que toute requête pour une ressource commençant + par <code>/cgi-bin/</code> doit être servie depuis le répertoire + <code>/usr/local/apache2/cgi-bin/</code>, et doit être traitée en tant que programme CGI.</p> - <p>Par exemple, si une requête pour l'URL + <p>Par exemple, si une requête pour l'URL <code>http://www.example.com/cgi-bin/test.pl</code> est - effectuée, Apache tentera d'exécuter le fichier + effectuée, Apache tentera d'exécuter le fichier <code>/usr/local/apache2/cgi-bin/test.pl</code> et en renverra la - sortie. Bien entendu, le fichier doit exister, être exécutable, et - retourner sa sortie d'une manière particulière, sinon Apache + sortie. Bien entendu, le fichier doit exister, être exécutable, et + retourner sa sortie d'une manière particulière, sinon Apache renverra un message d'erreur.</p> - <h3><a name="nonscriptalias" id="nonscriptalias">CGI en dehors des répertoires ScripAlias</a></h3> + <h3><a name="nonscriptalias" id="nonscriptalias">CGI en dehors des répertoires ScripAlias</a></h3> - <p>Pour des raisons de sécurité, la localisation des programmes + <p>Pour des raisons de sécurité, la localisation des programmes CGI est souvent restreinte aux - répertoires définis par <code class="directive"><a href="../mod/mod_alias.html#scriptalias">ScriptAlias</a></code>. De cette manière, les administrateurs - peuvent contrôler précisément qui est autorisé à utiliser les - programmes CGI. Cependant, si les précautions adéquates quant à - la sécurité sont prises, il n'y a aucune raison pour que les - programmes CGI ne puissent pas être exécutés depuis d'autres - répertoires. Par exemple, vous pouvez autoriser les utilisateurs à - enregistrer des contenus web dans leurs répertoires home à l'aide + répertoires définis par <code class="directive"><a href="../mod/mod_alias.html#scriptalias">ScriptAlias</a></code>. De cette manière, les administrateurs + peuvent contrôler précisément qui est autorisé à utiliser les + programmes CGI. Cependant, si les précautions adéquates quant à + la sécurité sont prises, il n'y a aucune raison pour que les + programmes CGI ne puissent pas être exécutés depuis d'autres + répertoires. Par exemple, vous pouvez autoriser les utilisateurs à + enregistrer des contenus web dans leurs répertoires home à l'aide de la directive <code class="directive"><a href="../mod/mod_userdir.html#userdir">UserDir</a></code>. S'ils veulent mettre en oeuvre leurs propres programmes CGI, mais n'ont pas l'autorisation - d'accès au répertoire <code>cgi-bin</code> principal, ils devront - être en mesure d'exécuter ces programmes depuis un autre - répertoire.</p> + d'accès au répertoire <code>cgi-bin</code> principal, ils devront + être en mesure d'exécuter ces programmes depuis un autre + répertoire.</p> - <p>L'autorisation d'exécution des programmes CGI dans un - répertoire arbitraire se fait en deux étapes. En premier lieu, le - gestionnaire <code>cgi-script</code> doit être activé à l'aide + <p>L'autorisation d'exécution des programmes CGI dans un + répertoire arbitraire se fait en deux étapes. En premier lieu, le + gestionnaire <code>cgi-script</code> doit être activé à l'aide d'une directive <code class="directive"><a href="../mod/mod_mime.html#addhandler">AddHandler</a></code> ou <code class="directive"><a href="../mod/core.html#sethandler">SetHandler</a></code>. En second lieu, - <code>ExecCGI</code> doit être spécifié dans la directive <code class="directive"><a href="../mod/core.html#options">Options</a></code>.</p> + <code>ExecCGI</code> doit être spécifié dans la directive <code class="directive"><a href="../mod/core.html#options">Options</a></code>.</p> - <h3><a name="options" id="options">Utilisation d'options explicites pour permettre l'exécution + <h3><a name="options" id="options">Utilisation d'options explicites pour permettre l'exécution des programmes CGI</a></h3> - <p>Vous pouvez utiliser de manière explicite la directive + <p>Vous pouvez utiliser de manière explicite la directive <code class="directive"><a href="../mod/core.html#options">Options</a></code> dans le fichier de configuration de votre serveur principal, pour indiquer que - l'exécution des programmes CGI est permise depuis un répertoire + l'exécution des programmes CGI est permise depuis un répertoire particulier :</p> <pre class="prettyprint lang-config"><Directory "/usr/local/apache2/htdocs/somedir"> @@ -161,10 +161,10 @@ </Directory></pre> - <p>La directive ci-dessus indique à Apache qu'il doit permettre - l'exécution des fichiers CGI. Vous devez aussi indiquer au serveur + <p>La directive ci-dessus indique à Apache qu'il doit permettre + l'exécution des fichiers CGI. Vous devez aussi indiquer au serveur quels fichiers sont des fichiers CGI. La directive <code class="directive"><a href="../mod/mod_mime.html#addhandler">AddHandler</a></code> suivante indique au - serveur qu'il doit traiter tous les fichiers possédant une + serveur qu'il doit traiter tous les fichiers possédant une extension <code>cgi</code> ou <code>pl</code> en tant que programmes CGI :</p> @@ -177,16 +177,16 @@ <p>Le <a href="htaccess.html"><code>tutoriel .htaccess</code></a> montre comment activer les programmes - CGI si vous n'avez pas accès au + CGI si vous n'avez pas accès au fichier <code>httpd.conf</code>.</p> - <h3><a name="userdir" id="userdir">Répertoires utilisateurs</a></h3> + <h3><a name="userdir" id="userdir">Répertoires utilisateurs</a></h3> - <p>Pour permettre l'exécution en tant que programme CGI de tout - fichier possédant l'extension <code>.cgi</code> et situé dans un - répertoire utilisateur, vous pouvez utiliser la configuration + <p>Pour permettre l'exécution en tant que programme CGI de tout + fichier possédant l'extension <code>.cgi</code> et situé dans un + répertoire utilisateur, vous pouvez utiliser la configuration suivante :</p> <pre class="prettyprint lang-config"><Directory "/home/*/public_html"> @@ -195,8 +195,8 @@ </Directory></pre> - <p>Pour indiquer un sous-répertoire <code>cgi-bin</code> d'un - répertoire utilisateur où tout fichier sera traité en tant que + <p>Pour indiquer un sous-répertoire <code>cgi-bin</code> d'un + répertoire utilisateur où tout fichier sera traité en tant que programme CGI, vous pouvez utiliser ceci :</p> <pre class="prettyprint lang-config"><Directory "/home/*/public_html/cgi-bin"> @@ -212,34 +212,34 @@ <h2><a name="writing" id="writing">Ecrire un programme CGI</a><a title="Lien permanent" href="#writing" class="permalink">¶</a></h2> - <p>Il y a deux différences principales entre la programmation + <p>Il y a deux différences principales entre la programmation "standard" et la programmation CGI.</p> - <p>En premier lieu, toute sortie de votre programme CGI doit être - précédée d'un en-tête <a class="glossarylink" href="../glossary.html#mime-type" title="voir glossaire">MIME-type</a>. Il s'agit d'un - en-tête HTTP qui indique au client quel type de contenu il reçoit. - La plupart du temps, il se présente comme suit :</p> + <p>En premier lieu, toute sortie de votre programme CGI doit être + précédée d'un en-tête <a class="glossarylink" href="../glossary.html#mime-type" title="voir glossaire">MIME-type</a>. Il s'agit d'un + en-tête HTTP qui indique au client quel type de contenu il reçoit. + La plupart du temps, il se présente comme suit :</p> <div class="example"><p><code> Content-type: text/html </code></p></div> - <p>En second lieu, votre sortie doit être en HTML, ou tout autre + <p>En second lieu, votre sortie doit être en HTML, ou tout autre format qu'un navigateur est en mesure d'afficher. La plupart du - temps, il s'agira de HTML, mais occasionnellement, vous pouvez être - amené à écrire un programme CGI qui renvoie une image gif, ou un + temps, il s'agira de HTML, mais occasionnellement, vous pouvez être + amené à écrire un programme CGI qui renvoie une image gif, ou un autre type de contenu non-HTML.</p> - <p>A part ces deux différences, un programme CGI ressemblera à tout - autre programme que vous pourriez être amené à écrire.</p> + <p>A part ces deux différences, un programme CGI ressemblera à tout + autre programme que vous pourriez être amené à écrire.</p> <h3><a name="firstcgi" id="firstcgi">Votre premier programme CGI</a></h3> <p>L'exemple suivant est un exemple de programme CGI qui permet - d'afficher une ligne de caractères dans votre navigateur. Ecrivez - ce qui suit, enregistrez le dans un fichier nommé - <code>premier.pl</code>, et placez le dans votre répertoire + d'afficher une ligne de caractères dans votre navigateur. Ecrivez + ce qui suit, enregistrez le dans un fichier nommé + <code>premier.pl</code>, et placez le dans votre répertoire <code>cgi-bin</code>.</p> <pre class="prettyprint lang-perl">#!/usr/bin/perl @@ -247,17 +247,17 @@ print "Content-type: text/html\n\n"; print "Hello, World.";</pre> - <p>Même si Perl ne vous est pas familier, vous devriez être + <p>Même si Perl ne vous est pas familier, vous devriez être capable de comprendre le fonctionnement de ce programme. La - première ligne indique à Apache (ou à toute interface à partir de - laquelle le programme s'exécute) que ce programme peut être - exécuté en fournissant son fichier à l'interpréteur + première ligne indique à Apache (ou à toute interface à partir de + laquelle le programme s'exécute) que ce programme peut être + exécuté en fournissant son fichier à l'interpréteur <code>/usr/bin/perl</code>. La seconde ligne affiche la - déclaration du type de contenu considéré, suivie de deux paires - "Retour chariot - Nouvelle ligne". Ceci a pour effet d'insérer une - ligne vide après l'en-tête pour marquer la fin des en-têtes HTTP, - et le début du corps du document. La troisième ligne affiche la - chaîne de caractères "Bonjour tout le monde . . .". Et c'est tout + déclaration du type de contenu considéré, suivie de deux paires + "Retour chariot - Nouvelle ligne". Ceci a pour effet d'insérer une + ligne vide après l'en-tête pour marquer la fin des en-têtes HTTP, + et le début du corps du document. La troisième ligne affiche la + chaîne de caractères "Bonjour tout le monde . . .". Et c'est tout ce dont vous avez besoin.</p> <p>Si vous ouvrez votre navigateur favori et lui indiquez @@ -267,112 +267,112 @@ print "Hello, World.";</pre> http://www.example.com/cgi-bin/premier.pl </code></p></div> - <p>ou toute autre URL correspondant à votre programme CGI, Vous + <p>ou toute autre URL correspondant à votre programme CGI, Vous verrez la ligne <code>Bonjour tout le monde . . .</code> - s'afficher dans la fenêtre de votre navigateur. Ce n'est pas - extraordinaire, mais si vous y êtes parvenu, vous avez de bonnes + s'afficher dans la fenêtre de votre navigateur. Ce n'est pas + extraordinaire, mais si vous y êtes parvenu, vous avez de bonnes chances d'y parvenir pour tout autre programme plus - sophistiqué.</p> + sophistiqué.</p> </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> <div class="section"> -<h2><a name="troubleshoot" id="troubleshoot">Mais ça ne marche toujours pas !</a><a title="Lien permanent" href="#troubleshoot" class="permalink">¶</a></h2> +<h2><a name="troubleshoot" id="troubleshoot">Mais ça ne marche toujours pas !</a><a title="Lien permanent" href="#troubleshoot" class="permalink">¶</a></h2> <p>Vous devriez voir au moins une des quatre sorties suivantes dans - votre navigateur lorsque vous essayez d'accéder à votre programme + votre navigateur lorsque vous essayez d'accéder à votre programme CGI depuis le web :</p> <dl> <dt>Le flux de sortie de votre programme CGI</dt> <dd>Impeccable ! Cela signifie que tout fonctionne correctement. - Si la sortie est correcte mais n'est pas traitée correctement par - le navigateur, assurez-vous d'avoir défini - <code>Content-Type</code> de manière appropriée dans votre + Si la sortie est correcte mais n'est pas traitée correctement par + le navigateur, assurez-vous d'avoir défini + <code>Content-Type</code> de manière appropriée dans votre programme CGI.</dd> <dt>Le code source de votre programme CGI ou un message "POST Method Not Allowed"</dt> - <dd>Cela signifie que vous n'avez pas configuré Apache de manière - à ce qu'il puisse traiter votre programme CGI. Relisez la section + <dd>Cela signifie que vous n'avez pas configuré Apache de manière + à ce qu'il puisse traiter votre programme CGI. Relisez la section sur la <a href="#configuring">configuration d'Apache</a>, et essayez de trouver votre erreur.</dd> - <dt>Un message commençant par "Forbidden"</dt> - <dd>Ce type de message est révélateur d'un problème de + <dt>Un message commençant par "Forbidden"</dt> + <dd>Ce type de message est révélateur d'un problème de droits. Consultez le <a href="#errorlogs">journal des erreurs d'Apache</a> et la section ci-dessous sur les <a href="#permissions">droits des fichiers</a>.</dd> <dt>Un message contenant "Internal Server Error"</dt> <dd>Si vous consultez le <a href="#errorlogs">journal des erreurs d'Apache</a>, vous y trouverez probablement des messages du type - "Premature end of script headers" (Fin prématurée des en-têtes de - script), éventuellement accompagnés d'un message d'erreur généré + "Premature end of script headers" (Fin prématurée des en-têtes de + script), éventuellement accompagnés d'un message d'erreur généré par votre programme CGI. Dans ce cas, il va vous falloir lire - chacune des sections ci-dessous pour déterminer ce qui empêche - votre programme CGI de générer les en-têtes appropriés.</dd> + chacune des sections ci-dessous pour déterminer ce qui empêche + votre programme CGI de générer les en-têtes appropriés.</dd> </dl> <h3><a name="permissions" id="permissions">Droits des fichiers</a></h3> - <p>Souvenez-vous que le serveur ne s'exécute pas sous votre nom. - En d'autres termes, lorsque le serveur a démarré, il s'exécute - avec les droits d'un utilisateur non privilégié - en général - <code>nobody</code>, ou <code>www</code> - et en conséquence, il - aura besoin de droits supplémentaires pour pouvoir exécuter des - fichiers dont vous êtes le propriétaire. En général, pour qu'un - fichier ait des droits suffisants pour être exécutable par + <p>Souvenez-vous que le serveur ne s'exécute pas sous votre nom. + En d'autres termes, lorsque le serveur a démarré, il s'exécute + avec les droits d'un utilisateur non privilégié - en général + <code>nobody</code>, ou <code>www</code> - et en conséquence, il + aura besoin de droits supplémentaires pour pouvoir exécuter des + fichiers dont vous êtes le propriétaire. En général, pour qu'un + fichier ait des droits suffisants pour être exécutable par <code>nobody</code>, il suffit de lui attribuer des droits - d'exécution pour tout le monde :</p> + d'exécution pour tout le monde :</p> <div class="example"><p><code> chmod a+x premier.pl </code></p></div> - <p>En outre, si votre programme doit pouvoir accéder en lecture - et/ou écriture à d'autres fichiers, ces derniers devront avoir les - droits appropriés.</p> + <p>En outre, si votre programme doit pouvoir accéder en lecture + et/ou écriture à d'autres fichiers, ces derniers devront avoir les + droits appropriés.</p> - <h3><a name="pathinformation" id="pathinformation">Chemin des exécutables (PATH) et variables + <h3><a name="pathinformation" id="pathinformation">Chemin des exécutables (PATH) et variables d'environnement</a></h3> <p>Lorsque vous lancez un programme depuis la ligne de commande, - certaines informations sont passées au shell sans que vous vous en + certaines informations sont passées au shell sans que vous vous en doutiez. Par exemple, la variable <code>PATH</code> indique au - shell où il doit rechercher les exécutables auxquels vous faites - référence.</p> + shell où il doit rechercher les exécutables auxquels vous faites + référence.</p> - <p>Lorsqu'un programme s'exécute depuis le serveur web en tant que - programme CGI, sa variable <code>PATH</code> n'aura peut-être pas - la même valeur. Tout programme que vous invoquez dans votre + <p>Lorsqu'un programme s'exécute depuis le serveur web en tant que + programme CGI, sa variable <code>PATH</code> n'aura peut-être pas + la même valeur. Tout programme que vous invoquez dans votre programme CGI ( comme par exemple <code>sendmail</code>) devra - être spécifié par son chemin complet, de façon à ce que le shell - puisse le trouver lorsqu'il tentera d'exécuter votre programme + être spécifié par son chemin complet, de façon à ce que le shell + puisse le trouver lorsqu'il tentera d'exécuter votre programme CGI.</p> - <p>Un exemple typique de spécification de programme est le chemin - vers l'interpréteur de script (souvent <code>perl</code>) que l'on - trouve à la première ligne de votre programme CGI et qui va - ressembler à ceci :</p> + <p>Un exemple typique de spécification de programme est le chemin + vers l'interpréteur de script (souvent <code>perl</code>) que l'on + trouve à la première ligne de votre programme CGI et qui va + ressembler à ceci :</p> <pre class="prettyprint lang-perl">#!/usr/bin/perl</pre> <p>Assurez-vous qu'il s'agit bien du chemin correct vers - l'interpréteur.</p> + l'interpréteur.</p> <div class="warning"> - Lors de l'édition de scripts CGI sous Windows, il se peut que des - caractères de fin de ligne soient ajoutés au chemin de - l'interpréteur. Assurez-vous donc que les fichiers sont bien + Lors de l'édition de scripts CGI sous Windows, il se peut que des + caractères de fin de ligne soient ajoutés au chemin de + l'interpréteur. Assurez-vous donc que les fichiers sont bien transmis au serveur en mode ASCII. Dans le cas contraire, l'OS - pourra envoyer des avertissements "Command not found" à cause des - caractères de fin de ligne non reconnus car considérés comme - faisant partie du nom de fichier de l'interpréteur. + pourra envoyer des avertissements "Command not found" à cause des + caractères de fin de ligne non reconnus car considérés comme + faisant partie du nom de fichier de l'interpréteur. </div> @@ -380,28 +380,28 @@ print "Hello, World.";</pre> <h3><a name="missingenv" id="missingenv">Variables d'environnement manquantes</a></h3> - <p>Si votre programme CGI dépend de <a href="#env">variables + <p>Si votre programme CGI dépend de <a href="#env">variables d'environnement</a> non standards, vous devrez vous assurez que ces variables lui sont bien transmises par Apache.</p> - <p>Lorsque des en-têtes HTTP ne sont pas transmis à - l'environnement, assurez-vous qu'ils sont bien formatés selon la + <p>Lorsque des en-têtes HTTP ne sont pas transmis à + l'environnement, assurez-vous qu'ils sont bien formatés selon la <a href="http://tools.ietf.org/html/rfc2616">RFC 2616</a>, section - 4.2 : les noms d'en-têtes doivent commencer par une lettre, - elle-même suivie de lettres, chiffres ou traits d'union. Tout - en-tête dont le nom viole cette règle sera ignoré.</p> + 4.2 : les noms d'en-têtes doivent commencer par une lettre, + elle-même suivie de lettres, chiffres ou traits d'union. Tout + en-tête dont le nom viole cette règle sera ignoré.</p> - <h3><a name="syntaxerrors" id="syntaxerrors">Erreurs inhérentes au programme</a></h3> + <h3><a name="syntaxerrors" id="syntaxerrors">Erreurs inhérentes au programme</a></h3> - <p>La plupart des échecs dans l'exécution d'un programme CGI - proviennent du programme lui-même. Ceci est particulièrement vrai - lorsque ce satané programme CGI se bloque, alors que vous avez - appris à ne plus commettre les deux erreurs précédentes. La - première chose à faire est de vous assurer que votre programme - s'exécute depuis la ligne de commande, avant de le tester à partir + <p>La plupart des échecs dans l'exécution d'un programme CGI + proviennent du programme lui-même. Ceci est particulièrement vrai + lorsque ce satané programme CGI se bloque, alors que vous avez + appris à ne plus commettre les deux erreurs précédentes. La + première chose à faire est de vous assurer que votre programme + s'exécute depuis la ligne de commande, avant de le tester à partir du serveur web. Par exemple, essayez :</p> <div class="example"><p><code> @@ -409,109 +409,109 @@ print "Hello, World.";</pre> ./premier.pl </code></p></div> - <p>(N'invoquez pas l'interpréteur <code>perl</code>. Le shell et - Apache doivent être capable de le déterminer à partir de <a href="#pathinformation">l'information sur le chemin</a> située sur - la première ligne du script.)</p> + <p>(N'invoquez pas l'interpréteur <code>perl</code>. Le shell et + Apache doivent être capable de le déterminer à partir de <a href="#pathinformation">l'information sur le chemin</a> située sur + la première ligne du script.)</p> - <p>La première chose que vous devriez voir affichée par votre - programme est un ensemble d'en-têtes HTTP, comprenant entre autres + <p>La première chose que vous devriez voir affichée par votre + programme est un ensemble d'en-têtes HTTP, comprenant entre autres le <code>Content-Type</code>, et suivi d'une ligne vide. Si vous voyez quoi que ce soit d'autre, Apache renverra l'erreur <code>Premature end of script headers</code> si vous tentez - d'exécuter le programme depuis le serveur. Voir <a href="#writing">Ecriture d'un programme CGI</a> ci-dessus pour - plus de détails.</p> + d'exécuter le programme depuis le serveur. Voir <a href="#writing">Ecriture d'un programme CGI</a> ci-dessus pour + plus de détails.</p> <h3><a name="errorlogs" id="errorlogs">Journalisation des erreurs</a></h3> <p>Les journaux d'erreurs sont vos amis. Toute anomalie de - fonctionnement est consignée dans le journal des erreurs et c'est - ici que vous devez regarder en premier en cas de problème. Si - l'hébergeur de votre site ne vous donne pas accès au journal des - erreurs, vous avez tout intérêt à vous tourner vers quelqu'un - d'autre. Apprenez à déchiffrer les journaux d'erreurs, et vous - vous apercevrez que la plupart des problèmes seront rapidement - identifiés . . . et résolus.</p> + fonctionnement est consignée dans le journal des erreurs et c'est + ici que vous devez regarder en premier en cas de problème. Si + l'hébergeur de votre site ne vous donne pas accès au journal des + erreurs, vous avez tout intérêt à vous tourner vers quelqu'un + d'autre. Apprenez à déchiffrer les journaux d'erreurs, et vous + vous apercevrez que la plupart des problèmes seront rapidement + identifiés . . . et résolus.</p> <h3><a name="suexec" id="suexec">Suexec</a></h3> <p>Le programme <a href="../suexec.html">suexec</a> permet - d'exécuter les programmes CGI avec des droits différents selon le - serveur virtuel ou le répertoire utilisateur dans lequel ils - se situent. Suexec effectue une vérification des droits très - stricte, et toute anomalie détectée au cours de cette vérification - entraînera un echec d'exécution de votre programme CGI avec + d'exécuter les programmes CGI avec des droits différents selon le + serveur virtuel ou le répertoire utilisateur dans lequel ils + se situent. Suexec effectue une vérification des droits très + stricte, et toute anomalie détectée au cours de cette vérification + entraînera un echec d'exécution de votre programme CGI avec affichage de l'erreur <code>Premature end of script headers</code>.</p> <p>Pour savoir si vous pouvez utiliser suexec, tapez la commande - <code>apachectl -V</code>, et regardez le chemin indiqué par - <code>SUEXEC_BIN</code>. Si au démarrage d'Apache, ce dernier - trouve un exécutable <code class="program"><a href="../programs/suexec.html">suexec</a></code> dans ce chemin, - suexec sera activé.</p> - - <p>Si vous ne maîtrisez pas le fonctionnement de suexec, il vous - est déconseillé de l'utiliser. Pour désactiver suexec, supprimer - simplement (ou renommez) l'exécutable <code class="program"><a href="../programs/suexec.html">suexec</a></code> - pointé par <code>SUEXEC_BIN</code> et redémarrez le serveur. Si - après une lecture de <a href="../suexec.html">suexec</a>, vous - décidez quand-même de l'utiliser, tapez la commande <code>suexec - -V</code> pour voir où se situe le journal de suexec, et utilisez - ce dernier pour déterminer quelles règles vous violez - éventuellement.</p> + <code>apachectl -V</code>, et regardez le chemin indiqué par + <code>SUEXEC_BIN</code>. Si au démarrage d'Apache, ce dernier + trouve un exécutable <code class="program"><a href="../programs/suexec.html">suexec</a></code> dans ce chemin, + suexec sera activé.</p> + + <p>Si vous ne maîtrisez pas le fonctionnement de suexec, il vous + est déconseillé de l'utiliser. Pour désactiver suexec, supprimer + simplement (ou renommez) l'exécutable <code class="program"><a href="../programs/suexec.html">suexec</a></code> + pointé par <code>SUEXEC_BIN</code> et redémarrez le serveur. Si + après une lecture de <a href="../suexec.html">suexec</a>, vous + décidez quand-même de l'utiliser, tapez la commande <code>suexec + -V</code> pour voir où se situe le journal de suexec, et utilisez + ce dernier pour déterminer quelles règles vous violez + éventuellement.</p> </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> <div class="section"> <h2><a name="behindscenes" id="behindscenes">Que se passe-t-il en coulisse</a><a title="Lien permanent" href="#behindscenes" class="permalink">¶</a></h2> - <p>Lorsque vos compétences en programmation CGI seront plus - poussées, il s'avérera intéressant pour vous de mieux comprendre ce - qui se passe en coulisse, et en particulier la manière dont le + <p>Lorsque vos compétences en programmation CGI seront plus + poussées, il s'avérera intéressant pour vous de mieux comprendre ce + qui se passe en coulisse, et en particulier la manière dont le navigateur et le serveur dialoguent entre eux. En effet, bien qu'il - soit tout à fait louable d'écrire un programme qui affiche "Bonjour - tout le monde . . .", cela ne sert pas à grand chose.</p> + soit tout à fait louable d'écrire un programme qui affiche "Bonjour + tout le monde . . .", cela ne sert pas à grand chose.</p> <h3><a name="env" id="env">Variables d'environnement</a></h3> <p>Les variables d'environnement sont des valeurs qui gravitent autour de vous lorsque vous utilisez votre ordinateur. Elles sont - très utiles, à l'instar de votre chemin par défaut (où votre - ordinateur va rechercher le fichier physique correspondant à la - commande que vous avez tapée), votre nom d'utilisateur, le type de - votre terminal, etc... Pour obtenir une liste complète des + très utiles, à l'instar de votre chemin par défaut (où votre + ordinateur va rechercher le fichier physique correspondant à la + commande que vous avez tapée), votre nom d'utilisateur, le type de + votre terminal, etc... Pour obtenir une liste complète des variables d'environnement standards que vous utilisez tous les - jours, tapez <code>env</code> dans votre interpréteur + jours, tapez <code>env</code> dans votre interpréteur de commandes.</p> <p>Au cours de la transaction CGI, le serveur et le navigateur - définissent aussi des variables d'environnement, de façon à ce - qu'ils puissent communiquer entre eux. Ces variables définissent + définissent aussi des variables d'environnement, de façon à ce + qu'ils puissent communiquer entre eux. Ces variables définissent entre autre le type de navigateur (Netscape, IE, Lynx), le type de serveur (Apache, IIS, WebSite), le nom du programme CGI en cours - d'exécution, etc...</p> + d'exécution, etc...</p> - <p>Ces variables sont à la disposition du programmeur CGI, et + <p>Ces variables sont à la disposition du programmeur CGI, et elles constituent 50% de la communication client-serveur. La liste - complète des variables requises se trouve à + complète des variables requises se trouve à <a href="http://www.ietf.org/rfc/rfc3875">Common Gateway Interface RFC</a>.</p> <p>Ce programme CGI basique en Perl permet d'afficher toutes les - variables d'environnement qui sont échangées. Deux programmes - similaires sont fournis avec la distribution d'Apache et situés - dans le répertoire <code>cgi-bin</code>. + variables d'environnement qui sont échangées. Deux programmes + similaires sont fournis avec la distribution d'Apache et situés + dans le répertoire <code>cgi-bin</code>. Notez que certaines variables sont obligatoires, alors que d'autres sont optionnelles, si bien que vous verrez s'afficher certaines variables qui ne font pas partie de la liste officielle. De plus, Apache vous propose de nombreuses - méthodes pour <a href="../env.html">ajouter vos propres + méthodes pour <a href="../env.html">ajouter vos propres variables d'environnement</a> aux variables de base fournies par - défaut.</p> + défaut.</p> <pre class="prettyprint lang-perl">#!/usr/bin/perl use strict; @@ -527,94 +527,94 @@ foreach my $key (keys %ENV) { <h3><a name="stdin" id="stdin">STDIN et STDOUT</a></h3> - <p>L'entrée standard (<code>STDIN</code>) et la sortie standard + <p>L'entrée standard (<code>STDIN</code>) et la sortie standard (<code>STDOUT</code>) constituent d'autres voies de communication entre le client et le serveur. Dans un contexte normal, - <code>STDIN</code> correspond au clavier, ou à un fichier fourni - au programme à des fins de traitement, et <code>STDOUT</code> à la - console ou à l'écran.</p> + <code>STDIN</code> correspond au clavier, ou à un fichier fourni + au programme à des fins de traitement, et <code>STDOUT</code> à la + console ou à l'écran.</p> - <p>Lorsque vous transmettez un formulaire web à un programme CGI - par la méthode <code>POST</code>, les données de ce formulaire - sont transcrites dans un format spécial et transmises à votre + <p>Lorsque vous transmettez un formulaire web à un programme CGI + par la méthode <code>POST</code>, les données de ce formulaire + sont transcrites dans un format spécial et transmises à votre programme CGI via <code>STDIN</code>. Le programme peut alors les traiter comme si elles provenaient du clavier ou d'un fichier.</p> - <p>Ce "format spécial" est très simple. Un nom de champ et sa - valeur sont reliés entre eux par un signe "égal" (=), et chacune - de ces paires nom champ/valeur est séparée de la suivante par un - "et" commercial (&). Les caractères - spéciaux comme les espaces, les "et" commerciaux, et les signes - "égal" sont convertis en leur équivalent hexadécimal pour éviter - qu'ils ne gâchent le travail. La chaîne contenant les données doit - ressembler à ceci :</p> + <p>Ce "format spécial" est très simple. Un nom de champ et sa + valeur sont reliés entre eux par un signe "égal" (=), et chacune + de ces paires nom champ/valeur est séparée de la suivante par un + "et" commercial (&). Les caractères + spéciaux comme les espaces, les "et" commerciaux, et les signes + "égal" sont convertis en leur équivalent hexadécimal pour éviter + qu'ils ne gâchent le travail. La chaîne contenant les données doit + ressembler à ceci :</p> <div class="example"><p><code> name=Rich%20Bowen&city=Lexington&state=KY&sidekick=Squirrel%20Monkey </code></p></div> - <p>Vous verrez aussi parfois une chaîne de ce type accolée à une - URL. Dans ce cas, le serveur enregistre cette chaîne dans la - variable d'environnement appelée <code>QUERY_STRING</code>. On a - alors affaire à une requête de type <code>GET</code>. Votre - formulaire HTML indique laquelle des méthodes <code>GET</code> ou - <code>POST</code> est utilisée pour transmettre les données, en - définissant l'attribut <code>METHOD</code> au niveau de la balise + <p>Vous verrez aussi parfois une chaîne de ce type accolée à une + URL. Dans ce cas, le serveur enregistre cette chaîne dans la + variable d'environnement appelée <code>QUERY_STRING</code>. On a + alors affaire à une requête de type <code>GET</code>. Votre + formulaire HTML indique laquelle des méthodes <code>GET</code> ou + <code>POST</code> est utilisée pour transmettre les données, en + définissant l'attribut <code>METHOD</code> au niveau de la balise <code>FORM</code>.</p> - <p>Votre programme est ensuite chargé d'extraire les informations - utiles de cette chaîne. Heureusement, des bibliothèques et des - modules sont à votre disposition pour vous aider à traiter ces - données, et à gérer les différents aspects de votre programme + <p>Votre programme est ensuite chargé d'extraire les informations + utiles de cette chaîne. Heureusement, des bibliothèques et des + modules sont à votre disposition pour vous aider à traiter ces + données, et à gérer les différents aspects de votre programme CGI.</p> </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> <div class="section"> -<h2><a name="libraries" id="libraries">Bibliothèques et modules CGI</a><a title="Lien permanent" href="#libraries" class="permalink">¶</a></h2> +<h2><a name="libraries" id="libraries">Bibliothèques et modules CGI</a><a title="Lien permanent" href="#libraries" class="permalink">¶</a></h2> - <p>Pour écrire un programme CGI, il vous est conseillé d'utiliser - une bibliothèque de code, ou un module, qui effectueront une grande + <p>Pour écrire un programme CGI, il vous est conseillé d'utiliser + une bibliothèque de code, ou un module, qui effectueront une grande partie du travail de base pour vous. Ceci vous permettra de diminuer - le nombre d'erreurs et d'accélérer le développement.</p> + le nombre d'erreurs et d'accélérer le développement.</p> - <p>Si vous écrivez des programmes CGI en Perl, des modules sont à - votre disposition à <a href="http://www.cpan.org/">CPAN</a>. A ce + <p>Si vous écrivez des programmes CGI en Perl, des modules sont à + votre disposition à <a href="http://www.cpan.org/">CPAN</a>. A ce sujet, le module le plus populaire est <code>CGI.pm</code>. Vous - pouvez aussi essayer <code>CGI::Lite</code>, qui implémente les - fonctionnalités strictement nécessaires, mais suffisantes pour - la majorité des programmes.</p> + pouvez aussi essayer <code>CGI::Lite</code>, qui implémente les + fonctionnalités strictement nécessaires, mais suffisantes pour + la majorité des programmes.</p> - <p>Si vous écrivez des programmes CGI en C, vous disposez de - nombreuses options. L'une d'elles est la bibliothèque + <p>Si vous écrivez des programmes CGI en C, vous disposez de + nombreuses options. L'une d'elles est la bibliothèque <code>CGIC</code> de <a href="http://www.boutell.com/cgic/">http://www.boutell.com/cgic/</a>.</p> </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> <div class="section"> <h2><a name="moreinfo" id="moreinfo">Pour plus d'informations</a><a title="Lien permanent" href="#moreinfo" class="permalink">¶</a></h2> - <p>La spécification CGI actuelle est disponible dans la <a href="http://www.ietf.org/rfc/rfc3875">Common Gateway + <p>La spécification CGI actuelle est disponible dans la <a href="http://www.ietf.org/rfc/rfc3875">Common Gateway Interface RFC</a>.</p> - <p>Lorsque vous postez une question à propos d'un problème CGI que + <p>Lorsque vous postez une question à propos d'un problème CGI que vous rencontrez, que ce soit dans une liste de diffusion ou dans un newsgroup, faites en sorte de fournir suffisamment d'informations - sur le problème rencontré, ce que vous attendiez exactement, et en - quoi ce qui se produit est réellement différent de ce que vous + sur le problème rencontré, ce que vous attendiez exactement, et en + quoi ce qui se produit est réellement différent de ce que vous attendiez, quel serveur vous utilisez, en quel langage votre - programme CGI a été écrit, et, si possible, son code source. Ceci - permettra une résolution plus aisée de votre problème.</p> + programme CGI a été écrit, et, si possible, son code source. Ceci + permettra une résolution plus aisée de votre problème.</p> - <p>Notez que les questions à propos de problèmes CGI ne doivent - <strong>jamais</strong> être postées dans la base de données de - bogues d'Apache, à moins que vous ne soyez sûr d'avoir trouvé un - problème dans le code source d'Apache.</p> + <p>Notez que les questions à propos de problèmes CGI ne doivent + <strong>jamais</strong> être postées dans la base de données de + bogues d'Apache, à moins que vous ne soyez sûr d'avoir trouvé un + problème dans le code source d'Apache.</p> </div></div> <div class="bottomlang"> <p><span>Langues Disponibles: </span><a href="../en/howto/cgi.html" hreflang="en" rel="alternate" title="English"> en </a> | -<a href="../es/howto/cgi.html" hreflang="es" rel="alternate" title="Español"> es </a> | -<a href="../fr/howto/cgi.html" title="Français"> fr </a> | +<a href="../es/howto/cgi.html" hreflang="es" rel="alternate" title="Español"> es </a> | +<a href="../fr/howto/cgi.html" title="Français"> fr </a> | <a href="../ja/howto/cgi.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | <a href="../ko/howto/cgi.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p> </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&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> @@ -635,7 +635,7 @@ var comments_identifier = 'http://httpd.apache.org/docs/trunk/howto/cgi.html'; } })(window, document); //--><!]]></script></div><div id="footer"> -<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> +<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> <p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.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[//><!-- if (typeof(prettyPrint) !== 'undefined') { prettyPrint(); |