379 lines
12 KiB
TeX
379 lines
12 KiB
TeX
\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 <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 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}{<?xml version="1.0" encoding="utf-8"?>} ;
|
||
\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}
|
||
<?xml version="1.0" encoding="utf-8"?>
|
||
<creole>
|
||
<variables>
|
||
<family name="services">
|
||
<variable name="activer_vnstat" type="oui/non"
|
||
description="Activer la gestion statistique">
|
||
<value>non</value>
|
||
</variable>
|
||
</family>
|
||
</variables>
|
||
<help>
|
||
<variable name="activer_vnstat">Activer vnstat</variable>
|
||
</help>
|
||
</creole>
|
||
\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}
|
||
<family name="statistique">
|
||
<variable name="vnstat_month_rotate" type="number"
|
||
description="Rotation par mois" mode="expert">
|
||
<value>1</value>
|
||
</variable>
|
||
<variable name="vnstat_interface" type="string"
|
||
description="Interface sur laquelle écoute vnstat"
|
||
multi="True" mandatory="True"/>
|
||
</family>
|
||
\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}
|
||
<files>
|
||
<package>vnstat</package>
|
||
</files>
|
||
\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}
|
||
<files>
|
||
<service servicelist="vnstat">vnstat</service>
|
||
</files>
|
||
\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}
|
||
<files>
|
||
<file filelist="vnstat" name="/etc/vnstat.conf"/>
|
||
</files>
|
||
\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}
|
||
<constraints>
|
||
<check name="valid_enum" target="vnstat_interface">
|
||
<param>['0', '1', '2', '3', '4']</param>
|
||
</check>
|
||
<condition name="disabled_if_in" source="activer_vnstat">
|
||
<param>non</param>
|
||
<target type="family">statistique</target>
|
||
<target type="servicelist">vnstat</target>
|
||
<target type="filelist">vnstat</target>
|
||
</condition>
|
||
</constraints>
|
||
\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}
|
||
}
|