<?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 : 1347906 -->
<!-- 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.
-->

<modulesynopsis metafile="mod_lbmethod_heartbeat.xml.meta">

<name>mod_lbmethod_heartbeat</name>
<description>Algorithme d'ordonnancement de répartition de charge pour
<module>mod_proxy_balancer</module> basé sur le comptage de trafic Heartbeat</description>
<status>Experimental</status>
<sourcefile>mod_lbmethod_heartbeat.c</sourcefile>
<identifier>lbmethod_heartbeat_module</identifier>
<compatibility>Disponible depuis la version 2.3 d'Apache</compatibility>

<summary>
    <p>lbmethod=heartbeat utilise les services du module
    <module>mod_heartmonitor</module> pour répartir la charge entre les
    serveurs d'origine qui fournissent des données heartbeat via le
    module <module>mod_heartbeat</module>.</p>

<p>Son algorithme de répartition de charge favorise les serveurs dont la
capacité de traitement moyenne répartie dans le temps est la plus
importante, mais il ne sélectionne pas forcément le serveur qui présente
la disponibilité instantanée la plus importante. Les serveurs qui ne
possèdent aucun client actif sont pénalisés, car ils sont considérés
comme non entièrement initialisés.</p>
</summary>

<seealso><module>mod_proxy</module></seealso>
<seealso><module>mod_proxy_balancer</module></seealso>
<seealso><module>mod_heartbeat</module></seealso>
<seealso><module>mod_heartmonitor</module></seealso>

<directivesynopsis>
<name>HeartbeatStorage</name>
<description>Indique le chemin permettant de lire les données
heartbeat</description>
<syntax>HeartbeatStorage <var>chemin-fichier</var></syntax>
<default>HeartbeatStorage logs/hb.dat</default>
<contextlist><context>server config</context></contextlist>

<usage>
    <p>La directive <directive>HeartbeatStorage</directive> permet de
    spécifier le chemin d'accès aux données heartbeat. Ce fichier texte
    n'est utilisé que si le module <module>mod_slotmem_shm</module>
    n'est pas chargé.</p>
</usage>
</directivesynopsis>
</modulesynopsis>
