X-Git-Url: https://granicus.if.org/sourcecode?a=blobdiff_plain;f=docs%2Fmanual%2Fhowto%2Fcgi.html.fr;h=d04eaacc8a046fbb2516851b13b2272657c7fcec;hb=6f41ecf8ea11fde431bb1be94a10cbb68a8cdf56;hp=557798ed12ada7a7410e55816d2fe8498d262df0;hpb=99b0e3bf2462d6547b8fea69f7ab6efa547c8606;p=apache diff --git a/docs/manual/howto/cgi.html.fr b/docs/manual/howto/cgi.html.fr index 557798ed12..d04eaacc8a 100644 --- a/docs/manual/howto/cgi.html.fr +++ b/docs/manual/howto/cgi.html.fr @@ -1,28 +1,36 @@ - -Tutoriel Apache : Contenu dynamique basé sur CGI - Serveur Apache HTTP +Tutoriel Apache : Contenu dynamique basé sur CGI - Serveur Apache HTTP Version 2.5 - + + + + +

Serveur Apache HTTP Version 2.5

+
<-
-Apache > Serveur HTTP > Documentation > Version 2.3 > Recettes et tutoriels

Tutoriel Apache : Contenu dynamique basé sur CGI

+Apache > Serveur HTTP > Documentation > Version 2.5 > Recettes et tutoriels

Tutoriel Apache : Contenu dynamique basé sur CGI

Langues Disponibles:  en  | + es  |  fr  |  ja  |  ko 

+
Cette traduction peut être périmée. Vérifiez la version + anglaise pour les changements récents.
+

Voir aussi

top

Introduction

- +

CGI (Common Gateway Interface) définit une méthode d'interaction entre un serveur web et des programmes générateurs de contenu @@ -62,9 +70,16 @@ commentée dans votre httpd.conf. Une directive correcte doit ressembler à ceci : -

- LoadModule cgi_module modules/mod_cgi.so -

+
LoadModule cgid_module modules/mod_cgid.so
+ + + + Sous Windows, ou si l'on utilise un module MPM non-threadé comme prefork, + une directive correctement configurée sera du style : + +
LoadModule cgi_module modules/mod_cgi.so
+
+

ScriptAlias

@@ -78,9 +93,8 @@

La directive ScriptAlias se présente comme suit :

-

- ScriptAlias /cgi-bin/ /usr/local/apache2/cgi-bin/ -

+
ScriptAlias "/cgi-bin/" "/usr/local/apache2/cgi-bin/"
+

Cet exemple est tiré de votre fichier de configuration httpd.conf par défaut, si vous avez installé Apache @@ -144,13 +158,10 @@ l'exécution des programmes CGI est permise depuis un répertoire particulier :

-

- <Directory /usr/local/apache2/htdocs/un-repertoire>
- - Options +ExecCGI
-
- </Directory> -

+
<Directory "/usr/local/apache2/htdocs/somedir">
+    Options +ExecCGI
+</Directory>
+

La directive ci-dessus indique à Apache qu'il doit permettre l'exécution des fichiers CGI. Vous devez aussi indiquer au serveur @@ -159,9 +170,8 @@ extension cgi ou pl en tant que programmes CGI :

-

- AddHandler cgi-script .cgi .pl -

+
AddHandler cgi-script .cgi .pl
+

Fichiers .htaccess

@@ -181,27 +191,21 @@ répertoire utilisateur, vous pouvez utiliser la configuration suivante :

-

- <Directory /home/*/public_html>
- - Options +ExecCGI
- AddHandler cgi-script .cgi
-
- </Directory> -

+
<Directory "/home/*/public_html">
+    Options +ExecCGI
+    AddHandler cgi-script .cgi
+</Directory>
+

Pour indiquer un sous-répertoire cgi-bin d'un répertoire utilisateur où tout fichier sera traité en tant que programme CGI, vous pouvez utiliser ceci :

-

- <Directory /home/*/public_html/cgi-bin>
- - Options ExecCGI
- SetHandler cgi-script
-
- </Directory> -

+
<Directory "/home/*/public_html/cgi-bin">
+    Options ExecCGI
+    SetHandler cgi-script
+</Directory>
+ @@ -240,11 +244,10 @@ premier.pl, et placez le dans votre répertoire cgi-bin.

-

- #!/usr/bin/perl
- print "Content-type: text/html\n\n";
- print "Bonjour tout le monde . . ."; -

+
#!/usr/bin/perl
+print "Content-type: text/html\n\n";
+print "Hello, World.";
+

Même si Perl ne vous est pas familier, vous devriez être capable de comprendre le fonctionnement de ce programme. La @@ -358,15 +361,37 @@ trouve à la première ligne de votre programme CGI et qui va ressembler à ceci :

-

- #!/usr/bin/perl -

+
#!/usr/bin/perl
+

Assurez-vous qu'il s'agit bien du chemin correct vers l'interpréteur.

-

De plus, si votre programme CGI dépend d'autres variables d'environnement, vous devrez vous - assurer qu'elles lui sont bien transmises par Apache.

+
+ 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. +
+ + + +

Variables d'environnement manquantes

+ + +

Si votre programme CGI dépend de variables + d'environnement non standards, vous devrez vous assurez que + ces variables lui sont bien transmises par Apache.

+ +

Lorsque des en-têtes HTTP ne sont pas transmis à + l'environnement, assurez-vous qu'ils sont bien formatés selon la + RFC 2616, 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é.

@@ -475,7 +500,8 @@

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 à - http://hoohoo.ncsa.uiuc.edu/cgi/env.html.

+ Common Gateway + Interface RFC.

Ce programme CGI basique en Perl permet d'afficher toutes les variables d'environnement qui sont échangées. Deux programmes @@ -489,15 +515,15 @@ variables d'environnement aux variables de base fournies par défaut.

-

- #!/usr/bin/perl
- print "Content-type: text/html\n\n";
- foreach $key (keys %ENV) {
- - print "$key --> $ENV{$key}<br>";
-
- } -

+
#!/usr/bin/perl
+use strict;
+use warnings;
+
+print "Content-type: text/html\n\n";
+foreach my $key (keys %ENV) {
+    print "$key --> $ENV{$key}<br>";
+}
+

STDIN et STDOUT

@@ -570,18 +596,7 @@

Pour plus d'informations

-

Il existe un grand nombre de ressources CGI sur le web. Vous - pouvez discuter de problèmes CGI avec d'autres utilisateurs dans le - groupe Usenet - comp.infosystems.www.authoring.cgi. En outre, la liste de - diffusion de la Guilde des Ecrivains HTML est une source - intarissable de réponses à vos questions. Vous en saurez plus en - vous rendant à http://www.hwg.org/lists/hwg-servers/.

- -

Et bien entendu, vous devez lire la spécification CGI, qui - présente tous les détails en rapport avec les opérations des - programmes CGI. La version originale se trouve au NCSA, et - dans la RFC IETF actuelle Common Gateway +

La spécification CGI actuelle est disponible dans la Common Gateway Interface RFC.

Lorsque vous postez une question à propos d'un problème CGI que @@ -600,10 +615,32 @@

Langues Disponibles:  en  | + es  |  fr  |  ja  |  ko 

-
+
top

Commentaires

Notice:
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 mailing lists.
+
\ No newline at end of file