formations/slides/modules_EOLE_envole/tronc-commun-2/personnalisation-creole-templates.tex

159 lines
5.6 KiB
TeX
Raw Normal View History

\begin{frame}
\frametitle{Dictionnaire Creole}
\begin{itemize}
\item Un dictionnaire est un fichier XML Creole ;
\item décrit les variables présente dans l'interface de configuration ;
\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}
\begin{frame}
\frametitle{CreoleGet}
\framesubtitle{Récupérer la valeur dune 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}
\commande{CreoleSet} ne permet pas de changer la longueur de esclave. Une assignation de valeur pour une liste doit respecter la longueur initiale.
\end{alertblock}
\end{frame}
\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}
\item Les variables sont classés dans des familles.
\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) ;
\item le répertoire de destination doit existé par défaut ;
\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}