2012-06-15 13:16:37 +02:00
\begin { frame}
\frametitle { Comparaison entre le noyau de Créole et Tiramisu}
\begin { itemize}
\item \emph { Tiramisu} a pour objectif de
\begin { itemize}
\item remplacer le noyau \emph { Creole} (\texttt { EoleDict} ) de manière transparente ;
\item résoudre les problèmes inhérents à \texttt { CreoleServ} ;
\end { itemize}
\item au niveau du code, il y a enfin une vraie séparation du c\oe ur et du fonctionnel ;
\item valide le type \emph { et la structure} , l'ajout de types est aisé.
\item \emph { Creole} : \texttt { EoleDict, EoleVars} $ \Leftrightarrow $ \texttt { Config, Option} \\
cf \texttt { tiramisu/doc/build/pydoc/index.html}
\item intégré à \texttt { gen\_ config} , \texttt { cheetah} , \texttt { DTD Creole} , syntaxe \texttt { Creole} \dots
\item \texttt { eole-report/D02CoherenceVariables.pdf}
\end { itemize}
\end { frame}
2012-05-13 20:48:51 +02:00
\begin { frame}
2012-06-12 11:30:01 +02:00
\frametitle { Gestionnaire de configuration existants}
\begin { itemize}
\item Le gestionnaire de conf de Victor Stinner $ \Rightarrow $ \emph { NuFw} ;
2012-06-13 08:37:27 +02:00
\item puppet, cfgengine... $ \Rightarrow $ intéressant, de nombreux comportements peuvent être repris, mais tel quel difficilement compatible avec \emph { Creole} ;
2012-06-12 11:30:01 +02:00
\item \emph { Creole} $ \Leftrightarrow $ \texttt { tiramisu/doc/build/glossary.html}
\end { itemize}
\end { frame}
\begin { frame}
2012-06-15 13:16:37 +02:00
\frametitle { Un "vrai" serveur de config}
2012-06-14 09:58:28 +02:00
\begin { itemize}
2012-06-15 13:16:37 +02:00
\item un serveur de données de configuration ;
2012-06-14 09:58:28 +02:00
\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 de la conf $ \Rightarrow $ Tiramisu.
\item \texttt { doc/getting-started.html}
\end { itemize}
\end { frame}
\begin { frame}
\frametitle { Qu'est-ce qu'un gestionnaire de conf moderne ?}
2012-06-12 11:30:01 +02:00
\begin { itemize}
2012-06-15 13:16:37 +02:00
\item c'est une organisation arborescente des données (les données sont imbriquées) ;
\item c'est un accès facile aux données (typiquement une interface de type \emph { dictionnaire} ) ;
2012-06-14 09:58:28 +02:00
\item clefs-valeurs, mais quelles valeurs exactement ? $ \Rightarrow $ calcul JIT (just in time) ;
2012-05-13 20:48:51 +02:00
\item \texttt { eole-report/D01AccesVariables.pdf}
\end { itemize}
\end { frame}
\begin { frame}
\frametitle { Définition d'un gestionnaire de configuration}
\begin { itemize}
2012-06-15 13:16:37 +02:00
\item les families, groups, master \dots ~ ce sont des \emph { schémas} de données (\texttt { OptionDescription} ) ;
\item c'est la configuration (\texttt { Config} ) qui est responsable de l'accès aux valeurs ;
\item la configuration est aisément manipulable, et a un point d'entrée unique ;
\item l'accès aux valeurs des \texttt { Options} de configuration ne peut se faire \emph { que} depuis la conf racine.
2012-05-13 20:48:51 +02:00
\item \texttt { eole-report/D01AccesVariables.pdf}
\end { itemize}
\end { frame}
2012-06-15 13:16:37 +02:00
\begin { frame}
\frametitle { Organisation en espace de nommage}
\begin { itemize}
\item dans \emph { tiramisu} l'accent est mis sur l'organisation arborescente des données ;
\item la validation des options de configuration se fait par l'appartenance aux groupes (families, master/slaves \dots ) ;
\item l'organisation en groupes est unifiée par l'espace de nommage ;
\item \texttt { eole-report/D03ReglesEtats.pdf}
\item lisibilité d'une config : \texttt { tiramisu/report/build/index.html} rapport html d'une config
\end { itemize}
\end { frame}
2012-05-13 20:48:51 +02:00