| <?xml version="1.0" encoding="UTF-8"?> | |
| <!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd"> | |
| <?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?> | |
| <!-- English Revision: 1933850 --> | |
| <!-- French translation : Lucien GENTIS --> | |
| <!-- | |
| Licensed to the Apache Software Foundation (ASF) under one or more | |
| contributor license agreements. See the NOTICE file distributed with | |
| this work for additional information regarding copyright ownership. | |
| The ASF licenses this file to You under the Apache License, Version 2.0 | |
| (the "License"); you may not use this file except in compliance with | |
| the License. You may obtain a copy of the License at | |
| http://www.apache.org/licenses/LICENSE-2.0 | |
| Unless required by applicable law or agreed to in writing, software | |
| distributed under the License is distributed on an "AS IS" BASIS, | |
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
| See the License for the specific language governing permissions and | |
| limitations under the License. | |
| --> | |
| <modulesynopsis metafile="mod_proxy_html.xml.meta"> | |
| <name>mod_proxy_html</name> | |
| <description>Réécrit les liens HTML afin de s'assurer qu'ils soient bien | |
| adressables depuis les réseaux des clients dans un contexte de | |
| mandataire.</description> | |
| <status>Base</status> | |
| <sourcefile>mod_proxy_html.c</sourcefile> | |
| <identifier>proxy_html_module</identifier> | |
| <compatibility>Disponible depuis la version 2.4 du serveur HTTP Apache.</compatibility> | |
| <summary> | |
| <p>Ce module fournit un filtre en sortie permettant de réécrire les liens | |
| HTML dans un contexte de mandataire, afin de s'assurer que ces liens | |
| fonctionnent pour les utilisateurs en dehors du mandataire. Il accomplit la | |
| même tâche que la directive <directive | |
| module="mod_proxy">ProxyPassReverse</directive> d'Apache accomplit pour les | |
| en-têtes HTTP, et fait partie des composants essentiels d'un mandataire | |
| inverse.</p> | |
| <p>Par exemple, si une entreprise possède un serveur d'applications | |
| nommé appserver.example.com qui n'est visible que depuis son réseau | |
| interne, et un serveur web public <code>www.example.com</code>, il peut | |
| être souhaitable de fournir une passerelle vers le serveur d'application | |
| à l'adresse <code>http://www.example.com/appserver/</code>. Lorsque le | |
| serveur d'applications présente un lien vers lui-même, ce lien doit être | |
| réécrit pour fonctionner à travers la passerelle. A cet effet, | |
| <module>mod_proxy_html</module> permet de réécrire <code><a | |
| href="http://appserver.example.com/foo/bar.html">foobar</a></code> | |
| en <code><a | |
| href="http://www.example.com/appserver/foo/bar.html">foobar</a></code>, | |
| ce qui permet de rendre le serveur d'applications accessible depuis | |
| l'extérieur.</p> | |
| </summary> | |
| <section id="intro"><title>Introduction</title> | |
| <p>mod_proxy_html est apparu en tant que module tiers avec les versions 2.0.x du | |
| serveur HTTP Apache. Il a ensuite été donné à l'ASF en 2011 avec le module | |
| <module>mod_xml2enc</module> (voir <a href="#i18n">Internationalisation</a>), et | |
| fait maintenant partie des modules standards de HTTPD 2.4 et de ses versions de | |
| développement.</p> | |
| </section> | |
| <section id="custom"><title>Interprétation HTML personnalisée</title> | |
| <p>mod_proxy_html utilise en interne le module HTMLParser fourni par la | |
| bibliothèque tierce <a href="http://xmlsoft.org/">libxml2</a>. A la différence | |
| des autres interpréteurs libxml2, HTMLParser traite les documents HTML sans | |
| imposer à ces derniers d'être bien formés du point de vue XML. En particulier, | |
| il sait gérer les tags implicites - comme le </p> fermant - et les insère | |
| dans le flux des évènements SAX utilisé par mod_proxy_html. Il possède aussi une | |
| connaissance explicite des standards HTML 4 et XHTML 1 du W3C, et peut en | |
| corriger certaines erreurs.</p> | |
| <p>mod_proxy_html offre toute une panoplie d'options permettant de contrôler | |
| l'interprétation du code HTML. La correction d'erreur peut être activée (selon | |
| votre choix de standard HTML) ou désactivée via la directive | |
| <directive>ProxyHTMLDocType</directive>. Et à la demande générale, il peut être | |
| configuré pour traiter les éléments et attributs non standards en tant que liens | |
| qui devront peut-être être réécrits, et pour réécrire les liens dans les contenus | |
| embarqués non-HTML (feuilles de style et scripts). Notez que ce module ne | |
| convient pas pour traiter les feuilles de style ou scripts externes ; pour ces | |
| derniers, vous devez utiliser un autre interpréteur comme | |
| <module>mod_substitute</module> ou <module>mod_sed</module>. Les principales | |
| directives permettant de personnaliser l'interprétation du code HTML sont | |
| <directive>ProxyHTMLLinks</directive> et <directive>ProxyHTMLEvents</directive>. | |
| Par défaut, elles sont définies dans le fichier de configuration | |
| <var>proxy-html.conf</var> qui contient aussi des commentaires pour vous aider à | |
| personnaliser votre interpréteur si nécessaire. </p> | |
| <note>Pour des raisons historiques, configurer mod_proxy_html pour réécrire les | |
| URLs dans les évènements de scripting n'entraîne pas par défaut la réécriture des | |
| URLs dans les feuilles de style. Ce comportement peut être modifié en | |
| décommentant la ligne correspondante du fichier <var>proxy-html.conf</var> comme | |
| indiqué dans la documentation que contient ce dernier.</note> | |
| </section> | |
| <section id="i18n"><title>Internationalisation</title> | |
| <p>mod_proxy_html utilise en interne un interpréteur HTML intelligent fourni par | |
| la bibliothèque tierce <a href="http://xmlsoft.org/">libxml2</a>. L'interpréteur | |
| utilise Unicode (UTF-8) en interne. Ceci complexifie la gestion | |
| des autres encodages nécessaires pour traiter de nombreux sites web dont le | |
| langage est autre que l'anglais. Si ce traitement n'est pas effectué | |
| de manière appropriée, les sites web qui utilisent des caractères non-ASCII dans un | |
| codage autre que UTF-8 (Unicode) ne s'afficheront pas correctement.</p> | |
| <p>Entre sa première version en 2003 et sa donnation à Apache en 2011, le | |
| support de l'internationalisation (i18n) est parti de rien pour arriver à une | |
| structure sophistiquée capable d'appliquer des règles issues de HTTP, HTML et | |
| XML pour détecter le codage d'un document et ainsi le traiter correctement. Ce | |
| traitement était cependant commun à mod_proxy_html et à d'autres modules | |
| utilisant libxml2, et plutôt que de le maintenir au niveau de chacun de ces | |
| modules, il parut sensé de l'extraire de ces derniers pour en faire | |
| un module à part entière. Ce module est <module>mod_xml2enc</module> et il doit | |
| être chargé pour que l'internationalisation fonctionne.</p> | |
| <p>L'interaction entre mod_proxy_html et mod_xml2enc est trop complexe pour être | |
| configurée en utilisant les règles de filtrage classiques, y compris les | |
| directives de <module>mod_filter</module>. Ainsi, même si mod_proxy_html peut | |
| quand-même être configuré via les directives de filtrage classiques, ce ne sera | |
| pas suffisant pour le support de l'internationalisation. A cet effet, on a | |
| introduit la nouvelle directive <directive>ProxyHTMLEnable</directive> qui | |
| permet de configurer à la fois le filtre de mod_proxy_html et mod_xml2enc. Il | |
| est d'ailleurs recommandé de toujours utiliser ProxyHTMLEnable, même | |
| si le support de l'internationalisation n'est pas nécessaire.</p> | |
| <note>Ceci constitue un changement par rapport aux précédentes versions où | |
| mod_proxy_html était activé via les directives de filtrage.</note> | |
| </section> | |
| <directivesynopsis> | |
| <name>ProxyHTMLMeta</name> | |
| <description>Active ou désactive une préinterprétation supplémentaire | |
| des métadonnées dans les sections HTML <code><head></code>.</description> | |
| <syntax>ProxyHTMLMeta On|Off</syntax> | |
| <default>ProxyHTMLMeta Off</default> | |
| <contextlist><context>server config</context> | |
| <context>virtual host</context><context>directory</context> | |
| </contextlist> | |
| <compatibility>Disponible à partir de la version 2.4 du serveur HTTP | |
| Apache ; proposé en tant que module tiers dans les versions 2.x | |
| précédentes.</compatibility> | |
| <usage> | |
| <note> | |
| <p>Dans les versions précédentes de mod_proxy_html (y compris celles de | |
| HTTPD 2.0 et 2.2), ProxyHTMLMeta faisait partie du support i18n. Cette | |
| fonctionnalité est maintenant assurée par le module | |
| <module>mod_xml2enc</module>, et ProxyHTMLMeta n'est à l'heure actuelle | |
| plus utile dans le cadre d'un serveur opérationnel ; elle peut cependant | |
| aider les développeurs à tester/déboguer des logiciels tels que les | |
| navigateurs.</p> | |
| </note> | |
| <p>Cette directive permet d'activer ou désactiver une | |
| préinterprétation supplémentaire des métadonnées dans les sections | |
| HTML <code><head></code>.</p> | |
| <p>L'activation de <directive>ProxyHTMLMeta</directive> va entraîner | |
| l'interprétation de toutes les déclarations | |
| <code><meta http-equiv=...></code> et leur conversion en | |
| en-têtes HTTP, afin de conserver le but original de cette forme | |
| de métaélément HTML.</p> | |
| <note type="warning"><title>Avertissement</title> Compte tenu du fait que la | |
| directive ProxyHTMLMeta promeut <strong>tous</strong> les éléments | |
| <code>http-equiv</code> au rang d'en-têtes HTTP, il est conseillé de ne | |
| l'activer que si vous faites autant confiance au contenu HTML qu'à votre | |
| serveur mandataire. Avec cette directive en effet, si ce contenu est géré | |
| par des gens malintentionnés, ces derniers seront en mesure d'injecter des | |
| en-têtes HTTP arbitraires et peut-être malveillants dans les réponses de | |
| votre serveur. | |
| </note> | |
| </usage> | |
| </directivesynopsis> | |
| <directivesynopsis> | |
| <name>ProxyHTMLEnable</name> | |
| <description>Permet d'activer/désactiver le filtre proxy_html.</description> | |
| <syntax>ProxyHTMLEnable On|Off</syntax> | |
| <default>ProxyHTMLEnable Off</default> | |
| <contextlist><context>server config</context> | |
| <context>virtual host</context><context>directory</context> | |
| </contextlist> | |
| <compatibility>Disponible depuis la version 2.4 du serveur HTTP Apache. | |
| Disponible en tant que module tiers dans les versions 2.x antérieures.</compatibility> | |
| <usage> | |
| <p>Cette directive est un simple commutateur permettant | |
| d'activer/désactiver le filtre proxy_html. Si | |
| <module>mod_xml2enc</module> est chargé, elle va aussi activer | |
| automatiquement le support de l'internationalisation.</p> | |
| <p>Notez que le filtre proxy_html s'agira que si les données sont de | |
| type HTML (Content-Type text/html ou application/xhtml+xml), et si | |
| elles passent par un mandataire. Vous pouvez passer outre ces | |
| contraintes (à vos risques et périls) en définissant la variable | |
| d'environnement <var>PROXY_HTML_FORCE</var>.</p> | |
| </usage> | |
| </directivesynopsis> | |
| <directivesynopsis> | |
| <name>ProxyHTMLURLMap</name> | |
| <description>Définit une règle de réécriture des liens HTML</description> | |
| <syntax>ProxyHTMLURLMap <var>modèle-source modèle-cible [drapeaux] [cond]</var></syntax> | |
| <contextlist><context>server config</context> | |
| <context>virtual host</context><context>directory</context> | |
| </contextlist> | |
| <compatibility>Disponible depuis la version 2.4 du serveur HTTP Apache. | |
| Disponible en tant que module tiers dans les versions 2.x antérieures.</compatibility> | |
| <usage> | |
| <p>Il s'agit de la directive la plus importante pour la réécriture des | |
| liens HTML. Lors de l'interprétation d'un document, chaque fois qu'un | |
| lien correspond à <var>modèle-source</var>, la partie du lien concernée | |
| sera réécrite en <var>modèle-cible</var>, en tenant compte des | |
| modifications induites par les drapeaux éventuellement spécifiés et par | |
| la directive <directive module="mod_proxy_html">ProxyHTMLExtended</directive>. | |
| Ne seront considérés comme des liens HTML que les éléments spécifiés via la | |
| directive <directive module="mod_proxy_html">ProxyHTMLLinks</directive>.</p> | |
| <p>Le troisième argument optionnel permet de définir un des drapeaux | |
| suivants (les drapeaux sont sensibles à la casse) :</p> | |
| <dl> | |
| <dt>h</dt> | |
| <dd><p>Ignore les liens HTML (les traverse sans les modifier)</p></dd> | |
| <dt>e</dt> | |
| <dd><p>Ignore les évènements de scripting (les traverse sans les | |
| modifier)</p></dd> | |
| <dt>c</dt> | |
| <dd><p>Traverse les sections de type style ou script sans les modifier.</p></dd> | |
| <dt>L</dt> | |
| <dd><p>Last-match. Si cette règle s'applique, aucune autre règle ne sera | |
| prise en compte (notez qu'il s'agit du comportement automatique pour les | |
| liens HTML).</p></dd> | |
| <dt>l</dt> | |
| <dd><p>L'opposé de L. Passe outre le comportement par défaut du | |
| changement unique pour les liens HTML.</p></dd> | |
| <dt>R</dt> | |
| <dd><p>Utilise des expressions rationnelles pour les modèles. | |
| <code>modèle-source</code> est une expression rationnelle, et | |
| <code>modèle-cible</code> une chaîne de remplacement qui peut être basée | |
| elle aussi sur une expression rationnelle. La mémorisation dans les | |
| expressions rationnelles est supportée : vous pouvez utiliser des | |
| parenthèses () dans le <code>modèle-source</code>, et récupérer la | |
| correspondance de leur contenu via les variables $1 à $9 dans le | |
| <code>modèle-cible</code>.</p> | |
| <p>Si le drapeau R n'est pas fourni, la directive utilisera des chaînes | |
| littérales pour les différents modèles de recherche/remplacement. La | |
| logique de recherche est <em>"commence par"</em> dans les liens HTML, et | |
| <em>"contient"</em> dans les évènements de scripting et les sections de | |
| type style ou script. | |
| </p> | |
| </dd> | |
| <dt>x</dt> | |
| <dd><p>Utilise les expressions rationnelles étendues POSIX. Ne | |
| s'applique qu'avec R.</p></dd> | |
| <dt>i</dt> | |
| <dd><p>Recherche de correspondance sensible à la casse. Ne | |
| s'applique qu'avec R.</p></dd> | |
| <dt>n</dt> | |
| <dd><p>Désactive la mémorisation dans les expressions rationnelles (pour | |
| améliorer les performances). Ne s'applique qu'avec R.</p></dd> | |
| <dt>s</dt> | |
| <dd><p>Recherche de correspondance dans les expressions rationnelles | |
| basée sur la ligne. Ne s'applique qu'avec R.</p></dd> | |
| <dt>^</dt> | |
| <dd><p>Recherche de correspondance au début seulement. Ne concerne que | |
| les recherches de correspondance par rapport à des chaînes, et ne | |
| s'applique pas aux liens HTML.</p></dd> | |
| <dt>$</dt> | |
| <dd><p>Recherche de correspondance à la fin seulement. Ne concerne que | |
| les recherches de correspondance par rapport à des chaînes, et ne | |
| s'applique pas aux liens HTML.</p></dd> | |
| <dt>V</dt> | |
| <dd><p>Insère des variables d'environnement dans le | |
| <code>modèle-cible</code>. Un <code>modèle-cible</code> de la forme | |
| <code>${varname|default}</code> sera remplacé par la valeur de la | |
| variable d'environnement <code>varname</code>. Si cette dernière n'est | |
| pas définie, <code>modèle-cible</code> sera remplacé par | |
| <code>default</code>. La spécification de <code>|default</code> est | |
| facultative.</p> | |
| <p>NOTE: l'insertion de variables d'environnement n'est possible que si | |
| la directive <directive module="mod_proxy_html">ProxyHTMLInterp</directive> a été définie à | |
| <var>On</var>.</p> | |
| </dd> | |
| <dt>v</dt> | |
| <dd><p>Insère des variables d'environnement dans le | |
| <code>modèle-source</code>. La syntaxe du modèle est identique à la | |
| syntaxe précédente.</p> | |
| <p>NOTE: l'insertion de variables d'environnement n'est possible que si | |
| la directive <directive module="mod_proxy_html">ProxyHTMLInterp</directive> a été définie à | |
| <var>On</var>.</p> | |
| </dd> | |
| </dl> | |
| <p>Le quatrième argument optionnel <strong>cond</strong> définit une | |
| condition qui sera évaluée pour chaque requête, sous réserve que la | |
| directive <directive module="mod_proxy_html">ProxyHTMLInterp</directive> ait été définie à | |
| <var>On</var>. Si la condition est évaluée à FALSE, la règle ne sera pas | |
| appliquée à la requête. Si elle est évaluée à TRUE, ou si aucune | |
| condition n'est définie, la règle s'applique.</p> | |
| <p>La <strong>condition</strong> est évaluée par l'<a | |
| href="../expr.html">interpréteur d'expression</a>. La syntaxe simple des | |
| conditions dans mod_proxy_html 3.x pour HTTPD 2.0 et 2.2 est aussi | |
| supportée.</p> | |
| </usage> | |
| </directivesynopsis> | |
| <directivesynopsis> | |
| <name>ProxyHTMLInterp</name> | |
| <description>Active la réinterprétation des règles | |
| <directive>ProxyHTMLURLMap</directive> pour chaque requête.</description> | |
| <syntax>ProxyHTMLInterp On|Off</syntax> | |
| <default>ProxyHTMLInterp Off</default> | |
| <contextlist><context>server config</context> | |
| <context>virtual host</context><context>directory</context> | |
| </contextlist> | |
| <compatibility>Disponible depuis la version 2.4 du serveur HTTP Apache. | |
| Disponible en tant que module tiers dans les versions 2.x antérieures.</compatibility> | |
| <usage> | |
| <p>Cette directive permet d'activer le réinterprétation pour chaque | |
| requête des modèles source et cible de la directive | |
| <directive module="mod_proxy_html">ProxyHTMLURLMap</directive>.</p> | |
| <p>Si la réinterprétation n'est pas activée, toutes les règles sont | |
| précompilées au démarrage du serveur. Si elle est activée, les | |
| règles doivent être recompilées pour chaque requête, ce qui induit | |
| une charge de traitement supplémentaire. Elle ne doit donc être activée que si | |
| cela s'avère nécessaire.</p> | |
| </usage> | |
| </directivesynopsis> | |
| <directivesynopsis> | |
| <name>ProxyHTMLDocType</name> | |
| <description>Définit une déclaration de type de document HTML ou XHTML.</description> | |
| <syntax>ProxyHTMLDocType HTML|XHTML [Legacy]<br/><strong>OR</strong> | |
| <br/>ProxyHTMLDocType <var>fpi</var> [SGML|XML]<br/><strong>OR</strong> | |
| <br/>ProxyHTMLDocType html5<br/><strong>OR</strong> | |
| <br/>ProxyHTMLDocType auto</syntax> | |
| <default>ProxyHTMLDocType auto (2.5/trunk versions); no FPI (2.4.x)</default> | |
| <contextlist><context>server config</context> | |
| <context>virtual host</context><context>directory</context> | |
| </contextlist> | |
| <compatibility>Disponible depuis la version 2.4 du serveur HTTP Apache. | |
| Disponible en tant que module tiers dans les versions 2.x antérieures.</compatibility> | |
| <usage> | |
| <p>Avec la première syntaxe, les documents seront déclarés de type HTML | |
| 4.01 ou XHTML 1.0 selon l'option spécifiée. Cette option détermine aussi | |
| si la syntaxe utilisée en sortie est HTML ou XHTML. Notez que le format | |
| des documents en provenance du serveur d'arrière-plan n'est pas | |
| important, car l'interpréteur le détectera automatiquement. Si le | |
| second argument optionnel est défini à "<code>Legacy</code>", les documents seront | |
| déclarés de type "Transitional" ; cette option peut être nécessaire si | |
| vous mandatez du contenu datant d'avant 1998, ou si vous travaillez avec | |
| des outils de création/publication déficients.</p> | |
| <p>Avec la deuxième syntaxe, cette directive vous permet d'insérer votre | |
| propre FPI (Formal Public Identifier). Le second argument optionnel | |
| détermine si la syntaxe utilisée sera SGML/HTML ou XML/XHTML.</p> | |
| <p>La troisième syntaxe attribue le type HTML 5 aux documents.</p> | |
| <p>La quatrième syntaxe est nouvelle dans la branche trunk de HTTPD et | |
| n'est pas encore disponible dans les versions stables ; elle utilise | |
| l'interpréteur HTML de libxml2 pour déterminer le type de document.</p> | |
| <p>Avec la première syntaxe, mod_proxy_html va aussi mettre le code HTML | |
| en conformité avec le standard spécifié. Il ne pourra pas corriger | |
| toutes les erreurs, mais il va supprimer les éléments et attributs non | |
| conformes. Il peut aussi journaliser les autres erreurs si la directive | |
| <directive module="core">LogLevel</directive> est définie à | |
| Debug.</p> | |
| </usage> | |
| </directivesynopsis> | |
| <directivesynopsis> | |
| <name>ProxyHTMLFixups</name> | |
| <description>Corrige les erreurs HTML simples.</description> | |
| <syntax>ProxyHTMLFixups [lowercase] [dospath] [reset]</syntax> | |
| <default>ProxyHTMLFixups none</default> | |
| <contextlist><context>server config</context> | |
| <context>virtual host</context><context>directory</context> | |
| </contextlist> | |
| <compatibility>Disponible depuis la version 2.4 du serveur HTTP Apache. | |
| Disponible en tant que module tiers dans les versions 2.x antérieures.</compatibility> | |
| <usage> | |
| <p>Cette directive accepte un à trois arguments parmi les suivants :</p> | |
| <ul> | |
| <li><code>lowercase</code> Les Urls sont réécrites en minuscules</li> | |
| <li><code>dospath</code> Les slashes inversés dans les URLs sont | |
| remplacés par des slashes directs.</li> | |
| <li><code>reset</code> Annule toute option définie à un niveau supérieur | |
| dans la configuration</li> | |
| </ul> | |
| <p>Cette directive doit être utilisée avec prudence. Elle peut corriger | |
| certaines erreurs de création, mais risque aussi de modifier par erreur | |
| des liens corrects. Ne l'utilisez que si vous êtes sûr que le serveur | |
| d'arrière-plan est déficient.</p> | |
| </usage> | |
| </directivesynopsis> | |
| <directivesynopsis> | |
| <name>ProxyHTMLExtended</name> | |
| <description>Détermine si l'on doit corriger les liens dans les scripts | |
| en ligne, les feuilles de style et les évènements de type scripting.</description> | |
| <syntax>ProxyHTMLExtended On|Off</syntax> | |
| <default>ProxyHTMLExtended Off</default> | |
| <contextlist><context>server config</context> | |
| <context>virtual host</context><context>directory</context> | |
| </contextlist> | |
| <compatibility>Disponible depuis la version 2.4 du serveur HTTP Apache. | |
| Disponible en tant que module tiers dans les versions 2.x antérieures.</compatibility> | |
| <usage> | |
| <p>Si cette directive est définie à <code>Off</code>, les liens HTML | |
| sont réécrits en fonction des directives | |
| <directive module="mod_proxy_html">ProxyHTMLURLMap</directive>, mais les liens qui apparaissent | |
| dans le code Javascript et les feuilles de style restent inchangés.</p> | |
| <p>Si elle est définie à <code>On</code>, tous les évènements de type | |
| scripting (définis par la directive | |
| <directive module="mod_proxy_html">ProxyHTMLEvents</directive>) et les scripts inclus ou les | |
| feuilles de style sont aussi | |
| traités par les règles <directive module="mod_proxy_html">ProxyHTMLURLMap</directive>, en | |
| fonction des drapeaux définis pour chacune d'entre elles. Ne définissez | |
| cette directive à <code>On</code> qu'en cas de nécessité absolue, car la | |
| charge supplémentaire induite impacte les performances.</p> | |
| <p>Vous devez aussi prêter attention aux modèles de comparaison, car | |
| l'interpréteur n'a aucune notion de la forme que pourrait prendre une URL dans un | |
| script embarqué ou une feuille de style. En particulier, la comparaison | |
| étendus du caractère <code>/</code> a de fortes chances d'induire des | |
| correspondances erronées.</p> | |
| </usage> | |
| </directivesynopsis> | |
| <directivesynopsis> | |
| <name>ProxyHTMLStripComments</name> | |
| <description>Détermine si les commentaires HTML doivent être supprimés.</description> | |
| <syntax>ProxyHTMLStripComments On|Off</syntax> | |
| <default>ProxyHTMLStripComments Off</default> | |
| <contextlist><context>server config</context> | |
| <context>virtual host</context><context>directory</context> | |
| </contextlist> | |
| <compatibility>Disponible depuis la version 2.4 du serveur HTTP Apache. | |
| Disponible en tant que module tiers dans les versions 2.x antérieures.</compatibility> | |
| <usage> | |
| <p>Si cette directive est définie à <code>On</code>, mod_proxy_html | |
| supprimera les commentaires HTML. Notez que cela supprimera aussi tout | |
| script ou style inclus dans les commentaires (une monstruosité | |
| introduite en 1995/1996 avec Netscape 2 pour les navigateurs plus | |
| anciens, et encore utilisée de nos jours). Cette directive peut aussi | |
| interférer avec des processeurs basés sur les commentaires comme SSI ou | |
| ESI : assurez-vous d'exécuter ces derniers <em>avant</em> mod_proxy_html | |
| dans la chaîne de filtrage si vous supprimez les commentaires !</p> | |
| </usage> | |
| </directivesynopsis> | |
| <directivesynopsis> | |
| <name>ProxyHTMLBufSize</name> | |
| <description>Définit l'incrément de la taille du tampon, ainsi que sa | |
| taille initiale, pour la mise en | |
| tampon des scripts en ligne et des feuilles de style.</description> | |
| <syntax>ProxyHTMLBufSize <var>nb-octets</var></syntax> | |
| <default>ProxyHTMLBufSize 8192</default> | |
| <contextlist><context>server config</context> | |
| <context>virtual host</context><context>directory</context> | |
| </contextlist> | |
| <compatibility>Disponible depuis la version 2.4 du serveur HTTP Apache. | |
| Disponible en tant que module tiers dans les versions 2.x antérieures.</compatibility> | |
| <usage> | |
| <p>Pour pouvoir interpréter du contenu non HTML (feuilles de style et | |
| scripts) embarqué dans des documents HTML, <module>mod_proxy_html</module> doit | |
| le lire et le mémoriser en entier dans un | |
| tampon. Ce tampon devra être étendu autant que nécessaire afin de | |
| pouvoir accueillir le plus grand script ou la plus grande feuille de | |
| style de la page, selon un incrément de <var>nb-octets</var> que cette | |
| directive permet de définir.</p> | |
| <p>La valeur par défaut est 8192 et sera suffisante pour la plupart des | |
| pages. Cependant, si vous savez que vous allez mandater des | |
| pages contenant des feuilles de style et/ou scripts plus grands que 8k | |
| (cette taille s'entend pour chaque script ou feuilles de style, non pour | |
| leur ensemble), il sera plus efficace de définir une taille de | |
| tampon initiale plus grande afin d'éviter d'avoir à le redimensionner | |
| dynamiquement au cours du traitement d'une requête. | |
| </p> | |
| </usage> | |
| </directivesynopsis> | |
| <directivesynopsis> | |
| <name>ProxyHTMLEvents</name> | |
| <description>Spécifie les attributs à traiter comme des évènements de | |
| type scripting.</description> | |
| <syntax>ProxyHTMLEvents <var>attribut [attribut ...]</var></syntax> | |
| <contextlist><context>server config</context> | |
| <context>virtual host</context><context>directory</context> | |
| </contextlist> | |
| <compatibility>Disponible depuis la version 2.4 du serveur HTTP Apache. | |
| Disponible en tant que module tiers dans les versions 2.x antérieures.</compatibility> | |
| <usage> | |
| <p>Cette directive permet de spécifier un ou plusieurs attributs à | |
| traiter comme | |
| des évènements de type scripting et de leur appliquer les règles | |
| <directive module="mod_proxy_html">ProxyHTMLURLMap</directive> lorsqu'elles ont été définies. Vous | |
| pouvez spécifier un nombre quelconque d'attributs dans une ou plusieurs | |
| directives <directive>ProxyHTMLEvents</directive>.</p> | |
| <note><title>Nécessite ProxyHTMLExtended</title> | |
| <p>Les évènements de type scripting ne sont traités que si la directive | |
| <directive module="mod_proxy_html">ProxyHTMLExtended</directive> est définie à | |
| <var>On</var>. Dans le cas contraire, les attributs d'évènement sont transmis | |
| sans modification, même s'ils sont listés dans la directive | |
| <directive>ProxyHTMLEvents</directive>.</p> | |
| </note> | |
| <p>Normalement, cette directive est définie globalement. Si vous | |
| définissez <directive>ProxyHTMLEvents</directive> à plusieurs niveaux, certains niveaux | |
| l'emportant sur d'autres, vous devrez spécifier un jeu complet | |
| d'évènements pour chaque niveau.</p> | |
| <p>Le fichier <var>proxy-html.conf</var> fournit une configuration par | |
| défaut et définit les évènements selon les standards | |
| HTML 4 et XHTML 1. Cette configuration peut être adaptée pour s'appliquer aux | |
| URLs embarquées dans les attributs des feuilles de style CSS en ajoutant | |
| l'attribut <var>style</var> à ProxyHTMLEvents, même s'il n'existe pas dans la | |
| configuration par défaut.</p> | |
| </usage> | |
| </directivesynopsis> | |
| <directivesynopsis> | |
| <name>ProxyHTMLLinks</name> | |
| <description>Spécifie les éléments HTML dont les attributs d'URL doivent | |
| être réécrits.</description> | |
| <syntax>ProxyHTMLLinks <var>élément attribut [attribut2 ...]</var></syntax> | |
| <contextlist><context>server config</context> | |
| <context>virtual host</context><context>directory</context> | |
| </contextlist> | |
| <compatibility>Disponible depuis la version 2.4 du serveur HTTP Apache. | |
| Disponible en tant que module tiers dans les versions 2.x antérieures.</compatibility> | |
| <usage> | |
| <p>Cette directive permet de spécifier les éléments dont les attributs d'URL | |
| doivent être réécrits en utilisant les règles standards <directive | |
| module="mod_proxy_html">ProxyHTMLURLMap</directive>. Vous devez définir une | |
| directive <directive>ProxyHTMLLinks</directive> pour chaque élément, mais chacune d'entre elles peut | |
| spécifier un nombre quelconque d'attributs</p> <p>Normalement, cette directive | |
| est définie globalement. Si vous définissez <directive>ProxyHTMLLinks</directive> à plusieurs niveaux, | |
| certains niveaux l'emportant sur d'autres, vous devrez spécifier un jeu complet | |
| de liens pour chaque niveau.</p> <p>Le fichier <var>proxy-html.conf</var> | |
| fournit une configuration par défaut et définit les liens HTML selon les | |
| standards HTML 4 et XHTML 1.</p> | |
| <example> | |
| <title>Exemples issus de proxy-html.conf</title> | |
| <highlight language="config"> | |
| ProxyHTMLLinks a href | |
| ProxyHTMLLinks area href | |
| ProxyHTMLLinks link href | |
| ProxyHTMLLinks img src longdesc usemap | |
| ProxyHTMLLinks object classid codebase data usemap | |
| ProxyHTMLLinks q cite | |
| ProxyHTMLLinks blockquote cite | |
| ProxyHTMLLinks ins cite | |
| ProxyHTMLLinks del cite | |
| ProxyHTMLLinks form action | |
| ProxyHTMLLinks input src usemap | |
| ProxyHTMLLinks head profile | |
| ProxyHTMLLinks base href | |
| ProxyHTMLLinks script src for | |
| </highlight> | |
| </example> | |
| </usage> | |
| </directivesynopsis> | |
| <directivesynopsis> | |
| <name>ProxyHTMLCharsetOut</name> | |
| <description>Spécifie un jeu de caractères pour la sortie de | |
| mod_proxy_html.</description> | |
| <syntax>ProxyHTMLCharsetOut <var>jeu-de-caractères | *</var></syntax> | |
| <default>ProxyHTMLCharsetOut UTF-8</default> | |
| <contextlist><context>server config</context> | |
| <context>virtual host</context><context>directory</context> | |
| </contextlist> | |
| <compatibility>Disponible depuis la version 2.4 du serveur HTTP Apache. | |
| Disponible en tant que module tiers dans les versions 2.x antérieures.</compatibility> | |
| <usage> | |
| <p>Cette directive permet de spécifier un jeu de caractères pour la | |
| sortie de mod_proxy_html. Elle ne devrait jamais être utilisée, car tout | |
| changement par rapport à la valeur par défaut <code>UTF-8</code> (Unicode - | |
| utilisé en interne par libxml2) induit une charge supplémentaire de | |
| traitement. La définition spéciale <code>ProxyHTMLCharsetOut *</code> | |
| permet de générer une sortie qui utilisera le même encodage que | |
| l'entrée.</p> | |
| <p>Notez que tout ceci ne fonctionne que si le module | |
| <module>mod_xml2enc</module> est chargé.</p> | |
| <note> | |
| <p>Cette directive ne supporte pas les entités HTML. Si un document contient des | |
| caractères qui ne peuvent pas être représentés dans le jeu de caractères cible, la directive | |
| échouera et le document sera probablement corrompu (et ceci même si ces | |
| caractères sont représentés par des entités HTML).</p> | |
| </note> | |
| </usage> | |
| </directivesynopsis> | |
| </modulesynopsis> | |