2020-08-06 17:16:10 +02:00
\begin { frame}
\frametitle { Dictionnaire Creole}
\begin { itemize}
\item Un dictionnaire est un fichier XML Creole ;
2021-08-02 16:20:34 +02:00
\item décrit les variables présentes dans l'interface de configuration ;
2020-08-06 17:16:10 +02:00
\item informations utiles pour les services ;
\item les dictionnaires locaux sont dans /usr/share/eole/creole/dicos/local/.
\end { itemize}
\end { frame}
\begin { frame}
\frametitle { CreoleLint}
\begin { itemize}
\item Vérifie la syntaxe du dictionnaire : \commande { CreoleLint -d} ;
\item test la génération d'un template suivant contrainte : \commande { CreoleLint -t nom\_ du\_ template}
\end { itemize}
\end { frame}
\begin { frame}
\frametitle { CreoleCat}
\begin { itemize}
\item Templatise un fichier sans faire de reconfigure (objectif de test) ;
\item \commande { CreoleCat -t nom\_ du\_ template}
\item \commande { CreoleCat -t nom\_ du\_ template -o /tmp/template.tmpl}
\item \commande { CreoleCat -s /tmp/nom\_ du\_ template -o /tmp/template.tmpl}
\end { itemize}
\end { frame}
2020-08-07 11:10:25 +02:00
\begin { frame}
\frametitle { CreoleGet}
\framesubtitle { Récupérer la valeur d’ une variable}
\begin { itemize}
\item \commande { CreoleGet nom\_ variable}
\item \commande { CreoleGet --list}
\end { itemize}
\end { frame}
\begin { frame}
\frametitle { CreoleSet}
\framesubtitle { Assigner une valeur à une variable}
\begin { itemize}
\item \commande { CreoleSet <nom\_ variable> <valeur>} ;
\item Pour une liste : \commande { CreoleSet nom\_ variable """valeur1}
\item \commande { > valeur2"""} ;
\end { itemize}
\begin { alertblock} { Manipulation des listes esclaves}
2021-08-02 16:20:34 +02:00
\commande { CreoleSet} ne permet pas de changer la longueur d’ une liste esclave. Une assignation de valeur pour une liste doit respecter la longueur initiale.
2020-08-07 11:10:25 +02:00
\end { alertblock}
\end { frame}
2020-08-06 17:16:10 +02:00
\begin { frame}
\frametitle { Dictionnaires Creole}
\frametitle { Les paquets}
\begin { itemize}
\item Les paquets fonctionnent sur le maitre ou dans un conteneur ;
\item permet d'installer les paquets sans passer par les dépendances de paquet.
\end { itemize}
\end { frame}
\begin { frame}
\frametitle { Dictionnaires Creole}
\frametitle { Les services}
\begin { itemize}
\item Services fonctionnent sur le maitre ou dans un conteneur ;
\item différentes méthodes : service, upstart (version EOLE inférieur à 2.6) ou apache.
\end { itemize}
\end { frame}
\begin { frame}
\frametitle { Dictionnaires Creole}
\frametitle { Le firewall}
\begin { itemize}
\item On commence par ouvrir les accès (service\_ access) ;
\item on ajoute ensuite les restrictions (service\_ restiction).
\end { itemize}
\end { frame}
\begin { frame}
\frametitle { Dictionnaires Creole}
\frametitle { Les familles}
\begin { itemize}
2021-08-02 16:20:34 +02:00
\item Les variables sont classées dans des familles.
2020-08-06 17:16:10 +02:00
\end { itemize}
\end { frame}
\begin { frame}
\frametitle { Dictionnaires Creole}
\frametitle { Les variables}
\begin { itemize}
\item Les variables sont typées :
\begin { itemize}
\item number, port,
\item string, mail, filename, unix\_ user, web\_ address,
\item ip, local\_ ip, netmask, network, broadcast,
\item netbios, domain, domain\_ strict, hostname, hostname\_ strict,
\item oui/non, on/off, yes/no.
\end { itemize}
\end { itemize}
\end { frame}
\begin { frame}
\frametitle { Dictionnaires Creole}
\frametitle { Les fichiers templates}
\begin { itemize}
\item Le nom des fichiers templates sont dans les dictionnaires (file) ;
2021-08-02 16:20:34 +02:00
\item le répertoire de destination doit exister par défaut ;
2020-08-06 17:16:10 +02:00
\item possibilité de définir les droits sur le fichier ;
\item nom de la source peut être différents de la destination.
\end { itemize}
\end { frame}
\begin { frame}
\frametitle { Dictionnaires Creole}
\frametitle { Les contraintes}
\begin { itemize}
\item pour tester/remplir/grouper/conditionner des variables ;
\begin { itemize}
\item calcul automatique (fill),
\item calcul automatique non modifiable (auto),
\item choix de réponse (valid\_ enum),
\item cacher des variables suivant des contraintes (condition),
\item groupe de variables (group) :
\end { itemize}
\end { itemize}
\end { frame}
\begin { frame}
\frametitle { Dictionnaires Creole}
\framesubtitle { Redéfinition de variables}
\begin { itemize}
\item Permet de redéfinir des attributs et caractéristiques :
\begin { itemize}
\item service
\item variable
\end { itemize}
\item remove\_ check : supprimer les "check" déjà définit de la variable.
\end { itemize}
\end { frame}
\begin { frame}
\frametitle { Langague de template Creole}
\begin { itemize}
\item Un template utilise le langage de template Creole.
\item variable Creole préfixé par \begin { semiverbatim} \% \% \end { semiverbatim}
\item Test : \begin { semiverbatim} \% if EXPRESSION code if \% else code else \% end if\end { semiverbatim}
\item Boucle : \begin { semiverbatim} \% for \% \% i in EXPRESSION hello \% \% i \% end for\end { semiverbatim}
\item Boucle pour variable multi évolué avec esclave : \begin { semiverbatim} \% for \% \% var in \% \% variablemaitre\end { semiverbatim} \begin { semiverbatim} \% \% var, \% \% var.esclave1, \% \% var.esclave2\end { semiverbatim} \begin { semiverbatim} \% end for\end { semiverbatim}
\end { itemize}
\end { frame}
\begin { frame}
\frametitle { Langague de template Creole}
\begin { itemize}
\item Test existence : \begin { semiverbatim} \% if \% \% is\_ defined('variable') code if \% end if\end { semiverbatim}
\item valeur vide : \begin { semiverbatim} \% if \% \% is\_ empty(\% \% variable) code if \% end if\end { semiverbatim}
\item nom de variable dans une variable : \begin { semiverbatim} \% set \% \% var='adresse\_ ip\_ eth0' \% \% getVar(\% \% var)\end { semiverbatim}
\end { itemize}
\end { frame}