Commit 75bfe011 authored by Lucien Gentis's avatar Lucien Gentis
Browse files

Rebuild.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1811666 13f79535-47bb-0310-9956-ffa450edef68
parent 52791392
Loading
Loading
Loading
Loading
+99 −32
Original line number Diff line number Diff line
@@ -26,8 +26,6 @@
<p><span>Langues Disponibles: </span><a href="./en/expr.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
<a href="./fr/expr.html" title="Franais">&nbsp;fr&nbsp;</a></p>
</div>
<div class="outofdate">Cette traduction peut tre prime. Vrifiez la version
            anglaise pour les changements rcents.</div>

    <p>Historiquement, il existe de nombreuses variantes dans la syntaxe
    des expressions permettant d'exprimer une condition dans les
@@ -61,28 +59,42 @@
      (souvent abrge en BNF, de l'anglais Backus-Naur Form) est une notation permettant de dcrire
      les rgles syntaxiques des langages de programmation. En
      gnral, les expressions reprsentent des valeurs boolennes. Dans
      ce cas, le point de dpart de la BNF est <code>expr</code>.
      Cependant, certaines directives comme <code class="directive"><a href="./mod/mod_log_debug.html#logmessage">LogMessage</a></code> utilisent comme
      ce cas, le point de dpart de la BNF est <code>cond</code>.
      Les directives comme
      <code class="directive"><a href="./mod/core.html#errordocument">ErrorDocument</a></code>,
      <code class="directive"><a href="./mod/mod_authz_core.html#require">Require</a></code>,
      <code class="directive"><a href="./mod/mod_authn_core.html#authname">AuthName</a></code>,
      <code class="directive"><a href="./mod/mod_alias.html#redirect">Redirect</a></code>,
      <code class="directive"><a href="./mod/mod_headers.html#header">Header</a></code>,
      <code class="directive"><a href="./mod/mod_crypto.html#cryptokey">CryptoKey</a></code> ou
      <code class="directive"><a href="./mod/mod_log_debug.html#logmessage">LogMessage</a></code> utilisent comme
      paramtres des expressions qui reprsentent des chanes de
      caractres. Dans ce cas, le point de dpart de la BNF est
      <code>string</code>.
      </p>
<blockquote>
<pre>expr        ::= "<strong>true</strong>" | "<strong>false</strong>"
              | "<strong>!</strong>" expr
              | expr "<strong>&amp;&amp;</strong>" expr
              | expr "<strong>||</strong>" expr
              | "<strong>(</strong>" expr "<strong>)</strong>"
<pre>expr        ::= cond
              | string

string      ::= substring
              | string substring

cond        ::= "<strong>true</strong>" 
              | "<strong>false</strong>"
              | "<strong>!</strong>" cond
              | cond "<strong>&amp;&amp;</strong>" cond
              | cond "<strong>||</strong>" cond
              | comp
	      | "<strong>(</strong>" cond "<strong>)</strong>"

comp        ::= stringcomp
              | integercomp
              | unaryop word
              | word binaryop word
              | word "<strong>in</strong>" "<strong>{</strong>" wordlist "<strong>}</strong>"
              | word "<strong>in</strong>" listfunction
              | word "<strong>in</strong>" listfunc
              | word "<strong>=~</strong>" regex
              | word "<strong>!~</strong>" regex
	      | word "<strong>in</strong>" "<strong>{</strong>" list "<strong>}</strong>"


stringcomp  ::= word "<strong>==</strong>" word
@@ -99,35 +111,65 @@ integercomp ::= word "<strong>-eq</strong>" word | word "<strong>eq</strong>" wo
              | word "<strong>-gt</strong>" word | word "<strong>gt</strong>" word
              | word "<strong>-ge</strong>" word | word "<strong>ge</strong>" word

wordlist    ::= word
              | wordlist "<strong>,</strong>" word

word        ::= word "<strong>.</strong>" word
              | digit
word        ::= digits
              | "<strong>'</strong>" string "<strong>'</strong>"
              | "<strong>"</strong>" string "<strong>"</strong>"
              | '<strong>"</strong>' string '<strong>"</strong>'
              | word "<strong>.</strong>" word
              | variable
	      | rebackref
	      | sub
              | join
              | function
	      | "<strong>(</strong>" word "<strong>)</strong>"

string      ::= stringpart
              | string stringpart
list        ::= split
              | listfunc
              | "<strong>{</strong>" words "<strong>}</strong>"
              | "<strong>(</strong>" list "<strong>)</strong>"

stringpart  ::= cstring
substring   ::= cstring
              | variable
	      | rebackref

cstring     ::= ...
digit       ::= [0-9]+

variable    ::= "<strong>%{</strong>" varname "<strong>}</strong>"
              | "<strong>%{</strong>" funcname "<strong>:</strong>" funcargs "<strong>}</strong>"
	      | "<strong>%{:</strong>" word "<strong>:}</strong>"
              | "<strong>%{:</strong>" cond "<strong>:}</strong>"
              | rebackref

sub         ::= "<strong>sub</strong>" ["<strong>(</strong>"] regsub "<strong>,</strong>" word ["<strong>)</strong>"]

join        ::= "<strong>join</strong>" ["<strong>(</strong>"] list ["<strong>)</strong>"]
              | "<strong>join</strong>" ["<strong>(</strong>"] list "<strong>,</strong>" word ["<strong>)</strong>"]

split       ::= "<strong>split</strong>" ["<strong>(</strong>"] regany "<strong>,</strong>" list ["<strong>)</strong>"]
              | "<strong>split</strong>" ["<strong>(</strong>"] regany "<strong>,</strong>" word ["<strong>)</strong>"]

function    ::= funcname "<strong>(</strong>" words "<strong>)</strong>"

rebackref   ::= "<strong>$</strong>" [0-9]
listfunc    ::= listfuncname "<strong>(</strong>" words "<strong>)</strong>"

function     ::= funcname "<strong>(</strong>" wordlist "<strong>)</strong>"
words       ::= word
              | word "<strong>,</strong>" list

listfunction ::= listfuncname "<strong>(</strong>" word "<strong>)</strong>"</pre>
regex       ::= "<strong>/</strong>" regpattern "<strong>/</strong>" [regflags]
              | "<strong>m</strong>" regsep regpattern regsep [regflags]

regsub      ::= "<strong>s</strong>" regsep regpattern regsep string regsep [regflags]

regany      ::= regex | regsub

regsep      ::= "/" | "#" | "$" | "%" | "^" | "|" | "?" | "!" | "'" | '"' | "," | ";" | ":" | "." | "_" | "-"

regflags    ::= 1*("i" | "s" | "m" | "g")
regpattern  ::= cstring ; except enclosing <em>regsep</em>

rebackref   ::= "<strong>$</strong>" DIGIT

digits      ::= 1*(DIGIT)
cstring     ::= 0*(TEXT)

TEXT        ::= &lt;any OCTET except CTLs&gt;
DIGIT       ::= &lt;any US-ASCII digit "0".."9"&gt;</pre>
</blockquote>
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
@@ -303,6 +345,22 @@ listfunction ::= listfuncname "<strong>(</strong>" word "<strong>)</strong>"</pr
    <p>Certains modules, comme <code class="module"><a href="./mod/mod_ssl.html">mod_ssl</a></code>, dfinissent des
    variables supplmentaires.</p>

    <p>Toute variable peut tre insre dans une <em>chane</em>, et ceci non
    seulement dans les chanes entre quotes des expressions boolennes, mais
    aussi dans les expressions littrales issues de la concatnation de chanes
    constantes et dynamiques.</p>

    <p>On peut utiliser ici les variables (temporaires) du style
    <code>%{:<em>word</em>:}</code> qui permettent d'insrer dans les deux types
    d'expressions des variables (et des constructions) avec la syntaxe puissante
    <em>word</em> sans entrer en conflit avec les parties constantes de telles
    chanes. Mme si la syntaxe <em>word</em> est directement utilisable au sein
    des expressions boolennes, ces variables sont cependant surtout utiles dans
    les expressions littrales. Ces variables permettent d'valuer des
    expressions rationnelles, des substitutions, de concatner ou dissocier des
    chanes et des listes au sein des expressions littrales, et donc de
    construire des chanes complexes dynamiquement.</p>

</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
<h2><a name="binop" id="binop">Oprateurs binaires</a></h2>
@@ -555,8 +613,8 @@ listfunction ::= listfuncname "<strong>(</strong>" word "<strong>)</strong>"</pr

    <p>En plus des fonctions dont la valeur est une chane, il existe
    aussi des fonctions dont la valeur est une liste, qui acceptent une
    chane comme argument, et renvoient une liste de mots, autrement dit
    une liste de chanes. La liste de mot peut tre utilise avec
    chane comme argument, et renvoient une liste , par exemple
    une liste de chanes. La liste peut tre utilise avec
    l'oprateur spcial <code>-in</code>. Les noms de fonctions sont
    insensibles  la casse. Les modules peuvent fournir des fonctions
    supplmentaires.</p>
@@ -627,13 +685,22 @@ listfunction ::= listfuncname "<strong>(</strong>" word "<strong>)</strong>"</pr
&lt;/If&gt;


# Function example in string context
# Exemple de fonction dans un contexte littral
Header set foo-checksum "expr=%{md5:foo}"

# L'exemple suivant retarde l'valuation de la clause de condition par rapport 
# &lt;If&gt;
Header always set CustomHeader my-value "expr=%{REQUEST_URI} =~
m#^/special_path\.php$#"</pre>
m#^/special_path\.php$#"

# Ajoute un en-tte permettant d'acheminer le SAN du certificat d'un client vers
# un quelconque serveur d'arrire-plan
RequestHeader set X-Client-SAN "expr=%{:join PeerExtList('subjectAltName'):}"

# Impose la prsence de l'adresse IP distante dans le SAN du certificat d'un client
Require expr %{REMOTE_ADDR} -in split s/.*?IP Address:([^,]+)/$1/, PeerExtList('subjectAltName')
# autre solution :
Require expr "IP Address:%{REMOTE_ADDR}" -in split/, /, join PeerExtList('subjectAltName')</pre>

</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
@@ -643,7 +710,7 @@ m#^/special_path\.php$#"</pre>
    <table class="bordered"><tr class="header"><th>Nom</th><th>Alternative</th> <th>Description</th></tr>
<tr><td><code>-in</code></td>
        <td><code>in</code></td>
        <td>chane contenue dans une liste de mots</td></tr>
        <td>chane contenue dans une liste</td></tr>
<tr class="odd"><td><code>/regexp/</code></td>
        <td><code>m#regexp#</code></td>
        <td>Expression rationnelle (la seconde forme permet de spcifier
+1 −1
Original line number Diff line number Diff line
@@ -8,6 +8,6 @@

  <variants>
    <variant>en</variant>
    <variant outdated="yes">fr</variant>
    <variant>fr</variant>
  </variants>
</metafile>
+8 −2
Original line number Diff line number Diff line
@@ -30,8 +30,6 @@
<a href="../fr/mod/mod_proxy.html" title="Franais">&nbsp;fr&nbsp;</a> |
<a href="../ja/mod/mod_proxy.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a></p>
</div>
<div class="outofdate">Cette traduction peut tre prime. Vrifiez la version
            anglaise pour les changements rcents.</div>
<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Serveur mandataire/passerelle multi-protocole</td></tr>
<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
<tr><th><a href="module-dict.html#ModuleIdentifier">IdentificateurdeModule:</a></th><td>proxy_module</td></tr>
@@ -351,6 +349,14 @@ ProxyPass "/examples" "http://backend.example.com/examples" timeout=10</pre>

      </div> 

      <div class="warning"><h3>Nom d'hte dans l'URL</h3>
        <p>Le nom d'hte doit commencer par une lettre [a-z]. Par exemple :</p>
        <pre class="prettyprint lang-config">ProxyPass "/apps"     "http://127"</pre>

        <p>n'est pas valide et provoquera une erreur si une requte correspond
	au chemin.</p>
      </div>

      <p>Les workers dfinis explicitement sont de deux sortes :
      <dfn>workers directs</dfn> et <dfn>workers de rpartition (de
      charge)</dfn>. Ils supportent de nombreux attributs de
+1 −1
Original line number Diff line number Diff line
@@ -8,7 +8,7 @@

  <variants>
    <variant>en</variant>
    <variant outdated="yes">fr</variant>
    <variant>fr</variant>
    <variant outdated="yes">ja</variant>
  </variants>
</metafile>