4bbea9fb5b0d44cfb24744f886617ab679f7f6c3
[tiramisu.git] / doc / eole-report / presentation / definition.tex
1 \begin{frame}
2  \frametitle{Comparaison entre le noyau de Créole et Tiramisu}
3  \begin{itemize}
4   \item \emph{Tiramisu} a pour objectif de 
5   \begin{itemize}
6   \item remplacer le noyau \emph{Creole} (\texttt{EoleDict}) de manière transparente ; 
7   \item résoudre les problèmes inhérents à \texttt{CreoleServ} ;
8   \end{itemize}
9   \item au niveau du code, il y a enfin une vraie séparation du c\oe ur et du fonctionnel ;
10   \item valide le type \emph{et la structure}, l'ajout de types est aisé.
11   \item \emph{Creole} : \texttt{EoleDict, EoleVars} $ \Leftrightarrow $ \texttt{Config, Option}\\
12   cf \texttt{tiramisu/doc/build/pydoc/index.html}
13   \item intégré à \texttt{gen\_config}, \texttt{cheetah}, \texttt{DTD Creole}, syntaxe \texttt{Creole} \dots
14   \item \texttt{eole-report/D02CoherenceVariables.pdf}
15  \end{itemize}
16 \end{frame}
17
18 \begin{frame}
19  \frametitle{Gestionnaire de configuration existants}
20  \begin{itemize}
21   \item Le gestionnaire de conf de Victor Stinner $\Rightarrow$ \emph{NuFw}; 
22   \item puppet, cfgengine... $\Rightarrow$ intéressant, de nombreux comportements peuvent être repris, mais tel quel difficilement compatible avec \emph{Creole};
23   \item \emph{Creole} $\Leftrightarrow$ \texttt{tiramisu/doc/build/glossary.html}
24 \end{itemize}
25 \end{frame}
26
27 \begin{frame}
28  \frametitle{Un "vrai" serveur de config}
29  \begin{itemize}
30   \item un serveur de données de configuration ;
31   \item $1^{ere}$ méthode : exportation (snapshot) d'un état de la config $ \Rightarrow $ Créole ;
32   \item $2^{eme}$ méthode : JIT (just in time) calculation, une modification 
33 de l'état de la configuration est possible \emph{pendant} la manipulation et l'utilisation de la conf $ \Rightarrow $ Tiramisu.
34   \item \texttt{doc/getting-started.html}
35  \end{itemize}
36 \end{frame}
37
38 \begin{frame}
39  \frametitle{Qu'est-ce qu'un gestionnaire de conf moderne ?}
40  \begin{itemize}
41   \item c'est une organisation arborescente des données (les données sont imbriquées) ;
42   \item c'est un accès facile aux données (typiquement une interface de type \emph{dictionnaire}) ;
43   \item clefs-valeurs, mais quelles valeurs exactement ? $ \Rightarrow $ calcul JIT (just in time) ;
44   \item \texttt{eole-report/D01AccesVariables.pdf}
45 \end{itemize}
46 \end{frame}
47
48 \begin{frame}
49  \frametitle{Définition d'un gestionnaire de configuration}
50  \begin{itemize}
51   \item les families, groups, master \dots~ ce sont des \emph{schémas} de données (\texttt{OptionDescription}) ;
52   \item c'est la configuration (\texttt{Config}) qui est responsable de l'accès aux valeurs ;
53   \item la configuration est aisément manipulable, et a un point d'entrée unique ;
54   \item l'accès aux valeurs des \texttt{Options} de configuration ne peut se faire \emph{que} depuis la conf racine.
55   \item \texttt{eole-report/D01AccesVariables.pdf}
56  \end{itemize}
57 \end{frame}
58
59 \begin{frame}
60  \frametitle{Organisation en espace de nommage}
61  \begin{itemize}
62   \item dans \emph{tiramisu} l'accent est mis sur l'organisation arborescente des données ;
63   \item la validation des options de configuration se fait par l'appartenance aux groupes (families, master/slaves \dots) ;
64   \item l'organisation en groupes est unifiée par l'espace de nommage ;
65   \item \texttt{eole-report/D03ReglesEtats.pdf}
66   \item lisibilité d'une config : \texttt{tiramisu/report/build/index.html} rapport html d'une config
67  \end{itemize}
68 \end{frame}
69