\begin{frame} \frametitle{Gestionnaire de configuration existants} \begin{itemize} \item Le gestionnaire de conf de Victor Stinner $\Rightarrow$ \emph{NuFw}; \item puppet, cfgengine... $\Rightarrow$ intéressant, de nombreux comportements peuvent être repris, mais tel quel difficilement compatible avec \emph{Creole}; \item \emph{Creole} $\Leftrightarrow$ \texttt{tiramisu/doc/build/glossary.html} \end{itemize} \end{frame} \begin{frame} \frametitle{Comparaison entre le noyau de Créole et Tiramisu} \begin{itemize} \item \emph{Créole} : \texttt{EoleDict, EoleVars} $ \Leftrightarrow $ \texttt{Config, Option} \\ cf \texttt{tiramisu/doc/build/pydoc/index.html} \item \emph{Créole} : \texttt{cfgparser.py + typeeole.py} $ \Rightarrow 2500$ lignes ; \item \emph{Tiramisu} : \texttt{config.py + option.py} $ \Rightarrow 800$ lignes ; \item Et en plus : \begin{itemize} \item \emph{Créole} valide le type mais pas la structure (fait trop confiance au \texttt{XML}) ; \item Avec \emph{Créole} il est compliqué d'ajouter un type à cause de la métaclasse ; \item \emph{Tiramisu} valide le type \emph{et} la structure, et l'ajout de types est aisé. \end{itemize} \item \texttt{eole-report/D02CoherenceVariables.pdf} \end{itemize} \end{frame} \begin{frame} \frametitle{Qu'est-ce que c'est un gestionnaire de conf ?} \begin{itemize} \item c'est un \emph{dictionnaire} de données ; \item clefs-valeurs, mais quelles valeurs exactement ? ; \item \texttt{eole-report/D01AccesVariables.pdf} \end{itemize} \end{frame} \begin{frame} \frametitle{Définition d'un gestionnaire de configuration} \begin{itemize} \item les families, groups, master \dots~ ce sont des espaces de nommages ; \item c'est la configuration qui est responsable de l'accès aux valeurs ; \item une configuration aisément manipulable ; \item un point d'entrée unique. \item \texttt{eole-report/D01AccesVariables.pdf} \end{itemize} \end{frame} \begin{frame} \frametitle{Définition d'un gestionnaire de configuration 2} \begin{itemize} \item serveur de données de configuration ; \item $1^{ere}$ méthode : exportation (snapshot) d'un état de la config $\Rightarrow$ Créole ; \item $2^{eme}$ méthode : JIT (just in time) calculation, une modification de l'état de la configuration est possible \emph{pendant} la manipulation et l'utilisation $\Rightarrow$ Tiramisu. \item \texttt{doc/getting-started.html} \end{itemize} \end{frame}