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

159 lines
5.6 KiB
TeX
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

\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}