From 6beeb1b708550be0d4a53b272283e17e5e35fe17 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sun, 7 Apr 2024 17:01:30 +0200 Subject: Adding upstream version 2.4.57. Signed-off-by: Daniel Baumann --- docs/manual/mod/mod_ext_filter.html.fr.utf8 | 383 ++++++++++++++++++++++++++++ 1 file changed, 383 insertions(+) create mode 100644 docs/manual/mod/mod_ext_filter.html.fr.utf8 (limited to 'docs/manual/mod/mod_ext_filter.html.fr.utf8') diff --git a/docs/manual/mod/mod_ext_filter.html.fr.utf8 b/docs/manual/mod/mod_ext_filter.html.fr.utf8 new file mode 100644 index 0000000..e457ec2 --- /dev/null +++ b/docs/manual/mod/mod_ext_filter.html.fr.utf8 @@ -0,0 +1,383 @@ + + + + + +mod_ext_filter - Serveur HTTP Apache Version 2.4 + + + + + + + + +
<-
+ +
+

Module Apache mod_ext_filter

+
+

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

+
+ + + +
Description:Fait traiter le corps de la réponse par un programme +externe avant de l'envoyer au client
Statut:Extension
Identificateur de Module:ext_filter_module
Fichier Source:mod_ext_filter.c
+

Sommaire

+ +

mod_ext_filter représente un modèle de + programmation simple et bien connu pour les filtres. Avec ce module, tout programme + qui lit l'entrée standard stdin et écrit sur la sortie standard + stdout (autrement dit une commande filtre de style Unix) peut + servir de filtre pour Apache. Ce mécanisme de filtrage est beaucoup + plus lent qu'un filtre spécialement écrit pour + l'API d'Apache et faisant partie intégrante du processus du serveur + Apache, mais il présente les avantages suivants :

+ +
    +
  • le modèle de programmation est beaucoup plus simple
  • + +
  • tout langage de script ou de programmation peut être utilisé, + pourvu qu'il permette au programme de lire l'entrée standard et + d'écrire sur la sortie standard.
  • + +
  • on peut utiliser des programmes existants comme filtres Apache + sans modification.
  • +
+ +

Même dans le cas où le niveau de performance est insuffisant pour + une utilisation en production, on peut utiliser + mod_ext_filter comme prototype d'environnement pour + les filtres.

+ +
+ +
top
+
+

Exemples

+ +

Générer du HTML à partir d'un autre type de + contenu

+ +
# la directive de mod_ext_filter définissant un filtre
+# permettant de mettre des fichiers text/c au format HTML en
+# utilisant le programme externe /usr/bin/enscript, le type du
+# fichier résultant étant défini à text/html
+ExtFilterDefine c-to-html mode=output \
+    intype=text/c outtype=text/html \
+    cmd="/usr/bin/enscript --color -w html -Ec -o -"
+
+<Directory "/export/home/trawick/apacheinst/htdocs/c">
+    # directive de base permettant de traiter la sortie avec le
+    # nouveau filtre
+    SetOutputFilter c-to-html
+
+    # directive de mod_mime définissant le type des fichiers dont
+    # le nom possède l'extension .c à text/c
+    AddType text/c .c
+</Directory>
+ + + +

Implémentation d'un filtre de codage de + contenu

+

Note : cet exemple avec gzip n'est fourni qu'à titre + d'illustration. Veuillez vous reporter à la documentation de + mod_deflate pour un exemple d'implémentation plus + pratique.

+ +
# la directive de mod_ext_filter qui définit le filtre externe
+ExtFilterDefine gzip mode=output cmd=/bin/gzip
+
+<Location "/gzipped">
+
+    # directive de base permettant de traiter la sortie avec le
+  # filtre gzip
+    SetOutputFilter gzip
+
+    # la directive de mod_headers permettant d'ajouter le champ
+  # d'en-tête "Content-Encoding: gzip"
+    Header set Content-Encoding gzip
+</Location>
+ + + + +

Ralentissement du serveur

+
# directive de mod_ext_filter définissant un filtre qui fait
+# passer tous les flux en sortie par la commande cat ; cat ne
+# modifie rien ; elle ne fait que compliquer le cheminement des
+# flux et consommer des ressources supplémentaires
+       ExtFilterDefine slowdown mode=output cmd=/bin/cat \
+ExtFilterDefine slowdown mode=output cmd=/bin/cat \
+    preservescontentlength
+
+<Location "/">
+    # directive de base permettant de traiter plusieurs fois la
+    # sortie avec le filtre slowdown
+    #
+    SetOutputFilter slowdown;slowdown;slowdown
+</Location>
+ + + +

Utilisation de sed pour remplacer du texte dans la + réponse

+ +
# directive de mod_ext_filter définissant un filtre qui
+# remplace du texte dans la réponse
+#
+ExtFilterDefine fixtext mode=output intype=text/html \
+    cmd="/bin/sed s/verdana/arial/g"
+
+<Location "/">
+    # directive de base permettant de traiter la sortie avec le
+    # filtre fixtext
+    SetOutputFilter fixtext
+</Location>
+ + +
+

Vous pouvez aussi utiliser mod_substitute pour +effectuer le même traitement sans avoir à invoquer un programme +externe.

+
+ + + +

Tracer un autre filtre

+
# Trace les données lues et écrites par mod_deflate pour un
+# client particulier (IP 192.168.1.31) qui a des problèmes de
+# compression.
+# Ce premier filtre va tracer ce qui entre dans mod_deflate.
+ExtFilterDefine tracebefore \
+    cmd="/bin/tracefilter.pl /tmp/tracebefore" \
+    EnableEnv=trace_this_client
+
+# Ce second filtre va tracer ce qui sort de mod_deflate.
+# Notez que sans le paramètre ftype, le type de filtre par
+# défaut AP_FTYPE_RESOURCE placerait le filtre *avant*
+# mod_deflate dans la chaîne de filtrage. Le fait d'affecter
+# à ce paramètre une valeur numérique sensiblement supérieure à
+# AP_FTYPE_CONTENT_SET permet de s'assurer que le filtre sera
+# placé après mod_deflate.
+ExtFilterDefine traceafter \
+    cmd="/bin/tracefilter.pl /tmp/traceafter" \
+    EnableEnv=trace_this_client ftype=21
+
+<Directory "/usr/local/docs">
+    SetEnvIf Remote_Addr 192.168.1.31 trace_this_client
+    SetOutputFilter tracebefore;deflate;traceafter
+</Directory>
+ + +

Voici le filtre qui trace les données :

#!/usr/local/bin/perl -w
+use strict;
+
+open(SAVE, ">$ARGV[0]")
+    or die "can't open $ARGV[0]: $?";
+
+while (<STDIN>) {
+    print SAVE $_;
+    print $_;
+}
+
+close(SAVE);
+
+ +
+
top
+

Directive ExtFilterDefine

+ + + + + + +
Description:Définit un filtre externe
Syntaxe:ExtFilterDefine nom_filtre paramètres
Contexte:configuration globale
Statut:Extension
Module:mod_ext_filter
+

La directive ExtFilterDefine + définit les caractéristiques d'un filtre externe, et en particulier + le programme à exécuter ainsi que ses arguments.

+ +

nom_filtre spécifie le nom du filtre en cours de + définition. On peut ensuite utiliser ce nom pour référencer le + filtre dans les directives SetOutputFilter. Il doit être unique parmi les noms de + tous les filtres enregistrés. Pour le moment, aucune erreur + n'est signalée par l'API register-filter, si bien qu'un problème de + noms dupliqués ne sera pas porté à la connaissance de + l'utilisateur.

+ +

Viennent ensuite un ou plusieurs paramètres dans un ordre + indéfini, qui permettent de spécifier la commande externe à exécuter + et certaines autres caractéristiques. Le seul paramètre obligatoire + est cmd=. Voici la liste de ces paramètres :

+ +
+
cmd=ligne de commande
+ +
Le mot-clé cmd= spécifie la commande + externe à exécuter. Si la ligne de commande comporte des + arguments, elle doit être entourée de guillemets (par exemple + cmd="/bin/mypgm arg1 + arg2"). Les guillemets habituels du shell ne + sont pas nécessaires car le programme est lancé directement, sans + passer par le shell. Les arguments du programme doivent être + séparés par des espaces. Si un argument contient des espaces, ces + derniers doivent être échappés par un antislash '\'. Si un + argument contient des antislashes '\', ces derniers doivent être + eux-mêmes échappés par un antislash '\'. Outre les variables + d'environnement CGI standards, les variables DOCUMENT_URI, + DOCUMENT_PATH_INFO, et QUERY_STRING_UNESCAPED seront également + définies pour le programme.
+ +
mode=mode
+ +
Utilisez mode=output (valeur par défaut) pour les + filtres qui traitent les réponses. Utilisez + mode=input pour les filtres qui traitent les + requêtes. mode=input est disponible depuis la version + 2.1 d'Apache.
+ +
intype=type MIME
+ +
Ce paramètre spécifie le type de médium Internet + (c'est à dire le type MIME) des documents qui doivent être + filtrés. Par défaut, tous les documents sont filtrés. Aucun des + documents possédant un type MIME autre que celui spécifié par + intype= ne sera filtré.
+ +
outtype=type MIME
+ +
Ce paramètre spécifie le type de médium Internet + (c'est à dire le type MIME) des documents filtrés. Il intervient + lorsque les opérations de filtrage comprennent une modification du + type MIME. Par défaut, le type MIME n'est pas modifié.
+ +
PreservesContentLength
+ +
Le mot-clé PreservesContentLength indique que le + filtre doit conserver la taille du contenu. Ce n'est pas le + comportement par défaut, car la plupart des filtres modifient cette + taille. Ce mot-clé doit être spécifié si le filtre ne doit pas + modifier la taille du contenu.
+ +
ftype=type de filtre
+ +
Ce paramètre spécifie une valeur numérique + représentant le type de filtre sous lequel le filtre doit être + enregistré. La valeur par défaut, AP_FTYPE_RESOURCE, convient dans + la plupart des situations. Ce paramètre devient nécessaire dès lors + que le filtre doit opérer à un autre point de la chaîne de filtrage + que les filtres de ressources. + Voir les définitions de AP_FTYPE_... + dans util_filter.h pour trouver une valeur appropriée.
+ +
disableenv=env
+ +
Ce paramètre spécifie le nom d'une variable + d'environnement qui, si elle est définie, va désactiver le + filtre.
+ +
enableenv=env
+ +
Ce paramètre spécifie le nom d'une variable + d'environnement qui doit être définie pour que le filtre ne soit + pas désactivé.
+
+ +
+
top
+

Directive ExtFilterOptions

+ + + + + + + +
Description:Configure les options de +mod_ext_filter
Syntaxe:ExtFilterOptions option [option] ...
Défaut:ExtFilterOptions NoLogStderr
Contexte:répertoire
Statut:Extension
Module:mod_ext_filter
+

La directive ExtFilterOptions + spécifie des options de traitement particulières pour + mod_ext_filter. Les arguments option + peuvent contenir :

+ +
+
LogStderr | NoLogStderr
+ +
Le mot-clé LogStderr indique que les messages + envoyés par le programme de filtrage externe sur la sortie + d'erreurs standard doivent être enregistrés dans le journal des + erreurs d'Apache. NoLogStderr inverse ce + comportement.
+ +
Onfail=[abort|remove]
+
Indique la marche à suivre si le programme de filtrage externe + ne peut pas démarrer. Avec abort (la valeur par + défaut), le traitement de la requête sera abandonné. Avec remove, le + filtre est supprimé, et le traitement de la requête se poursuit + sans lui.
+
+ +
ExtFilterOptions LogStderr
+ + +

Les messages envoyés vers la sortie d'erreurs standard du filtre + seront enregistrés dans le journal des erreurs d'Apache.

+ +
+
+
+

Langues Disponibles:  en  | + 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 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 Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file -- cgit v1.2.3