<?xml version="1.0"?>
<!DOCTYPE directiveindex SYSTEM "../style/modulesynopsis.dtd">
<?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?>
<!-- English Revision: 420990 -->
<!-- French translation : Lucien GENTIS -->
<!-- Reviewed by : Vincent Deffontaines -->

<!--
 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.
-->

<directiveindex metafile="directives.xml.meta">
  <title>Index des directives</title>
  <summary>
    <p>
      Toutes les directives Apache disponibles dans la distribution standard
      d'Apache sont r&eacute;f&eacute;renc&eacute;es ici. Elles sont d&eacute;crites en utilisant un
      format normalis&eacute;, et <a href="directive-dict.html"
      rel="Glossary">un dictionnaire</a> des termes utilis&eacute;s dans leurs
      descriptions est disponible.
    </p>

    <p>
      Un <a href="quickreference.html">
      Document de r&eacute;f&eacute;rence rapide des directives</a>
      est &eacute;galement disponible. Il fournit des d&eacute;tails &agrave; propos de chaque directive
      sous une forme abr&eacute;g&eacute;e.
    </p>
  </summary>
</directiveindex>
