<?xml version='1.0' encoding='utf-8'?>
<creole>

    <files>
        <file name='/usr/share/ead2/backend/config/perms/perm_proxy.ini'/>
        <file name='/var/lib/eole/config/amon.cfg'/>
        <!--Les logs sont sur le maitre donc ils doivent tourner sur le maitre -->
        <file name='/etc/logrotate.d/squid_rsyslog' source='squid.logrotate'/>
        <file name='/etc/lightsquid/lightsquid.cfg'/>
        <file filelist='guardian' name='/etc/logrotate.d/guardian' source='guardian.logrotate' rm='True'/>
        <file filelist='guardian' name='/usr/share/nginx/html/guardian.html' source='guardian-template-nginx.html' mkdir="True"/>
        <service_access service='lightsquid'>
            <port port_type='SymLinkOption'>lightsquid_port</port>
        </service_access>
        <service_restriction service='lightsquid'>
            <ip interface='eth0' netmask='netmask_admin_eth0' netmask_type='SymLinkOption' ip_type='SymLinkOption'>ip_admin_eth0</ip>
            <ip interface='eth1' netmask='netmask_admin_eth1' netmask_type='SymLinkOption' ip_type='SymLinkOption'>ip_admin_eth1</ip>
            <ip interface='eth2' netmask='netmask_admin_eth2' netmask_type='SymLinkOption' ip_type='SymLinkOption'>ip_admin_eth2</ip>
            <ip interface='eth3' netmask='netmask_admin_eth3' netmask_type='SymLinkOption' ip_type='SymLinkOption'>ip_admin_eth3</ip>
            <ip interface='eth4' netmask='netmask_admin_eth4' netmask_type='SymLinkOption' ip_type='SymLinkOption'>ip_admin_eth4</ip>
        </service_restriction>
    </files>

    <containers>
        <container name="proxy" id='20'>
            <package>eole-proxy-pkg</package>
            <package instance_mode='when_no_container'>eole-antivirus-pkg</package>
            <package instance_mode='when_container'>eole-antivirus-container-pkg</package>
            <service>squid</service>
            <host hostlist='auth_smb' name='nom_serveur_smb' ip='ip_serveur_smb' instance_mode='when_container'
                  crossed='False' comment='serveurs d’authentification SMB'/>
            <service_access service='squid3'>
                <port>3128</port>
                <port service_accesslist="squid3-2" port_type="SymLinkOption">dansguardian_port3</port>
            </service_access>
            <service_restriction service='squid3'>
                <!--interface-->
                <ip service_restrictionlist='proxy_eth0' interface='eth0' netmask='adresse_netmask_eth0' netmask_type='SymLinkOption' ip_type='SymLinkOption'>adresse_network_eth0</ip>
                <ip service_restrictionlist='proxy_eth0' interface='eth0' netmask='proxy_eth0_netmask' netmask_type='SymLinkOption' ip_type='SymLinkOption'>proxy_eth0_ip</ip>
                <ip interface='eth1' netmask='adresse_netmask_eth1' netmask_type='SymLinkOption' ip_type='SymLinkOption'>adresse_network_eth1</ip>
                <ip interface='eth2' netmask='adresse_netmask_eth2' netmask_type='SymLinkOption' ip_type='SymLinkOption'>adresse_network_eth2</ip>
                <ip interface='eth3' netmask='adresse_netmask_eth3' netmask_type='SymLinkOption' ip_type='SymLinkOption'>adresse_network_eth3</ip>
                <ip interface='eth4' netmask='adresse_netmask_eth4' netmask_type='SymLinkOption' ip_type='SymLinkOption'>adresse_network_eth4</ip>
                <!--vlan-->
                <ip service_restrictionlist='proxy_eth0' interface='eth0' netmask='vlan_netmask_eth0' netmask_type='SymLinkOption' ip_type='SymLinkOption'>vlan_network_eth0</ip>
                <ip interface='eth1' netmask='vlan_netmask_eth1' netmask_type='SymLinkOption' ip_type='SymLinkOption'>vlan_network_eth1</ip>
                <ip interface='eth2' netmask='vlan_netmask_eth2' netmask_type='SymLinkOption' ip_type='SymLinkOption'>vlan_network_eth2</ip>
                <ip interface='eth3' netmask='vlan_netmask_eth3' netmask_type='SymLinkOption' ip_type='SymLinkOption'>vlan_network_eth3</ip>
                <ip interface='eth4' netmask='vlan_netmask_eth4' netmask_type='SymLinkOption' ip_type='SymLinkOption'>vlan_network_eth4</ip>
            </service_restriction>
            <service servicelist='squid2'>squid3-2</service>
            <service servicelist='guardian'>eole-guardian</service>
            <service servicelist='clamav_proxy'>clamav-daemon</service>
            <!--eth0 est déjà définie au niveau du conteneur ! -->
            <interface interfacelist='eth0_proxy_link' linkto="eth0" ip="adresse_ip_eth0_proxy_link" mask="adresse_mask_eth0_proxy_link" bcast="adresse_bcast_eth0_proxy_link">eth0</interface>
            <interface interfacelist='eth1_proxy_link' linkto="eth1" ip="adresse_ip_eth1_proxy_link" mask="adresse_mask_eth1_proxy_link" bcast="adresse_bcast_eth1_proxy_link">eth1</interface>
            <interface interfacelist='eth2_proxy_link' linkto="eth2" ip="adresse_ip_eth2_proxy_link" mask="adresse_mask_eth2_proxy_link" bcast="adresse_bcast_eth2_proxy_link">eth2</interface>
            <interface interfacelist='eth3_proxy_link' linkto="eth3" ip="adresse_ip_eth3_proxy_link" mask="adresse_mask_eth3_proxy_link" bcast="adresse_bcast_eth3_proxy_link">eth3</interface>
            <interface interfacelist='eth4_proxy_link' linkto="eth4" ip="adresse_ip_eth4_proxy_link" mask="adresse_mask_eth4_proxy_link" bcast="adresse_bcast_eth4_proxy_link">eth4</interface>

            <file filelist='guardian1' name='/etc/guardian/guardian0/guardian.conf' source="guardian-filtre1.conf" mkdir="True"/>
            <file filelist='guardian1' name='/etc/guardian/guardian0/guardianf1.conf' source="guardianf1-filtre1.conf"/>
            <file filelist='guardian1' name='/etc/guardian/guardian0/guardianf2.conf' source="guardianf2-filtre1.conf"/>
            <file filelist='guardian1' name='/etc/guardian/guardian0/guardianf3.conf' source="guardianf3-filtre1.conf"/>
            <file filelist='guardian1' name='/etc/guardian/guardian0/guardianf4.conf' source="guardianf4-filtre1.conf"/>
            <file filelist='guardian1' name='/etc/guardian/guardian0/guardianf5.conf' source="guardianf5-filtre1.conf"/>
            <file filelist='guardian1' name='/etc/guardian/guardian0/guardianf6.conf' source="guardianf6-filtre1.conf"/>
            <file filelist='guardian1' name='/etc/guardian/guardian0/guardianf7.conf' source="guardianf7-filtre1.conf"/>
            <file filelist='guardian1' name='/etc/guardian/guardian0/guardianf8.conf' source="guardianf8-filtre1.conf"/>
            <file filelist='guardian1' name='/etc/guardian/guardian0/contentscanners/clamdscan.conf' source="guardian-clamdscan-filtre1.conf" mkdir="True"/>
            <file filelist='guardian1' name='/etc/guardian/guardian0/common/bannediplist' source="guardian-bannediplist" mkdir="True"/>
            <file filelist='guardian1' name='/etc/guardian/guardian0/common/exceptioniplist' source="guardian-exceptioniplist"/>
            <file filelist='guardian1' name='/etc/guardian/guardian0/common/fancy.conf' source="guardian-fancy-filtre1.conf"/>
            <file filelist='guardian1' name='/etc/guardian/guardian0/common/filtergroupslist' source="guardian-filtergroupslist-filtre1"/>
            <file filelist='guardian1' name='/etc/guardian/guardian0/common/ip.conf' source="guardian-ip-filtre1.conf"/>

            <file filelist='guardian2' name='/etc/guardian/guardian1/guardian.conf' source="guardian-filtre2.conf" mkdir='True'/>
            <file filelist='guardian2' name='/etc/guardian/guardian1/guardianf1.conf' source="guardianf1-filtre2.conf"/>
            <file filelist='guardian2' name='/etc/guardian/guardian1/guardianf2.conf' source="guardianf2-filtre2.conf"/>
            <file filelist='guardian2' name='/etc/guardian/guardian1/guardianf3.conf' source="guardianf3-filtre2.conf"/>
            <file filelist='guardian2' name='/etc/guardian/guardian1/guardianf4.conf' source="guardianf4-filtre2.conf"/>
            <file filelist='guardian2' name='/etc/guardian/guardian1/guardianf5.conf' source="guardianf5-filtre2.conf"/>
            <file filelist='guardian2' name='/etc/guardian/guardian1/guardianf6.conf' source="guardianf6-filtre2.conf"/>
            <file filelist='guardian2' name='/etc/guardian/guardian1/guardianf7.conf' source="guardianf7-filtre2.conf"/>
            <file filelist='guardian2' name='/etc/guardian/guardian1/guardianf8.conf' source="guardianf8-filtre2.conf"/>
            <file filelist='guardian2' name='/etc/guardian/guardian1/contentscanners/clamdscan.conf' source="guardian-clamdscan-filtre2.conf" mkdir="True"/>
            <file filelist='guardian2' name='/etc/guardian/guardian1/common/bannediplist' source="guardian-bannediplist" mkdir="True"/>
            <file filelist='guardian2' name='/etc/guardian/guardian1/common/exceptioniplist' source="guardian-exceptioniplist"/>
            <file filelist='guardian2' name='/etc/guardian/guardian1/common/fancy.conf' source="guardian-fancy-filtre2.conf"/>
            <file filelist='guardian2' name='/etc/guardian/guardian1/common/filtergroupslist' source="guardian-filtergroupslist-filtre2"/>
            <file filelist='guardian2' name='/etc/guardian/guardian1/common/ip.conf' source="guardian-ip-filtre2.conf"/>

            <file filelist='guardian3' name='/etc/guardian/guardian2/guardian.conf' source="guardian-filtre3.conf" mkdir='True'/>
            <file filelist='guardian3' name='/etc/guardian/guardian2/guardianf1.conf' source="guardianf1-filtre3.conf"/>
            <file filelist='guardian3' name='/etc/guardian/guardian2/guardianf2.conf' source="guardianf2-filtre3.conf"/>
            <file filelist='guardian3' name='/etc/guardian/guardian2/guardianf3.conf' source="guardianf3-filtre3.conf"/>
            <file filelist='guardian3' name='/etc/guardian/guardian2/guardianf4.conf' source="guardianf4-filtre3.conf"/>
            <file filelist='guardian3' name='/etc/guardian/guardian2/guardianf5.conf' source="guardianf5-filtre3.conf"/>
            <file filelist='guardian3' name='/etc/guardian/guardian2/guardianf6.conf' source="guardianf6-filtre3.conf"/>
            <file filelist='guardian3' name='/etc/guardian/guardian2/guardianf7.conf' source="guardianf7-filtre3.conf"/>
            <file filelist='guardian3' name='/etc/guardian/guardian2/guardianf8.conf' source="guardianf8-filtre3.conf"/>
            <file filelist='guardian3' name='/etc/guardian/guardian2/contentscanners/clamdscan.conf' source="guardian-clamdscan-filtre3.conf" mkdir="True"/>
            <file filelist='guardian3' name='/etc/guardian/guardian2/common/bannediplist' source="guardian-bannediplist" mkdir="True"/>
            <file filelist='guardian3' name='/etc/guardian/guardian2/common/exceptioniplist' source="guardian-exceptioniplist"/>
            <file filelist='guardian3' name='/etc/guardian/guardian2/common/fancy.conf' source="guardian-fancy-filtre3.conf"/>
            <file filelist='guardian3' name='/etc/guardian/guardian2/common/filtergroupslist' source="guardian-filtergroupslist-filtre3"/>
            <file filelist='guardian3' name='/etc/guardian/guardian2/common/ip.conf' source="guardian-ip-filtre3.conf"/>

            <file filelist='guardian' name='/usr/share/e2guardian/languages/french/template.html' source='guardian-template.html'/>
            <file filelist='guardian' name='/usr/share/e2guardian/languages/french/template-liste_blanche.html' source='guardian-template-liste_blanche.html'/>
            <file filelist='guardian' name='/usr/share/e2guardian/languages/french/template-moderateur.html' source='guardian-template-moderateur.html'/>
            <file filelist='guardian' name='/usr/share/e2guardian/languages/french/template-utilisateur_interdits.html' source='guardian-template-utilisateur_interdits.html'/>

            <file name='/etc/pam.d/squid' source='squid.pam'/>
            <!-- squid : parties communes -->
            <file name='/etc/squid/common-squid1.conf' del_comment='#'/>
            <file name='/etc/squid/common-squid2.conf' del_comment='#'/>
            <!-- squid : 1ère instance -->
            <file name='/etc/squid/squid.conf' source='01squid.conf' del_comment='#'/>
            <file name='/etc/squid/01inc-squid.conf' del_comment='#'/>
            <!-- squid : 2ème instance -->
            <file filelist='squid2' name='/etc/squid/squid2.conf' source='02squid.conf' del_comment='#'/>
            <file filelist='squid2' name='/etc/squid/02inc-squid.conf' del_comment='#'/>
            <file name='/etc/squid/domaines_nocache'/>
            <file name='/etc/squid/domaines_noauth'/>

            <!--authentification-->
            <service servicelist='kerberos'>smbd</service>
            <service servicelist='kerberos'>nmbd</service>
            <service servicelist='kerberos'>winbind</service>
            <service servicelist='kerberos'>krb5-admin-server</service>
            <service servicelist='kerberos'>krb5-kdc</service>
            <file filelist='kerberos' name='/etc/samba/smb.conf' source='krb-smb.conf'/>
            <file filelist='kerberos' name='/etc/samba/lmhosts' />
            <file filelist='kerberos' name='/etc/krb5.conf' />

            <file filelist='clamav_proxy' name='/etc/clamav/clamd.conf'/>

        </container>
    </containers>

    <variables>

        <family name='general'>
            <variable name='url_maj_blacklist' type='web_address' description='Adresse web de mise à jour des blacklists' mode='expert' mandatory='True'>
                <value>http://eole.orion.education.fr/maj/blacklists</value>
            </variable>
        </family>

        <family name='services'>
            <variable name='activer_filtrage_proxy' type='oui/non' description='Activer le filtrage sur le proxy' mode='expert'>
                <value>oui</value>
            </variable>
            <variable name='activer_clam' exists='False' type='oui/non' hidden='True'>
                <value>non</value>
            </variable>
        </family>

        <family name='messagerie'>
            <variable name='proxy_cachemaster' type='string' description="Adresse courriel du cachemaster"/>
        </family>

        <family name='authentification' icon='key'>
            <variable name='num_dansguardian_instance' type='string' description="Nombre de filtres web (filtrage web et pare-feu) configurables" hidden='True'/>
            <variable name='activer_squid_auth' type='oui/non' description="Activer l'authentification web (proxy)" mode='basic'>
                <value>non</value>
            </variable>
            <variable name='activer_squid2' type='oui/non' description="Activer une deuxième instance de Squid" >
                <value>non</value>
            </variable>
        </family>

        <family name='clamav' hidden='True'>
            <variable name='dansguardian_clam' type='oui/non' description="Activer l'anti-virus sur le proxy">
                <value>non</value>
            </variable>
        </family>

        <family name='Interface-0'>
            <variable name='dansguardian_eth0' type='string' description='Filtre web à appliquer sur cette interface' mode='expert'>
                <value>1</value>
            </variable>
            <variable name='adresse_ip_eth0_proxy_link' type='ip' description="Adresse IP pour le proxy" mandatory='True'/>
            <variable name='adresse_mask_eth0_proxy_link' type='netmask' description="Masque de sous réseau du proxy" mandatory='True' mode='expert'/>
            <variable name='adresse_bcast_eth0_proxy_link' type='broadcast' description="Broadcast pour le proxy" mandatory='True'/>
            <variable name='activer_supp_proxy_eth0' type='oui/non' description='Autoriser des réseaux supplémentaires à se connecter sur le proxy' mode='expert'>
                <value>non</value>
            </variable>
            <variable name='proxy_eth0_ip' type='network' description="Réseaux supplémentaires autorisés à se connecter sur le proxy" mode="expert" multi="True"  mandatory='True'/>
            <variable name='proxy_eth0_netmask' type='netmask' description="Masque de sous réseau" mode="expert" mandatory='True'/>
        </family>
        <family name='Interface-1'>
            <variable name='nom_machine_eth1' type='hostname_strict' description="Nom à donner à l'interface (pour résolution DNS)" mandatory='True' />
            <!--**** variable de configuration pour dansguardian (choix de l'instance) ****-->
            <variable name='dansguardian_eth1' type='string' description='Filtre web à appliquer sur cette interface' >
                <value>1</value>
            </variable>
            <variable name='squid_auth_eth1' type='oui/non' description="Activer l'authentification sur cette interface" >
                <value>oui</value>
            </variable>
            <variable name='adresse_ip_eth1_proxy_link' type='ip' description="Adresse IP pour le proxy" mandatory='True'/>
            <variable name='adresse_mask_eth1_proxy_link' type='netmask' description="Masque de sous réseau du proxy" mandatory='True' mode='expert'/>
            <variable name='adresse_bcast_eth1_proxy_link' type='broadcast' description="Broadcast pour le proxy" mandatory='True'/>
        </family>
        <family name='Interface-2'>
            <variable name='nom_machine_eth2' type='hostname_strict' description="Nom à donner à l'interface (pour résolution DNS)" mandatory='True'/>
            <!-- variable de configuration pour dansguardian (choix de l'instance) -->
            <variable name='dansguardian_eth2' type='string' description='Filtre web à appliquer sur cette interface' >
                <value>1</value>
            </variable>
            <variable name='squid_auth_eth2' type='oui/non' description="Activer l'authentification sur cette interface" >
                <value>oui</value>
            </variable>
            <variable name='adresse_ip_eth2_proxy_link' type='ip' description="Adresse IP pour le proxy" mandatory='True'/>
            <variable name='adresse_mask_eth2_proxy_link' type='netmask' description="Masque de sous réseau du proxy" mandatory='True' mode='expert'/>
            <variable name='adresse_bcast_eth2_proxy_link' type='broadcast' description="Broadcast pour le proxy" mandatory='True'/>
        </family>
        <family name='Interface-3'>
            <variable name='nom_machine_eth3' type='hostname_strict' description="Nom à donner à l'interface (pour résolution DNS)" mandatory='True'>
                <value>dmz-priv</value>
            </variable>
            <!-- variable de configuration pour dansguardian (choix de l'instance) -->
            <variable name='dansguardian_eth3' type='string' description='Filtre web à appliquer sur cette interface' >
                <value>1</value>
            </variable>
            <variable name='squid_auth_eth3' type='oui/non' description="Activer l'authentification sur cette interface" >
                <value>oui</value>
            </variable>
            <variable name='adresse_ip_eth3_proxy_link' type='ip' description="Adresse IP pour le proxy" mandatory='True'/>
            <variable name='adresse_mask_eth3_proxy_link' type='netmask' description="Masque de sous réseau du proxy" mandatory='True' mode='expert'/>
            <variable name='adresse_bcast_eth3_proxy_link' type='broadcast' description="Broadcast pour le proxy" mandatory='True'/>
        </family>
        <family name='Interface-4'>
            <variable name='nom_machine_eth4' type='hostname_strict' description="Nom à donner à l'interface (pour résolution DNS)" mandatory='True'>
                <value>dmz-pub</value>
            </variable>
            <!-- variable de configuration pour dansguardian (choix de l'instance) -->
            <variable name='dansguardian_eth4' type='string' description='Filtre web à appliquer sur cette interface' >
                <value>1</value>
            </variable>
            <variable name='squid_auth_eth4' type='oui/non' description="Activer l'authentification sur cette interface" >
                <value>oui</value>
            </variable>
            <variable name='adresse_ip_eth4_proxy_link' type='ip' description="Adresse IP pour le proxy" mandatory='True'/>
            <variable name='adresse_mask_eth4_proxy_link' type='netmask' description="Masque de sous réseau du proxy" mandatory='True' mode='expert'/>
            <variable name='adresse_bcast_eth4_proxy_link' type='broadcast' description="Broadcast pour le proxy" mandatory='True'/>
        </family>

        <family name='filtrage web' mode='expert' icon='code-fork'>
            <variable name='dans_instance_1_active' type='oui/non' hidden='True'/>
            <variable name='dans_instance_2_active' type='oui/non' hidden='True'/>
            <variable name='dans_instance_3_active' type='oui/non' hidden='True'/>
            <variable name="dans_num_opt_filters" type="string" description='Nombre de politiques optionnelles de filtrage par zone'>
                <value>3</value>
            </variable>
            <variable name="docbodytimeout" type="number" description='Proxy Timeout (ex: Doc Body Timeout)'>
                <value>20</value>
            </variable>
            <variable name="docheadertimeout" type="number" description='Proxy header exchange (ex: Doc Header Timeout)'>
                <value>20</value>
            </variable>
            <variable name="headertimeout" type="number" description='Pconn timeout (ex: Header Timeout)'>
                <value>55</value>
            </variable>
            <variable name="dansguardian_ead_log" type='string' description="Autoriser la consultation des logs liés au filtrage web dans l'EAD">
                <value>non</value>
            </variable>
            <variable name="dansguardian_ead_filtre1" type="string" description="Libellé du filtre web 1 dans l'EAD">
                <value>Filtre web 1</value>
            </variable>
            <variable name="maxchildren1" type="number" description='Nombre maximum de processus'>
                <value>256</value>
            </variable>
            <variable name="minchildren1" type="number" description='Nombre minimum de processus'>
                <value>8</value>
            </variable>
            <variable name="minsparechildren1" type="number" description='Nombre minimum de processus en attente'>
                <value>4</value>
            </variable>
            <variable name="maxsparechildren1" type="number" description='Nombre maximum de processus en attente'>
                <value>32</value>
            </variable>
            <variable name="preforkchildren1" type="number" description="Nombre de processus démarré s'il en manque">
                <value>6</value>
            </variable>
            <variable name="maxagechildren1" type="number" description="Durée de vie maximum d'un processus avant de se terminer">
                <value>500</value>
            </variable>
            <variable name="dans_cachedir1" type="filename" description='Répertoire de cache'>
                <value>/tmp</value>
            </variable>
            <variable name="dans_maxramsize1" type="number" description='Taille maximum de fichier conservé en mémoire'>
                <value>5000</value>
            </variable>
            <variable name="dans_maxfilesize1" type="number" description='Taille maximum de fichier conservé sur le disque'>
                <value>5000</value>
            </variable>
            <variable name="unactive_dansguardian_auth1" type="string" description="Désactiver les plugins qui logguent l'authentification sur la zone 1" hidden="True">
                <value>---</value>
            </variable>
            <variable name="dansguardian_ead_filtre2" type="string" description="Libellé du filtre web 2 dans l'EAD">
                <value>Filtre web 2</value>
            </variable>

            <variable name="maxchildren2" type="number" description='Nombre maximum de processus'>
                <value>256</value>
            </variable>
            <variable name="minchildren2" type="number" description='Nombre minimum de processus'>
                <value>8</value>
            </variable>
            <variable name="minsparechildren2" type="number" description='Nombre minimum de processus en attente'>
                <value>4</value>
            </variable>
            <variable name="maxsparechildren2" type="number" description='Nombre maximum de processus en attente'>
                <value>32</value>
            </variable>
            <variable name="preforkchildren2" type="number" description="Nombre de processus démarré s'il en manque">
                <value>6</value>
            </variable>
            <variable name="maxagechildren2" type="number" description="Durée de vie maximum d'un processus avant de se terminer">
                <value>500</value>
            </variable>
            <variable name="dans_cachedir2" type="filename" description='Répertoire de cache'>
                <value>/tmp</value>
            </variable>
            <variable name="dans_maxramsize2" type="number" description='Taille maximum de fichier conservé en mémoire'>
                <value>5000</value>
            </variable>
            <variable name="dans_maxfilesize2" type="number" description='Taille maximum de fichier conservé sur le disque'>
                <value>5000</value>
            </variable>
            <variable name="unactive_dansguardian_auth2" type="string" description="Désactiver les plugins qui logguent l'authentification sur la zone 2" hidden="True">
                <value>---</value>
            </variable>
            <variable name="dansguardian_ead_filtre3" type="string" description="Libellé du filtre web 3 dans l'EAD">
                <value>Filtre web 3</value>
            </variable>
            <variable name="dansguardian_port3" type="port" description="Port d'écoute pour le 3ème filtre web">
                <value>3129</value>
            </variable>
            <variable name="maxchildren3" type="number" description='Nombre maximum de processus'>
                <value>256</value>
            </variable>
            <variable name="minchildren3" type="number" description='Nombre minimum de processus'>
                <value>8</value>
            </variable>
            <variable name="minsparechildren3" type="number" description='Nombre minimum de processus en attente'>
                <value>4</value>
            </variable>
            <variable name="maxsparechildren3" type="number" description='Nombre maximum de processus en attente'>
                <value>32</value>
            </variable>
            <variable name="preforkchildren3" type="number" description="Nombre de processus démarré s'il en manque">
                <value>6</value>
            </variable>
            <variable name="maxagechildren3" type="number" description="Durée de vie maximum d'un processus avant de se terminer">
                <value>500</value>
            </variable>
            <variable name="dans_cachedir3" type="filename" description='Répertoire de cache'>
                <value>/tmp</value>
            </variable>
            <variable name="dans_maxramsize3" type="number" description='Taille maximum de fichier conservé en mémoire'>
                <value>5000</value>
            </variable>
            <variable name="dans_maxfilesize3" type="number" description='Taille maximum de fichier conservé sur le disque'>
                <value>5000</value>
            </variable>
            <variable name="unactive_dansguardian_auth3" type="string" description="Désactiver les plugins qui logguent l'authentification sur la zone 3" hidden="True">
                <value>---</value>
            </variable>
        </family>

        <family name='squid' mode='expert' icon='code-fork'>
            <variable name='lightsquid_auto' type='oui/non' description="Générer les statistiques Squid automatiquement">
                <value>non</value>
            </variable>
            <variable name='lightsquid_port' type='port' description="Port d'écoute du CGI LightSquid">
                <value>8062</value>
            </variable>
            <variable name='lightsquid_anon_mode' type='string' description="Méthode d’anonymisation des rapports LightSquid">
                <value>aucune</value>
            </variable>
            <variable name='https_port' type='port' description="Port d'écoute HTTPS de Squid"/>
            <variable name='ssl_ports' type='port' description='"SSL_ports" supplémentaire' multi='True'/>
            <variable name='safe_ports' type='port' description='"Safe_ports" supplémentaire' multi='True'/>
            <variable name='number_of_basic_children' type='number' description="Nombre de processus associées au module d'authentification basique">
                <value>20</value>
            </variable>
            <variable name='number_of_ntlm_children' type='number' description="Nombre de processus associées au module d'authentification NTLM">
                <value>20</value>
            </variable>
            <variable name='squid_nopeerproxy_url_regex' type='oui/non' description='Activer les exceptions de cache père de type regexp'>
                <value>non</value>
            </variable>
            <variable name='activer_proxy_refresh_pattern' type='oui/non' description='Personnaliser sélectivement la durée des caches'>
                <value>non</value>
            </variable>
            <variable name="proxy_refresh_pattern_regexp" type='string' description="Expression rationnelle pour le site" mandatory="True" multi='True'/>
            <variable name="proxy_refresh_pattern_case_sensitive" type='oui/non' description="L'expression rationnelle est sensible à la casse">
                <value>non</value>
            </variable>
            <variable name="proxy_refresh_pattern_min" type='number' description="Temps minimum de cache (en minutes)" mandatory="True"/>
            <variable name='proxy_refresh_pattern_pourcent' type='number' description="Rapport entre l'âge de l'objet dans le cache et son âge sur le site (en pourcent)" mandatory='True'/>
            <variable name='proxy_refresh_pattern_max' type='number' description="Temps maximum de cache (en minutes)" mandatory='True'/>
            <variable name='proxy_refresh_pattern_options' type='string' description='Options'/>
            <variable name='icp_port' type='port' description="Port d'écoute pour les requêtes ICP">
                <value>3130</value>
            </variable>
            <variable name='htcp_port' type='port' description="Port d'écoute pour les requêtes HTCP">
                <value>4827</value>
            </variable>
            <variable name='icp_query_timeout' type='number' description='Timout pour les requêtes ICP (en msec)'>
                <value>0</value>
            </variable>
            <variable name='maximum_icp_query_timeout' type='number' description='Maximum_icp_query_timeout (en msec)'>
                <value>2000</value>
            </variable>
            <!-- FIXME : mcast -->
            <variable name='mcast_groups' type='string' description="Groupe de serveurs multicast" hidden='True'/>
            <variable name='mcast_icp_query_timeout' type='number' description='Mcast_icp_query_timeout (en msec)' hidden='True'>
                <value>2000</value>
            </variable>
            <!-- -->
            <variable name='dead_peer_timeout' type='number' description='Dead_peer_timeout (en sec)'>
                <value>10</value>
            </variable>
            <variable name='forward_max_tries' type='number' description='Nombre maximum de redirections testées'>
                <value>10</value>
            </variable>
            <!--<variable name='cache_vary' type='string' description=''>
                <value>on</value>
            </variable>-->
            <variable name='cache_mem' type='number' description='Taille maximale de la mémoire cache (en MB)'>
                <value>16</value>
            </variable>
            <variable name='cache_swap_low' type='number' description='Cache_swap_low (en %)'>
                <value>90</value>
            </variable>
            <variable name='cache_swap_high' type='number' description='Cache_swap_high (en %)'>
                <value>95</value>
            </variable>
            <variable name='minimum_object_size' type='number' description='Minimum_object_size (en KB)'>
                <value>0</value>
            </variable>
            <variable name='maximum_object_size' type='number' description='Maximum_object_size (en KB)'>
                <value>32768</value>
            </variable>
            <variable name='maximum_object_size_in_memory' type='number' description='Maximum_object_size_in_memory (en KB)'>
                <value>16</value>
            </variable>
            <variable name='ipcache_size' type='number' description="Ipcache_size (en nombre d'entrées)">
                <value>1024</value>
            </variable>
            <variable name='ipcache_low' type='number' description='Ipcache_low (en %)'>
                <value>90</value>
            </variable>
            <variable name='ipcache_high' type='number' description='Ipcache_high (en %)'>
                <value>95</value>
            </variable>
            <variable name='fqdncache_size' type='number' description="Fqdncache_size (en nombre d'entrées)">
                <value>1024</value>
            </variable>
            <variable name='cache_replacement_policy' type='string' description='Cache_replacement_policy'>
                <value>lru</value>
            </variable>
            <variable name='memory_replacement_policy' type='string' description='Memory_replacement_policy'>
                <value>lru</value>
            </variable>
            <variable name='cache_dir' type='filename' description='Emplacement du cache' multi='True' mandatory='True'>
                <value>/var/spool/squid</value>
            </variable>
            <variable name='cache_dir_type' type='string' description='Type de stockage utilisé'>
                <value>ufs</value>
            </variable>
            <variable name='cache_dir_disk_space' type='string' description='Taille du cache (en MBytes)' mandatory='True'>
                <value>1000</value>
            </variable>
            <variable name='cache_dir_firstLevel' type='string' description='Nombre maximum de répertoires de niveau 1' mandatory='True'>
                <value>16</value>
            </variable>
            <variable name='cache_dir_secondLevel' type='string' description='Nombre maximum de répertoires de niveau 2' mandatory='True'>
                <value>256</value>
            </variable>
            <variable name='log_mime_hdrs' type='on/off' description='Log_mime_hdrs'>
                <value>off</value>
            </variable>
            <variable name='client_netmask' type='netmask' description='Masque réseau des clients '>
                <value>255.255.255.255</value>
            </variable>
            <variable name='strip_query_terms' type='on/off' description='Activer la réduction URLs dans les logs'>
                <value>off</value>
            </variable>
            <variable name='ftp_user' type='unix_user' description='Utilisateur FTP'>
                <value>ftp</value>
            </variable>
            <!--<variable name='ftp_list_width' type='number' description=''>
                <value>32</value>
            </variable>-->
            <variable name='ftp_passive' type='on/off' description='Autoriser les connexions FTP passives'>
                <value>on</value>
            </variable>
            <variable name='ftp_sanitycheck' type='on/off' description='Activer la vérification des connexions FTP'>
                <value>on</value>
            </variable>
            <variable name='ftp_telnet_protocol' type='on/off' description='Ftp_telnet_protocol'>
                <value>on</value>
            </variable>
            <variable name='check_hostname' type='on/off' description="Activer la vérification des noms d'hôte">
                <value>on</value>
            </variable>
            <variable name='allow_underscore' type='on/off' description="Autoriser les underscore dans les noms d'hôte">
                <value>on</value>
            </variable>
            <!--<variable name='cache_dns_program' type='string' description=''>
                <value>/usr/lib/squid/dnsserver</value>
            </variable>-->
            <!--<variable name='dns_children' type='number' description=''>
                <value>5</value>
            </variable>
            <variable name='dns_retransmit_interval' type='number' description='en secondes'>
                <value>5</value>
            </variable>
            <variable name='dns_timeout' type='number' description='Timeout des requêtes DNS (en minutes)'>
                <value>2</value>
            </variable>-->
            <variable name='dns_defnames' type='on/off' description='Dns_defnames'>
                <value>off</value>
            </variable>
            <variable name='dns_nameservers' type='domain' description='Utiliser un DNS spécifique' multi='True'/>
            <variable name='hosts_file' type='filename' description='Emplacement du fichier hosts' hidden='True'>
                <value>/etc/hosts</value>
            </variable>
            <!--<variable name='wais_relay_host' type='string' description=''>
                <value></value>
            </variable>-->
            <!--<variable name='wais_relay_port' type='number' description=''>
                <value>0</value>
            </variable>-->
            <variable name='request_header_max_size' type='number' description='Request_header_max_size (en KB)'>
                <value>20</value>
            </variable>
            <variable name='request_body_max_size' type='number' description='Request_body_max_size (en MB)'>
                <value>10</value>
            </variable>
            <variable name='quick_abort_min' type='number' description='Quick_abort_min (en KB)'>
                <value>16</value>
            </variable>
            <variable name='quick_abort_max' type='number' description='Quick_abort_max (en KB)'>
                <value>16</value>
            </variable>
            <variable name='quick_abort_pct' type='number' description='Quick_abort_pct (en %)'>
                <value>95</value>
            </variable>
            <variable name='read_ahead_gap' type='number' description='Read_ahead_gap (en KB)'>
                <value>16</value>
            </variable>
            <variable name='negative_ttl' type='number' description='Negative_ttl (en min)'>
                <value>5</value>
            </variable>
            <variable name='positive_dns_ttl' type='number' description='Positive_dns_ttl (en heures)'>
                <value>6</value>
            </variable>
            <variable name='negative_dns_ttl' type='number' description='Negative_dns_ttl (en min)'>
                <value>1</value>
            </variable>
            <variable name='range_offset_limit' type='number' description='Range_offset_limit (en KB)'>
                <value>0</value>
            </variable>
            <!--<variable name='collapsed_forwarding' type='on/off' description=''>
                <value>off</value>
            </variable>-->
            <!--<variable name='refresh_stale_hit' type='number' description='(en secondes)'>
                <value>0</value>
            </variable>-->
            <variable name='forward_timeout' type='number' description='Forward_timeout (en min)'>
                <value>4</value>
            </variable>
            <variable name='connect_timeout' type='number' description='Connect_timeout (en min)'>
                <value>1</value>
            </variable>
            <variable name='peer_connect_timeout' type='number' description='Peer_connect_timeout (en sec)'>
                <value>30</value>
            </variable>
            <variable name='read_timeout' type='number' description='Read_timeout (en min)'>
                <value>15</value>
            </variable>
            <variable name='request_timeout' type='number' description='Request_timeout (en min)'>
                <value>5</value>
            </variable>
            <variable name='persistent_request_timeout' type='number' description='Persistent_request_timeout (en min)'>
                <value>1</value>
            </variable>
            <variable name='client_lifetime' type='number' description='Client_lifetime (en min)'>
                <value>120</value>
            </variable>
            <variable name='half_closed_clients' type='on/off' description='Half_closed_clients'>
                <value>off</value>
            </variable>
            <variable name='pconn_timeout' type='number' description='Timout pour les connexions persistantes (en sec)'>
                <value>120</value>
            </variable>
            <variable name='ident_timeout' type='number' description='Ident_timeout (en sec)'>
                <value>10</value>
            </variable>
            <variable name='shutdown_lifetime' type='number' description='Shutdown_lifetime (en sec)'>
                <value>30</value>
            </variable>
        </family>

        <family name='squid2' mode='expert' icon='code-fork'>
            <variable name='cache_dir_2' type='filename' description='Emplacement du cache' multi='True' mandatory='True'>
                <value>/var/spool/squid2</value>
            </variable>
            <variable name='cache_dir_type_2' type='string' description='Type de stockage utilisé'>
                <value>ufs</value>
            </variable>
            <variable name='cache_dir_disk_space_2' type='number' description='Taille du cache (en MBytes)' mandatory='True'>
                <value>1000</value>
            </variable>
            <variable name='cache_dir_firstLevel_2' type='number' description='Nombre maximum de répertoires de niveau 1' mandatory='True'>
                <value>16</value>
            </variable>
            <variable name='cache_dir_secondLevel_2' type='number' description='Nombre maximum de répertoires de niveau 2' mandatory='True'>
                <value>256</value>
            </variable>
        </family>

        <family name='proxy authentifié' icon='key'>
            <variable name='type_squid_auth' type='string' description="Type d'authentification" mode='basic'>
                <value>NTLM/SMB</value>
            </variable>
            <!-- **** LDAP **** -->
            <variable name='ip_serveur_ldap1' type='ip' description='Adresse du premier serveur LDAP' mandatory='True' mode='basic'/>
            <variable name='ip_serveur_ldap2' type='ip' description='Adresse du second serveur LDAP (si le 1er ne répond pas)' />
            <variable name='proxy_ldap_base_dn' type='string' description="Suffixe racine de l'annuaire LDAP (base DN)" mandatory='True' mode='basic'/>
            <!-- **** LDAP (Active Directory)**** -->
            <variable name='ip_serveur_ldapad' type='ip' description='Adresse IP du serveur LDAP (Active Directory)' mandatory='True'/>
            <variable name='ldapad_base_dn' type='string' description="Suffixe racine de l'annuaire LDAP (base DN Active Directory)" mandatory='True'/>
            <variable name='ldapad_user' type='string' description="Nom du compte nécessaire pour l'interrogation LDAP (Active Directory)" mandatory='True'/>
            <variable name='ldapad_passwd' type='password' description="Mot de passe du compte nécessaire pour l'interrogation LDAP (Active Directory)" mandatory='True'/>
            <!-- **** NTLM **** -->
            <variable name='nom_serveur_smb' type='netbios' description='Nom du contrôleur de domaine SMB' multi='True' mandatory='True'/>
            <variable name='nom_domaine_smb' type='netbios' description='Nom du domaine SMB' mandatory='True'/>
            <variable name='ip_serveur_smb' type='ip' description='Adresse IP du contrôleur de domaine SMB' mandatory='True'/>
            <!-- **** KRB **** -->
            <variable name='nom_serveur_krb' type='hostname_strict' description='Nom du contrôleur de domaine KERBEROS' mandatory='True'/>
            <variable name='nom_domaine_krb' type='domain' description='Nom du domaine KERBEROS (fqdn)' mandatory='True'/>
            <variable name='nom_domaine_windows' type='netbios' description='Nom du domaine Windows' mandatory='True'/>
            <variable name='ip_serveur_krb' type='ip' description='Adresse IP du contrôleur de domaine KERBEROS' mandatory='True'/>
        </family>

        <family name='proxy authentifié 2' icon='key'>
            <variable name='type_squid_auth_2' type='string' description="Type d'authentification" >
                <value>Ldap</value>
            </variable>
            <!-- **** LDAP **** -->
            <variable name='ip_serveur_ldap1_2' type='ip' description='Adresse du premier serveur LDAP' mandatory='True'/>
            <variable name='ip_serveur_ldap2_2' type='ip' description='Adresse du second serveur LDAP (si le 1er ne répond pas)' />
            <variable name='proxy_ldap_base_dn_2' type='string' description="Suffixe racine de l'annuaire LDAP (base DN)" mandatory='True'/>
            <!-- **** LDAP (Active Directory)**** -->
            <variable name='ip_serveur_ldapad_2' type='ip' description='Adresse IP du serveur LDAP (Active Directory)' mandatory='True'/>
            <variable name='ldapad_base_dn_2' type='string' description="Suffixe racine de l'annuaire LDAP (base DN Active Directory)" mandatory='True'/>
            <variable name='ldapad_user_2' type='string' description="Nom du compte nécessaire pour l'interrogation LDAP (Active Directory)" mandatory='True'/>
            <variable name='ldapad_passwd_2' type='password' description="Mot de passe du compte nécessaire pour l'interrogation LDAP (Active Directory)" mandatory='True'/>
            <!-- **** NTLM **** -->
            <variable name='nom_serveur_smb_2' type='netbios' description='Nom du contrôleur de domaine SMB' multi='True' mandatory='True'/>
            <variable name='nom_domaine_smb_2' type='netbios' description='Nom du domaine SMB' mandatory='True'/>
            <variable name='ip_serveur_smb_2' type='ip' description='Adresse IP du contrôleur de domaine SMB' mandatory='True'/>
        </family>

        <separators>
            <separator name='dans_num_opt_filters'>Configuration commune aux deux zones</separator>
            <separator name='dansguardian_ead_filtre1'>Filtre web 1</separator>
            <separator name='dansguardian_ead_filtre2'>Filtre web 2</separator>
            <separator name='dansguardian_ead_filtre3'>Filtre web 3</separator>
            <separator name='activer_supp_proxy_eth0'>Réseau supplémentaire autorisé sur le proxy</separator>
            <separator name='dansguardian_eth1'>Configuration de la politique de filtrage</separator>
            <separator name='dansguardian_eth2'>Configuration de la politique de filtrage</separator>
            <separator name='dansguardian_eth3'>Configuration de la politique de filtrage</separator>
            <separator name='dansguardian_eth4'>Configuration de la politique de filtrage</separator>
            <separator name="adresse_ip_eth0_proxy_link">Adresse pour le proxy</separator>
            <separator name="adresse_ip_eth1_proxy_link">Adresse pour le proxy</separator>
            <separator name="adresse_ip_eth2_proxy_link">Adresse pour le proxy</separator>
            <separator name="adresse_ip_eth3_proxy_link">Adresse pour le proxy</separator>
            <separator name="adresse_ip_eth4_proxy_link">Adresse pour le proxy</separator>
        </separators>

    </variables>

    <constraints>

        <auto name='calc_multi_condition' target='num_dansguardian_instance'>
            <param>non</param>
            <param type='eole' name='condition_1' hidden='False'>activer_squid2</param>
            <param name='match'>2</param>
            <param name='mismatch'>3</param>
        </auto>

        <condition name='disabled_if_in' source='lightsquid_auto'>
            <param>non</param>
            <target type='filelist'>lightsquid</target>
        </condition>

        <check name='valid_enum' target='lightsquid_anon_mode'>
            <param>['aucune', 'par IP', 'anonyme']</param>
        </check>

        <condition name='disabled_if_in' source='activer_filtrage_proxy'>
            <param>non</param>
            <target type='family'>filtrage web</target>
            <target type='filelist'>guardian</target>
            <target type='filelist'>guardian1</target>
            <target type='filelist'>guardian2</target>
            <target type='filelist'>guardian3</target>
            <target type='servicelist'>guardian</target>
            <target type='variable'>url_maj_blacklist</target>
            <target type='variable'>proxy_cachemaster</target>
            <target type='variable'>dansguardian_clam</target>
            <target type='variable'>dansguardian_eth0</target>
            <target type='variable'>dansguardian_eth1</target>
            <target type='variable'>dansguardian_eth2</target>
            <target type='variable'>dansguardian_eth3</target>
            <target type='variable'>dansguardian_eth4</target>
        </condition>

        <fill name='concat' target='proxy_cachemaster'>
            <param>cachemaster@</param>
            <param type='eole'>nom_academie</param>
            <param>.</param>
            <param type='eole'>suffixe_domaine_academique</param>
        </fill>

        <condition name='disabled_if_in' source='nombre_interfaces'>
            <param>2</param>
            <param>3</param>
            <param>4</param>
            <param>5</param>
            <target type='variable'>dansguardian_eth0</target>
            <target type='filelist'>guardian0</target>
            <target type='service_restrictionlist'>proxy_eth0</target>
        </condition>

        <auto name='calc_multi_condition' target='dans_instance_1_active'>
            <param>1</param>
            <param name="operator">OR</param>
            <param type='eole' name='condition_1' hidden='False'>dansguardian_eth0</param>
            <param type='eole' name='condition_2' hidden='False'>dansguardian_eth1</param>
            <param type='eole' name='condition_3' hidden='False'>dansguardian_eth2</param>
            <param type='eole' name='condition_4' hidden='False'>dansguardian_eth3</param>
            <param type='eole' name='condition_5' hidden='False'>dansguardian_eth4</param>
            <param name='match'>oui</param>
            <param name='mismatch'>non</param>
        </auto>
        <auto name='calc_multi_condition' target='dans_instance_2_active'>
            <param>2</param>
            <param name="operator">OR</param>
            <param type='eole' name='condition_1' hidden='False'>dansguardian_eth0</param>
            <param type='eole' name='condition_2' hidden='False'>dansguardian_eth1</param>
            <param type='eole' name='condition_3' hidden='False'>dansguardian_eth2</param>
            <param type='eole' name='condition_4' hidden='False'>dansguardian_eth3</param>
            <param type='eole' name='condition_5' hidden='False'>dansguardian_eth4</param>
            <param name='match'>oui</param>
            <param name='mismatch'>non</param>
        </auto>
        <auto name='calc_multi_condition' target='dans_instance_3_active'>
            <param>oui</param>
            <param type='eole' name='condition_1'>activer_squid_auth</param>
            <param type='eole' name='condition_2' hidden='False'>activer_squid2</param>
            <param name='match'>oui</param>
            <param name='mismatch'>non</param>
        </auto>

        <condition name='disabled_if_in' source='dans_instance_1_active'>
            <param>non</param>
            <target type='filelist'>guardian1</target>
        </condition>
        <condition name='disabled_if_in' source='dans_instance_2_active'>
            <param>non</param>
            <target type='filelist'>guardian2</target>
        </condition>
        <condition name='disabled_if_in' source='dans_instance_3_active'>
            <param>non</param>
            <target type='filelist'>guardian3</target>
        </condition>
        <check name='valid_enum' target='type_squid_auth'>
            <param>['NTLM/SMB','Ldap','Ldap (Active Directory)','NTLM/KERBEROS','Fichier local']</param>
        </check>
        <check name='valid_enum' target='type_squid_auth_2'>
            <param>['NTLM/SMB','Ldap','Ldap (Active Directory)']</param>
        </check>
        <group master='nom_serveur_smb'>
            <slave>nom_domaine_smb</slave>
            <slave>ip_serveur_smb</slave>
        </group>
        <group master='proxy_eth0_ip'>
            <slave>proxy_eth0_netmask</slave>
        </group>
        <group master='nom_serveur_smb_2'>
            <slave>nom_domaine_smb_2</slave>
            <slave>ip_serveur_smb_2</slave>
        </group>
        <condition name='disabled_if_in' source='nombre_interfaces'>
            <param>1</param>
            <target type='interfacelist'>eth1_proxy_link</target>
        </condition>
        <condition name='disabled_if_in' source='nombre_interfaces'>
            <param>1</param>
            <param>2</param>
            <target type='interfacelist'>eth2_proxy_link</target>
        </condition>
        <condition name='disabled_if_in' source='nombre_interfaces'>
            <param>1</param>
            <param>2</param>
            <param>3</param>
            <target type='interfacelist'>eth3_proxy_link</target>
        </condition>
        <condition name='disabled_if_in' source='nombre_interfaces'>
            <param>1</param>
            <param>2</param>
            <param>3</param>
            <param>4</param>
            <target type='interfacelist'>eth4_proxy_link</target>
        </condition>

        <condition name='disabled_if_not_in' source='type_squid_auth'>
            <param>NTLM/KERBEROS</param>
            <target type='servicelist'>kerberos</target>
            <target type='filelist'>kerberos</target>
        </condition>

        <condition name='disabled_if_not_in' source='type_squid_auth'>
            <param>NTLM/SMB</param>
            <target type='variable'>nom_serveur_smb</target>
            <target type='variable'>nom_domaine_smb</target>
            <target type='variable'>ip_serveur_smb</target>
            <target type='hostlist'>auth_smb</target>
        </condition>
        <condition name='disabled_if_not_in' source='type_squid_auth'>
            <param>NTLM/KERBEROS</param>
            <target type='variable'>nom_serveur_krb</target>
            <target type='variable'>nom_domaine_krb</target>
            <target type='variable'>nom_domaine_windows</target>
            <target type='variable'>ip_serveur_krb</target>
        </condition>
        <condition name='disabled_if_not_in' source='type_squid_auth'>
            <param>Ldap</param>
            <target type='variable'>ip_serveur_ldap1</target>
            <target type='variable'>ip_serveur_ldap2</target>
            <target type='variable'>proxy_ldap_base_dn</target>
        </condition>
        <condition name='disabled_if_not_in' source='type_squid_auth'>
            <param>Ldap (Active Directory)</param>
            <target type='variable'>ip_serveur_ldapad</target>
            <target type='variable'>ldapad_base_dn</target>
            <target type='variable'>ldapad_user</target>
            <target type='variable'>ldapad_passwd</target>
        </condition>

        <!--Deuxième instance de squid-->
        <condition name='disabled_if_in' source='activer_squid_auth'>
            <param>non</param>
            <target type='variable'>activer_squid2</target>
        </condition>
        <condition name='disabled_if_in' source='activer_squid2'>
            <param>non</param>
            <target type='family'>squid2</target>
            <target type='family'>proxy authentifié 2</target>
            <target type='servicelist'>squid2</target>
            <target type='filelist'>squid2</target>
            <target type='variable'>dansguardian_ead_filtre3</target>
            <target type='variable'>dansguardian_port3</target>
            <target type='variable'>maxchildren3</target>
            <target type='variable'>minchildren3</target>
            <target type='variable'>minsparechildren3</target>
            <target type='variable'>maxsparechildren3</target>
            <target type='variable'>preforkchildren3</target>
            <target type='variable'>maxagechildren3</target>
            <target type='variable'>dans_cachedir3</target>
            <target type='variable'>dans_maxramsize3</target>
            <target type='variable'>dans_maxfilesize3</target>
        </condition>
        <condition name='disabled_if_in' source='type_squid_auth_2'>
            <param>Ldap</param>
            <param>Ldap (Active Directory)</param>
            <target type='variable'>nom_serveur_smb_2</target>
            <target type='variable'>nom_domaine_smb_2</target>
            <target type='variable'>ip_serveur_smb_2</target>
        </condition>
        <condition name='disabled_if_in' source='type_squid_auth_2'>
            <param>NTLM/SMB</param>
            <param>Ldap (Active Directory)</param>
            <target type='variable'>ip_serveur_ldap1_2</target>
            <target type='variable'>ip_serveur_ldap2_2</target>
            <target type='variable'>proxy_ldap_base_dn_2</target>
        </condition>
        <condition name='disabled_if_in' source='type_squid_auth_2'>
            <param>NTLM/SMB</param>
            <param>Ldap</param>
            <target type='variable'>ip_serveur_ldapad_2</target>
            <target type='variable'>ldapad_base_dn_2</target>
            <target type='variable'>ldapad_user_2</target>
            <target type='variable'>ldapad_passwd_2</target>
        </condition>

        <!--variables communes aux deux zones-->
        <check name="valid_enum" target="dans_num_opt_filters">
            <param>['0','1','2','3','4']</param>
        </check>
        <check name="valid_enum" target="dansguardian_ead_log">
            <param>['oui','non','admin seulement']</param>
        </check>
        <!--variables de la zone 1 ( 0)-->
        <check name="valid_entier" target="maxchildren1">
            <param name="mini">80</param>
        </check>
        <check name="valid_entier" target="proxy_refresh_pattern_pourcent">
            <param name="mini">0</param>
            <param name="maxi">100</param>
        </check>
        <check name="valid_enum" target="unactive_dansguardian_auth1" >
            <param>['---', 'oui','non']</param>
        </check>
        <check name="valid_enum" target='dansguardian_eth0'>
            <param>['1','2']</param>
        </check>
        <check name="valid_enum" target='dansguardian_eth1'>
            <param>['1','2']</param>
        </check>
        <check name="valid_enum" target='dansguardian_eth2'>
            <param>['1','2']</param>
        </check>
        <check name="valid_enum" target='dansguardian_eth3'>
            <param>['1','2']</param>
        </check>
        <check name="valid_enum" target='dansguardian_eth4'>
            <param>['1','2']</param>
        </check>

        <!--variables de la zone 2 ( 1) -->
        <check name="valid_entier" target="maxchildren2">
            <param name="mini">80</param>
        </check>
        <check name="valid_enum" target="unactive_dansguardian_auth2" >
            <param>['---','oui','non']</param>
        </check>

        <!--variables de la zone 3 ( 1) -->
        <check name="valid_entier" target="maxchildren3">
            <param name="mini">80</param>
        </check>
        <check name="valid_enum" target="unactive_dansguardian_auth3" >
            <param>['---','oui','non']</param>
        </check>

        <condition name='disabled_if_in' source='activer_squid_auth'>
            <param>non</param>
            <target type='family'>proxy authentifié</target>
            <target type='variable'>squid_auth_eth1</target>
            <target type='variable'>squid_auth_eth2</target>
            <target type='variable'>squid_auth_eth3</target>
            <target type='variable'>squid_auth_eth4</target>
        </condition>

        <condition name='disabled_if_in' source='nombre_interfaces'>
            <param>2</param>
            <param>3</param>
            <param>4</param>
            <param>5</param>
            <target type='interfacelist'>eth0_proxy_link</target>
            <target>adresse_ip_eth0_proxy_link</target>
            <target>adresse_mask_eth0_proxy_link</target>
            <target>adresse_bcast_eth0_proxy_link</target>
            <target>proxy_eth0_ip</target>
            <target>proxy_eth0_netmask</target>
        </condition>
        <condition name='disabled_if_in' source='activer_supp_proxy_eth0'>
            <param>non</param>
            <target>proxy_eth0_ip</target>
            <target>proxy_eth0_netmask</target>
        </condition>
        <condition name='disabled_if_in' source='mode_conteneur_actif'>
            <param>non</param>
            <target>adresse_ip_eth0_proxy_link</target>
            <target>adresse_mask_eth0_proxy_link</target>
            <target>adresse_bcast_eth0_proxy_link</target>
            <target>adresse_ip_eth1_proxy_link</target>
            <target>adresse_mask_eth1_proxy_link</target>
            <target>adresse_bcast_eth1_proxy_link</target>
            <target>adresse_ip_eth2_proxy_link</target>
            <target>adresse_mask_eth2_proxy_link</target>
            <target>adresse_bcast_eth2_proxy_link</target>
            <target>adresse_ip_eth3_proxy_link</target>
            <target>adresse_mask_eth3_proxy_link</target>
            <target>adresse_bcast_eth3_proxy_link</target>
            <target>adresse_ip_eth4_proxy_link</target>
            <target>adresse_mask_eth4_proxy_link</target>
            <target>adresse_bcast_eth4_proxy_link</target>
        </condition>
        <check name="valid_in_network" target="adresse_ip_eth0_proxy_link" level="warning">
            <param type='eole' hidden="False">adresse_network_eth0</param>
            <param type='eole' hidden="False">adresse_netmask_eth0</param>
        </check>
        <check name="valid_differ" target="adresse_ip_eth0_proxy_link">
            <param type='eole' hidden="False">adresse_ip_eth0</param>
        </check>
        <check name="valid_in_network" target="adresse_ip_eth1_proxy_link" level="warning">
            <param type='eole' hidden="False">adresse_network_eth1</param>
            <param type='eole' hidden="False">adresse_netmask_eth1</param>
        </check>
        <check name="valid_differ" target="adresse_ip_eth1_proxy_link">
            <param type='eole' hidden="False">adresse_ip_eth1</param>
        </check>
        <check name="valid_in_network" target="adresse_ip_eth2_proxy_link" level="warning">
            <param type='eole' hidden="False">adresse_network_eth2</param>
            <param type='eole' hidden="False">adresse_netmask_eth2</param>
        </check>
        <check name="valid_differ" target="adresse_ip_eth2_proxy_link">
            <param type='eole' hidden="False">adresse_ip_eth2</param>
        </check>
        <check name="valid_in_network" target="adresse_ip_eth3_proxy_link" level="warning">
            <param type='eole' hidden="False">adresse_network_eth3</param>
            <param type='eole' hidden="False">adresse_netmask_eth3</param>
        </check>
        <check name="valid_differ" target="adresse_ip_eth3_proxy_link">
            <param type='eole' hidden="False">adresse_ip_eth3</param>
        </check>
        <check name="valid_in_network" target="adresse_ip_eth4_proxy_link" level="warning">
            <param type='eole' hidden="False">adresse_network_eth4</param>
            <param type='eole' hidden="False">adresse_netmask_eth4</param>
        </check>
        <check name="valid_differ" target="adresse_ip_eth4_proxy_link">
            <param type='eole' hidden="False">adresse_ip_eth4</param>
        </check>
        <auto name='calc_broadcast' target='adresse_bcast_eth0_proxy_link'>
            <param type='eole' name='ip'>adresse_ip_eth0_proxy_link</param>
            <param type='eole' name='netmask'>adresse_mask_eth0_proxy_link</param>
        </auto>
        <fill name='calc_val' target='adresse_mask_eth0_proxy_link'>
            <param type='eole' name='valeur'>adresse_netmask_eth0</param>
        </fill>
        <auto name='calc_broadcast' target='adresse_bcast_eth1_proxy_link'>
            <param type='eole' name='ip'>adresse_ip_eth1_proxy_link</param>
            <param type='eole' name='netmask'>adresse_mask_eth1_proxy_link</param>
        </auto>
        <fill name='calc_val' target='adresse_mask_eth1_proxy_link'>
            <param type='eole' name='valeur'>adresse_netmask_eth1</param>
        </fill>
        <auto name='calc_broadcast' target='adresse_bcast_eth2_proxy_link'>
            <param type='eole' name='ip'>adresse_ip_eth2_proxy_link</param>
            <param type='eole' name='netmask'>adresse_mask_eth2_proxy_link</param>
        </auto>
        <fill name='calc_val' target='adresse_mask_eth2_proxy_link'>
            <param type='eole' name='valeur'>adresse_netmask_eth2</param>
        </fill>
        <auto name='calc_broadcast' target='adresse_bcast_eth3_proxy_link'>
            <param type='eole' name='ip'>adresse_ip_eth3_proxy_link</param>
            <param type='eole' name='netmask'>adresse_mask_eth3_proxy_link</param>
        </auto>
        <fill name='calc_val' target='adresse_mask_eth3_proxy_link'>
            <param type='eole' name='valeur'>adresse_netmask_eth3</param>
        </fill>
        <auto name='calc_broadcast' target='adresse_bcast_eth4_proxy_link'>
            <param type='eole' name='ip'>adresse_ip_eth4_proxy_link</param>
            <param type='eole' name='netmask'>adresse_mask_eth4_proxy_link</param>
        </auto>
        <fill name='calc_val' target='adresse_mask_eth4_proxy_link'>
            <param type='eole' name='valeur'>adresse_netmask_eth4</param>
        </fill>

        <fill name='calc_val' target='ip_serveur_ldap1'>
            <param type='eole' name='valeur' optional='True'>adresse_ip_ldap</param>
        </fill>
        <fill name='calc_val' target='proxy_ldap_base_dn'>
            <param type='eole' name='valeur' optional='True'>ldap_base_dn</param>
        </fill>
        <fill name='calc_val' target='ip_serveur_ldap1_2'>
            <param type='eole' name='valeur' optional='True'>adresse_ip_ldap</param>
        </fill>
        <fill name='calc_val' target='proxy_ldap_base_dn_2'>
            <param type='eole' name='valeur' optional='True'>ldap_base_dn</param>
        </fill>

        <!--<check name="valid_enum" target='cache_vary'>
            <param>['on','off']</param>
        </check>-->
        <check name="valid_enum" target="cache_replacement_policy">
            <param>['lru','heap GDSF','heap LFUDA','heap LRU']</param>
        </check>

        <check name="valid_enum" target="memory_replacement_policy">
            <param>['lru','heap GDSF','heap LFUDA','heap LRU']</param>
        </check>
        <check name="valid_enum" target="cache_dir_type">
            <param>['ufs']</param>
        </check>
        <check name="valid_enum" target="cache_dir_type_2">
            <param>['ufs']</param>
        </check>
        <group master='proxy_refresh_pattern_regexp'>
            <slave>proxy_refresh_pattern_case_sensitive</slave>
            <slave>proxy_refresh_pattern_min</slave>
            <slave>proxy_refresh_pattern_pourcent</slave>
            <slave>proxy_refresh_pattern_max</slave>
            <slave>proxy_refresh_pattern_options</slave>
        </group>
        <group master='cache_dir'>
            <slave>cache_dir_type</slave>
            <slave>cache_dir_disk_space</slave>
            <slave>cache_dir_firstLevel</slave>
            <slave>cache_dir_secondLevel</slave>
        </group>
        <group master='cache_dir_2'>
            <slave>cache_dir_type_2</slave>
            <slave>cache_dir_disk_space_2</slave>
            <slave>cache_dir_firstLevel_2</slave>
            <slave>cache_dir_secondLevel_2</slave>
        </group>
        <condition name='disabled_if_in' source='activer_clam'>
            <param>non</param>
            <target type='servicelist'>clamav_proxy</target>
            <target type='filelist'>clamav_proxy</target>
        </condition>
        <condition name='disabled_if_in' source='activer_proxy_refresh_pattern'>
            <param>non</param>
            <target>proxy_refresh_pattern_regexp</target>
            <target>proxy_refresh_pattern_case_sensitive</target>
            <target>proxy_refresh_pattern_min</target>
            <target>proxy_refresh_pattern_pourcent</target>
            <target>proxy_refresh_pattern_max</target>
            <target>proxy_refresh_pattern_options</target>
        </condition>
        <condition name='disabled_if_in' source='dansguardian_clam'>
            <param>non</param>
            <target type='servicelist'>clamav_proxy</target>
            <target type='filelist'>clamav_proxy</target>
        </condition>
        <check name="valid_networknetmask" target="proxy_eth0_netmask">
            <param type='eole'>proxy_eth0_ip</param>
        </check>
        <fill name='calc_multi_condition' target='nom_machine_eth1'>
            <param>2</param>
            <param type='eole' name='condition_1'>nombre_interfaces</param>
            <param name='match'>pedago</param>
            <param name='mismatch'>admin</param>
        </fill>
        <fill name='calc_multi_condition' target='nom_machine_eth2'>
            <param>2</param>
            <param type='eole' name='condition_1'>nombre_interfaces</param>
            <param name='match'>notset</param>
            <param name='mismatch'>pedago</param>
        </fill>
        <check name="valid_differ" target="nom_machine_eth1">
            <param type='eole' hidden="False">nom_machine_eth2</param>
        </check>
        <check name="valid_differ" target="nom_machine_eth2">
            <param type='eole' hidden="False">nom_machine_eth3</param>
        </check>
        <check name="valid_differ" target="nom_machine_eth3">
            <param type='eole' hidden="False">nom_machine_eth4</param>
        </check>

        <!-- Validation e2guardian Timeouts -->

        <!-- Proxy Timeout entre 5 et 100 -->
        <check name='valid_entier' target='docbodytimeout'>
            <param name="mini">5</param>
            <param name="maxi">100</param>
        </check>
        <!-- ProxyExchange Timeout entre 20 et 300 -->
        <check name='valid_entier' target='docheadertimeout'>
            <param name="mini">20</param>
            <param name="maxi">300</param>
        </check>
        <!-- PConTimeout entre 5 et 300     -->
        <check name='valid_entier' target='headertimeout'>
            <param name="mini">5</param>
            <param name="maxi">300</param>
        </check>
    </constraints>

    <help>
        <family name='filtrage web'>Configuration avancée du logiciel de filtrage e2guardian</family>
        <variable name='activer_filtrage_proxy'>Active le logiciel de filtrage e2guardian</variable>
        <variable name='proxy_cachemaster'>Adresse électronique proposée pour les réclamations liées au filtrage des sites</variable>
        <variable name='dansguardian_eth0'>Instance e2guardian à utiliser pour l'interface eth0 (1=Configuration 1, 2=Configuration 2)</variable>
        <variable name='dansguardian_eth1'>Instance e2guardian à utiliser pour l'interface eth1 (1=Configuration 1, 2=Configuration 2)</variable>
        <variable name='dansguardian_eth2'>Instance e2guardian à utiliser pour l'interface eth2 (1=Configuration 1, 2=Configuration 2)</variable>
        <variable name='dansguardian_eth3'>Instance e2guardian à utiliser pour l'interface eth3 (1=Configuration 1, 2=Configuration 2)</variable>
        <variable name='dansguardian_eth4'>Instance e2guardian à utiliser pour l'interface eth4 (1=Configuration 1, 2=Configuration 2)</variable>
        <variable name='dans_num_opt_filters'>Nombre de politiques optionnelles (1, 2 et 3) à activer, le diminuer permet un gain de performance</variable>
        <variable name='adresse_ip_eth0_proxy_link'>Adresse IP supplémentaire sur cette interface réseau, utilisée pour accèder au proxy. Le serveur aura donc plusieurs adresses IP sur le réseau local.</variable>
        <variable name='adresse_ip_eth1_proxy_link'>Adresse IP supplémentaire sur cette interface réseau, utilisée pour accèder au proxy. Le serveur aura donc plusieurs adresses IP sur le réseau local.</variable>
        <variable name='adresse_ip_eth2_proxy_link'>Adresse IP supplémentaire sur cette interface réseau, utilisée pour accèder au proxy. Le serveur aura donc plusieurs adresses IP sur le réseau local.</variable>

        <family name='squid'>Configuration du proxy Squid</family>
        <variable name='lightsquid_auto'>LightSquid est un analyseur de le log Squid permettant d'afficher sous forme de pages web l'utilisation du proxy</variable>
        <variable name='lightsquid_anon_mode'>Méthode d’anonimisation des rapports LightSquid :
        - aucune : le nom d’utilisateur est utilisé s’il est disponible
        - par IP : les rapports sont générés par adresse IP
        - anonyme : le nom « anonyme » est utilisé à la place du nom et de l’adresse IP
        </variable>
        <variable name='activer_proxy_refresh_pattern'>La directive refresh_pattern permet de personnaliser l'algorithme de gestion du rafraîchissement du cache par site</variable>
        <variable name="proxy_refresh_pattern_min">Temps minimum de cache d'un objet sans expiration explicite en-deça duquel l'objet est déclaré "frais"</variable>
        <variable name='proxy_refresh_pattern_pourcent'>Rapport entre l'âge de l'objet dans le cache et son âge sur le site en-deça duquel l'objet est déclaré "frais"</variable>
        <variable name='proxy_refresh_pattern_max'>Temps maximum de cache d'un objet sans expiration explicite au-delà duquel l'objet est déclaré "périmé"</variable>
        <variable name='squid_auth_eth1'>L'authentification sur cette interface s'applique aussi aux VLAN et alias</variable>
        <variable name='squid_auth_eth2'>L'authentification sur cette interface s'applique aussi aux VLAN et alias</variable>
        <variable name='squid_auth_eth3'>L'authentification sur cette interface s'applique aussi aux VLAN et alias</variable>
        <variable name='squid_auth_eth4'>L'authentification sur cette interface s'applique aussi aux VLAN et alias</variable>
        <family name='squid2'>Configuration de la seconde instance du proxy Squid</family>
        <family name='authentification'>Configuration des authentifications proxy et FreeRADIUS</family>
        <family name='proxy authentifié'>Configuration du proxy authentifié</family>
        <family name='proxy authentifié 2'>Configuration de l'authentification sur la seconde instance du proxy Squid</family>

        <!-- Proxy Timeout entre 5 et 100 -->
        <variable name='docbodytimeout'>Délai d'attente TCP entre le proxy et le guardian (Min 5, Max 100)</variable>
        <!-- ProxyExchange Timeout entre 20 et 300 -->
        <variable name='docheadertimeout'>Délai d'attente entre le proxy et le guardian (Min 20, Max 300)</variable>
        <!-- PConTimeout entre 5 et 300     -->
        <variable name='headertimeout'>Combien de secondes une connection persistante attend de nouvelles requêtes (Min 5, Max 300)</variable>
    </help>

</creole>
<!-- vim: ts=4 sw=4 expandtab
-->
