Sommaire

- 3) Les scripts clients
  - 3.1) La fonction d'enregistrement
  - 3.2) Les fonctions accessibles à zephir

# 3) Les scripts clients

Les deux principaux scripts de la partie client sont:

- enregistrement_zephir (activation des fonctions zephir sur un client)
- zephir_client.py (appel de diverses fonctions du client)

Tous les scripts concernant Zephir se situent dans le répertoire /usr/share/eole/zephir/

## 3.1) La fonction d'enregistrement

> Cette procédure permet de configurer un serveur Eole pour fonctionner avec Zephir. Les différentes étapes de cette procédures sont les suivantes:

> - mise en place d'une configuration réseau minimale si besoin

> - saisie de l'adresse de zephir

> - saisie d'un login et mot de passe pour la connexion à zephir

> - selon la méthode de déploiement retenue:

>   > - choix du n° de serveur existant dans la base zephir
>   > - création d'un nouveau serveur dans la base

> - mise en place de la conf uucp (et échange de clé rsa avec zephir)

> - proposition des choix suivants pour la mise en place de la configuration:

>   > - sauvegarde de la configuration existante (si déjà configuré) sur zephir
>   > - utilisation de la configuration stockée sur zephir
>   > - ne rien faire (configuration manuelle du serveur)

> - sauvegarde du n° de serveur et de l'adresse de zephir dans le fichier /usr/share/eole/zephir/zephir_conf/zephir_conf.py (si ce fichier est présent, le serveur considère qu'il est en mode zephir).

## 3.2) Les fonctions accessibles à zephir

> Ces procédures sont soit des fonctions python déclarées dans zephir_client.py, soit des scripts exécutables du type /usr/share/eole/zephir/nom_script.zephir.

> Dans le cas des scripts, si l'utilisateur uucp n'a pas les droits nécessaires à l'utilisation de ce script, la solution la plus simple consiste à écrire une fonction dans zephir_client.py qui porte le même nom que le script et qui apelle clui-ci avec une commande sudo.

> Exemple de la fonction de sauvegarde de la configuration :

> Cette fonction lance un script nommé save_files.zephir sur le client

>     def save_files(zephir):
>             """lance la procédure d'envoi de la configuration du serveur sur zephir"""
>             res = os.system('sudo /usr/share/eole/zephir/save_files.zephir 2>&1>> /tmp/rapport.zephir')
>             if res == 0:
>                     return "ok"
>             else:
>                     log('SAUVEGARDE',1,'erreur lors de la sauvegarde sur zephir')
>                     return "erreur save_files.zephir"