<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE manualpage SYSTEM "../style/manualpage.dtd">
<?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?>
-<!-- English Revision: 1878628:1933085 (outdated) -->
+<!-- English Revision: 1933085 -->
<!-- French translation : Lucien GENTIS -->
<!-- Reviewed by : Vincent Deffontaines -->
<manualpage metafile="cgi.xml.meta">
<parentdocument href="./">Recettes et tutoriels</parentdocument>
- <title>Tutoriel Apache : Contenu dynamique basé sur CGI</title>
+ <title>Didacticiel du serveur HTTP Apache : Contenu dynamique basé sur CGI</title>
<section id="intro">
<title>Introduction</title>
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
+ serveur web httpd, et une initiation à l'écriture de programmes
CGI.</p>
</section>
<section id="configuring">
- <title>Configurer Apache pour autoriser CGI</title>
+ <title>Configurer httpd pour autoriser CGI</title>
- <p>Apache doit être configuré pour permettre l'exécution des
+ <p>httpd 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>
- <note type="warning">Note: si Apache a été compilé avec le support
+ <note type="warning">Note: si httpd 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 <directive
module="mod_so">LoadModule</directive> correspondante n'a pas été
<title>ScriptAlias</title>
<p>La directive <directive
- module="mod_alias">ScriptAlias</directive> indique à Apache qu'un
- répertoire particulier est dédié aux programmes CGI. Apache
+ module="mod_alias">ScriptAlias</directive> indique à httpd qu'un
+ répertoire particulier est dédié aux programmes CGI. httpd
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>
</highlight>
<p>Cet exemple est tiré de votre fichier de configuration
- <code>httpd.conf</code> par défaut, si vous avez installé Apache
+ <code>httpd.conf</code> par défaut, si vous avez installé httpd
dans son répertoire par défaut. La directive <directive
module="mod_alias">ScriptAlias</directive> est similaire à la
directive <directive module="mod_alias">Alias</directive>, qui
réside dans le fait que <directive>ScriptAlias</directive> 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
+ indique à httpd 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
<code>http://www.example.com/cgi-bin/test.pl</code> est
- effectuée, Apache tentera d'exécuter le fichier
+ effectuée, httpd 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
+ retourner sa sortie d'une manière particulière, sinon httpd
renverra un message d'erreur.</p>
</section>
</Directory>
</highlight>
- <p>La directive ci-dessus indique à Apache qu'il doit permettre
+ <p>La directive ci-dessus indique à httpd qu'il doit permettre
l'exécution des fichiers CGI. Vous devez aussi indiquer au serveur
quels fichiers sont des fichiers CGI. La directive <directive
module="mod_mime">AddHandler</directive> suivante indique au
<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
+ première ligne indique à httpd (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
<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
+ <dd>Cela signifie que vous n'avez pas configuré httpd de manière
à ce qu'il puisse traiter votre programme CGI. Relisez la section
- sur la <a href="#configuring">configuration d'Apache</a>, et
+ sur la <a href="#configuring">configuration de httpd</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
droits. Consultez le <a href="#errorlogs">journal des erreurs
- d'Apache</a> et la section ci-dessous sur les <a
+ de httpd</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
+ de httpd</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é
par votre programme CGI. Dans ce cas, il va vous falloir lire
<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>
+ ces variables lui sont bien transmises par httpd.</p>
<p>Lorsque des en-têtes HTTP ne sont pas transmis à
l'environnement, assurez-vous qu'ils sont bien formatés selon la
</example>
<p>(N'invoquez pas l'interpréteur <code>perl</code>. Le shell et
- Apache doivent être capable de le déterminer à partir de <a
+ httpd 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
le <code>Content-Type</code>, et suivi d'une ligne vide. Si vous
- voyez quoi que ce soit d'autre, Apache renverra l'erreur
+ voyez quoi que ce soit d'autre, httpd 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
<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
+ <code>SUEXEC_BIN</code>. Si au démarrage de httpd, ce dernier
trouve un exécutable <program>suexec</program> dans ce chemin,
suexec sera activé.</p>
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
+ serveur (httpd, IIS, WebSite), le nom du programme CGI en cours
d'exécution, etc...</p>
<p>Ces variables sont à la disposition du programmeur CGI, et
<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
+ similaires sont fournis avec la distribution de httpd 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
+ de la liste officielle. De plus, httpd vous propose de nombreuses
méthodes pour <a href="../env.html">ajouter vos propres
variables d'environnement</a> aux variables de base fournies par
défaut.</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>
+ bogues de httpd, à moins que vous ne soyez sûr d'avoir trouvé un
+ problème dans le code source de httpd.</p>
</section>
</manualpage>
<?xml version="1.0"?>
<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
<?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?>
-<!-- English Revision: 1657403:1932665 (outdated) -->
+<!-- English Revision: 1932665 -->
<!-- French translation : Lucien GENTIS -->
<!-- Reviewed by : Vincent Deffontaines -->
redémarrage.</p>
<!-- FIXME: thread_index is unsigned int, so not always 32bit.-->
- <p>La variable d'environnement <code>UNIQUE_ID</code> est construite
- par codage du quadruplet de 144 bits (adresse IP sur 32 bits, pid
- sur 32 bits, repère de temps sur 32 bits, compteur 16 bits et index
- de threads sur 32 bits) en
- utilisant l'alphabet <code>[A-Za-z0-9@-]</code> d'une manière
- similaire à celle du codage MIME base64, et sa valeur se présente
- sous la forme d'une chaîne de 24 caractères. L'alphabet MIME base64
- est en fait <code>[A-Za-z0-9+/]</code> ; cependant, les caractères
- <code>+</code> et <code>/</code> nécessitent un codage particulier
- dans les URLs, ce qui rend leur utilisation peu commode. Toutes les
- valeurs sont codées dans l'ordre des octets d'une adresse réseau de
- façon à ce
- que le codage soit comparable entre des architectures où l'ordre des
- octets est différent. L'ordre réel de codage est : repère de temps,
- adresse IP, pid, compteur. Cet ordre de codage possède un but
- précis, mais il faut souligner que les applications n'ont aucun
- intérêt à entrer dans les détails de ce codage. Les applications
- doivent se contenter de traiter la variable <code>UNIQUE_ID</code>
- comme un symbole opaque, qui peut être comparé avec d'autres
+ <p>La variable d'environnement <code>UNIQUE_ID</code> est construite par
+ codage du quadruplet de 144 bits (adresse IP sur 32 bits, pid sur 32 bits,
+ repère de temps sur 32 bits, compteur 16 bits et index de threads sur
+ 32 bits) en utilisant l'alphabet <code>[A-Za-z0-9_-]</code>
+ (<code>[A-Za-z0-9@-]</code>) avant la version 2.4.47) d'une manière
+ similaire à celle du codage MIME base64, et sa valeur se
+ présente sous la forme d'une chaîne de 24 caractères.
+ L'alphabet MIME base64 est en fait <code>[A-Za-z0-9+/]</code> ; cependant,
+ les caractères <code>+</code> et <code>/</code> nécessitent un
+ codage particulier dans les URLs, ce qui rend leur utilisation peu commode.
+ Toutes les valeurs sont codées dans l'ordre des octets d'une adresse
+ réseau de façon à ce que le codage soit comparable
+ entre des architectures où l'ordre des octets est différent.
+ L'ordre réel de codage est : repère de temps, adresse IP, pid,
+ compteur. Cet ordre de codage possède un but précis, mais il
+ faut souligner que les applications n'ont aucun intérêt
+ à entrer dans les détails de ce codage. Les applications
+ doivent se contenter de traiter la variable <code>UNIQUE_ID</code> comme un
+ symbole opaque, qui peut être comparé avec d'autres
<code>UNIQUE_ID</code>s en ne testant que leur égalité.</p>
<p>L'ordre a été choisi de façon à ce qu'il soit possible de
<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE manualpage SYSTEM "../style/manualpage.dtd">
<?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?>
-<!-- English Revision: 1916749:1933137 (outdated) -->
+<!-- English Revision: 1933137 -->
<!-- French translation : Lucien GENTIS -->
<!-- Reviewed by : Vincent Deffontaines -->
l'authentification de base</title>
<summary>
- <p><code>htpasswd</code> permet de créer et de maintenir les
+ <p><program>htpasswd</program> permet de créer et de maintenir les
fichiers textes où sont stockés les noms d'utilisateurs et mots de
passe pour l'authentification de base des utilisateurs HTTP. Si
- <code>htpasswd</code> rencontre un problème d'accès à un fichier,
+ <program>htpasswd</program> rencontre un problème d'accès à un fichier,
que ce soit pour écrire dans le fichier de sortie, ou pour lire le
fichier d'entrée dans le but de le mettre à jour, il renvoie un code
d'erreur et n'effectue aucune modification.</p>
<p>Il est possible de limiter l'accès aux ressources du serveur HTTP
Apache aux seuls utilisateurs présents dans les fichiers créés par
- <code>htpasswd</code>. Ce programme ne sait gérer les noms
+ <program>htpasswd</program>. Ce programme ne sait gérer les noms
d'utilisateurs et mots de passe que s'ils sont stockés dans des
fichiers textes. Il peut cependant hacher et afficher les mots de
passe à des fins d'utilisation dans d'autres types de bases de
données. Pour utiliser une base de données DBM, voir le programme
<program>dbmmanage</program> ou <program>htdbm</program>.</p>
- <p><code>htpasswd</code> hache les mots de passe en utilisant bcrypt, une
+ <p><program>htpasswd</program> hache les mots de passe en utilisant bcrypt, une
version de MD5 modifiée pour Apache, SHA-1 ou la routine système
<code>crypt()</code>. Les hachages de type SHA-2 (SHA-256 and SHA-512) sont
pris en charge pour <code>crypt()</code>. Les fichiers gérés par
- <code>htpasswd</code> peuvent contenir un mélange de différents types de
+ <program>htpasswd</program> peuvent contenir un mélange de différents types de
codage des mots de passe ; par exemple, certaines entrées utilisateur
pourront comporter des mots de passe hachés avec bcrypt ou MD5, alors que
d’autres dans le même fichier pourront comporter des mots de passe hachés
<dt><code>-p</code></dt>
<dd>Enregistre les mots de passe en clair. Bien que
- <code>htpasswd</code> supporte la création des mots de passe en
+ <program>htpasswd</program> supporte la création des mots de passe en
clair sur toutes les plates-formes, le démon
<program>httpd</program> n'accepte les mots de passe en clair que
sous Windows et Netware.</dd>
</section>
<section id="exit"><title>Valeur renvoyée</title>
- <p><code>htpasswd</code> renvoie 0 ("true") si le nom d'utilisateur
+ <p><program>htpasswd</program> renvoie 0 ("true") si le nom d'utilisateur
et le mot de passe ont été enregistrés ou mis à jour avec succès
- dans le <var>fichier-mots-de-passe</var>. <code>htpasswd</code>
+ dans le <var>fichier-mots-de-passe</var>. <program>htpasswd</program>
renvoie <code>1</code> s'il a rencontré un problème d'accès aux
fichiers, <code>2</code> si la ligne de commande comportait une
erreur de syntaxe, <code>3</code> si le mot de passe entré
<code>jsmith</code>. Le mot de passe est demandé à l'opérateur. Le
mot de passe sera haché en utilisant l'algorithme MD5
modifié pour Apache. Si le fichier spécifié
- n'existe pas, <code>htpasswd</code> renverra un code d'erreur.</p>
+ n'existe pas, <program>htpasswd</program> renverra un code d'erreur.</p>
<example>
htpasswd -c /home/doe/public_html/.htpasswd jane
<p>Crée un nouveau fichier de mots de passe et y enregistre une
entrée pour l'utilisateur <code>jane</code>. Le mot de passe est
demandé à l'opérateur. Si le fichier existe et ne peut être ni lu ni
- écrit, il n'est pas modifié et <code>htpasswd</code> affichera un
+ écrit, il n'est pas modifié et <program>htpasswd</program> affichera un
message et renverra un code d'erreur.</p>
<example>
<section id="security"><title>Considérations à propos de sécurité</title>
<p>Les fichiers de mots de passe Web comme ceux que gère
- <code>htpasswd</code> ne doivent <em>pas</em> être situés dans
+ <program>htpasswd</program> ne doivent <em>pas</em> être situés dans
l'espace d'URI du serveur Web -- en d'autres termes, il ne doit pas
être possible d'y accéder à partir d'un navigateur.</p>
<section id="restrictions"><title>Restrictions</title>
<p>Sur les plates-formes Windows, la taille des mots de passe
- hachés avec <code>htpasswd</code> est limitée à <code>255</code>
+ hachés avec <program>htpasswd</program> est limitée à <code>255</code>
caractères. Les mots de passe dont la taille est supérieure seront
tronqués.</p>
- <p>L'algorithme MD5 utilisé par <code>htpasswd</code> est spécifique
+ <p>L'algorithme MD5 utilisé par <program>htpasswd</program> est spécifique
à Apache ; les mots de passe hachés en utilisant cet algorithme
seront inutilisables sur d'autres serveurs Web.</p>
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE manualpage SYSTEM "../style/manualpage.dtd">
<?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?>
-<!-- English Revision: 1908025:1933137 (outdated) -->
+<!-- English Revision: 1933137 -->
<!-- French translation : Lucien GENTIS -->
<!-- Reviewed by : Vincent Deffontaines -->
ces derniers dans un "pipe"</title>
<summary>
- <p><code>rotatelogs</code> est un programme simple à utiliser en
+ <p><program>rotatelogs</program> est un programme simple à utiliser en
conjonction avec la fonctionnalité d'Apache de redirection dans un
"pipe" des fichiers journaux. Il supporte une rotation basée sur un
intervalle de temps ou une taille maximale du journal.</p>
continue malgré les rotations via une commande du style <code>tail -F
nom-lien</code>.</p>
<p>Si le nom du lien spécifié n'est pas un chemin absolu, il est relatif au
-répertoire de travail de <code>rotatelogs</code> qui correspond à la valeur de
+répertoire de travail de <program>rotatelogs</program> qui correspond à la valeur de
la directive <directive module="core">ServerRoot</directive> lorsque la commande
-<code>rotatelogs</code> est exécutée par le serveur.
+<program>rotatelogs</program> est exécutée par le serveur.
</p>
</dd>
<dt><code>-p</code> <var>programme</var></dt>
-<dd>Avec cette option, <code>rotatelogs</code> exécutera le programme
+<dd>Avec cette option, <program>rotatelogs</program> exécutera le programme
<var>programme</var> chaque fois qu'un nouveau fichier journal sera
ouvert. Le nom du fichier nouvellement ouvert est passé comme premier
argument au programme. Si l'exécution se produit après une rotation,
l'ancien nom du fichier journal est passé au programme comme second
-argument. <code>rotatelogs</code>
+argument. <program>rotatelogs</program>
n'attend pas la fin du <var>programme</var> pour continuer son
exécution, et cessera tout enregistrement de codes d'erreur lorsqu'il
aura terminé son processus. Le <var>programme</var> utilise les mêmes
<dt><code>-f</code></dt>
<dd>Ouvre le fichier journal immédiatement, dès que
-<code>rotatelogs</code> démarre, au lieu d'attendre la lecture de la
+<program>rotatelogs</program> démarre, au lieu d'attendre la lecture de la
première entrée de journal (pour les sites peu chargés, il peut
s'écouler un temps substantiel entre le démarrage du serveur et le
traitement de la première requête, temps pendant lequel le fichier
dans la même journée, le même nom de fichier va être généré, et la
rotation va écraser le fichier existant.</p>
<p>Si le nom du fichier journal n'est pas un chemin absolu, il est relatif au
-répertoire de travail de <code>rotatelogs</code> qui correspond à la valeur de
+répertoire de travail de <program>rotatelogs</program> qui correspond à la valeur de
la directive <directive module="core">ServerRoot</directive> lorsque la commande
-<code>rotatelogs</code> est exécutée par le serveur.
+<program>rotatelogs</program> est exécutée par le serveur.
</p>
</dd>