You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@httpd.apache.org by lg...@apache.org on 2014/05/18 16:15:21 UTC
svn commit: r1595620 - /httpd/httpd/trunk/docs/manual/mod/mod_lua.xml.fr
Author: lgentis
Date: Sun May 18 14:15:20 2014
New Revision: 1595620
URL: http://svn.apache.org/r1595620
Log:
Update.
Modified:
httpd/httpd/trunk/docs/manual/mod/mod_lua.xml.fr
Modified: httpd/httpd/trunk/docs/manual/mod/mod_lua.xml.fr
URL: http://svn.apache.org/viewvc/httpd/httpd/trunk/docs/manual/mod/mod_lua.xml.fr?rev=1595620&r1=1595619&r2=1595620&view=diff
==============================================================================
--- httpd/httpd/trunk/docs/manual/mod/mod_lua.xml.fr (original)
+++ httpd/httpd/trunk/docs/manual/mod/mod_lua.xml.fr Sun May 18 14:15:20 2014
@@ -313,8 +313,7 @@ que vous pouvez écrire dans Lua s
<highlight language="lua">
<strong>translate_name.lua</strong><br/>
--- exemple d'accroche qui réécrit un URI en chemin du système de
--- fichiers.
+-- exemple d'accroche qui réécrit un URI en chemin du système de fichiers.
require 'apache2'
@@ -701,9 +700,8 @@ r:addoutputfilter("fooFilter") -- ins&eg
</highlight>
<highlight language="lua">
-r:sendfile(filename) -- envoie un fichier entier au client en utilisant
- -- sendfile s'il est supporté par la
- -- plateforme :
+r:sendfile(filename) -- envoie un fichier entier au client en utilisant sendfile s'il est
+ -- supporté par la plateforme :
if use_sendfile_thing then
r:sendfile("/var/www/large_file.img")
@@ -712,8 +710,9 @@ end
<highlight language="lua">
r:parseargs() -- renvoie deux tables : une table standard de couples
-clé/valeur pour les données GET simples, et une autre pour les données
-multivaluées (par exemple foo=1&foo=2&foo=3) :
+ -- clé/valeur pour les données GET simples,
+ -- et une autre pour les données
+ -- multivaluées (par exemple foo=1&foo=2&foo=3) :
local GET, GETMULTI = r:parseargs()
r:puts("Votre nom est : " .. GET['name'] or "Unknown")
@@ -721,10 +720,13 @@ r:puts("Votre nom est : " .. GET['name']
<highlight language="lua">
-r:parsebody()([sizeLimit]) -- interprète le corps de la requête
-en tant que POST et renvoie deux tables lua, comme r:parseargs(). Un nombre optionnel
-peut être fourni pour spécifier le nombre maximal d'octets à
-interpréter. La valeur par défaut est 8192.
+r:parsebody()([sizeLimit]) -- interprète le corps de la
+ -- requête en tant que POST et renvoie
+ -- deux tables lua, comme r:parseargs(). Un
+ -- nombre optionnel peut être fourni
+ -- pour spécifier le nombre maximal
+ -- d'octets à interpréter. La
+ -- valeur par défaut est 8192.
local POST, POSTMULTI = r:parsebody(1024*1024)
r:puts("Votre nom est : " .. POST['name'] or "Unknown")
@@ -736,18 +738,15 @@ r:puts("bonjour", " le monde", "!") -- a
</highlight>
<highlight language="lua">
-r:write("une simple chaîne") -- affichage dans le
-corps de la réponse
+r:write("une simple chaîne") -- affichage dans le corps de la réponse
</highlight>
<highlight language="lua">
-r:escape_html("<html>test</html>") -- Echappe le
-code HTML et renvoie le résultat
+r:escape_html("<html>test</html>") -- Echappe le code HTML et renvoie le résultat
</highlight>
<highlight language="lua">
-r:base64_encode(string) -- Encode une chaîne à l'aide du
-standard de codage Base64.
+r:base64_encode(string) -- Encode une chaîne à l'aide du standard de codage Base64.
local encoded = r:base64_encode("This is a test") -- returns VGhpcyBpcyBhIHRlc3Q=
</highlight>
@@ -759,15 +758,13 @@ local decoded = r:base64_decode("VGhpcyB
</highlight>
<highlight language="lua">
-r:md5(string) -- Calcule et renvoie le condensé MD5 d'une chaîne
-en mode binaire (binary safe).
+r:md5(string) -- Calcule et renvoie le condensé MD5 d'une chaîne en mode binaire (binary safe).
local hash = r:md5("This is a test") -- returns ce114e4501d2f4e2dcea3e17b546f339
</highlight>
<highlight language="lua">
-r:sha1(string) -- Calcule et renvoie le condensé SHA1 d'une chaîne
-en mode binaire (binary safe).
+r:sha1(string) -- Calcule et renvoie le condensé SHA1 d'une chaîne en mode binaire (binary safe).
local hash = r:sha1("This is a test") -- returns a54d88e06612d820bc3be72877c74f257b561b19
</highlight>
@@ -793,8 +790,7 @@ local url = r:construct_url(r.uri)
</highlight>
<highlight language="lua">
-r.mpm_query(number) -- Interroge le serveur à propos de son
-module MPM via la requête ap_mpm_query.
+r.mpm_query(number) -- Interroge le serveur à propos de son module MPM via la requête ap_mpm_query.
local mpm = r.mpm_query(14)
if mpm == 1 then
@@ -803,8 +799,7 @@ end
</highlight>
<highlight language="lua">
-r:expr(string) -- Evalue une chaîne de type <a
-href="../expr.html">expr</a>.
+r:expr(string) -- Evalue une chaîne de type <a href="../expr.html">expr</a>.
if r:expr("%{HTTP_HOST} =~ /^www/") then
r:puts("Ce nom d'hôte commence par www")
@@ -813,7 +808,7 @@ end
<highlight language="lua">
r:scoreboard_process(a) -- Interroge le serveur à propos du
-processus à la position <code>a</code>.
+ -- processus à la position <code>a</code>.
local process = r:scoreboard_process(1)
r:puts("Le serveur 1 a comme PID " .. process.pid)
@@ -821,7 +816,7 @@ r:puts("Le serveur 1 a comme PID " .. pr
<highlight language="lua">
r:scoreboard_worker(a, b) -- Interroge le serveur à propos du
-thread <code>b</code>, dans le processus <code>a</code>.
+ -- thread <code>b</code>, dans le processus <code>a</code>.
local thread = r:scoreboard_worker(1, 1)
r:puts("L'ID du thread 1 du serveur 1 est " .. thread.tid .. " et son
@@ -829,14 +824,15 @@ r:puts("L'ID du thread 1 du serveur 1 es
</highlight>
<highlight language="lua">
-r:clock() -- Renvoie l'heure courante avec une précision d'une
-microseconde.
+r:clock() -- Renvoie l'heure courante avec une précision d'une microseconde.
</highlight>
<highlight language="lua">
-r:requestbody(filename) -- Lit et renvoie le corps d'une requête. Si
-'filename' est spécifié, le corps de requête n'est pas renvoyé, mais
-sauvegardé dans le fichier correspondant.
+r:requestbody(filename) -- Lit et renvoie le corps d'une requête.
+ -- Si 'filename' est spécifié, le
+ -- corps de requête n'est pas
+ -- renvoyé, mais sauvegardé dans
+ -- le fichier correspondant.
local input = r:requestbody()
r:puts("Vous m'avez envoyé le corps de requête suivant :\n")
@@ -844,25 +840,23 @@ r:puts(input)
</highlight>
<highlight language="lua">
-r:add_input_filter(filter_name) -- Ajoute le filtre en entrée
-'filter_name'.
+r:add_input_filter(filter_name) -- Ajoute le filtre en entrée 'filter_name'.
</highlight>
<highlight language="lua">
-r:module_info(module_name) -- Interroge le serveur à propos d'un
-module.
+r:module_info(module_name) -- Interroge le serveur à propos d'un module.
local mod = r.module_info("mod_lua.c")
if mod then
for k, v in pairs(mod.commands) do
- r:puts( ("%s: %s\n"):format(k,v)) -- affiche toutes les directives implémentées par ce module
+ r:puts( ("%s: %s\n"):format(k,v)) -- affiche toutes les directives
+ -- implémentées par ce module.
end
end
</highlight>
<highlight language="lua">
-r:loaded_modules() -- Renvoie une liste des modules chargés par
-httpd.
+r:loaded_modules() -- Renvoie une liste des modules chargés par httpd.
for k, module in pairs(r:loaded_modules()) do
r:puts("J'ai chargé le module " .. module .. "\n")
@@ -871,45 +865,44 @@ end
<highlight language="lua">
r:runtime_dir_relative(filename) -- Génère le nom d'un fichier run-time
-(par exemple la mémoire partagée "file") relativement au répertoire de
-run-time.
+ -- (par exemple la mémoire partagée
+ -- "file") relativement au répertoire de run-time.
</highlight>
<highlight language="lua">
-r:server_info() -- Renvoie une table contenant des informations
-à propos du serveur, comme le nom de l'exécutable httpd, le
-module mpm utilisé, etc...
+r:server_info() -- Renvoie une table contenant des informations à
+ -- propos du serveur, comme le nom de
+ -- l'exécutable httpd, le module mpm utilisé, etc...
</highlight>
<highlight language="lua">
-r:set_document_root(file_path) -- Définit la racine des
-documents pour la requête à file_path.
+r:set_document_root(file_path) -- Définit la racine des documents
+ -- pour la requête à file_path.
</highlight>
<highlight language="lua">
r:add_version_component(component_string) -- Ajoute un élément à
-la bannière du serveur.
+ -- la bannière du serveur.
</highlight>
<highlight language="lua">
r:set_context_info(prefix, docroot) -- Définit le préfixe et la
-racine des documents du contexte pour une requête.
+ -- racine des documents du contexte pour une requête.
</highlight>
<highlight language="lua">
r:os_escape_path(file_path) -- Convertit un chemin du système de
-fichiers en URL indépendamment du système d'exploitation.
+ -- fichiers en URL indépendamment du système d'exploitation.
</highlight>
<highlight language="lua">
-r:escape_logitem(string) -- Echappe une chaîne pour
-journalisation.
+r:escape_logitem(string) -- Echappe une chaîne pour journalisation.
</highlight>
<highlight language="lua">
r.strcmp_match(string, pattern) -- Vérifie si 'string' correspond à
-'pattern' via la fonction strcmp_match (GLOBs). Par exemple, est-ce que
-'www.example.com' correspond à '*.example.com' ?
+ -- 'pattern' via la fonction strcmp_match (GLOBs). Par exemple, est-ce que
+ -- 'www.example.com' correspond à '*.example.com' ?
local match = r.strcmp_match("foobar.com", "foo*.com")
if match then
@@ -918,33 +911,30 @@ end
</highlight>
<highlight language="lua">
-r:set_keepalive() -- Définit l'état de persistance d'une
-requête. Renvoie true dans la mesure du possible, false dans le
-cas contraire.
+r:set_keepalive() -- Définit l'état de persistance d'une requête.
+ -- Renvoie true dans la mesure du possible, false dans le cas contraire.
</highlight>
<highlight language="lua">
-r:make_etag() -- Génère et renvoie le etag pour la requête
-courante.
+r:make_etag() -- Génère et renvoie le etag pour la requête courante.
</highlight>
<highlight language="lua">
r:send_interim_response(clear) -- Renvoie une réponse d'intérim (1xx) au
-client. Si 'clear' est vrai, les en-têtes disponibles seront envoyés et
-effacés.
+ -- client. Si 'clear' est vrai, les en-têtes disponibles
+ -- seront envoyés et effacés.
</highlight>
<highlight language="lua">
r:custom_response(status_code, string) -- Génère et définit une réponse
-personnalisée pour un code d'état particulier. Le fonctionnement est
-très proche de celui de la directive ErrorDocument.
+ -- personnalisée pour un code d'état particulier.
+ -- Le fonctionnement est très proche de celui de la directive ErrorDocument.
r:custom_response(404, "Baleted!")
</highlight>
<highlight language="lua">
-r.exists_config_define(string) -- Vérifie si une définition de
-configuration existe.
+r.exists_config_define(string) -- Vérifie si une définition de configuration existe.
if r.exists_config_define("FOO") then
r:puts("httpd a probablement été lancé avec l'option -DFOO, ou FOO a
@@ -953,13 +943,12 @@ end
</highlight>
<highlight language="lua">
-r:state_query(string) -- Interroge le serveur à propos de son
-état.
+r:state_query(string) -- Interroge le serveur à propos de son état.
</highlight>
<highlight language="lua">
-r:stat(filename [,wanted]) -- Exécute stat() sur un fichier, et renvoie
-une table contenant des informations à propos de ce fichier.
+r:stat(filename [,wanted]) -- Exécute stat() sur un fichier, et renvoie une table contenant
+ -- des informations à propos de ce fichier.
local info = r:stat("/var/www/foo.txt")
if info then
@@ -968,9 +957,8 @@ end
</highlight>
<highlight language="lua">
-r:regex(string, pattern [,flags]) -- Exécute une recherche à base
-d'expression rationnelle sur une chaîne, et renvoie les
-éventuelles correspondances trouvées.
+r:regex(string, pattern [,flags]) -- Exécute une recherche à base d'expression rationnelle
+ -- sur une chaîne, et renvoie les éventuelles correspondances trouvées.
local matches = r:regex("foo bar baz", [[foo (\w+) (\S*)]])
if matches then
@@ -991,10 +979,9 @@ r.usleep(microsecondes) -- Interrompt l'
</highlight>
<highlight language="lua">
-r:dbacquire(dbType[, dbParams]) -- Acquiert une connexion à une
-base de données et renvoie une classe database. Voir '<a
-href="#databases">Connectivité aux bases de données</a>' pour plus de
-détails.
+r:dbacquire(dbType[, dbParams]) -- Acquiert une connexion à une base de données et renvoie une classe database.
+ -- Voir '<a href="#databases">Connectivité aux bases de données</a>'
+ -- pour plus de détails.
</highlight>
<highlight language="lua">
@@ -1035,7 +1022,8 @@ r:mkdir(dir [,mode]) -- Crée un r
</highlight>
<highlight language="lua">
-r:mkrdir(dir [,mode]) -- Crée des répertoires de manière récursive et définit leur mode via le paramètre optionnel mode.
+r:mkrdir(dir [,mode]) -- Crée des répertoires de manière récursive et définit
+ -- leur mode via le paramètre optionnel mode.
</highlight>
<highlight language="lua">
@@ -1043,7 +1031,8 @@ r:rmdir(dir) -- Supprime un réper
</highlight>
<highlight language="lua">
-r:touch(file [,mtime]) -- Définit la date de modification d'un fichier à la date courante ou à la valeur optionnelle mtime en msec.
+r:touch(file [,mtime]) -- Définit la date de modification d'un fichier à la date courante ou à
+ -- la valeur optionnelle mtime en msec.
</highlight>
<highlight language="lua">
@@ -1413,8 +1402,7 @@ relatifs dans les directives de mod_lua<
<directivesynopsis>
<name>LuaScope</name>
-<description>Une valeur parmi once, request, conn, thread -- la valeur
-par défaut est once</description>
+<description>Une valeur parmi once, request, conn, thread -- la valeur par défaut est once</description>
<syntax>LuaScope once|request|conn|thread|server [min] [max]</syntax>
<default>LuaScope once</default>
<contextlist><context>server config</context><context>virtual host</context>
@@ -1693,7 +1681,7 @@ function logger(r)
f:close()
end
return apache2.DONE -- On dit à httpd de ne rien enregistrer
- --dans le journal standard
+ --dans le journal standard
else
r.uri = r.uri:gsub("somesecretstuff", "") -- nettoie les données
return apache2.OK -- et httpd doit alors les enregistrer.
@@ -1738,19 +1726,19 @@ function read_file(filename)
end
function check_cache(r)
- if r.filename:match("%.png$") then -- Only match PNG files
- local file = cached_files[r.filename] -- Check cache entries
+ if r.filename:match("%.png$") then -- Ne concerne que les fichiers PNG
+ local file = cached_files[r.filename] -- Vérifie les entrées du cache
if not file then
- file = read_file(r.filename) -- Read file into cache
+ file = read_file(r.filename) -- Lit le fichier vers le cache
end
- if file then -- If file exists, write it out
+ if file then -- Si le fichier existe, on l'envoie
r.status = 200
r:write(file)
- r:info(("Sent %s to client from cache"):format(r.filename))
- return apache2.DONE -- skip default handler for PNG files
+ r:info(("%s a été envoyé au client depuis le cache"):format(r.filename))
+ return apache2.DONE -- cout-circuite le gestionnaire par défaut des fichiers PNG
end
end
- return apache2.DECLINED -- If we had nothing to do, let others serve this.
+ return apache2.DECLINED -- Si nous n'avons rien eu à faire, nous laissons les autres s'en charger
end
</highlight>
@@ -1991,11 +1979,11 @@ LuaInputFilter myInputFilter /www/filter
majuscules.
]]--
function input_filter(r)
- print("luaInputFilter called") -- debug print
- coroutine.yield() -- Yield and wait for buckets
- while bucket do -- For each bucket, do...
+ print("luaInputFilter called") -- pour débogage
+ coroutine.yield() -- attend des paquets de données
+ while bucket do -- Pour chaque paquet, faire ...
local output = string.upper(bucket) -- Convertit toutes les données POST en majuscules
- coroutine.yield(output) -- Envoie les données traitées à la chaîne
+ coroutine.yield(output) -- Envoie les données traitées à la chaîne de filtrage
end
-- plus aucune donnée à traiter.
coroutine.yield("&filterSignature=1234") -- Ajoute une signature à la fin
@@ -2011,7 +1999,7 @@ function input_filter(r)
return -- Empêche tout simplement le filtrage et transmet le contenu original
end
coroutine.yield() -- attend des paquets de données
- ... -- insert les filtres ici
+ ... -- insert les filtres ici
end
</highlight>
<p>
@@ -2053,7 +2041,8 @@ LuaOutputFilter myOutputFilter /www/filt
sortie
]]--
function output_filter(r)
- coroutine.yield("(Handled by myOutputFilter)<br/>\n") -- Ajoute des données au début de la sortie, puis attend des paquets de données à traiter
+ coroutine.yield("(Handled by myOutputFilter)<br/>\n") -- Ajoute des données au début de la sortie,
+ -- puis attend des paquets de données à traiter
while bucket do -- Pour chaque paquet, faire ...
local output = r:escape_html(bucket) -- Echappe les données en sortie
coroutine.yield(output) -- Envoie les données traitées à la chaîne
@@ -2071,7 +2060,7 @@ function output_filter(r)
return -- Empêche tout simplement le filtrage et transmet le contenu original
end
coroutine.yield() -- attend des paquets de données
- ... -- insert les filtres ici
+ ... -- insert les filtres ici
end
</highlight>
<note><title>Les filtres Lua avec <module>mod_filter</module></title>