2020-08-05 17:08:33 +02:00
|
|
|
\begin{frame}
|
|
|
|
\frametitle{Écrire en couleur}
|
|
|
|
\begin{itemize}
|
|
|
|
\item from pyeole.ansiprint import *
|
|
|
|
\item print\_red
|
|
|
|
\item print\_green
|
|
|
|
\item print\_orange
|
|
|
|
\item ...
|
|
|
|
\item print\_title
|
|
|
|
\end{itemize}
|
|
|
|
\end{frame}
|
|
|
|
|
|
|
|
\begin{frame}
|
|
|
|
\frametitle{Question}
|
|
|
|
\begin{itemize}
|
|
|
|
\item from pyeole.ihm import question\_ouinon
|
|
|
|
\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 from pyeole.service import *
|
2020-08-07 11:10:25 +02:00
|
|
|
\item manage\_services :
|
2020-08-05 17:08:33 +02:00
|
|
|
\begin{itemize}
|
|
|
|
\item action : start|stop|restart|status,
|
|
|
|
\item service : nom du service,
|
|
|
|
\item container : nom du conteneur (défaut root).
|
|
|
|
\end{itemize}
|
|
|
|
\end{itemize}
|
|
|
|
\end{frame}
|
|
|
|
|
|
|
|
\begin{frame}
|
|
|
|
\frametitle{Execution de commande}
|
|
|
|
\begin{itemize}
|
|
|
|
\item from pyeole.process import *
|
|
|
|
\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}
|
|
|
|
|
2020-08-07 11:10:25 +02:00
|
|
|
\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}
|
|
|
|
|
2020-08-05 17:08:33 +02:00
|
|
|
%\begin{frame}
|
|
|
|
% \frametitle{Execution de commande}
|
|
|
|
% \begin{itemize}
|
|
|
|
% \item from pyeole.process import *
|
|
|
|
% \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}
|
|
|
|
|
|
|
|
%FIXME
|
|
|
|
\begin{frame}
|
|
|
|
\frametitle{Gestion des locks}
|
|
|
|
\begin{itemize}
|
|
|
|
\item from pyeole.lock import *
|
|
|
|
\item acquire : ajout d'un lock
|
|
|
|
\item release : supprimer un lock
|
|
|
|
\item is\_locked : vérifier la présence d'un fichier lock
|
|
|
|
\end{itemize}
|
|
|
|
\end{frame}
|
|
|
|
|
|
|
|
\begin{frame}
|
|
|
|
\frametitle{Pratique}
|
|
|
|
\begin{itemize}
|
|
|
|
\item ajouter, vérifier et supprimer un lock.
|
|
|
|
\end{itemize}
|
|
|
|
\end{frame}
|
|
|
|
|
|
|
|
\begin{frame}
|
|
|
|
\frametitle{Lire valeur du dictionnaire}
|
|
|
|
\begin{itemize}
|
|
|
|
\item Via creoled :
|
|
|
|
\begin{itemize}
|
|
|
|
\item from creole.client import CreoleClient
|
|
|
|
\item client = CreoleClient()
|
|
|
|
\item client.get\_creole(variable)
|
|
|
|
\end{itemize}
|
|
|
|
\item en chargeant les dictionnaires :
|
|
|
|
\begin{itemize}
|
|
|
|
\item from creole.loader import creole\_loader
|
|
|
|
\item config = creole\_loader()
|
|
|
|
\item config.creole.famille.variable
|
|
|
|
\item config.creole.famille.master.slave
|
|
|
|
\end{itemize}
|
|
|
|
\end{itemize}
|
|
|
|
\end{frame}
|
|
|
|
|
|
|
|
\begin{frame}
|
|
|
|
\frametitle{Modifier valeur du dictionnaire}
|
|
|
|
\begin{itemize}
|
|
|
|
\item from creole.loader import creole\_loader, config\_save\_values
|
|
|
|
\item config = creole\_loader(rw=True)
|
|
|
|
\item config.creole.famille.variable = value
|
|
|
|
\item config.creole.famille.master.master.append(value)
|
|
|
|
\item config.creole.famille.master.slave[-1] = value
|
|
|
|
\item config\_save\_values(config)
|
|
|
|
\end{itemize}
|
|
|
|
\end{frame}
|
|
|
|
|
|
|
|
\begin{frame}
|
|
|
|
\frametitle{Pratique}
|
|
|
|
\begin{itemize}
|
|
|
|
\item Afficher la valeur de la variable adresse\_ip\_eth0 ;
|
|
|
|
\item afficher la valeur de la variable netmask\_ssh\_eth0.
|
|
|
|
\end{itemize}
|
|
|
|
\end{frame}
|
|
|
|
|
|
|
|
%\begin{frame}
|
|
|
|
% \frametitle{Valeur du dictionnaire conteneur}
|
|
|
|
% \begin{itemize}
|
|
|
|
% \item from creole.eosfunc import *
|
|
|
|
% \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}
|
|
|
|
|
|
|
|
|