\begin{frame}
 \frametitle{Écrire en couleur}
 \begin{itemize}
  \item pyeole.ansiprint
  \item print\_red
  \item print\_green
  \item print\_orange
  \item ...
  \item print\_title
 \end{itemize}
\end{frame}

\begin{frame}
 \frametitle{Question}
 \begin{itemize}
  \item pyeole.ihm
  \item question\_ouinon
  \begin{itemize}
   \item question : contenu de la question de type oui/non
   \item default : valeur par défaut (défaut non)
   \item level : info|warn|err (défaut info)
   \item return oui ou non
  \end{itemize}
 \end{itemize}
\end{frame}

\begin{frame}
 \frametitle{Pratique}
 \begin{itemize}
  \item print\_orange('couleur orange')
  \item print\_title('le titre')
  \item a=question\_ouinon('voulez vous vraiment faire cette action')
 \end{itemize}
\end{frame}

\begin{frame}
 \frametitle{Gestion des services}
 \begin{itemize}
  \item pyeole.service
  \item service\_out|service\_code
  \begin{itemize}
   \item service : nom du service
   \item action : start|stop|restart|status
   \item container : nom du conteneur (défaut root)
  \end{itemize}
  \item service\_code\_no\_container : démarrage d'un service dans tous les conteneurs avec le service
  \begin{itemize}
   \item service : nom du service
   \item action : start|stop|restart|status
  \end{itemize}
 \end{itemize}
\end{frame}

\begin{frame}
 \frametitle{Pratique}
 \begin{itemize}
  \item a=service\_out('ntp', 'stop')
  \item a=service\_code('smbd', 'stop', 'fichier')
  \item a=service\_code\_no\_container('apache2', 'restart')
 \end{itemize}
\end{frame}

\begin{frame}
 \frametitle{Execution de commande}
 \begin{itemize}
  \item pyeole.process
  \item system\_code : exécution de commande, stdout et stderr dans la console
  \item system\_out : rien dans la console
  \begin{itemize}
   \item cmd : commande (list) ;
   \item stdin : valeur de STDIN ;
   \item container : nom du conteneur (root par défaut) ;
   \item env : variable d'environnement ;
   \item *context : ssh ou chroot (True par défaut) ;
   \item *pty : créé un pseudo terminal (False par défaut).
  \end{itemize}
 \end{itemize}
\end{frame}

\begin{frame}
 \frametitle{Execution de commande}
 \begin{itemize}
  \item pyeole.process
  \item is\_installed
  \begin{itemize}
   \item package
   \item container : (défaut root)
   \item *context : (défaut True)
  \end{itemize}
  \item tcpcheck
  \begin{itemize}
   \item ip\_address : adresse IP
   \item port : port a tester
   \item timeout : temps d'attente maximum (défaut 1)
  \end{itemize}
  \item test\_conteneur : test si un conteneur est démarré
  \begin{itemize}
   \item container : nom du conteneur
   \item *ip\_address : adresse IP du conteneur (défaut None)
  \end{itemize}
 \end{itemize}
\end{frame}

\begin{frame}
 \frametitle{Pratique}
 \begin{itemize}
  \item a=system\_code(['echo', 'mot'])
  \item a=system\_out(['echo', 'mot'])
  \item stdin : a=system\_code('cat', stdin="mot")
  \item env : a=system\_code('env', env={'mot': 'mot'})
  \item container : a=system\_code(['ls', '/etc/samba/'], container='fichier')
  \item installé : is\_installed('samba-common')
  \item non installé : is\_installed('samba')
  \item conteneur : is\_installed('samba', container='fichier')
  \item test service : tcpcheck('192.0.2.52', '139')
  \item test\_conteneur('fichier')
 \end{itemize}
\end{frame}

\begin{frame}
 \frametitle{Gestion des locks}
 \begin{itemize}
  \item creole.eolelock
  \item add\_lock : ajout d'un lock
  \item del\_lock : supprimer un lock
  \item check\_lock : vérifier la présence d'un fichier lock
  \begin{itemize}
   \item lock\_name : nom du fichier lock
  \end{itemize}
  \item check\_all\_locks : vérifier la présence des locks systèmes
 \end{itemize}
\end{frame}

\begin{frame}
 \frametitle{Pratique}
 \begin{itemize}
  \item add\_lock('test')
  \item check\_lock('test')
  \item del\_lock('test')
 \end{itemize}
\end{frame}

\begin{frame}
 \frametitle{Valeur du dictionnaire}
 \begin{itemize}
  \item creole.parsedico
  \item parse\_dico() : chargement des dictionnaires
 \end{itemize}
\end{frame}

\begin{frame}
 \frametitle{Pratique}
 \begin{itemize}
  \item conf\_eole = parse\_dico()
  \item print conf\_eole['adresse\_ip\_eth0']
 \end{itemize}
\end{frame}

\begin{frame}
 \frametitle{Valeur du dictionnaire conteneur}
 \begin{itemize}
  \item creole.eosfunc
  \item load\_conteneur\_var() : chargement des configurations conteneurs
 \end{itemize}
\end{frame}

\begin{frame}
 \frametitle{Pratique}
 \begin{itemize}
  \item container\_var = load\_container\_var()
  \item print container\_var['container\_ip\_fichier']
 \end{itemize}
\end{frame}

