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

<creole>
    <files>
        <file filelist='piwik' name='/usr/share/eole/db/piwik/gen/piwik-create-0.sql' rm='True' mkdir='True'/>
        <file filelist='piwik' name='/usr/share/eole/db/piwik/updates/piwik-update-1.sql' rm='True' mkdir='True'/>
        <file filelist='piwik' name='/etc/eole/eole-db.d/piwik-db.yml' rm='True' mkdir='True'/>
        <file filelist='piwik' name='/usr/share/envole/eoledb/piwik' source='piwik.db' rm='True' mkdir='True'/>
    </files>

    <containers>
        <container name='web'>
            <package>piwik-apps</package>
            <!-- services de configuration apache -->
            <service method='apache' servicelist='piwik'>piwik</service>
            <!-- fichier de configuration de apache et php -->
            <file filelist='piwik' name='/etc/apache2/sites-available/piwik' source='piwik-apache.conf'/>
            <file filelist='piwik' name='/var/www/html/piwik/config/config.ini.php' source='piwik-conf.php' rm='True'/>
            <!-- Configuration du trackeur piwik pour envole -->
            <file filelist='piwik' name='/var/www/html/piwik/envoleTrackeur.js.php' source='piwik-envoleTrackeur.js.php' rm='True'/>
            <!-- Configuration du cron piwik pour envole -->
            <file filelist='piwik' name='/etc/cron.d/piwik' source='piwik.cron' rm='True'/>
            <file filelist='piwik' name='/var/www/html/posh-profil/include/piwik.php' source='piwik-synchro.php' rm='True'/>
         </container>
    </containers>

    <variables>
        <family name='statistiques'>
            <!-- Activation piwik -->
            <variable name='activer_piwik' type='oui/non' description='Activer Piwik (outil de statistiques)'>
                <value>oui</value>
            </variable>
            
            <!-- Variables liées au piwik académique -->
            <variable name="scribe_piwik_distant" type="oui/non" description="Activer la connexion au serveur de statistiques académique">
                <value>non</value>
            </variable>
            <variable name='scribe_posh_adresse_aca' type='string' description="Url de base du serveur piwik académique" />
            <variable name='scribe_posh_piwikbase_aca' type='string' description="Alias de l'application piwik académique" >
                <value>/piwik</value>
            </variable>
            <variable name='scribe_posh_piwikid_aca' type='string' description="Identifiant du site à utiliser pour l'envoi des statistiques Piwik académique" >
                <value>1</value>
            </variable>

            <!-- Activation DNMA -->
            <variable name='activer_piwikdnma' type='oui/non' description='Activer Sonde DNMA'>
                <value>non</value>
            </variable>
            <variable name='piwikdnma_projet' type='string' description='Ancien Code Projet DNMA' hidden='True' mode='expert' />
            <variable name='piwikdnma_codeprojet' type='string' description='Code Projet DNMA' mandatory='True' />
            <variable name='piwikdnma_collectivite' type='string' description='Code Collectivite DNMA' mandatory='True' />
            <variable name='piwikdnma_uai' type='string' description='Code UAI Etablissement DNMA' mandatory='True' />

            <!-- Variables informations sur le serveur -->
            <variable name='adresse_postale' type='string' description='Adresse postale'/>
            <variable name='code_postal' type='string' description='Code postal'/>
            <variable name='ville' type='string' description='Ville'/>
            <variable name='pays' type='string' description='Pays'>
                <value>France</value>
            </variable>
            <variable name='nature_etab' type='string' description='Type de serveur'>
                <value>école</value>
            </variable>
            <variable name='nature_serveur' type='string' description='Nature de serveur'>
                <value>production</value>
            </variable>
            <variable name='fonction_serveur' type='string' description='Fonction du serveur'>
                <value>ENT</value>
            </variable>
        </family>

      
        <family name='piwik' mode='expert'>
            <variable type='string' name='piwik_db_mode' description='Serveur de bases de données à utiliser'/>
            <variable type='string' name='piwik_dbserver' description='Adresse du serveur de base de données'/>
            <variable type='number' name='piwik_dbport' description="Port d'écoute du serveur de base de données"/>
            <variable type='string' name='piwik_allow_hosts' description="Hôtes authorisés à utiliser la base de données" multi='True'/>
            <variable type='string' name='piwik_dbuser' description='Utilisateur du serveur de base de données'/>
            <variable type='string' name='piwik_dbpass' description='Fichier de mot de passe du serveur'/>
        </family>        

        <separators>
            <separator name='activer_piwik'>Gestion des statistiques</separator>
            <separator name='scribe_piwik_distant'>Statistiques académiques</separator>
            <separator name='activer_piwikdnma'>Sonde DNMA</separator>
            <separator name='adresse_postale'>Infos statistiques</separator>
           
        </separators>
    </variables>
    
    <constraints>
        <check name='valid_enum' target='nature_etab'>
             <param>['école', 'collège', 'lycée', 'supérieur', 'autre_etab', 'rectorat', 'dsden', 'entreprise', 'autre']</param>
        </check>
        
        <check name='valid_enum' target='nature_serveur'>
             <param>['production', 'recette', 'développement']</param>
        </check>
        
        <check name='valid_enum' target='fonction_serveur'>
             <param>['ENT', 'PIA']</param>
        </check>

        <condition name='hidden_if_in' source='activer_apache'>
            <param>non</param>
            <target type='family'>statistiques</target>
        </condition>

        <condition name='hidden_if_in' source='activer_piwik'>
            <param>non</param>
            <target type='filelist'>piwik</target>
            <target type='servicelist'>piwik</target>
            <target type='variable'>scribe_piwik_distant</target>
            <target type='variable'>activer_piwikdnma</target>
            <target type='variable'>adresse_postale</target>
            <target type='variable'>code_postal</target>
            <target type='variable'>ville</target>
            <target type='variable'>pays</target>
            <target type='variable'>nature_etab</target>
            <target type='variable'>nature_serveur</target>
            <target type='variable'>fonction_serveur</target>

        </condition>

        <condition name='hidden_if_in' source='scribe_piwik_distant'>
            <param>non</param>
            <target type='variable'>scribe_posh_adresse_aca</target>
            <target type='variable'>scribe_posh_piwikbase_aca</target>
            <target type='variable'>scribe_posh_piwikid_aca</target>
        </condition>
        
        <condition name='hidden_if_in' source='activer_piwikdnma'>
            <param>non</param>
            <target type='variable'>piwikdnma_projet</target>
            <target type='variable'>piwikdnma_codeprojet</target>
            <target type='variable'>piwikdnma_collectivite</target>
            <target type='variable'>piwikdnma_uai</target>
        </condition>

        <fill name='calc_multi_condition' target='piwikdnma_codeprojet'>
            <param>56</param>
            <param type='eole' name='condition_1' hidden='False'>piwikdnma_projet</param>
            <param name='match'>ICART</param>
            <param name='default_mismatch'>None</param>
        </fill>

        <fill name='calc_val' target='piwikdnma_uai'>
            <param type='eole' name='valeur'>numero_etab</param>
        </fill>

        <check name='valid_enum' target='piwik_db_mode'>
            <param>['default', 'externe', 'local']</param>
        </check>
        <condition name='disabled_if_in' source='piwik_db_mode'>
            <param>local</param>
            <target type='variable'>piwik_dbserver</target>
            <target type='variable'>piwik_dbuser</target>
            <target type='variable'>piwik_dbport</target>
            <target type='variable'>piwik_dbpass</target>
        </condition>
        <condition name='disabled_if_in' source='piwik_db_mode'>
            <param>default</param>
            <target type='variable'>piwik_dbserver</target>
            <target type='variable'>piwik_dbuser</target>
            <target type='variable'>piwik_dbport</target>
            <target type='variable'>piwik_dbpass</target>
            <target type='variable'>piwik_allow_hosts</target>
        </condition>        
    </constraints>

    <help>
        <variable name='activer_piwik'>Piwik est un outil permettant de collecter des statistiques de fréquentation du portail Envole.</variable>
        <variable name='scribe_posh_adresse_aca'>Indiquer l'adresse de votre serveur académique avec http ou https (exemple : https://pia.ac-acad.fr)</variable>
        <variable name='scribe_posh_piwikbase_aca'>Alias apache de piwik sur votre serveur académique (exemple : /piwik)</variable>
        <variable name='code_postal'>Code postal de la ville où se situe l'établissement.</variable>
        <variable name='nature_etab'>Type d'établissement scolaire ou autre.</variable>
        <variable name='nature_serveur'>Type d'utilisation du serveur.</variable>
    </help>
</creole>
