\begin{frame} \frametitle{CreoleGet} \framesubtitle{Récupérer la valeur d’une variable} \begin{itemize} \item \commande{CreoleGet nom\_variable} \item \commande{CreoleGet --list} \item on retrouve le nom des variables dans gen\_config en mode debug \end{itemize} \end{frame} \begin{frame} \frametitle{CreoleSet} \framesubtitle{Assigner une valeur à une variable} \begin{itemize} \item \commande{CreoleSet } ; \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 d’une liste esclave. Une assignation de valeur pour une liste doit respecter la longueur initiale. \end{alertblock} \end{frame} {\setbeamercolor{background canvas}{bg=TravauxPratiques} \begin{frame} \frametitle{Pratique} \begin{itemize} \item Récupérer la valeur de la variable adresse\_ip\_eth0 \end{itemize} \end{frame} \begin{frame} \frametitle{Pratique} \begin{itemize} \item Modifier la valeur de la variable de vm\_swappiness à 12 ; \item modifier ubuntu\_update\_mirrors à "eole.ac-dijon.fr inconnu.lan" \end{itemize} \end{frame} } \begin{frame} \frametitle{Dictionnaire Creole} \begin{itemize} \item Un dictionnaire est un fichier XML Creole ; \item décrit les variables présentes 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} {\setbeamercolor{background canvas}{bg=TravauxPratiques} \begin{frame} \frametitle{Pratique} \framesubtitle{Gérer le service vnstat} \begin{enumerate} \item Créer le dictionnaire /usr/share/eole/creole/dicos/local/00\_vnstat.xml ; \item ajouter l’entête \mintinline{xml}{} ; \item ajouter une balise \emph{creole} ; % \item ajouter une balise \emph{files} dans la balise \emph{creole} ; % \item ajouter une balise \emph{service} dans la balise \emph{files} ; \end{enumerate} \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} {\setbeamercolor{background canvas}{bg=TravauxPratiques} \begin{frame} \frametitle{Pratique} \framesubtitle{Tester le dictionnaire} \begin{enumerate} \item Valider avec \commande{CreoleLint -d /usr/share/eole/creole/dicos/local/00\_vnstat.xml}. \end{enumerate} \end{frame} } \begin{frame} \frametitle{Dictionnaires Creole} \frametitle{Les familles} \begin{itemize} \item Les variables sont classées 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} {\setbeamercolor{background canvas}{bg=TravauxPratiques} \begin{frame} \frametitle{Pratique} \framesubtitle{Ajouter une variable pour activer vnstat} \begin{enumerate} \item Ajouter une balise \emph{variables} dans la balise \emph{creole}, \item ajouter une balise \emph{family} dans la balise \emph{variables}, \item ajouter une balise \emph{variable} dans la balise \emph{family}, \item ajouter de l'aide, \item valider avec \commande{CreoleLint}, \item constater les changements dans \commande{gen\_config}. \end{enumerate} \end{frame} \begin{frame}[fragile] \frametitle{Correction} \framesubtitle{Ajouter une variable pour activer vnstat} \begin{verbatim} non Activer vnstat \end{verbatim} \end{frame} \begin{frame} \frametitle{Pratique} \framesubtitle{Ajouter les variables vnstat} \begin{enumerate} \item ajouter une variable vnstat\_month\_rotate avec le nombre de rotation par mois ; \item ajouter une variable vnstat\_interface pour définir sur quelle interface écouter ; \item valider avec \commande{CreoleLint} ; \item constater les changements dans \commande{gen\_config}. \end{enumerate} \end{frame} \begin{frame}[fragile] \frametitle{Correction} \framesubtitle{Ajouter les variables vnstat} \begin{verbatim} 1 \end{verbatim} \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} {\setbeamercolor{background canvas}{bg=TravauxPratiques} \begin{frame} \frametitle{Pratique} \framesubtitle{Installer le paquet} \begin{enumerate} \item ajouter l'installation du paquet ; \item valider avec \commande{CreoleLint}. \end{enumerate} \end{frame} \begin{frame}[fragile] \frametitle{Correction} \framesubtitle{Installer le paquet} \begin{verbatim} vnstat \end{verbatim} \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 ou apache. \end{itemize} \end{frame} {\setbeamercolor{background canvas}{bg=TravauxPratiques} \begin{frame} \frametitle{Pratique} \framesubtitle{Gérer le service} \begin{enumerate} \item gérer le service ; \item valider avec \commande{CreoleLint}. \end{enumerate} \end{frame} \begin{frame}[fragile] \frametitle{Correction} \framesubtitle{Gérer le service} \begin{verbatim} vnstat \end{verbatim} \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 exister 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} {\setbeamercolor{background canvas}{bg=TravauxPratiques} \begin{frame} \frametitle{Pratique} \framesubtitle{Ajouter des contraintes} \begin{enumerate} \item ajouter le template ; \item valider avec \commande{CreoleLint}. \end{enumerate} \end{frame} \begin{frame}[fragile] \frametitle{Correction} \framesubtitle{Ajouter des contraintes} \begin{verbatim} \end{verbatim} \end{frame} \begin{frame} \frametitle{Pratique} \framesubtitle{Copier le fichier de configuration} \begin{enumerate} \item Copier le fichier /etc/vnstat.conf dans /usr/share/eole/creole/distrib. \end{enumerate} \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} {\setbeamercolor{background canvas}{bg=TravauxPratiques} \begin{frame} \frametitle{Pratique} \framesubtitle{Ajouter des contraintes} \begin{enumerate} \item la variable vnstat\_month\_rotate ne peut avoir qu'une valeur entre 0 et 4 ; \item désactiver la famille, le service et la génération du template si désactivé ; \item valider avec \commande{CreoleLint}, \item constater les changements dans \commande{gen\_config}. \end{enumerate} \end{frame} \begin{frame}[fragile] \frametitle{Correction} \framesubtitle{Ajouter une variable pour activer vnstat} \begin{verbatim} ['0', '1', '2', '3', '4'] non statistique vnstat vnstat \end{verbatim} \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} \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} \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} {\setbeamercolor{background canvas}{bg=TravauxPratiques} \begin{frame} \frametitle{Pratique} \framesubtitle{Modifier le template} \begin{enumerate} \item utiliser la variable vnstat\_month\_rotate pour configurer MonthRotate ; \item utiliser la variable vnstat\_interface pour configurer Interface ; \item valider avec \commande{CreoleLint} ; \item constater les changements dans \commande{CreoleCat}. \end{enumerate} \end{frame} }