Compare commits
18 Commits
xelatex/ND
...
48090f19b2
Author | SHA1 | Date | |
---|---|---|---|
48090f19b2 | |||
60e1c0d1c7 | |||
17e648bb8e | |||
840b914e42 | |||
fcdac6c12c | |||
b2f942cd43 | |||
68a3d73368 | |||
e769a88532 | |||
966de3c5ec | |||
744a0f2575 | |||
ea89dd2971 | |||
7ec35b0b14 | |||
0abe05a3e9 | |||
771b5e868b | |||
89da104103 | |||
2a25eea872 | |||
2b031286e7 | |||
9b9cbf2aae |
2
.gitignore
vendored
@ -14,3 +14,5 @@
|
|||||||
build-messages-*.txt
|
build-messages-*.txt
|
||||||
plans_de_formation.tar.gz
|
plans_de_formation.tar.gz
|
||||||
.~lock*
|
.~lock*
|
||||||
|
*.pygtex
|
||||||
|
*.pygstyle
|
||||||
|
59
README.md
@ -48,14 +48,15 @@ Les figures sont placées à part dans le répertoire _figures_.
|
|||||||
|
|
||||||
Ces éléments de contenu sont inclus dans des fichiers principaux placés dans le répertoire _presentations_.
|
Ces éléments de contenu sont inclus dans des fichiers principaux placés dans le répertoire _presentations_.
|
||||||
|
|
||||||
Le répertoire _template_ contient des modèles de document au format jinja utilisés par le script _setup_main_tex_file.py_.
|
Le répertoire _templates_ contient des modèles de document au format jinja utilisés par le script _setup_main_tex_file.py_.
|
||||||
|
|
||||||
## setup_main_tex_file.py
|
## setup_main_tex_file.py
|
||||||
|
|
||||||
Le script setup_main_tex_file.py permet d’organiser la procédure en proposant :
|
Le script setup_main_tex_file.py permet d’organiser la procédure en proposant :
|
||||||
- la création du fichier maître pour une formation
|
- la création des fichiers maîtres pour une formation ;
|
||||||
- la création des fichiers de contenu à inclure si nécessaire
|
- la création des fichiers de contenu à inclure si nécessaire ;
|
||||||
- la mise à jour du plan de formation en fonction des éléments inclus.
|
- la mise à jour du plan de formation en fonction des éléments inclus ;
|
||||||
|
- la compilation des trois documents (diaporama, support de cours et programme) si l’application rubber est installée.
|
||||||
|
|
||||||
Pour chacune de ses sous-étapes, le script propose une sous-commande.
|
Pour chacune de ses sous-étapes, le script propose une sous-commande.
|
||||||
|
|
||||||
@ -79,7 +80,7 @@ Les autres options prendront des valeurs par défaut si elles ne sont pas fourni
|
|||||||
|
|
||||||
À noter, pour la licence, que seule la CC-BY-SA v2 est disponible dans les contenus à inclure pour l’instant.
|
À noter, pour la licence, que seule la CC-BY-SA v2 est disponible dans les contenus à inclure pour l’instant.
|
||||||
|
|
||||||
L’exécution de la commande précédente produit le fichier presentations/modules_EOLE_envole/Conseil_Départemental/CD_Formation_Scribe.tex
|
L’exécution de la commande précédente produit le fichier presentations/modules_EOLE_envole/Conseil_Départemental/diaporama.tex.
|
||||||
|
|
||||||
### Construire le contenu d’une formation
|
### Construire le contenu d’une formation
|
||||||
|
|
||||||
@ -155,16 +156,16 @@ Seule la dernière inclusion poserait problème lors de la compilation.
|
|||||||
|
|
||||||
Pour permettre de lancer des compilations sans attendre que tout le contenu soit prêt, le script propose une sous commande qui prépare le terrain en créant les fichiers de contenu manquant.
|
Pour permettre de lancer des compilations sans attendre que tout le contenu soit prêt, le script propose une sous commande qui prépare le terrain en créant les fichiers de contenu manquant.
|
||||||
```
|
```
|
||||||
./setup_main_tex_file.py update -m presentations/modules_EOLE_envole/Conseil_Départemental/CD_Formation_Scribe.tex
|
./setup_main_tex_file.py update -d modules_EOLE_envole/Conseil_Départemental
|
||||||
```
|
```
|
||||||
|
|
||||||
Le seul argument de cette sous-commande _update_ permet d’identifier le fichier maître.
|
Le seul argument de cette sous-commande _update_ permet d’identifier le sous-répertoire de _presentations_ contenant le fichier maître _diaporama.tex_.
|
||||||
|
|
||||||
Cette commande traiter toutes les directives skbinput et créer le fichier à inclure si il n’existe pas déjà.
|
Cette commande traite toutes les directives skbinput et créer le fichier à inclure s’il n’existe pas déjà.
|
||||||
Elle affiche la liste des fichiers créés en retour de commande.
|
Elle affiche la liste des fichiers créés en retour de commande.
|
||||||
|
|
||||||
```
|
```
|
||||||
$ ./setup_main_tex_file.py update -m presentations/modules_EOLE_envole/Conseil_Départemental/CD_Formation_Scribe.tex
|
$ ./setup_main_tex_file.py update -d modules_EOLE_envole/Conseil_Départemental/
|
||||||
slides/modules_EOLE_envole/commun/du-contenu-inexistant.tex
|
slides/modules_EOLE_envole/commun/du-contenu-inexistant.tex
|
||||||
```
|
```
|
||||||
|
|
||||||
@ -179,7 +180,11 @@ Ce fichier contient du texte permettant de le repérer facilement dans le docume
|
|||||||
|
|
||||||
### Affichage du plan (sous-commande outline)
|
### Affichage du plan (sous-commande outline)
|
||||||
|
|
||||||
À ce stade, le script propose un simple affichage sur la sortie standard du plan déduit du contenu
|
La sous-commande _outline_ permet de créer un sommaire du diaporama sous la forme de listes imbriquées et de l’inclure dans le programme.
|
||||||
|
Il est possible de restreindre le nombre de niveaux de titre utilisé pour le plan avec l’option -l.
|
||||||
|
```
|
||||||
|
./setup_main_tex_file.py outline -d modules_EOLE_envole/Conseil_Départemental
|
||||||
|
```
|
||||||
```
|
```
|
||||||
Introduction
|
Introduction
|
||||||
EOLE
|
EOLE
|
||||||
@ -228,7 +233,39 @@ Les quatre phases
|
|||||||
|
|
||||||
### Génération du document
|
### Génération du document
|
||||||
|
|
||||||
En alternative à la recette Makefile pas encore adaptée pour la compilation de ce nouveau format, on peut utiliser la commande rubber (paquet supplémentaire à installer)
|
Comme alternative à la recette Makefile pas encore adaptée pour la compilation de ce nouveau format, on peut utiliser la commande rubber (paquet supplémentaire à installer)
|
||||||
```
|
```
|
||||||
rubber --inplace --module=xelatex presentations/modules_EOLE_envole/Conseil_Départemental/CD_Formation_Scribe.tex
|
rubber --inplace --module=xelatex presentations/modules_EOLE_envole/Conseil_Départemental/CD_Formation_Scribe.tex
|
||||||
```
|
```
|
||||||
|
|
||||||
|
La sous-commande _compile_ appelle rubber pour compiler les trois documents : diaporama, support et programme.
|
||||||
|
```
|
||||||
|
./setup_main_tex_file.py compile -d modules_EOLE_envole/Conseil_Départemental
|
||||||
|
```
|
||||||
|
Cette sous-commande n’est disponible que si la commande rubber est installé et accessible (test du retour rubber --version).
|
||||||
|
|
||||||
|
### Intégration avec git
|
||||||
|
|
||||||
|
Le script entreprend des actions complémentaires lorsque il détecte un environnement _git_.
|
||||||
|
|
||||||
|
#### Séparation et isolation des formations
|
||||||
|
|
||||||
|
La proposition est la suivante : séparer le contenu générique (contenu inclu dans les formations) et les fichiers maîtres spécifiques à des formations.
|
||||||
|
|
||||||
|
Une branche (master en l’occurence) est utilisée comme pivot et contient les fragments de formations.
|
||||||
|
Chaque formation spécifique est isolée dans une branche propre.
|
||||||
|
|
||||||
|
De fait, le contenu du dossier _presentations_ est commité dans la branche spécifique, tandis que le reste (_content_ et _slides_ notamment) est commité dans _master_. Un hook git local est proposé pour limiter les commits dans les mauvaises branches, basé sur les chemins des fichiers créés ou modifiés.
|
||||||
|
|
||||||
|
Le script permet d’automatiser une partie de ce découpage, notamment la création des branches spécifiques et le commit dans les branches appropriées selon les actions entreprises.
|
||||||
|
|
||||||
|
#### action d’initialisation
|
||||||
|
|
||||||
|
L’initialisation doit être effectué depuis la branche _master_ et exécute les actions suivantes :
|
||||||
|
- création d’une branche nommée d’après le répertoire de destination et suffixée avec _xelatex/_
|
||||||
|
- création des fichiers propres à la formation (fichiers maîtres pour le diaporama, le support, le programme, etc.)
|
||||||
|
- commit de ces fichiers dans la branche spécifique.
|
||||||
|
|
||||||
|
#### action de mise à jour du programme
|
||||||
|
|
||||||
|
Comme tout ce qui implique la mise à jour ou la création de contenu dans le répertoire _presentations_, le produit de la mise à jour du programme est commité dans la branche spécifique.
|
||||||
|
@ -6,6 +6,6 @@
|
|||||||
%\fancyhead[R]{ }
|
%\fancyhead[R]{ }
|
||||||
|
|
||||||
\fancyfoot[L]{{\tiny \@title \\ \numeroversion}}
|
\fancyfoot[L]{{\tiny \@title \\ \numeroversion}}
|
||||||
\fancyfoot[C]{{\tiny {\scriptsize \textbf{\cadoles}} \\ {\adresse \codepostal \ville} }}
|
\fancyfoot[C]{{\tiny {\scriptsize \textbf{\cadoles}} \\ {\adresse,~\codepostal~\ville} }}
|
||||||
\fancyfoot[R]{{\tiny \thepage / \pageref{LastPage} \\ \telephone }}
|
\fancyfoot[R]{{\tiny \thepage / \pageref{LastPage} \\ \telephone }}
|
||||||
|
|
||||||
|
BIN
figures/en/genconfig/cache.png
Normal file
After Width: | Height: | Size: 4.2 KiB |
BIN
figures/en/genconfig/calculee.png
Normal file
After Width: | Height: | Size: 4.8 KiB |
BIN
figures/en/genconfig/choix.png
Normal file
After Width: | Height: | Size: 20 KiB |
BIN
figures/en/genconfig/choix_ouvert.png
Normal file
After Width: | Height: | Size: 39 KiB |
BIN
figures/en/genconfig/master.png
Normal file
After Width: | Height: | Size: 129 KiB |
BIN
figures/en/genconfig/mode.png
Normal file
After Width: | Height: | Size: 32 KiB |
BIN
figures/en/genconfig/multi.png
Normal file
After Width: | Height: | Size: 16 KiB |
BIN
figures/en/genconfig/non-modif.png
Normal file
After Width: | Height: | Size: 5.7 KiB |
BIN
figures/en/genconfig/obligatoire.png
Normal file
After Width: | Height: | Size: 5.2 KiB |
BIN
figures/en/genconfig/verrouille.png
Normal file
After Width: | Height: | Size: 12 KiB |
@ -6,6 +6,6 @@
|
|||||||
%\fancyhead[R]{ }
|
%\fancyhead[R]{ }
|
||||||
|
|
||||||
\fancyfoot[L]{{\tiny \@title \\ \numeroversion}}
|
\fancyfoot[L]{{\tiny \@title \\ \numeroversion}}
|
||||||
\fancyfoot[C]{{\tiny {\scriptsize \textbf{\cadoles}} \\ {\adresse \codepostal \ville} }}
|
\fancyfoot[C]{{\tiny {\scriptsize \textbf{\cadoles}} \\ {\adresse,~\codepostal~\ville} }}
|
||||||
\fancyfoot[R]{{\tiny \thepage / \pageref{LastPage} \\ \telephone }}
|
\fancyfoot[R]{{\tiny \thepage / \pageref{LastPage} \\ \telephone }}
|
||||||
|
|
||||||
|
2
old_modules_EOLE_envole/documents/poste_windows.txt
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
Désactiver hyperV
|
||||||
|
Panneau de configuraiton/application/fonctionnalité/décoché HyperV ?
|
@ -1,11 +1,11 @@
|
|||||||
#!/usr/bin/env python
|
#!/usr/bin/env python3
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
|
|
||||||
import sys
|
import sys
|
||||||
from zephir.lib_zephir import *
|
from zephir.lib_zephir import *
|
||||||
from creole import fonctionseole
|
from creole import fonctionseole
|
||||||
|
|
||||||
if fonctionseole.init_proc('PERSO') == False:
|
if not fonctionseole.init_proc('PERSO'):
|
||||||
fonctionseole.zephir("MSG" , "procédure supprimer_fichier bloquée par zephir", "PERSO")
|
fonctionseole.zephir("MSG" , "procédure supprimer_fichier bloquée par zephir", "PERSO")
|
||||||
sys.exit(1)
|
sys.exit(1)
|
||||||
|
|
||||||
@ -14,8 +14,8 @@ fonctionseole.zephir("INIT" , "script supprimer_fichier en cours d'execution", "
|
|||||||
try:
|
try:
|
||||||
filename = sys.argv[1]
|
filename = sys.argv[1]
|
||||||
fonctionseole.zephir("MSG" , "supprimer_fichier lancé avec l'argument {}".format(filename), "PERSO")
|
fonctionseole.zephir("MSG" , "supprimer_fichier lancé avec l'argument {}".format(filename), "PERSO")
|
||||||
sudo_script('supprimer_fichier_sudo.zephir %s' % filename)
|
sudo_script('supprimer_fichier_sudo.zephir {}'.format(filename))
|
||||||
except Exception, err:
|
except Exception as err:
|
||||||
fonctionseole.zephir("ERR" , "supprimer_fichier a généré une erreur {}".format(err), "PERSO")
|
fonctionseole.zephir("ERR" , "supprimer_fichier a généré une erreur {}".format(err), "PERSO")
|
||||||
sys.exit(1)
|
sys.exit(1)
|
||||||
|
|
||||||
|
@ -97,7 +97,7 @@
|
|||||||
\include{modules_EOLE_envole/commun/01-nouveaute24}
|
\include{modules_EOLE_envole/commun/01-nouveaute24}
|
||||||
\include{modules_EOLE_envole/commun/01-nouveaute25}
|
\include{modules_EOLE_envole/commun/01-nouveaute25}
|
||||||
\include{modules_EOLE_envole/commun/01-nouveaute26}
|
\include{modules_EOLE_envole/commun/01-nouveaute26}
|
||||||
\include{modules_EOLE_envole/scribe/00-description}
|
\include{modules_EOLE_envole/scribeAD/00-description}
|
||||||
\include{modules_EOLE_envole/horus/00-description}
|
\include{modules_EOLE_envole/horus/00-description}
|
||||||
|
|
||||||
\section{Les quatre phases}
|
\section{Les quatre phases}
|
||||||
@ -112,7 +112,7 @@
|
|||||||
\end{columns}
|
\end{columns}
|
||||||
\end{frame}
|
\end{frame}
|
||||||
\include{modules_EOLE_envole/commun/02-quatre_phases}
|
\include{modules_EOLE_envole/commun/02-quatre_phases}
|
||||||
\include{modules_EOLE_envole/scribe/00-virtualbox}
|
\include{modules_EOLE_envole/scribeAD/00-virtualbox}
|
||||||
\include{modules_EOLE_envole/commun/02-gen_config}
|
\include{modules_EOLE_envole/commun/02-gen_config}
|
||||||
\include{modules_EOLE_envole/commun/02-quatre_phases-pratique}
|
\include{modules_EOLE_envole/commun/02-quatre_phases-pratique}
|
||||||
\section{Administration commune}
|
\section{Administration commune}
|
||||||
@ -142,9 +142,9 @@
|
|||||||
\end{column}
|
\end{column}
|
||||||
\end{columns}
|
\end{columns}
|
||||||
\end{frame}
|
\end{frame}
|
||||||
\include{modules_EOLE_envole/scribe/01-utilisateur}
|
\include{modules_EOLE_envole/scribeAD/01-utilisateur}
|
||||||
\include{modules_EOLE_envole/horus/01-utilisateur}
|
\include{modules_EOLE_envole/horus/01-utilisateur}
|
||||||
\include{modules_EOLE_envole/scribe/31-scripts-user-scribe}
|
\include{modules_EOLE_envole/scribeAD/31-scripts-user-scribe}
|
||||||
|
|
||||||
\section{Machines}
|
\section{Machines}
|
||||||
\begin{frame}{Plan}
|
\begin{frame}{Plan}
|
||||||
@ -157,23 +157,23 @@
|
|||||||
\end{column}
|
\end{column}
|
||||||
\end{columns}
|
\end{columns}
|
||||||
\end{frame}
|
\end{frame}
|
||||||
\include{modules_EOLE_envole/scribe/10-machine_conf_reseau}
|
\include{modules_EOLE_envole/scribeAD/10-machine_conf_reseau}
|
||||||
\include{modules_EOLE_envole/scribe/11-integration-scribe}
|
\include{modules_EOLE_envole/scribeAD/11-integration-scribe}
|
||||||
\include{modules_EOLE_envole/horus/11-integration-horus}
|
%\include{modules_EOLE_envole/horus/11-integration-horus}
|
||||||
\include{modules_EOLE_envole/scribe/12-machine-ead}
|
\include{modules_EOLE_envole/scribeAD/12-machine-ead}
|
||||||
\include{modules_EOLE_envole/horus/02-machine-ead}
|
%\include{modules_EOLE_envole/horus/02-machine-ead}
|
||||||
\include{modules_EOLE_envole/scribe/12-machine-diagnostic}
|
\include{modules_EOLE_envole/scribeAD/12-machine-diagnostic}
|
||||||
\include{modules_EOLE_envole/scribe/13-profil}
|
\include{modules_EOLE_envole/scribeAD/13-profil}
|
||||||
\include{modules_EOLE_envole/scribe/14-esu}
|
\include{modules_EOLE_envole/scribeAD/14-esu}
|
||||||
\include{modules_EOLE_envole/scribe/14-esu-diagnostic}
|
\include{modules_EOLE_envole/scribeAD/14-esu-diagnostic}
|
||||||
\include{modules_EOLE_envole/horus/14-esu}
|
%\include{modules_EOLE_envole/horus/14-esu}
|
||||||
\include{modules_EOLE_envole/scribe/15-script-scribe}
|
\include{modules_EOLE_envole/scribeAD/15-script-scribe}
|
||||||
\include{modules_EOLE_envole/horus/15-script-horus}
|
%\include{modules_EOLE_envole/horus/15-script-horus}
|
||||||
\include{modules_EOLE_envole/scribe/10-windows-distance}
|
\include{modules_EOLE_envole/scribeAD/10-windows-distance}
|
||||||
\include{modules_EOLE_envole/scribe/16-imprimante}
|
\include{modules_EOLE_envole/scribeAD/16-imprimante}
|
||||||
\include{modules_EOLE_envole/scribe/17-corbeille}
|
\include{modules_EOLE_envole/scribeAD/17-corbeille}
|
||||||
\include{modules_EOLE_envole/scribe/18-virus}
|
\include{modules_EOLE_envole/scribeAD/18-virus}
|
||||||
\include{modules_EOLE_envole/scribe/19-ftp}
|
\include{modules_EOLE_envole/scribeAD/19-ftp}
|
||||||
|
|
||||||
\section{Sauvegarde}
|
\section{Sauvegarde}
|
||||||
\begin{frame}{Plan}
|
\begin{frame}{Plan}
|
||||||
@ -186,7 +186,7 @@
|
|||||||
\end{column}
|
\end{column}
|
||||||
\end{columns}
|
\end{columns}
|
||||||
\end{frame}
|
\end{frame}
|
||||||
\include{modules_EOLE_envole/scribe/20-sauvegarde}
|
\include{modules_EOLE_envole/scribeAD/20-sauvegarde}
|
||||||
|
|
||||||
\section{Communications}
|
\section{Communications}
|
||||||
\begin{frame}{Plan}
|
\begin{frame}{Plan}
|
||||||
@ -199,7 +199,7 @@
|
|||||||
\end{column}
|
\end{column}
|
||||||
\end{columns}
|
\end{columns}
|
||||||
\end{frame}
|
\end{frame}
|
||||||
\include{modules_EOLE_envole/scribe/30-communication}
|
\include{modules_EOLE_envole/scribeAD/30-communication}
|
||||||
|
|
||||||
\section{Les scripts administratifs}
|
\section{Les scripts administratifs}
|
||||||
\begin{frame}{Plan}
|
\begin{frame}{Plan}
|
||||||
|
@ -255,7 +255,7 @@ La commande de configuration est :
|
|||||||
\item Installer le serveur (avec gen\_conteneur) ;
|
\item Installer le serveur (avec gen\_conteneur) ;
|
||||||
\item configurer le support de sauvegarde en ligne de commande ;
|
\item configurer le support de sauvegarde en ligne de commande ;
|
||||||
\item monter le support de sauvegarde : \commande{[/usr/share/eole/bacula/]bareosmount.py --mount} ;
|
\item monter le support de sauvegarde : \commande{[/usr/share/eole/bacula/]bareosmount.py --mount} ;
|
||||||
\item restaurer le catalogue : \commande{[/usr/share/eole/bacula/]bareosrestore.py --configeole <nom du directeur (scribe-dir)>} (attention restauration aussi de la configuration bareos) ;
|
\item restaurer le catalogue : \commande{[/usr/share/eole/bacula/]bareosrestore.py --configeol <nom du directeur (scribe-dir)>} (attention restauration aussi de la configuration bareos) ;
|
||||||
\item instanciation du serveur : \commande{instance zephir-restore.eol} ;
|
\item instanciation du serveur : \commande{instance zephir-restore.eol} ;
|
||||||
\item ne pas reinitiliser la base Bareos ;
|
\item ne pas reinitiliser la base Bareos ;
|
||||||
\item bareosrestore.py --catalog (sans options) ;
|
\item bareosrestore.py --catalog (sans options) ;
|
||||||
|
@ -244,7 +244,7 @@ La commande de configuration est :
|
|||||||
\item Si vous avez un zéphir utiliser : \commande{enregistrement\_zephir};
|
\item Si vous avez un zéphir utiliser : \commande{enregistrement\_zephir};
|
||||||
\item Si vous n'avez pas de zéphir, restaurer le fichier config.eol :
|
\item Si vous n'avez pas de zéphir, restaurer le fichier config.eol :
|
||||||
\begin{itemize}
|
\begin{itemize}
|
||||||
\item \commande{bareosrestore.py --configeole <nom du directeur (scribe-dir)>} (attention restauration aussi de la configuration bareos) ;
|
\item \commande{bareosrestore.py --configeol <nom du directeur (scribe-dir)>} (attention restauration aussi de la configuration bareos) ;
|
||||||
\item copier la configuration restaurée : \commande{cp zephir-restore.eol /etc/eole/config.eol} ;
|
\item copier la configuration restaurée : \commande{cp zephir-restore.eol /etc/eole/config.eol} ;
|
||||||
\end{itemize}
|
\end{itemize}
|
||||||
\end{itemize}
|
\end{itemize}
|
||||||
|
@ -4,6 +4,7 @@
|
|||||||
\item Exécution sur un serveur ou un groupe de serveurs ;
|
\item Exécution sur un serveur ou un groupe de serveurs ;
|
||||||
\item les scripts doivent être dans /usr/share/zephir/scripts/ ;
|
\item les scripts doivent être dans /usr/share/zephir/scripts/ ;
|
||||||
\item ils doivent avoir l'extension .zephir ;
|
\item ils doivent avoir l'extension .zephir ;
|
||||||
|
\item les scripts doivent être exécutables ;
|
||||||
\item ne pas spécifier l'extension lors de l'exécuxion ;
|
\item ne pas spécifier l'extension lors de l'exécuxion ;
|
||||||
\item fonctionseole.init\_proc : permet de vérifier si l'action est bloqué ;
|
\item fonctionseole.init\_proc : permet de vérifier si l'action est bloqué ;
|
||||||
\item fonctionseole.zephir(<etat>, <message>, <type>) : log envoyer au Zéphir ;
|
\item fonctionseole.zephir(<etat>, <message>, <type>) : log envoyer au Zéphir ;
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
#!/usr/bin/python
|
#!/usr/bin/python3
|
||||||
# -*- coding:utf-8 -*-
|
# -*- coding:utf-8 -*-
|
||||||
|
|
||||||
import argparse
|
import argparse
|
||||||
@ -16,12 +16,15 @@ LICENSES = {'CC-by-sa-2.0': 'license-cc-by-sa-2.0',
|
|||||||
TEMPLATES = {
|
TEMPLATES = {
|
||||||
'beamer': {'fragment': 'frame.tex',
|
'beamer': {'fragment': 'frame.tex',
|
||||||
'fragment_pratique': 'frame-pratique.tex',
|
'fragment_pratique': 'frame-pratique.tex',
|
||||||
|
'fragment_corrige': 'frame-corrige.tex',
|
||||||
'master': 'main-beamer.tex'},
|
'master': 'main-beamer.tex'},
|
||||||
'article': {'fragment': 'fragment.tex',
|
'article': {'fragment': 'fragment.tex',
|
||||||
'fragment_pratique': 'fragment-pratique.tex',
|
'fragment_pratique': 'fragment-pratique.tex',
|
||||||
|
'fragment_corrige': 'fragment-corrige.tex',
|
||||||
'master': 'main-article.tex'},
|
'master': 'main-article.tex'},
|
||||||
'questionnaire': {'fragment': 'fragment.tex',
|
'questionnaire': {'fragment': 'fragment.tex',
|
||||||
'fragment_pratique': 'fragment-pratique.tex',
|
'fragment_pratique': 'fragment-pratique.tex',
|
||||||
|
'fragment_corrige': 'fragment-corrige.tex',
|
||||||
'master': 'main-questionnaire.tex'}
|
'master': 'main-questionnaire.tex'}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -256,6 +259,7 @@ def main():
|
|||||||
tex_skbinputs = SKBINPUT_RE.finditer(tex_master)
|
tex_skbinputs = SKBINPUT_RE.finditer(tex_master)
|
||||||
fragment = TEMPLATES[tex_class.group('document_class')]['fragment']
|
fragment = TEMPLATES[tex_class.group('document_class')]['fragment']
|
||||||
fragment_pratique = TEMPLATES[tex_class.group('document_class')]['fragment_pratique']
|
fragment_pratique = TEMPLATES[tex_class.group('document_class')]['fragment_pratique']
|
||||||
|
fragment_corrige = TEMPLATES[tex_class.group('document_class')]['fragment_corrige']
|
||||||
|
|
||||||
for skbinput in tex_skbinputs:
|
for skbinput in tex_skbinputs:
|
||||||
rep = path.dirname(skbinput.group('tex'))
|
rep = path.dirname(skbinput.group('tex'))
|
||||||
@ -267,7 +271,12 @@ def main():
|
|||||||
print(dest)
|
print(dest)
|
||||||
if not path.isdir(rep):
|
if not path.isdir(rep):
|
||||||
makedirs(rep)
|
makedirs(rep)
|
||||||
template = jinja_env.get_template(fragment_pratique if tex_name.endswith('-pratique') else fragment)
|
if tex_name.endswith('-pratique'):
|
||||||
|
template = jinja_env.get_template(fragment_pratique)
|
||||||
|
elif tex_name.endswith('-corrige'):
|
||||||
|
template = jinja_env.get_template(fragment_corrige)
|
||||||
|
else:
|
||||||
|
template = jinja_env.get_template(fragment)
|
||||||
env = {'title': basename, 'subtitle': '',
|
env = {'title': basename, 'subtitle': '',
|
||||||
'name': dest}
|
'name': dest}
|
||||||
rendered_template = template.render(**env)
|
rendered_template = template.render(**env)
|
||||||
@ -321,7 +330,7 @@ def main():
|
|||||||
else:
|
else:
|
||||||
return []
|
return []
|
||||||
|
|
||||||
def filter_outlines(headers_list, max_level=None):
|
def filter_outlines(headers_list, max_level=0):
|
||||||
filtered_outlines = []
|
filtered_outlines = []
|
||||||
default_max_level = max([hl[1] for hl in headers_list])
|
default_max_level = max([hl[1] for hl in headers_list])
|
||||||
if not max_level:
|
if not max_level:
|
||||||
@ -379,6 +388,8 @@ def main():
|
|||||||
part_re = re.compile(r'\\part\{(?P<name>.*?)}')
|
part_re = re.compile(r'\\part\{(?P<name>.*?)}')
|
||||||
subsection_re = re.compile(r'\\subsection\{(?P<name>.*?)\}')
|
subsection_re = re.compile(r'\\subsection\{(?P<name>.*?)\}')
|
||||||
master_file = path.join('presentations', args.directory, 'diaporama.tex')
|
master_file = path.join('presentations', args.directory, 'diaporama.tex')
|
||||||
|
max_level = args.levels
|
||||||
|
|
||||||
with open(master_file, 'r') as master_tex:
|
with open(master_file, 'r') as master_tex:
|
||||||
master = master_tex.read()
|
master = master_tex.read()
|
||||||
skbconfig = SKBCONFIG_RE.search(master)
|
skbconfig = SKBCONFIG_RE.search(master)
|
||||||
@ -392,7 +403,7 @@ def main():
|
|||||||
sections_list = [(section.start(), section_level, section.group('name')) for section in sections]
|
sections_list = [(section.start(), section_level, section.group('name')) for section in sections]
|
||||||
includes_list = [element for skbinput in includes for element in outline_from_include(file_path_from_skbinput(skbinput, master_file, skbconfig), skbinput.start(), document_class)]
|
includes_list = [element for skbinput in includes for element in outline_from_include(file_path_from_skbinput(skbinput, master_file, skbconfig), skbinput.start(), document_class)]
|
||||||
subsections_list = [(subsection.start(), subsection_level, subsection.group('name')) for subsection in subsections]
|
subsections_list = [(subsection.start(), subsection_level, subsection.group('name')) for subsection in subsections]
|
||||||
structured_outline = structure_outline(filter_outlines(reorder_lists(parts_list, sections_list, includes_list, subsections_list)))
|
structured_outline = structure_outline(filter_outlines(reorder_lists(parts_list, sections_list, includes_list, subsections_list), max_level=max_level))
|
||||||
content_file = path.join(path.dirname(path.abspath(master_file)), 'programme', 'contenu.tex')
|
content_file = path.join(path.dirname(path.abspath(master_file)), 'programme', 'contenu.tex')
|
||||||
with open(content_file, 'w') as content_fh:
|
with open(content_file, 'w') as content_fh:
|
||||||
content_fh.write(structured_outline.render())
|
content_fh.write(structured_outline.render())
|
||||||
@ -427,6 +438,7 @@ def main():
|
|||||||
|
|
||||||
parser_outline = subparsers.add_parser('outline', help="Création du programme à partir du fichier maître")
|
parser_outline = subparsers.add_parser('outline', help="Création du programme à partir du fichier maître")
|
||||||
parser_outline.add_argument('-d', '--directory', help="Sous-répertoires contenant le diaporama", required=True)
|
parser_outline.add_argument('-d', '--directory', help="Sous-répertoires contenant le diaporama", required=True)
|
||||||
|
parser_outline.add_argument('-l', '--levels', help="Niveaux de titre à inclure dans le plan", type=int, default=0)
|
||||||
parser_outline.set_defaults(func=outline)
|
parser_outline.set_defaults(func=outline)
|
||||||
|
|
||||||
if subprocess.check_output(['rubber', '--version']):
|
if subprocess.check_output(['rubber', '--version']):
|
||||||
@ -435,7 +447,10 @@ def main():
|
|||||||
parser_compile.set_defaults(func=tex_compile)
|
parser_compile.set_defaults(func=tex_compile)
|
||||||
|
|
||||||
args = parser.parse_args()
|
args = parser.parse_args()
|
||||||
|
if hasattr(args, 'func'):
|
||||||
args.func(args)
|
args.func(args)
|
||||||
|
else:
|
||||||
|
parser.print_usage()
|
||||||
|
|
||||||
|
|
||||||
class Outline:
|
class Outline:
|
||||||
|
@ -0,0 +1,7 @@
|
|||||||
|
{\setbeamercolor{background canvas}{bg=TravauxPratiques}
|
||||||
|
\begin{frame}
|
||||||
|
\frametitle{ajout-application-pratique.tex}
|
||||||
|
fichier slides/modules\_EOLE\_envole/ajout-application-pratique.tex à éditer
|
||||||
|
% contenu (pas trop long) de la diapositive
|
||||||
|
\end{frame}
|
||||||
|
}
|
5
slides/modules_EOLE_envole/ajout-application.tex
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
\begin{frame}
|
||||||
|
\frametitle{ajout-application.tex}
|
||||||
|
fichier slides/modules\_EOLE\_envole/ajout-application.tex à éditer
|
||||||
|
% contenu (pas trop long) de la diapositive
|
||||||
|
\end{frame}
|
21
slides/modules_EOLE_envole/commun/02-gen_config-pratique.tex
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
{\setbeamercolor{background canvas}{bg=TravauxPratiques}
|
||||||
|
\begin{frame}
|
||||||
|
\frametitle{Pratique}
|
||||||
|
\begin{itemize}
|
||||||
|
\item Faire un instantané ;
|
||||||
|
\item Démarrer la machine ;
|
||||||
|
\item se connecter et changer le mot de passe par défaut :
|
||||||
|
\begin{itemize}
|
||||||
|
\item copie du mot de passe par défaut en le sélectionnant,
|
||||||
|
\item utilisation de \commande{passwd} ;
|
||||||
|
\end{itemize}
|
||||||
|
\item noter les informations utiles :
|
||||||
|
\begin{itemize}
|
||||||
|
\item Adresse ip de la carte eth0,
|
||||||
|
\item Passerelle,
|
||||||
|
\item DNS : DNS de la machine hôte ;
|
||||||
|
\end{itemize}
|
||||||
|
\item exécuter la commande "gen\_config" dans un terminal.
|
||||||
|
\end{itemize}
|
||||||
|
\end{frame}
|
||||||
|
}
|
@ -1,93 +1,9 @@
|
|||||||
\begin{frame}
|
\begin{frame}
|
||||||
\frametitle{Configuration autonome}
|
\frametitle{Configuration autonome}
|
||||||
\framesubtitle{Nature d’une configuration}
|
\framesubtitle{L'application gen\_config}
|
||||||
\begin{itemize}
|
\begin{itemize}
|
||||||
\item des familles regroupant les variables ;
|
\item gen\_config n'est qu'un éditeur de fichier config.eol ;
|
||||||
\item des variables typées ;
|
\item peut s'exécuter en ligne de commade ;
|
||||||
\item des variables à la source identifiée ;
|
\item interface web disponible après instance si autorisé.
|
||||||
\item des contraintes affectant les variables.
|
|
||||||
\end{itemize}
|
\end{itemize}
|
||||||
\end{frame}
|
\end{frame}
|
||||||
|
|
||||||
\begin{frame}
|
|
||||||
\frametitle{Configuration autonome}
|
|
||||||
\framesubtitle{Types de variables}
|
|
||||||
Les variables de la configuration sont typées. Leur saisie est donc validée.
|
|
||||||
\begin{itemize}
|
|
||||||
\item nombre ;
|
|
||||||
\item chaîne de caractères ;
|
|
||||||
\item nom de domaine ;
|
|
||||||
\item adresse IP ;
|
|
||||||
\item \ldots{}
|
|
||||||
\end{itemize}
|
|
||||||
\end{frame}
|
|
||||||
\begin{frame}
|
|
||||||
\frametitle{Configuration autonome}
|
|
||||||
\framesubtitle{Contraintes}
|
|
||||||
Les contraintes affectent la valeur des variables, leur association ou leur disponibilité.
|
|
||||||
\begin{itemize}
|
|
||||||
\item variables obligatoires ;
|
|
||||||
\item variables calculées ;
|
|
||||||
\item variables verrouillées automatiquement ;
|
|
||||||
\item variables sauvegardées automatiquement ;
|
|
||||||
\item variables multi-valuées ;
|
|
||||||
\item variables groupées ;
|
|
||||||
\item variables avec choix (imposés ou ouverts) ;
|
|
||||||
\item variables cachées.
|
|
||||||
\end{itemize}
|
|
||||||
\end{frame}
|
|
||||||
|
|
||||||
\begin{frame}
|
|
||||||
\frametitle{Configuration autonome}
|
|
||||||
\framesubtitle{Application de configuration du module}
|
|
||||||
L’outil de configuration du module (\commande{gen\_config}) permet de saisir la configuration du module.
|
|
||||||
\begin{itemize}
|
|
||||||
\item accessible après instanciation à l’url https://ip\_server:7000/genconfig/ (si autorisé) ;
|
|
||||||
\item nécessite une authentification ;
|
|
||||||
\item barre de menu ;
|
|
||||||
\item les familles ;
|
|
||||||
\item la partie centrale.
|
|
||||||
\end{itemize}
|
|
||||||
\end{frame}
|
|
||||||
|
|
||||||
\begin{frame}
|
|
||||||
\frametitle{Configuration autonome}
|
|
||||||
\framesubtitle{Les modes de l’application de configuration du module}
|
|
||||||
Les variable de configuration sont classées en trois catégories qui permettent de filtrer leur affichage pour simplifier la saisie :
|
|
||||||
\begin{itemize}
|
|
||||||
\item mode basique ;
|
|
||||||
\item mode normal ;
|
|
||||||
\item mode expert.
|
|
||||||
\end{itemize}
|
|
||||||
\begin{block}{Mode assistant}
|
|
||||||
Le mode \emph{assistant} présente les variables obligatoires sur une seule page.
|
|
||||||
C’est le mode ouvert par défaut lorsqu’aucun fichier de configuration n’est présent.
|
|
||||||
\end{block}
|
|
||||||
\end{frame}
|
|
||||||
|
|
||||||
\begin{frame}
|
|
||||||
\frametitle{Configuration autonome}
|
|
||||||
\framesubtitle{Les informations de debug}
|
|
||||||
\begin{block}{Noms de variables et variables cachées}
|
|
||||||
Le mode \emph{debug} permet d’afficher les noms de variables tels que définis dans les dictionnaires creole ainsi que les variables cachées.
|
|
||||||
\end{block}
|
|
||||||
\end{frame}
|
|
||||||
|
|
||||||
\begin{frame}
|
|
||||||
\frametitle{Configuration autonome}
|
|
||||||
\framesubtitle{sauvegarde et chargement de la configuration}
|
|
||||||
La configuration est composée des valeurs des variables de configuration.
|
|
||||||
\begin{itemize}
|
|
||||||
\item possibilité d'importer/exporter un fichier ;
|
|
||||||
\item page des variables obligatoires non renseignées ;
|
|
||||||
\item visualisation des différences avant l'enregistrement ;
|
|
||||||
\item enregistrement dans le fichier "config.eol".
|
|
||||||
\end{itemize}
|
|
||||||
\begin{block}{Déverrouiller les variables}<only@2>
|
|
||||||
Importer une configuration à l’effet secondaire de déverrouiller toutes les variables.
|
|
||||||
\end{block}
|
|
||||||
\begin{alertblock}{Contenu du fichier config.eol}<only@3->
|
|
||||||
Seules les variables dont les valeurs sont modifiées par l’administrateur sont sauvegardées dans un fichier.
|
|
||||||
\end{alertblock}
|
|
||||||
\end{frame}
|
|
||||||
|
|
||||||
|
115
slides/modules_EOLE_envole/commun/02-gen_config_1.tex
Normal file
@ -0,0 +1,115 @@
|
|||||||
|
\begin{frame}
|
||||||
|
\frametitle{Configuration autonome}
|
||||||
|
\framesubtitle{Application de configuration du module}
|
||||||
|
L’outil de configuration du module (\commande{gen\_config}) permet de saisir la configuration du module.
|
||||||
|
\begin{itemize}
|
||||||
|
\item nécessite une authentification ;
|
||||||
|
\item barre de menu ;
|
||||||
|
\item les familles ;
|
||||||
|
\item la partie centrale.
|
||||||
|
\end{itemize}
|
||||||
|
\end{frame}
|
||||||
|
|
||||||
|
\begin{frame}
|
||||||
|
\frametitle{Configuration autonome}
|
||||||
|
\framesubtitle{Types de variables}
|
||||||
|
Les variables de la configuration sont typées. Leur saisie est donc validée.
|
||||||
|
\begin{itemize}
|
||||||
|
\item nombre ;
|
||||||
|
\item chaîne de caractères ;
|
||||||
|
\item nom de domaine ;
|
||||||
|
\item adresse IP ;
|
||||||
|
\item \ldots{}
|
||||||
|
\end{itemize}
|
||||||
|
\end{frame}
|
||||||
|
|
||||||
|
\begin{frame}
|
||||||
|
\frametitle{Configuration autonome}
|
||||||
|
\framesubtitle{Contraintes}
|
||||||
|
Les contraintes affectent la valeur des variables, leur association ou leur disponibilité.
|
||||||
|
\begin{itemize}
|
||||||
|
\item variables obligatoires ;
|
||||||
|
\end{itemize}
|
||||||
|
\skbfigure[center,width=2cm]{en/genconfig/obligatoire.png}
|
||||||
|
\begin{itemize}
|
||||||
|
\item variables calculées ;
|
||||||
|
\end{itemize}
|
||||||
|
\skbfigure[center,width=2cm]{en/genconfig/calculee.png}
|
||||||
|
\begin{itemize}
|
||||||
|
\item variables nom modifiable ;
|
||||||
|
\end{itemize}
|
||||||
|
\skbfigure[center,width=3cm]{en/genconfig/non-modif.png}
|
||||||
|
\end{frame}
|
||||||
|
|
||||||
|
\begin{frame}
|
||||||
|
\frametitle{Configuration autonome}
|
||||||
|
\framesubtitle{Contraintes}
|
||||||
|
\begin{itemize}
|
||||||
|
\item variables verrouillées automatiquement ;
|
||||||
|
\end{itemize}
|
||||||
|
\skbfigure[center,width=3cm]{en/genconfig/verrouille.png}
|
||||||
|
\begin{itemize}
|
||||||
|
\item variables sauvegardées automatiquement ;
|
||||||
|
\item variables multi-valuées ;
|
||||||
|
\end{itemize}
|
||||||
|
\skbfigure[center,width=5cm]{en/genconfig/multi.png}
|
||||||
|
\begin{itemize}
|
||||||
|
\item variables groupées ;
|
||||||
|
\end{itemize}
|
||||||
|
\skbfigure[center,width=4cm]{en/genconfig/master.png}
|
||||||
|
\end{frame}
|
||||||
|
|
||||||
|
\begin{frame}
|
||||||
|
\frametitle{Configuration autonome}
|
||||||
|
\framesubtitle{Contraintes}
|
||||||
|
\begin{itemize}
|
||||||
|
\item variables avec choix (imposés ou ouverts) ;
|
||||||
|
\end{itemize}
|
||||||
|
\skbfigure[center,width=4cm]{en/genconfig/choix.png}
|
||||||
|
\skbfigure[center,width=4cm]{en/genconfig/choix_ouvert.png}
|
||||||
|
\begin{itemize}
|
||||||
|
\item variables cachées (afficher en mode debug).
|
||||||
|
\end{itemize}
|
||||||
|
\skbfigure[center,width=3cm]{en/genconfig/cache.png}
|
||||||
|
\end{frame}
|
||||||
|
|
||||||
|
\begin{frame}
|
||||||
|
\frametitle{Configuration autonome}
|
||||||
|
\framesubtitle{Les modes de l’application de configuration du module}
|
||||||
|
Les variable de configuration sont classées en trois catégories qui permettent de filtrer leur affichage pour simplifier la saisie :
|
||||||
|
\begin{itemize}
|
||||||
|
\item mode basique ;
|
||||||
|
\item mode normal ;
|
||||||
|
\item mode expert.
|
||||||
|
\end{itemize}
|
||||||
|
\skbfigure[center,width=4cm]{en/genconfig/mode.png}
|
||||||
|
\end{frame}
|
||||||
|
|
||||||
|
\begin{frame}
|
||||||
|
\frametitle{Configuration autonome}
|
||||||
|
\framesubtitle{Assistant}
|
||||||
|
Le mode \emph{assistant} présente les variables obligatoires sur une seule page.
|
||||||
|
C’est le mode ouvert par défaut lorsqu’aucun fichier de configuration n’est présent.
|
||||||
|
\end{frame}
|
||||||
|
|
||||||
|
\begin{frame}
|
||||||
|
\frametitle{Configuration autonome}
|
||||||
|
\framesubtitle{sauvegarde et chargement de la configuration}
|
||||||
|
La configuration est composée des valeurs des variables de configuration.
|
||||||
|
\begin{itemize}
|
||||||
|
\item possibilité d'importer/exporter un fichier ;
|
||||||
|
\item page des variables obligatoires non renseignées ;
|
||||||
|
\item visualisation des différences avant l'enregistrement ;
|
||||||
|
\item enregistrement dans le fichier "config.eol".
|
||||||
|
\end{itemize}
|
||||||
|
\end{frame}
|
||||||
|
\begin{frame}
|
||||||
|
\frametitle{Configuration autonome}
|
||||||
|
\framesubtitle{Avancée}
|
||||||
|
\begin{block}{Déverrouiller les variables}
|
||||||
|
Importer une configuration à l’effet secondaire de déverrouiller toutes les variables.
|
||||||
|
\end{block}
|
||||||
|
\begin{alertblock}{Contenu du fichier config.eol}
|
||||||
|
Seules les variables dont les valeurs sont modifiées par l’administrateur sont sauvegardées dans un fichier.
|
||||||
|
\end{alertblock}
|
||||||
|
\end{frame}
|
@ -0,0 +1,11 @@
|
|||||||
|
{\setbeamercolor{background canvas}{bg=TravauxPratiques}
|
||||||
|
\begin{frame}
|
||||||
|
\frametitle{Pratique}
|
||||||
|
\framesubtitle{Connexion EAD}
|
||||||
|
\begin{enumerate}
|
||||||
|
\item Démarrer un navigateur web sur son poste de travail ;
|
||||||
|
\item https://nom\_domaine\_server:4200/ ;
|
||||||
|
\item se connecter à l'EAD.
|
||||||
|
\end{enumerate}
|
||||||
|
\end{frame}
|
||||||
|
}
|
@ -1,5 +1,22 @@
|
|||||||
\begin{frame}
|
\begin{frame}
|
||||||
\frametitle{connexion.tex}
|
\frametitle{Se connecter}
|
||||||
fichier slides/modules\_EOLE\_envole/tronc-commun-1/administration/ead/connexion.tex à éditer
|
\begin{itemize}
|
||||||
% contenu (pas trop long) de la diapositive
|
\item Ajouter ou supprimer des onglets pour communiquer avec d'autres serveurs de commande ;
|
||||||
|
\item authentification locale ;
|
||||||
|
\item authentification SSO.
|
||||||
|
\end{itemize}
|
||||||
|
\end{frame}
|
||||||
|
|
||||||
|
\begin{frame}
|
||||||
|
\frametitle{SSO}
|
||||||
|
\begin{itemize}
|
||||||
|
\item EAD, deux systèmes d'authentification :
|
||||||
|
\begin{itemize}
|
||||||
|
\item authentification locale (PAM) ;
|
||||||
|
\item authentification SSO ;
|
||||||
|
\end{itemize}
|
||||||
|
\item permet de centraliser l'authentification ;
|
||||||
|
\item authentification unique ;
|
||||||
|
\item rôle plus fin.
|
||||||
|
\end{itemize}
|
||||||
\end{frame}
|
\end{frame}
|
@ -1,5 +1,13 @@
|
|||||||
\begin{frame}
|
\begin{frame}
|
||||||
\frametitle{description.tex}
|
\frametitle{EAD}
|
||||||
fichier slides/modules\_EOLE\_envole/tronc-commun-1/administration/ead/description.tex à éditer
|
\begin{itemize}
|
||||||
% contenu (pas trop long) de la diapositive
|
\item serveur de commande ead-server (activé et non désactivable) :
|
||||||
|
\item interface ead-web : https://<adresse\_module>:4200/ (activé et désactivable) :
|
||||||
|
\begin{itemize}
|
||||||
|
\item gondole d'administration ;
|
||||||
|
\item menu action ;
|
||||||
|
\item les onglets ;
|
||||||
|
\item la partie centrale.
|
||||||
|
\end{itemize}
|
||||||
|
\end{itemize}
|
||||||
\end{frame}
|
\end{frame}
|
@ -0,0 +1,10 @@
|
|||||||
|
{\setbeamercolor{background canvas}{bg=TravauxPratiques}
|
||||||
|
\begin{frame}
|
||||||
|
\frametitle{Pratique}
|
||||||
|
\framesubtitle{Tester les fonctions de base}
|
||||||
|
\begin{enumerate}
|
||||||
|
\item lister le matériel ;
|
||||||
|
\item redémarrer un service.
|
||||||
|
\end{enumerate}
|
||||||
|
\end{frame}
|
||||||
|
}
|
@ -1,5 +1,14 @@
|
|||||||
\begin{frame}
|
\begin{frame}
|
||||||
\frametitle{fonctions-basiques.tex}
|
\frametitle{Fonctions de base}
|
||||||
fichier slides/modules\_EOLE\_envole/tronc-commun-1/administration/ead/fonctions-basiques.tex à éditer
|
\begin{itemize}
|
||||||
% contenu (pas trop long) de la diapositive
|
\item Redémarrer, arrêter et reconfigurer ;
|
||||||
|
\item mise à jour ;
|
||||||
|
\item arrêt et redémarrage de service :
|
||||||
|
\begin{itemize}
|
||||||
|
\item mode expert ;
|
||||||
|
\item mode normal ;
|
||||||
|
\end{itemize}
|
||||||
|
\item listing matériel ;
|
||||||
|
\item bande passante.
|
||||||
|
\end{itemize}
|
||||||
\end{frame}
|
\end{frame}
|
@ -1,5 +1,23 @@
|
|||||||
\begin{frame}
|
\begin{frame}
|
||||||
\frametitle{gestion-roles.tex}
|
\frametitle{Gestion des rôles EAD}
|
||||||
fichier slides/modules\_EOLE\_envole/tronc-commun-1/administration/ead/gestion-roles.tex à éditer
|
\begin{itemize}
|
||||||
% contenu (pas trop long) de la diapositive
|
\item Rôle par défaut :
|
||||||
|
\begin{itemize}
|
||||||
|
\item admin : accès à toutes les actions ;
|
||||||
|
\item professeur : modification des préférences personnelles, distribution de documents (devoirs) et CUPS ;
|
||||||
|
\item responsable de classe : professeur + réinitialisation des mots de passe des élèves de sa classe ;
|
||||||
|
\end{itemize}
|
||||||
|
\item création de rôles personnalisés ;
|
||||||
|
\item association de rôles :
|
||||||
|
\begin{itemize}
|
||||||
|
\item pour l'authentification locale : sur le login ;
|
||||||
|
\item pour l'authentification SSO :
|
||||||
|
\begin{itemize}
|
||||||
|
\item login de l'utilisateur ;
|
||||||
|
\item groupe d'utilisateurs ;
|
||||||
|
\item classe associée à l'utilisateur ;
|
||||||
|
\item valeur de la clef typeadmin (professeur principal) ;
|
||||||
|
\end{itemize}
|
||||||
|
\end{itemize}
|
||||||
|
\end{itemize}
|
||||||
\end{frame}
|
\end{frame}
|
29
slides/modules_EOLE_envole/commun/nouveautes28.tex
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
\begin{frame}
|
||||||
|
\frametitle{Nouveautés 2.8}
|
||||||
|
\begin{itemize}
|
||||||
|
\item Basé sur la distribution Focal Fossa (20.04) ;
|
||||||
|
\item support jusqu'en 2025 ;
|
||||||
|
\item passage à python 3.
|
||||||
|
\end{itemize}
|
||||||
|
\end{frame}
|
||||||
|
|
||||||
|
\begin{frame}
|
||||||
|
\frametitle{Modules disponibles en 2.8.0}
|
||||||
|
\begin{itemize}
|
||||||
|
\item Hapy \& Hapy Node ;
|
||||||
|
\item Scribe (AD) ;
|
||||||
|
\item Seshat ;
|
||||||
|
\item Seth ;
|
||||||
|
\item Sphynx ;
|
||||||
|
\item Thot ;
|
||||||
|
\item Zéphir.
|
||||||
|
\end{itemize}
|
||||||
|
\end{frame}
|
||||||
|
|
||||||
|
\begin{frame}
|
||||||
|
\frametitle{Modules disponibles à partir de la 2.8.1}
|
||||||
|
\begin{itemize}
|
||||||
|
\item Amon ;
|
||||||
|
\item AmonÉcole.
|
||||||
|
\end{itemize}
|
||||||
|
\end{frame}
|
8
slides/modules_EOLE_envole/commun/nouveautes29.tex
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
\begin{frame}
|
||||||
|
\frametitle{Nouveautés 2.9}
|
||||||
|
\begin{itemize}
|
||||||
|
\item En cours de développement ;
|
||||||
|
\item basé sur la distribution Jammy Jellyfish (20.04) ;
|
||||||
|
\item support jusqu'en 2027.
|
||||||
|
\end{itemize}
|
||||||
|
\end{frame}
|
7
slides/modules_EOLE_envole/commun/onduleur-pratique.tex
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
{\setbeamercolor{background canvas}{bg=TravauxPratiques}
|
||||||
|
\begin{frame}
|
||||||
|
\frametitle{onduleur-pratique.tex}
|
||||||
|
fichier slides/modules\_EOLE\_envole/commun/onduleur-pratique.tex à éditer
|
||||||
|
% contenu (pas trop long) de la diapositive
|
||||||
|
\end{frame}
|
||||||
|
}
|
5
slides/modules_EOLE_envole/commun/onduleur.tex
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
\begin{frame}
|
||||||
|
\frametitle{onduleur.tex}
|
||||||
|
fichier slides/modules\_EOLE\_envole/commun/onduleur.tex à éditer
|
||||||
|
% contenu (pas trop long) de la diapositive
|
||||||
|
\end{frame}
|
@ -1,24 +1,10 @@
|
|||||||
{\setbeamercolor{background canvas}{bg=TravauxPratiques}
|
{\setbeamercolor{background canvas}{bg=TravauxPratiques}
|
||||||
\begin{frame}
|
|
||||||
\frametitle{Pratique}
|
|
||||||
\begin{itemize}
|
|
||||||
\item Changer le mot de passe par défaut :
|
|
||||||
\begin{itemize}
|
|
||||||
\item copie du mot de passe par défaut en le sélectionnant ;
|
|
||||||
\item utilisation de \commande{passwd}.
|
|
||||||
\end{itemize}
|
|
||||||
\end{itemize}
|
|
||||||
\end{frame}
|
|
||||||
\begin{frame}
|
\begin{frame}
|
||||||
\frametitle{Pratique}
|
\frametitle{Pratique}
|
||||||
\begin{itemize}
|
\begin{itemize}
|
||||||
\item Configurer le serveur via la commande gen\_config ;
|
\item Configurer le serveur via la commande gen\_config ;
|
||||||
\item informations utiles :
|
\item enregistrer la configuration (attention il faut confirmer) ;
|
||||||
\begin{itemize}
|
\item quitter gen\_config.
|
||||||
\item Adresse ip de la carte eth0 ;
|
|
||||||
\item Passerelle ;
|
|
||||||
\item DNS : DNS de la machine hôte ;
|
|
||||||
\end{itemize}
|
|
||||||
\end{itemize}
|
\end{itemize}
|
||||||
\end{frame}
|
\end{frame}
|
||||||
}
|
}
|
||||||
|
@ -3,9 +3,11 @@
|
|||||||
\frametitle{Pratique}
|
\frametitle{Pratique}
|
||||||
\framesubtitle{Modification de la configuration}
|
\framesubtitle{Modification de la configuration}
|
||||||
\begin{enumerate}
|
\begin{enumerate}
|
||||||
\item Modifier la valeur de la variable swappiness,
|
\item Démarrer gen\_config ;
|
||||||
\item sauvegarder la nouvelle configuration,
|
\item modifier en mode expert "Système" / "Poids relatif de l'utilisation de la swap par rapport à la mémoire vive" => 10 ;
|
||||||
\item appliquer la nouvelle configuration en lançant la commande \commande{reconfigure}.
|
\item sauvegarder la nouvelle configuration ;
|
||||||
|
\item appliquer la nouvelle configuration en lançant la commande \commande{reconfigure} ;
|
||||||
|
\item vérifier l'application de la valeur avec la commande \commande{sysctl vm.swappiness}.
|
||||||
\end{enumerate}
|
\end{enumerate}
|
||||||
\end{frame}
|
\end{frame}
|
||||||
}
|
}
|
||||||
|
5
slides/modules_EOLE_envole/description.tex
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
\begin{frame}
|
||||||
|
\frametitle{description.tex}
|
||||||
|
fichier slides/modules\_EOLE\_envole/description.tex à éditer
|
||||||
|
% contenu (pas trop long) de la diapositive
|
||||||
|
\end{frame}
|
5
slides/modules_EOLE_envole/eportail.tex
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
\begin{frame}
|
||||||
|
\frametitle{eportail.tex}
|
||||||
|
fichier slides/modules\_EOLE\_envole/eportail.tex à éditer
|
||||||
|
% contenu (pas trop long) de la diapositive
|
||||||
|
\end{frame}
|
5
slides/modules_EOLE_envole/hapy/cli.tex
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
\begin{frame}
|
||||||
|
\frametitle{cli.tex}
|
||||||
|
fichier slides/modules\_EOLE\_envole/hapy/cli.tex à éditer
|
||||||
|
% contenu (pas trop long) de la diapositive
|
||||||
|
\end{frame}
|
@ -0,0 +1,5 @@
|
|||||||
|
\begin{frame}
|
||||||
|
\frametitle{configuration-commutateur-virtuel.tex}
|
||||||
|
fichier slides/modules\_EOLE\_envole/hapy/configuration-commutateur-virtuel.tex à éditer
|
||||||
|
% contenu (pas trop long) de la diapositive
|
||||||
|
\end{frame}
|
@ -0,0 +1,5 @@
|
|||||||
|
\begin{frame}
|
||||||
|
\frametitle{configuration-hooks-vm.tex}
|
||||||
|
fichier slides/modules\_EOLE\_envole/hapy/configuration-hooks-vm.tex à éditer
|
||||||
|
% contenu (pas trop long) de la diapositive
|
||||||
|
\end{frame}
|
@ -0,0 +1,5 @@
|
|||||||
|
\begin{frame}
|
||||||
|
\frametitle{configuration-modeles-vm.tex}
|
||||||
|
fichier slides/modules\_EOLE\_envole/hapy/configuration-modeles-vm.tex à éditer
|
||||||
|
% contenu (pas trop long) de la diapositive
|
||||||
|
\end{frame}
|
@ -0,0 +1,5 @@
|
|||||||
|
\begin{frame}
|
||||||
|
\frametitle{configuration-multi-noeuds.tex}
|
||||||
|
fichier slides/modules\_EOLE\_envole/hapy/configuration-multi-noeuds.tex à éditer
|
||||||
|
% contenu (pas trop long) de la diapositive
|
||||||
|
\end{frame}
|
@ -0,0 +1,5 @@
|
|||||||
|
\begin{frame}
|
||||||
|
\frametitle{configuration-opennebula-flow.tex}
|
||||||
|
fichier slides/modules\_EOLE\_envole/hapy/configuration-opennebula-flow.tex à éditer
|
||||||
|
% contenu (pas trop long) de la diapositive
|
||||||
|
\end{frame}
|
@ -0,0 +1,5 @@
|
|||||||
|
\begin{frame}
|
||||||
|
\frametitle{configuration-virtualisation.tex}
|
||||||
|
fichier slides/modules\_EOLE\_envole/hapy/configuration-virtualisation.tex à éditer
|
||||||
|
% contenu (pas trop long) de la diapositive
|
||||||
|
\end{frame}
|
5
slides/modules_EOLE_envole/hapy/gestion-images-vm.tex
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
\begin{frame}
|
||||||
|
\frametitle{gestion-images-vm.tex}
|
||||||
|
fichier slides/modules\_EOLE\_envole/hapy/gestion-images-vm.tex à éditer
|
||||||
|
% contenu (pas trop long) de la diapositive
|
||||||
|
\end{frame}
|
5
slides/modules_EOLE_envole/hapy/gestion-modeles-vm.tex
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
\begin{frame}
|
||||||
|
\frametitle{gestion-modeles-vm.tex}
|
||||||
|
fichier slides/modules\_EOLE\_envole/hapy/gestion-modeles-vm.tex à éditer
|
||||||
|
% contenu (pas trop long) de la diapositive
|
||||||
|
\end{frame}
|
5
slides/modules_EOLE_envole/hapy/sunstone.tex
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
\begin{frame}
|
||||||
|
\frametitle{sunstone.tex}
|
||||||
|
fichier slides/modules\_EOLE\_envole/hapy/sunstone.tex à éditer
|
||||||
|
% contenu (pas trop long) de la diapositive
|
||||||
|
\end{frame}
|
5
slides/modules_EOLE_envole/liste-applications.tex
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
\begin{frame}
|
||||||
|
\frametitle{liste-applications.tex}
|
||||||
|
fichier slides/modules\_EOLE\_envole/liste-applications.tex à éditer
|
||||||
|
% contenu (pas trop long) de la diapositive
|
||||||
|
\end{frame}
|
5
slides/modules_EOLE_envole/ninegate.tex
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
\begin{frame}
|
||||||
|
\frametitle{ninegate.tex}
|
||||||
|
fichier slides/modules\_EOLE\_envole/ninegate.tex à éditer
|
||||||
|
% contenu (pas trop long) de la diapositive
|
||||||
|
\end{frame}
|
@ -0,0 +1,11 @@
|
|||||||
|
{\setbeamercolor{background canvas}{bg=TravauxPratiques}
|
||||||
|
\begin{frame}
|
||||||
|
\frametitle{Pratique : configuration Zéphir du serveur}
|
||||||
|
\begin{itemize}
|
||||||
|
\item Création d'un nouvel utilisateur "eole" ;
|
||||||
|
\item affecter tous les droits à l'utilisateur ;
|
||||||
|
\item se reconnecter avec ce nouvel utilisateur ;
|
||||||
|
\item ajouter un nouvel établissement.
|
||||||
|
\end{itemize}
|
||||||
|
\end{frame}
|
||||||
|
}
|
@ -20,103 +20,3 @@
|
|||||||
\item serveur : un module dans un établissement.
|
\item serveur : un module dans un établissement.
|
||||||
\end{itemize}
|
\end{itemize}
|
||||||
\end{frame}
|
\end{frame}
|
||||||
|
|
||||||
\begin{frame}
|
|
||||||
\frametitle{Pratique : configuration Zéphir du serveur}
|
|
||||||
\begin{itemize}
|
|
||||||
\item Création d'un nouvel utilisateur "eole" ;
|
|
||||||
\item affecter tous les droits à l'utilisateur ;
|
|
||||||
\item se reconnecter avec ce nouvel utilisateur ;
|
|
||||||
\item ajouter un nouvel établissement.
|
|
||||||
\end{itemize}
|
|
||||||
\end{frame}
|
|
||||||
|
|
||||||
\begin{frame}
|
|
||||||
\frametitle{Enregistrement Zéphir}
|
|
||||||
\begin{itemize}
|
|
||||||
\item Processus obligatoire et manuel ;
|
|
||||||
\item création dans la base + lien sécurisé ;
|
|
||||||
\item lancer : enregistrement\_zephir :
|
|
||||||
\begin{itemize}
|
|
||||||
\item connexion au réseau,
|
|
||||||
\item connexion à Zéphir,
|
|
||||||
\item création ou choix du serveur,
|
|
||||||
\item gestion des configurations :
|
|
||||||
\begin{itemize}
|
|
||||||
\item nouveau serveur : "récupérer les fichiers de la variante",
|
|
||||||
\item serveur configuré en mode autonome : "sauver la configuration actuelle",
|
|
||||||
\item serveur configuré en mode Zéphir : "utiliser la configuration définie sur Zéphir".
|
|
||||||
\end{itemize}
|
|
||||||
\end{itemize}
|
|
||||||
\end{itemize}
|
|
||||||
\end{frame}
|
|
||||||
|
|
||||||
\begin{frame}
|
|
||||||
\frametitle{Enregistrement Zéphir : les contraintes 2.6}
|
|
||||||
\begin{itemize}
|
|
||||||
\item L'enregistrement ne fonctionne qu'avec un nom de domaine (pas une IP !) ;
|
|
||||||
\item il est nécessaire que la clef publique du Zéphir soit validé.
|
|
||||||
\end{itemize}
|
|
||||||
\end{frame}
|
|
||||||
|
|
||||||
\begin{frame}
|
|
||||||
\frametitle{Pratique : l'enregistrement Zéphir}
|
|
||||||
\begin{itemize}
|
|
||||||
\item Configure le serveur Scribe :
|
|
||||||
\begin{itemize}
|
|
||||||
\item aller dans gen\_config onglet expert "Réseau avancé" ;
|
|
||||||
\item "Déclarer des noms d'hôtes supplémentaires" : "oui" ;
|
|
||||||
\item "Adresse IP de l'hôte"
|
|
||||||
\item "Nom long de l'hôte"
|
|
||||||
\end{itemize}
|
|
||||||
\item reconfigurer le serveur ;
|
|
||||||
\item copier la clef publique : scp root@<ip\_zephir>:/etc/ssl/certs/ca\_local.crt /usr/local/share/ca-certificates/
|
|
||||||
\item update-ca-certificates
|
|
||||||
\item enregistrement du serveur sur le Zéphir en remontant la configuration.
|
|
||||||
\end{itemize}
|
|
||||||
\end{frame}
|
|
||||||
|
|
||||||
\begin{frame}
|
|
||||||
\frametitle{Pratique : créer un nouveau serveur}
|
|
||||||
\begin{itemize}
|
|
||||||
\item Dans la page de l'établissement, créer un nouveau serveur ;
|
|
||||||
\item générer la configuration.
|
|
||||||
\end{itemize}
|
|
||||||
\end{frame}
|
|
||||||
|
|
||||||
\begin{frame}
|
|
||||||
\frametitle{Modification de la configuration dans l'application Zéphir}
|
|
||||||
\begin{itemize}
|
|
||||||
\item La configuration du serveur peut être renseignée sur Zéphir ;
|
|
||||||
\item même interface sur que le module ;
|
|
||||||
\item la configuration n'est pas envoyer immédiatement sur le serveur ;
|
|
||||||
\item gen\_config sur le serveur peut récupérer les modifications.
|
|
||||||
\end{itemize}
|
|
||||||
\end{frame}
|
|
||||||
|
|
||||||
\begin{frame}
|
|
||||||
\frametitle{Pratique}
|
|
||||||
\begin{itemize}
|
|
||||||
\item Dans la page d'état du serveur "modifier" la configuration du Scribe ;
|
|
||||||
\item modifier une valeur ;
|
|
||||||
\item enregistrer la configuration ;
|
|
||||||
\item sur le serveur Scribe lancer gen\_config et se logger sur le serveur Zéphir.
|
|
||||||
\end{itemize}
|
|
||||||
\end{frame}
|
|
||||||
|
|
||||||
\begin{frame}
|
|
||||||
\frametitle{Sauvegarde Zéphir}
|
|
||||||
\begin{itemize}
|
|
||||||
\item sauvegarde de Zéphir : sauvegarde.sh ;
|
|
||||||
\item restauration du Zéphir : restauration.sh ;
|
|
||||||
\item emplacement des sauvegardes : /var/lib/zephir\_backups/ (avec la date).
|
|
||||||
\end{itemize}
|
|
||||||
\end{frame}
|
|
||||||
|
|
||||||
\begin{frame}
|
|
||||||
\frametitle{Pratique}
|
|
||||||
\begin{itemize}
|
|
||||||
\item Lancer une sauvegarde du Zéphir ;
|
|
||||||
\item restaurer le serveur avec la sauvegarde réalisée.
|
|
||||||
\end{itemize}
|
|
||||||
\end{frame}
|
|
||||||
|
@ -7,6 +7,7 @@
|
|||||||
\end{itemize}
|
\end{itemize}
|
||||||
\end{frame}
|
\end{frame}
|
||||||
|
|
||||||
|
{\setbeamercolor{background canvas}{bg=TravauxPratiques}
|
||||||
\begin{frame}
|
\begin{frame}
|
||||||
\frametitle{Pratique}
|
\frametitle{Pratique}
|
||||||
\begin{itemize}
|
\begin{itemize}
|
||||||
@ -19,6 +20,7 @@
|
|||||||
\item ajouter la clef à l'utilisateur.
|
\item ajouter la clef à l'utilisateur.
|
||||||
\end{itemize}
|
\end{itemize}
|
||||||
\end{frame}
|
\end{frame}
|
||||||
|
}
|
||||||
|
|
||||||
\begin{frame}
|
\begin{frame}
|
||||||
\frametitle{Groupe de serveurs}
|
\frametitle{Groupe de serveurs}
|
||||||
|
@ -0,0 +1,26 @@
|
|||||||
|
{\setbeamercolor{background canvas}{bg=TravauxPratiques}
|
||||||
|
\begin{frame}
|
||||||
|
\frametitle{Pratique : l'enregistrement Zéphir}
|
||||||
|
\begin{itemize}
|
||||||
|
\item Configure le serveur Scribe :
|
||||||
|
\begin{itemize}
|
||||||
|
\item aller dans gen\_config onglet expert "Réseau avancé" ;
|
||||||
|
\item "Déclarer des noms d'hôtes supplémentaires" : "oui" ;
|
||||||
|
\item "Adresse IP de l'hôte"
|
||||||
|
\item "Nom long de l'hôte"
|
||||||
|
\end{itemize}
|
||||||
|
\item reconfigurer le serveur ;
|
||||||
|
\item copier la clef publique : scp root@<ip\_zephir>:/etc/ssl/certs/ca\_local.crt /usr/local/share/ca-certificates/
|
||||||
|
\item update-ca-certificates
|
||||||
|
\item enregistrement du serveur sur le Zéphir en remontant la configuration.
|
||||||
|
\end{itemize}
|
||||||
|
\end{frame}
|
||||||
|
|
||||||
|
\begin{frame}
|
||||||
|
\frametitle{Pratique : créer un nouveau serveur}
|
||||||
|
\begin{itemize}
|
||||||
|
\item Dans la page de l'établissement, créer un nouveau serveur ;
|
||||||
|
\item générer la configuration.
|
||||||
|
\end{itemize}
|
||||||
|
\end{frame}
|
||||||
|
}
|
@ -0,0 +1,27 @@
|
|||||||
|
\begin{frame}
|
||||||
|
\frametitle{Enregistrement Zéphir}
|
||||||
|
\begin{itemize}
|
||||||
|
\item Processus obligatoire et manuel ;
|
||||||
|
\item création dans la base + lien sécurisé ;
|
||||||
|
\item lancer : enregistrement\_zephir :
|
||||||
|
\begin{itemize}
|
||||||
|
\item connexion au réseau,
|
||||||
|
\item connexion à Zéphir,
|
||||||
|
\item création ou choix du serveur,
|
||||||
|
\item gestion des configurations :
|
||||||
|
\begin{itemize}
|
||||||
|
\item nouveau serveur : "récupérer les fichiers de la variante",
|
||||||
|
\item serveur configuré en mode autonome : "sauver la configuration actuelle",
|
||||||
|
\item serveur configuré en mode Zéphir : "utiliser la configuration définie sur Zéphir".
|
||||||
|
\end{itemize}
|
||||||
|
\end{itemize}
|
||||||
|
\end{itemize}
|
||||||
|
\end{frame}
|
||||||
|
|
||||||
|
\begin{frame}
|
||||||
|
\frametitle{Enregistrement Zéphir : les contraintes 2.6}
|
||||||
|
\begin{itemize}
|
||||||
|
\item L'enregistrement ne fonctionne qu'avec un nom de domaine (pas une IP !) ;
|
||||||
|
\item il est nécessaire que la clef publique du Zéphir soit validé.
|
||||||
|
\end{itemize}
|
||||||
|
\end{frame}
|
@ -0,0 +1,11 @@
|
|||||||
|
{\setbeamercolor{background canvas}{bg=TravauxPratiques}
|
||||||
|
\begin{frame}
|
||||||
|
\frametitle{Pratique}
|
||||||
|
\begin{itemize}
|
||||||
|
\item Dans la page d'état du serveur "modifier" la configuration du Scribe ;
|
||||||
|
\item modifier une valeur ;
|
||||||
|
\item enregistrer la configuration ;
|
||||||
|
\item sur le serveur Scribe lancer gen\_config et se logger sur le serveur Zéphir.
|
||||||
|
\end{itemize}
|
||||||
|
\end{frame}
|
||||||
|
}
|
@ -0,0 +1,9 @@
|
|||||||
|
\begin{frame}
|
||||||
|
\frametitle{Modification de la configuration dans l'application Zéphir}
|
||||||
|
\begin{itemize}
|
||||||
|
\item La configuration du serveur peut être renseignée sur Zéphir ;
|
||||||
|
\item même interface sur que le module ;
|
||||||
|
\item la configuration n'est pas envoyer immédiatement sur le serveur ;
|
||||||
|
\item gen\_config sur le serveur peut récupérer les modifications.
|
||||||
|
\end{itemize}
|
||||||
|
\end{frame}
|
@ -0,0 +1,9 @@
|
|||||||
|
{\setbeamercolor{background canvas}{bg=TravauxPratiques}
|
||||||
|
\begin{frame}
|
||||||
|
\frametitle{Pratique}
|
||||||
|
\begin{itemize}
|
||||||
|
\item Lancer une sauvegarde du Zéphir ;
|
||||||
|
\item restaurer le serveur avec la sauvegarde réalisée.
|
||||||
|
\end{itemize}
|
||||||
|
\end{frame}
|
||||||
|
}
|
@ -0,0 +1,8 @@
|
|||||||
|
\begin{frame}
|
||||||
|
\frametitle{Sauvegarde Zéphir}
|
||||||
|
\begin{itemize}
|
||||||
|
\item sauvegarde de Zéphir : sauvegarde.sh ;
|
||||||
|
\item restauration du Zéphir : restauration.sh ;
|
||||||
|
\item emplacement des sauvegardes : /var/lib/zephir\_backups/ (avec la date).
|
||||||
|
\end{itemize}
|
||||||
|
\end{frame}
|
@ -188,14 +188,44 @@ ls -li formation.pdf
|
|||||||
\frametitle{Pratique}
|
\frametitle{Pratique}
|
||||||
\begin{itemize}
|
\begin{itemize}
|
||||||
\item Sur le serveur, se logguer en root ;
|
\item Sur le serveur, se logguer en root ;
|
||||||
|
\end{itemize}
|
||||||
|
\end{frame}
|
||||||
|
\begin{frame}
|
||||||
|
\frametitle{Pratique}
|
||||||
|
\begin{itemize}
|
||||||
\item changer le mot de passe de l'utilisateur eole;
|
\item changer le mot de passe de l'utilisateur eole;
|
||||||
|
\end{itemize}
|
||||||
|
\end{frame}
|
||||||
|
\begin{frame}
|
||||||
|
\frametitle{Pratique}
|
||||||
|
\begin{itemize}
|
||||||
\item créer le répertoire /home/test ;
|
\item créer le répertoire /home/test ;
|
||||||
|
\end{itemize}
|
||||||
|
\end{frame}
|
||||||
|
\begin{frame}
|
||||||
|
\frametitle{Pratique}
|
||||||
|
\begin{itemize}
|
||||||
\item le renommer en /home/scribe ;
|
\item le renommer en /home/scribe ;
|
||||||
|
\end{itemize}
|
||||||
|
\end{frame}
|
||||||
|
\begin{frame}
|
||||||
|
\frametitle{Pratique}
|
||||||
|
\begin{itemize}
|
||||||
\item mettre les droits de rwx pour l'utilisateur et le groupe mais \-\-\- pour autre ;
|
\item mettre les droits de rwx pour l'utilisateur et le groupe mais \-\-\- pour autre ;
|
||||||
\item vérifier les droits ;
|
\item vérifier les droits ;
|
||||||
|
\end{itemize}
|
||||||
|
\end{frame}
|
||||||
|
\begin{frame}
|
||||||
|
\frametitle{Pratique}
|
||||||
|
\begin{itemize}
|
||||||
\item lire le man de setfacl ;
|
\item lire le man de setfacl ;
|
||||||
\item ajouter la "lecture" de type ACLs pour le groupe "eole" ;
|
\item ajouter la "lecture" de type ACLs pour le groupe "eole" ;
|
||||||
\item lister les droits ;
|
\item lister les droits ;
|
||||||
|
\end{itemize}
|
||||||
|
\end{frame}
|
||||||
|
\begin{frame}
|
||||||
|
\frametitle{Pratique}
|
||||||
|
\begin{itemize}
|
||||||
\item voir l'espace disque utilisé ;
|
\item voir l'espace disque utilisé ;
|
||||||
\item voir l'espace disque utilisé par un répertoire.
|
\item voir l'espace disque utilisé par un répertoire.
|
||||||
\end{itemize}
|
\end{itemize}
|
||||||
|
@ -4,12 +4,12 @@
|
|||||||
\item Génération normal : /usr/share/eole/creole/distrib => /etc
|
\item Génération normal : /usr/share/eole/creole/distrib => /etc
|
||||||
\item Génération avec patch : /usr/share/eole/creole/distrib + /usr/share/eole/creole/patch => /var/lib/creole => /etc
|
\item Génération avec patch : /usr/share/eole/creole/distrib + /usr/share/eole/creole/patch => /var/lib/creole => /etc
|
||||||
\item Créer un patch :
|
\item Créer un patch :
|
||||||
\begin{itemize}
|
\begin{enumerate}
|
||||||
\item copie du fichier original /usr/share/eole/creole/distrib => /usr/share/eole/creole/modif ;
|
\item copie du fichier original /usr/share/eole/creole/distrib => /usr/share/eole/creole/modif ;
|
||||||
\item modification du fichier dans /usr/share/eole/creole/modif ;
|
\item modification du fichier dans /usr/share/eole/creole/modif ;
|
||||||
\item exécution \commande{gen\_patch} ;
|
\item exécution \commande{gen\_patch} ;
|
||||||
\item reconfiguration.
|
\item reconfiguration.
|
||||||
\end{itemize}
|
\end{enumerate}
|
||||||
\item Désactiver un patch : supprimer le fichier dans /usr/share/eole/creole/patch.
|
\item Désactiver un patch : supprimer le fichier dans /usr/share/eole/creole/patch.
|
||||||
\end{itemize}
|
\end{itemize}
|
||||||
\end{frame}
|
\end{frame}
|
||||||
|
@ -1,113 +0,0 @@
|
|||||||
{\setbeamercolor{background canvas}{bg=TravauxPratiques}
|
|
||||||
|
|
||||||
\begin{frame}
|
|
||||||
\frametitle{Pratique}
|
|
||||||
\begin{itemize}
|
|
||||||
\item Récupérer la valeur de la variable adresse\_ip\_eth0
|
|
||||||
\end{itemize}
|
|
||||||
\end{frame}
|
|
||||||
|
|
||||||
\begin{frame}
|
|
||||||
\frametitle{Pratique}
|
|
||||||
\begin{itemize}
|
|
||||||
\item Modifier la valeur de la variable de vm\_swappiness à 10 ;
|
|
||||||
\item modifier ubuntu\_update\_mirrors à "eole.ac-dijon.fr inconnu.lan"
|
|
||||||
\end{itemize}
|
|
||||||
\end{frame}
|
|
||||||
|
|
||||||
\begin{frame}
|
|
||||||
\frametitle{Pratique}
|
|
||||||
\framesubtitle{Gérer le service vnstat}
|
|
||||||
\begin{enumerate}
|
|
||||||
\item Créer un dictionnaire dans le répertoire /usr/share/eole/creole/dicos/local,
|
|
||||||
\item ajouter l’entête \emph{<?xml version="1.0" encoding="utf-8"?>},
|
|
||||||
\item ajouter une balise \emph{creole},
|
|
||||||
\item ajouter une balise \emph{files} dans la balise \emph{creole},
|
|
||||||
\item ajouter une balise \emph{service} dans la balise \emph{files},
|
|
||||||
\item valider avec \commande{CreoleLint},
|
|
||||||
\item tester le comportement au \commande{reconfigure}.
|
|
||||||
\end{enumerate}
|
|
||||||
\end{frame}
|
|
||||||
|
|
||||||
\begin{frame}
|
|
||||||
\frametitle{Pratique}
|
|
||||||
\framesubtitle{Gérer les accès réseau du service vnstat}
|
|
||||||
\begin{enumerate}
|
|
||||||
\item Ajouter au dictionnaire une balise \emph{service\_access} dans la balise \emph{files},
|
|
||||||
\item appliquer la modification avec \commande{reconfigure},
|
|
||||||
\item tester la gestion du port avec \commande{iptables-save}.
|
|
||||||
\end{enumerate}
|
|
||||||
\end{frame}
|
|
||||||
|
|
||||||
\begin{frame}
|
|
||||||
\frametitle{Pratique}
|
|
||||||
\framesubtitle{Gérer les accès réseau du service vnstat}
|
|
||||||
\begin{enumerate}
|
|
||||||
\item Ajouter au dictionnaire une balise \emph{service\_restriction} dans la balise \emph{files},
|
|
||||||
\item appliquer la modification avec \commande{reconfigure},
|
|
||||||
\item tester la gestion du port avec \commande{iptables-save}.
|
|
||||||
\end{enumerate}
|
|
||||||
\end{frame}
|
|
||||||
|
|
||||||
\begin{frame}
|
|
||||||
\frametitle{Pratique}
|
|
||||||
\framesubtitle{Ajouter une variable pour activer vnstat}
|
|
||||||
\begin{enumerate}
|
|
||||||
\item Ajouter une balise \emph{variables} dans la balise \emph{creole},
|
|
||||||
\item ajouter une balise \emph{family} dans la balise \emph{variables},
|
|
||||||
\item ajouter une balise \emph{variable} dans la balise \emph{family},
|
|
||||||
\item valider avec \commande{CreoleLint},
|
|
||||||
\item constater les changements dans \commande{gen\_config}.
|
|
||||||
\end{enumerate}
|
|
||||||
\end{frame}
|
|
||||||
|
|
||||||
\begin{frame}
|
|
||||||
\frametitle{Pratique}
|
|
||||||
\framesubtitle{Rendre variable un paramètre de configuration}
|
|
||||||
\begin{enumerate}
|
|
||||||
\item Ajouter une balise \emph{file} dans la balise \emph{files},
|
|
||||||
\item copier le fichier /etc/vnstat.conf dans /usr/share/eole/creole/distrib,
|
|
||||||
\item utiliser la variable dans le template /usr/share/eole/creole/distrib/vnstat.conf,
|
|
||||||
\item générer le fichier avec \commande{CreoleCat -dt vnstat.conf}.
|
|
||||||
\end{enumerate}
|
|
||||||
\end{frame}
|
|
||||||
|
|
||||||
\begin{frame}
|
|
||||||
\frametitle{Pratique}
|
|
||||||
\framesubtitle{Contraindre la valeur d’une variable}
|
|
||||||
\begin{enumerate}
|
|
||||||
\item Ajouter une balise \emph{constraints} dans la balise \emph{creole},
|
|
||||||
\item ajouter une balise \emph{check} dans la balise \emph{constraints},
|
|
||||||
\item modifier le template pour construire une valeur à partir de la variable,
|
|
||||||
\item générer le fichier avec \commande{CreoleCat -dt vnstat.conf}.
|
|
||||||
\end{enumerate}
|
|
||||||
\end{frame}
|
|
||||||
|
|
||||||
\begin{frame}
|
|
||||||
\frametitle{Pratique}
|
|
||||||
\framesubtitle{Calculer la valeur d’une variable}
|
|
||||||
\begin{enumerate}
|
|
||||||
\item Ajouter deux balises \emph{variable} dans la balise \emph{family vnstat},
|
|
||||||
\item ajouter une balise \emph{fill} dans la balise \emph{constraints}.
|
|
||||||
\end{enumerate}
|
|
||||||
\end{frame}
|
|
||||||
|
|
||||||
\begin{frame}
|
|
||||||
\frametitle{Pratique}
|
|
||||||
\framesubtitle{Conditionner l’accès aux variables}
|
|
||||||
\begin{enumerate}
|
|
||||||
\item Ajouter une balise \emph{condition} dans la balise \emph{constraints},
|
|
||||||
\item ajouter les balises \emph{target} pour la famille, le fichier et le service,
|
|
||||||
\item passer la variable \emph{activer\_vnstat} à \emph{non} et valider les désactivations avec \commande{reconfigure}.
|
|
||||||
\end{enumerate}
|
|
||||||
\end{frame}
|
|
||||||
|
|
||||||
\begin{frame}
|
|
||||||
\frametitle{Pratique}
|
|
||||||
\framesubtitle{Documenter les variables et familles}
|
|
||||||
\begin{itemize}
|
|
||||||
\item Ajouter une balise \emph{help} dans la balise {creole},
|
|
||||||
\item ajouter les balises \emph{variable} dans la balise \emph{help}.
|
|
||||||
\end{itemize}
|
|
||||||
\end{frame}
|
|
||||||
}
|
|
||||||
|
@ -1,37 +1,10 @@
|
|||||||
\begin{frame}
|
|
||||||
\frametitle{Dictionnaire Creole}
|
|
||||||
\begin{itemize}
|
|
||||||
\item Un dictionnaire est un fichier XML Creole ;
|
|
||||||
\item décrit les variables présente dans l'interface de configuration ;
|
|
||||||
\item informations utiles pour les services ;
|
|
||||||
\item les dictionnaires locaux sont dans /usr/share/eole/creole/dicos/local/.
|
|
||||||
\end{itemize}
|
|
||||||
\end{frame}
|
|
||||||
|
|
||||||
\begin{frame}
|
|
||||||
\frametitle{CreoleLint}
|
|
||||||
\begin{itemize}
|
|
||||||
\item Vérifie la syntaxe du dictionnaire : \commande{CreoleLint -d} ;
|
|
||||||
\item test la génération d'un template suivant contrainte : \commande{CreoleLint -t nom\_du\_template}
|
|
||||||
\end{itemize}
|
|
||||||
\end{frame}
|
|
||||||
|
|
||||||
\begin{frame}
|
|
||||||
\frametitle{CreoleCat}
|
|
||||||
\begin{itemize}
|
|
||||||
\item Templatise un fichier sans faire de reconfigure (objectif de test) ;
|
|
||||||
\item \commande{CreoleCat -t nom\_du\_template}
|
|
||||||
\item \commande{CreoleCat -t nom\_du\_template -o /tmp/template.tmpl}
|
|
||||||
\item \commande{CreoleCat -s /tmp/nom\_du\_template -o /tmp/template.tmpl}
|
|
||||||
\end{itemize}
|
|
||||||
\end{frame}
|
|
||||||
|
|
||||||
\begin{frame}
|
\begin{frame}
|
||||||
\frametitle{CreoleGet}
|
\frametitle{CreoleGet}
|
||||||
\framesubtitle{Récupérer la valeur d’une variable}
|
\framesubtitle{Récupérer la valeur d’une variable}
|
||||||
\begin{itemize}
|
\begin{itemize}
|
||||||
\item \commande{CreoleGet nom\_variable}
|
\item \commande{CreoleGet nom\_variable}
|
||||||
\item \commande{CreoleGet --list}
|
\item \commande{CreoleGet --list}
|
||||||
|
\item on retrouve le nom des variables dans gen\_config en mode debug
|
||||||
\end{itemize}
|
\end{itemize}
|
||||||
\end{frame}
|
\end{frame}
|
||||||
|
|
||||||
@ -44,42 +17,75 @@
|
|||||||
\item \commande{> valeur2"""} ;
|
\item \commande{> valeur2"""} ;
|
||||||
\end{itemize}
|
\end{itemize}
|
||||||
\begin{alertblock}{Manipulation des listes esclaves}
|
\begin{alertblock}{Manipulation des listes esclaves}
|
||||||
\commande{CreoleSet} ne permet pas de changer la longueur de esclave. Une assignation de valeur pour une liste doit respecter la longueur initiale.
|
\commande{CreoleSet} ne permet pas de changer la longueur d’une liste esclave. Une assignation de valeur pour une liste doit respecter la longueur initiale.
|
||||||
\end{alertblock}
|
\end{alertblock}
|
||||||
\end{frame}
|
\end{frame}
|
||||||
|
|
||||||
|
{\setbeamercolor{background canvas}{bg=TravauxPratiques}
|
||||||
|
|
||||||
\begin{frame}
|
\begin{frame}
|
||||||
\frametitle{Dictionnaires Creole}
|
\frametitle{Pratique}
|
||||||
\frametitle{Les paquets}
|
|
||||||
\begin{itemize}
|
\begin{itemize}
|
||||||
\item Les paquets fonctionnent sur le maitre ou dans un conteneur ;
|
\item Récupérer la valeur de la variable adresse\_ip\_eth0
|
||||||
\item permet d'installer les paquets sans passer par les dépendances de paquet.
|
|
||||||
\end{itemize}
|
\end{itemize}
|
||||||
\end{frame}
|
\end{frame}
|
||||||
|
|
||||||
\begin{frame}
|
\begin{frame}
|
||||||
\frametitle{Dictionnaires Creole}
|
\frametitle{Pratique}
|
||||||
\frametitle{Les services}
|
|
||||||
\begin{itemize}
|
\begin{itemize}
|
||||||
\item Services fonctionnent sur le maitre ou dans un conteneur ;
|
\item Modifier la valeur de la variable de vm\_swappiness à 12 ;
|
||||||
\item différentes méthodes : service, upstart (version EOLE inférieur à 2.6) ou apache.
|
\item modifier ubuntu\_update\_mirrors à "eole.ac-dijon.fr inconnu.lan"
|
||||||
|
\end{itemize}
|
||||||
|
\end{frame}
|
||||||
|
}
|
||||||
|
|
||||||
|
\begin{frame}
|
||||||
|
\frametitle{Dictionnaire Creole}
|
||||||
|
\begin{itemize}
|
||||||
|
\item Un dictionnaire est un fichier XML Creole ;
|
||||||
|
\item décrit les variables présentes dans l'interface de configuration ;
|
||||||
|
\item informations utiles pour les services ;
|
||||||
|
\item les dictionnaires locaux sont dans /usr/share/eole/creole/dicos/local/.
|
||||||
\end{itemize}
|
\end{itemize}
|
||||||
\end{frame}
|
\end{frame}
|
||||||
|
|
||||||
|
{\setbeamercolor{background canvas}{bg=TravauxPratiques}
|
||||||
\begin{frame}
|
\begin{frame}
|
||||||
\frametitle{Dictionnaires Creole}
|
\frametitle{Pratique}
|
||||||
\frametitle{Le firewall}
|
\framesubtitle{Gérer le service vnstat}
|
||||||
|
\begin{enumerate}
|
||||||
|
\item Créer le dictionnaire /usr/share/eole/creole/dicos/local/00\_vnstat.xml ;
|
||||||
|
\item ajouter l’entête \mintinline{xml}{<?xml version="1.0" encoding="utf-8"?>} ;
|
||||||
|
\item ajouter une balise \emph{creole} ;
|
||||||
|
% \item ajouter une balise \emph{files} dans la balise \emph{creole} ;
|
||||||
|
% \item ajouter une balise \emph{service} dans la balise \emph{files} ;
|
||||||
|
\end{enumerate}
|
||||||
|
\end{frame}
|
||||||
|
}
|
||||||
|
|
||||||
|
\begin{frame}
|
||||||
|
\frametitle{CreoleLint}
|
||||||
\begin{itemize}
|
\begin{itemize}
|
||||||
\item On commence par ouvrir les accès (service\_access) ;
|
\item Vérifie la syntaxe du dictionnaire : \commande{CreoleLint -d} ;
|
||||||
\item on ajoute ensuite les restrictions (service\_restiction).
|
\item test la génération d'un template suivant contrainte : \commande{CreoleLint -t nom\_du\_template}
|
||||||
\end{itemize}
|
\end{itemize}
|
||||||
\end{frame}
|
\end{frame}
|
||||||
|
|
||||||
|
{\setbeamercolor{background canvas}{bg=TravauxPratiques}
|
||||||
|
\begin{frame}
|
||||||
|
\frametitle{Pratique}
|
||||||
|
\framesubtitle{Tester le dictionnaire}
|
||||||
|
\begin{enumerate}
|
||||||
|
\item Valider avec \commande{CreoleLint -d /usr/share/eole/creole/dicos/local/00\_vnstat.xml}.
|
||||||
|
\end{enumerate}
|
||||||
|
\end{frame}
|
||||||
|
}
|
||||||
|
|
||||||
\begin{frame}
|
\begin{frame}
|
||||||
\frametitle{Dictionnaires Creole}
|
\frametitle{Dictionnaires Creole}
|
||||||
\frametitle{Les familles}
|
\frametitle{Les familles}
|
||||||
\begin{itemize}
|
\begin{itemize}
|
||||||
\item Les variables sont classés dans des familles.
|
\item Les variables sont classées dans des familles.
|
||||||
\end{itemize}
|
\end{itemize}
|
||||||
\end{frame}
|
\end{frame}
|
||||||
|
|
||||||
@ -98,17 +104,168 @@
|
|||||||
\end{itemize}
|
\end{itemize}
|
||||||
\end{frame}
|
\end{frame}
|
||||||
|
|
||||||
|
{\setbeamercolor{background canvas}{bg=TravauxPratiques}
|
||||||
|
\begin{frame}
|
||||||
|
\frametitle{Pratique}
|
||||||
|
\framesubtitle{Ajouter une variable pour activer vnstat}
|
||||||
|
\begin{enumerate}
|
||||||
|
\item Ajouter une balise \emph{variables} dans la balise \emph{creole},
|
||||||
|
\item ajouter une balise \emph{family} dans la balise \emph{variables},
|
||||||
|
\item ajouter une balise \emph{variable} dans la balise \emph{family},
|
||||||
|
\item ajouter de l'aide,
|
||||||
|
\item valider avec \commande{CreoleLint},
|
||||||
|
\item constater les changements dans \commande{gen\_config}.
|
||||||
|
\end{enumerate}
|
||||||
|
\end{frame}
|
||||||
|
|
||||||
|
\begin{frame}[fragile]
|
||||||
|
\frametitle{Correction}
|
||||||
|
\framesubtitle{Ajouter une variable pour activer vnstat}
|
||||||
|
\begin{verbatim}
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<creole>
|
||||||
|
<variables>
|
||||||
|
<family name="services">
|
||||||
|
<variable name="activer_vnstat" type="oui/non"
|
||||||
|
description="Activer la gestion statistique">
|
||||||
|
<value>non</value>
|
||||||
|
</variable>
|
||||||
|
</family>
|
||||||
|
</variables>
|
||||||
|
<help>
|
||||||
|
<variable name="activer_vnstat">Activer vnstat</variable>
|
||||||
|
</help>
|
||||||
|
</creole>
|
||||||
|
\end{verbatim}
|
||||||
|
\end{frame}
|
||||||
|
|
||||||
|
\begin{frame}
|
||||||
|
\frametitle{Pratique}
|
||||||
|
\framesubtitle{Ajouter les variables vnstat}
|
||||||
|
\begin{enumerate}
|
||||||
|
\item ajouter une variable vnstat\_month\_rotate avec le nombre de rotation par mois ;
|
||||||
|
\item ajouter une variable vnstat\_interface pour définir sur quelle interface écouter ;
|
||||||
|
\item valider avec \commande{CreoleLint} ;
|
||||||
|
\item constater les changements dans \commande{gen\_config}.
|
||||||
|
\end{enumerate}
|
||||||
|
\end{frame}
|
||||||
|
|
||||||
|
\begin{frame}[fragile]
|
||||||
|
\frametitle{Correction}
|
||||||
|
\framesubtitle{Ajouter les variables vnstat}
|
||||||
|
\begin{verbatim}
|
||||||
|
<family name="statistique">
|
||||||
|
<variable name="vnstat_month_rotate" type="number"
|
||||||
|
description="Rotation par mois" mode="expert">
|
||||||
|
<value>1</value>
|
||||||
|
</variable>
|
||||||
|
<variable name="vnstat_interface" type="string"
|
||||||
|
description="Interface sur laquelle écoute vnstat"
|
||||||
|
multi="True" mandatory="True"/>
|
||||||
|
</family>
|
||||||
|
\end{verbatim}
|
||||||
|
\end{frame}
|
||||||
|
}
|
||||||
|
|
||||||
|
\begin{frame}
|
||||||
|
\frametitle{Dictionnaires Creole}
|
||||||
|
\frametitle{Les paquets}
|
||||||
|
\begin{itemize}
|
||||||
|
\item Les paquets fonctionnent sur le maitre ou dans un conteneur ;
|
||||||
|
\item permet d'installer les paquets sans passer par les dépendances de paquet.
|
||||||
|
\end{itemize}
|
||||||
|
\end{frame}
|
||||||
|
|
||||||
|
{\setbeamercolor{background canvas}{bg=TravauxPratiques}
|
||||||
|
\begin{frame}
|
||||||
|
\frametitle{Pratique}
|
||||||
|
\framesubtitle{Installer le paquet}
|
||||||
|
\begin{enumerate}
|
||||||
|
\item ajouter l'installation du paquet ;
|
||||||
|
\item valider avec \commande{CreoleLint}.
|
||||||
|
\end{enumerate}
|
||||||
|
\end{frame}
|
||||||
|
|
||||||
|
\begin{frame}[fragile]
|
||||||
|
\frametitle{Correction}
|
||||||
|
\framesubtitle{Installer le paquet}
|
||||||
|
\begin{verbatim}
|
||||||
|
<files>
|
||||||
|
<package>vnstat</package>
|
||||||
|
</files>
|
||||||
|
\end{verbatim}
|
||||||
|
\end{frame}
|
||||||
|
}
|
||||||
|
|
||||||
|
\begin{frame}
|
||||||
|
\frametitle{Dictionnaires Creole}
|
||||||
|
\frametitle{Les services}
|
||||||
|
\begin{itemize}
|
||||||
|
\item Services fonctionnent sur le maitre ou dans un conteneur ;
|
||||||
|
\item différentes méthodes : service ou apache.
|
||||||
|
\end{itemize}
|
||||||
|
\end{frame}
|
||||||
|
|
||||||
|
{\setbeamercolor{background canvas}{bg=TravauxPratiques}
|
||||||
|
\begin{frame}
|
||||||
|
\frametitle{Pratique}
|
||||||
|
\framesubtitle{Gérer le service}
|
||||||
|
\begin{enumerate}
|
||||||
|
\item gérer le service ;
|
||||||
|
\item valider avec \commande{CreoleLint}.
|
||||||
|
\end{enumerate}
|
||||||
|
\end{frame}
|
||||||
|
|
||||||
|
\begin{frame}[fragile]
|
||||||
|
\frametitle{Correction}
|
||||||
|
\framesubtitle{Gérer le service}
|
||||||
|
\begin{verbatim}
|
||||||
|
<files>
|
||||||
|
<service servicelist="vnstat">vnstat</service>
|
||||||
|
</files>
|
||||||
|
\end{verbatim}
|
||||||
|
\end{frame}
|
||||||
|
}
|
||||||
|
|
||||||
\begin{frame}
|
\begin{frame}
|
||||||
\frametitle{Dictionnaires Creole}
|
\frametitle{Dictionnaires Creole}
|
||||||
\frametitle{Les fichiers templates}
|
\frametitle{Les fichiers templates}
|
||||||
\begin{itemize}
|
\begin{itemize}
|
||||||
\item Le nom des fichiers templates sont dans les dictionnaires (file) ;
|
\item Le nom des fichiers templates sont dans les dictionnaires (file) ;
|
||||||
\item le répertoire de destination doit existé par défaut ;
|
\item le répertoire de destination doit exister par défaut ;
|
||||||
\item possibilité de définir les droits sur le fichier ;
|
\item possibilité de définir les droits sur le fichier ;
|
||||||
\item nom de la source peut être différents de la destination.
|
\item nom de la source peut être différents de la destination.
|
||||||
\end{itemize}
|
\end{itemize}
|
||||||
\end{frame}
|
\end{frame}
|
||||||
|
|
||||||
|
{\setbeamercolor{background canvas}{bg=TravauxPratiques}
|
||||||
|
\begin{frame}
|
||||||
|
\frametitle{Pratique}
|
||||||
|
\framesubtitle{Ajouter des contraintes}
|
||||||
|
\begin{enumerate}
|
||||||
|
\item ajouter le template ;
|
||||||
|
\item valider avec \commande{CreoleLint}.
|
||||||
|
\end{enumerate}
|
||||||
|
\end{frame}
|
||||||
|
|
||||||
|
\begin{frame}[fragile]
|
||||||
|
\frametitle{Correction}
|
||||||
|
\framesubtitle{Ajouter des contraintes}
|
||||||
|
\begin{verbatim}
|
||||||
|
<files>
|
||||||
|
<file filelist="vnstat" name="/etc/vnstat.conf"/>
|
||||||
|
</files>
|
||||||
|
\end{verbatim}
|
||||||
|
\end{frame}
|
||||||
|
\begin{frame}
|
||||||
|
\frametitle{Pratique}
|
||||||
|
\framesubtitle{Copier le fichier de configuration}
|
||||||
|
\begin{enumerate}
|
||||||
|
\item Copier le fichier /etc/vnstat.conf dans /usr/share/eole/creole/distrib.
|
||||||
|
\end{enumerate}
|
||||||
|
\end{frame}
|
||||||
|
}
|
||||||
|
|
||||||
\begin{frame}
|
\begin{frame}
|
||||||
\frametitle{Dictionnaires Creole}
|
\frametitle{Dictionnaires Creole}
|
||||||
\frametitle{Les contraintes}
|
\frametitle{Les contraintes}
|
||||||
@ -124,6 +281,46 @@
|
|||||||
\end{itemize}
|
\end{itemize}
|
||||||
\end{frame}
|
\end{frame}
|
||||||
|
|
||||||
|
{\setbeamercolor{background canvas}{bg=TravauxPratiques}
|
||||||
|
\begin{frame}
|
||||||
|
\frametitle{Pratique}
|
||||||
|
\framesubtitle{Ajouter des contraintes}
|
||||||
|
\begin{enumerate}
|
||||||
|
\item la variable vnstat\_month\_rotate ne peut avoir qu'une valeur entre 0 et 4 ;
|
||||||
|
\item désactiver la famille, le service et la génération du template si désactivé ;
|
||||||
|
\item valider avec \commande{CreoleLint},
|
||||||
|
\item constater les changements dans \commande{gen\_config}.
|
||||||
|
\end{enumerate}
|
||||||
|
\end{frame}
|
||||||
|
|
||||||
|
\begin{frame}[fragile]
|
||||||
|
\frametitle{Correction}
|
||||||
|
\framesubtitle{Ajouter une variable pour activer vnstat}
|
||||||
|
\begin{verbatim}
|
||||||
|
<constraints>
|
||||||
|
<check name="valid_enum" target="vnstat_interface">
|
||||||
|
<param>['0', '1', '2', '3', '4']</param>
|
||||||
|
</check>
|
||||||
|
<condition name="disabled_if_in" source="activer_vnstat">
|
||||||
|
<param>non</param>
|
||||||
|
<target type="family">statistique</target>
|
||||||
|
<target type="servicelist">vnstat</target>
|
||||||
|
<target type="filelist">vnstat</target>
|
||||||
|
</condition>
|
||||||
|
</constraints>
|
||||||
|
\end{verbatim}
|
||||||
|
\end{frame}
|
||||||
|
}
|
||||||
|
|
||||||
|
\begin{frame}
|
||||||
|
\frametitle{Dictionnaires Creole}
|
||||||
|
\frametitle{Le firewall}
|
||||||
|
\begin{itemize}
|
||||||
|
\item On commence par ouvrir les accès (service\_access) ;
|
||||||
|
\item on ajoute ensuite les restrictions (service\_restiction).
|
||||||
|
\end{itemize}
|
||||||
|
\end{frame}
|
||||||
|
|
||||||
\begin{frame}
|
\begin{frame}
|
||||||
\frametitle{Dictionnaires Creole}
|
\frametitle{Dictionnaires Creole}
|
||||||
\framesubtitle{Redéfinition de variables}
|
\framesubtitle{Redéfinition de variables}
|
||||||
@ -156,3 +353,26 @@
|
|||||||
\item nom de variable dans une variable : \begin{semiverbatim}\%set \%\%var='adresse\_ip\_eth0' \%\%getVar(\%\%var)\end{semiverbatim}
|
\item nom de variable dans une variable : \begin{semiverbatim}\%set \%\%var='adresse\_ip\_eth0' \%\%getVar(\%\%var)\end{semiverbatim}
|
||||||
\end{itemize}
|
\end{itemize}
|
||||||
\end{frame}
|
\end{frame}
|
||||||
|
|
||||||
|
\begin{frame}
|
||||||
|
\frametitle{CreoleCat}
|
||||||
|
\begin{itemize}
|
||||||
|
\item Templatise un fichier sans faire de reconfigure (objectif de test) ;
|
||||||
|
\item \commande{CreoleCat -t nom\_du\_template}
|
||||||
|
\item \commande{CreoleCat -t nom\_du\_template -o /tmp/template.tmpl}
|
||||||
|
\item \commande{CreoleCat -s /tmp/nom\_du\_template -o /tmp/template.tmpl}
|
||||||
|
\end{itemize}
|
||||||
|
\end{frame}
|
||||||
|
|
||||||
|
{\setbeamercolor{background canvas}{bg=TravauxPratiques}
|
||||||
|
\begin{frame}
|
||||||
|
\frametitle{Pratique}
|
||||||
|
\framesubtitle{Modifier le template}
|
||||||
|
\begin{enumerate}
|
||||||
|
\item utiliser la variable vnstat\_month\_rotate pour configurer MonthRotate ;
|
||||||
|
\item utiliser la variable vnstat\_interface pour configurer Interface ;
|
||||||
|
\item valider avec \commande{CreoleLint} ;
|
||||||
|
\item constater les changements dans \commande{CreoleCat}.
|
||||||
|
\end{enumerate}
|
||||||
|
\end{frame}
|
||||||
|
}
|
||||||
|
@ -62,7 +62,7 @@
|
|||||||
\frametitle{Dictionnaire Creole : les services}
|
\frametitle{Dictionnaire Creole : les services}
|
||||||
\begin{itemize}
|
\begin{itemize}
|
||||||
\item Services fonctionnent sur le maitre ou dans un conteneur ;
|
\item Services fonctionnent sur le maitre ou dans un conteneur ;
|
||||||
\item différentes méthodes : service, upstart (version EOLE inférieur à 2.6) ou apache.
|
\item différentes méthodes : service ou apache.
|
||||||
\end{itemize}
|
\end{itemize}
|
||||||
\end{frame}
|
\end{frame}
|
||||||
|
|
||||||
|
@ -10,6 +10,7 @@
|
|||||||
\end{itemize}
|
\end{itemize}
|
||||||
\end{frame}
|
\end{frame}
|
||||||
|
|
||||||
|
{\setbeamercolor{background canvas}{bg=TravauxPratiques}
|
||||||
\begin{frame}
|
\begin{frame}
|
||||||
\frametitle{Pratique}
|
\frametitle{Pratique}
|
||||||
\begin{itemize}
|
\begin{itemize}
|
||||||
@ -18,6 +19,7 @@
|
|||||||
\item envoyer la configuration.
|
\item envoyer la configuration.
|
||||||
\end{itemize}
|
\end{itemize}
|
||||||
\end{frame}
|
\end{frame}
|
||||||
|
}
|
||||||
|
|
||||||
\begin{frame}
|
\begin{frame}
|
||||||
\frametitle{Variante}
|
\frametitle{Variante}
|
||||||
@ -31,6 +33,7 @@
|
|||||||
\end{itemize}
|
\end{itemize}
|
||||||
\end{frame}
|
\end{frame}
|
||||||
|
|
||||||
|
{\setbeamercolor{background canvas}{bg=TravauxPratiques}
|
||||||
\begin{frame}
|
\begin{frame}
|
||||||
\frametitle{Pratique}
|
\frametitle{Pratique}
|
||||||
\begin{itemize}
|
\begin{itemize}
|
||||||
@ -39,6 +42,7 @@
|
|||||||
\item ajouter les dictionnaires et le template dans la variante (ce n'est plus automatique) ;
|
\item ajouter les dictionnaires et le template dans la variante (ce n'est plus automatique) ;
|
||||||
\end{itemize}
|
\end{itemize}
|
||||||
\end{frame}
|
\end{frame}
|
||||||
|
}
|
||||||
|
|
||||||
\begin{frame}
|
\begin{frame}
|
||||||
\frametitle{Variante : valeur par défaut}
|
\frametitle{Variante : valeur par défaut}
|
||||||
@ -49,6 +53,7 @@
|
|||||||
\end{itemize}
|
\end{itemize}
|
||||||
\end{frame}
|
\end{frame}
|
||||||
|
|
||||||
|
{\setbeamercolor{background canvas}{bg=TravauxPratiques}
|
||||||
\begin{frame}
|
\begin{frame}
|
||||||
\frametitle{Pratique}
|
\frametitle{Pratique}
|
||||||
\begin{itemize}
|
\begin{itemize}
|
||||||
@ -56,3 +61,4 @@
|
|||||||
\item dans la page d'état du serveur "regénérer" la configuration est valider les options par défaut (ne pas enregistrer cette configuration).
|
\item dans la page d'état du serveur "regénérer" la configuration est valider les options par défaut (ne pas enregistrer cette configuration).
|
||||||
\end{itemize}
|
\end{itemize}
|
||||||
\end{frame}
|
\end{frame}
|
||||||
|
}
|
||||||
|
@ -11,9 +11,11 @@
|
|||||||
\end{itemize}
|
\end{itemize}
|
||||||
\end{frame}
|
\end{frame}
|
||||||
|
|
||||||
|
{\setbeamercolor{background canvas}{bg=TravauxPratiques}
|
||||||
\begin{frame}
|
\begin{frame}
|
||||||
\frametitle{Pratique}
|
\frametitle{Pratique}
|
||||||
\begin{itemize}
|
\begin{itemize}
|
||||||
\item Créer un script personnalisé permettant un supprimer un fichier dont le nom est en paramètre.
|
\item Créer un script personnalisé permettant un supprimer un fichier dont le nom est en paramètre.
|
||||||
\end{itemize}
|
\end{itemize}
|
||||||
\end{frame}
|
\end{frame}
|
||||||
|
}
|
||||||
|
@ -10,6 +10,7 @@
|
|||||||
%\usepackage{colortbtl}
|
%\usepackage{colortbtl}
|
||||||
\usepackage{graphicx}
|
\usepackage{graphicx}
|
||||||
\usepackage{verbatim} % Pour l'insertion de fichier en mode verbatim
|
\usepackage{verbatim} % Pour l'insertion de fichier en mode verbatim
|
||||||
|
\usepackage{minted}
|
||||||
\usepackage{ucs}
|
\usepackage{ucs}
|
||||||
\usepackage{tabto}
|
\usepackage{tabto}
|
||||||
\usepackage{tikz}
|
\usepackage{tikz}
|
||||||
@ -31,6 +32,7 @@
|
|||||||
\definecolor{UniBlue}{RGB}{83,121,180}
|
\definecolor{UniBlue}{RGB}{83,121,180}
|
||||||
\definecolor{CleanWhite}{RGB}{255,255,255}
|
\definecolor{CleanWhite}{RGB}{255,255,255}
|
||||||
\definecolor{TravauxPratiques}{RGB}{230,230,230}
|
\definecolor{TravauxPratiques}{RGB}{230,230,230}
|
||||||
|
\definecolor{Corrige}{RGB}{255,239,0}
|
||||||
\definecolor{Repos}{RGB}{0,0,0}
|
\definecolor{Repos}{RGB}{0,0,0}
|
||||||
\setbeamercolor{title}{fg=UniBlue}
|
\setbeamercolor{title}{fg=UniBlue}
|
||||||
\setbeamercolor{frametitle}{fg=UniBlue}
|
\setbeamercolor{frametitle}{fg=UniBlue}
|
||||||
|
2
templates/fragment-corrige.tex
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
\skbheading{(((title|escape_tex)))}
|
||||||
|
fichier (((name|escape_tex))) à éditer
|
7
templates/frame-corrige.tex
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
{\setbeamercolor{background canvas}{bg=Corrige}
|
||||||
|
\begin{frame}
|
||||||
|
\frametitle{(((title|escape_tex)))}
|
||||||
|
fichier (((name|escape_tex))) à éditer
|
||||||
|
% contenu (pas trop long) de la diapositive
|
||||||
|
\end{frame}
|
||||||
|
}
|
@ -20,7 +20,11 @@
|
|||||||
\skbinput[from=(((content)))]{style/preambule}
|
\skbinput[from=(((content)))]{style/preambule}
|
||||||
|
|
||||||
\newlength{\logospacing}
|
\newlength{\logospacing}
|
||||||
|
((* if intitutes|length > 1 *))
|
||||||
\setlength{\logospacing}{(\textwidth - 2cm*(((logos_count))))/(((logos_count - 1)))}
|
\setlength{\logospacing}{(\textwidth - 2cm*(((logos_count))))/(((logos_count - 1)))}
|
||||||
|
((* else *))
|
||||||
|
\setlength{\logospacing}{0 cm}
|
||||||
|
((* endif *))
|
||||||
|
|
||||||
\logo{
|
\logo{
|
||||||
((* for institute in institutes *))
|
((* for institute in institutes *))
|
||||||
@ -40,14 +44,6 @@
|
|||||||
|
|
||||||
\subject{Talks}
|
\subject{Talks}
|
||||||
|
|
||||||
\AtBeginSubsection[]
|
|
||||||
{
|
|
||||||
\begin{frame}<beamer>
|
|
||||||
\frametitle{}
|
|
||||||
\tableofcontents[currentsection,currentsubsection]
|
|
||||||
\end{frame}
|
|
||||||
}
|
|
||||||
|
|
||||||
\begin{document}
|
\begin{document}
|
||||||
|
|
||||||
\skbinput[from=(((content)))]{style/title}
|
\skbinput[from=(((content)))]{style/title}
|
||||||
|
@ -1,44 +0,0 @@
|
|||||||
%\usertheme{Madrid}
|
|
||||||
\setbeamercovered{transparent}
|
|
||||||
\setcounter{tocdepth}{2}
|
|
||||||
\usepackage[french]{babel}
|
|
||||||
%\usepackage[utf8,utf8x]{inputenc}
|
|
||||||
\usepackage[T1]{fontenc}
|
|
||||||
\usepackage{xunicode} %Unicode extras!
|
|
||||||
\usepackage{xltxtra} %Fixes
|
|
||||||
\setmainfont{CaviarDreams}
|
|
||||||
\usepackage{multicol}
|
|
||||||
%\usepackage{colortbtl}
|
|
||||||
\usepackage{graphicx}
|
|
||||||
\usepackage{verbatim} % Pour l'insertion de fichier en mode verbatim
|
|
||||||
\usepackage{ucs}
|
|
||||||
\usepackage{tabto}
|
|
||||||
\usepackage{xcolor}
|
|
||||||
\usepackage{hyperref}
|
|
||||||
\usepackage{hyperxmp}
|
|
||||||
\hypersetup{%
|
|
||||||
colorlinks=true,linkcolor=blue,urlcolor=blue,pdfpagemode=UseNone,
|
|
||||||
pdftitle={(((title)))},
|
|
||||||
pdfkeywords={},
|
|
||||||
pdfauthor={(((author)))},
|
|
||||||
pdflang={fr-FR},
|
|
||||||
pdfcopyright={Copyright © 2011-2014 Cadoles}, % Nécessite XeTeX
|
|
||||||
pdflicenseurl={http://creativecommons.org/licenses/by-nc-sa/2.0/fr/},
|
|
||||||
}
|
|
||||||
%\usecolortheme{crane}
|
|
||||||
\definecolor{UniBlue}{RGB}{83,121,180}
|
|
||||||
\definecolor{CleanWhite}{RGB}{255,255,255}
|
|
||||||
\setbeamercolor{title}{fg=UniBlue}
|
|
||||||
\setbeamercolor{frametitle}{fg=CleanWhite}
|
|
||||||
\setbeamercolor{structure}{fg=UniBlue}
|
|
||||||
\newcommand{\eolesmall}{
|
|
||||||
\begin{minipage}[c]{0.10\textwidth}
|
|
||||||
\includegraphics[width=1cm]{beamer-skel/img/logo-eole.png}
|
|
||||||
\end{minipage}
|
|
||||||
}
|
|
||||||
\newcommand{\eolebig}{\includegraphics[width=2cm]{beamer-skel/img/logo-eole.png}}
|
|
||||||
\newcommand{\eolefull}{\includegraphics{beamer-skel/img/logo-eole.png}}
|
|
||||||
%\setmonofont[Scale=0.86]{Andale Mono}
|
|
||||||
%\usepackage{colortab}
|
|
||||||
|
|
||||||
\setbeamertemplate{background}{\includegraphics[width=128mm]{beamer-skel/img/banner01.png}}
|
|
@ -42,15 +42,14 @@
|
|||||||
\input{./programme/objectifs.tex}
|
\input{./programme/objectifs.tex}
|
||||||
\section{Durée de la formation}
|
\section{Durée de la formation}
|
||||||
\input{./programme/duree.tex}
|
\input{./programme/duree.tex}
|
||||||
|
\IfFileExists{./programme/moyens.tex}{%
|
||||||
|
\section{Moyens pédagogiques, techniques et d'encadrement}
|
||||||
|
\input{./programme/moyens.tex}
|
||||||
|
}{}
|
||||||
\section{Évaluation des acquis}
|
\section{Évaluation des acquis}
|
||||||
\input{./programme/evaluation.tex}
|
\input{./programme/evaluation.tex}
|
||||||
\newpage
|
\newpage
|
||||||
\section{Contenu de la formation}
|
\section{Contenu de la formation}
|
||||||
\input{./programme/contenu.tex}
|
\input{./programme/contenu.tex}
|
||||||
\IfFileExists{./programme/moyens.tex}{%
|
|
||||||
\section{Moyens pédagogiques, techniques et d'encadrement}
|
|
||||||
\input{./programme/moyens.tex}
|
|
||||||
\section{Évaluation des acquis}
|
|
||||||
}{}
|
|
||||||
\end{document}
|
\end{document}
|
||||||
|
|
||||||
|