Compare commits
63 Commits
eb6ee9c947
...
xelatex/mo
Author | SHA1 | Date | |
---|---|---|---|
97066f3a24 | |||
93a7f8cc0b | |||
4689047656 | |||
45eb92fce7 | |||
84e32ce756 | |||
8a5a1bb335 | |||
3b22741753 | |||
6c47a9f458 | |||
be62280654 | |||
847e305454 | |||
85b822a203 | |||
c21ef4dee6 | |||
75de93dac7 | |||
bd432c45a0 | |||
da37b7c308 | |||
c38063dded | |||
6d4e62fc97 | |||
0685edd3f4 | |||
cd7bf15562 | |||
a8873188c1 | |||
b422152614 | |||
a5955a7789 | |||
6eb5d88d53 | |||
e19526eabc | |||
48090f19b2 | |||
60e1c0d1c7 | |||
17e648bb8e | |||
840b914e42 | |||
fcdac6c12c | |||
b2f942cd43 | |||
68a3d73368 | |||
e769a88532 | |||
966de3c5ec | |||
744a0f2575 | |||
ea89dd2971 | |||
7ec35b0b14 | |||
0abe05a3e9 | |||
771b5e868b | |||
89da104103 | |||
2a25eea872 | |||
2b031286e7 | |||
9b9cbf2aae | |||
2d620e845d | |||
0f63031575 | |||
14cbf47527 | |||
983a8f3cf6 | |||
7edb5ee916 | |||
30a6389514 | |||
7e0d5c15e5 | |||
619b74c815 | |||
231394b1cd | |||
70ad496b06 | |||
b6a5963a3e | |||
99c62ebfce | |||
d01c139026 | |||
6345c3d081 | |||
d509550f69 | |||
3c860a893b | |||
8ad3dbba85 | |||
72d42ec54c | |||
3563d18c0c | |||
3d9fb7b622 | |||
95277a2891 |
2
.gitignore
vendored
@ -14,3 +14,5 @@
|
||||
build-messages-*.txt
|
||||
plans_de_formation.tar.gz
|
||||
.~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_.
|
||||
|
||||
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
|
||||
|
||||
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 de contenu à inclure si nécessaire
|
||||
- la mise à jour du plan de formation en fonction des éléments inclus.
|
||||
- la création des fichiers maîtres pour une formation ;
|
||||
- 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 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.
|
||||
|
||||
@ -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.
|
||||
|
||||
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
|
||||
|
||||
@ -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.
|
||||
```
|
||||
./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.
|
||||
|
||||
```
|
||||
$ ./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
|
||||
```
|
||||
|
||||
@ -179,7 +180,11 @@ Ce fichier contient du texte permettant de le repérer facilement dans le docume
|
||||
|
||||
### 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
|
||||
EOLE
|
||||
@ -228,7 +233,39 @@ Les quatre phases
|
||||
|
||||
### 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
|
||||
```
|
||||
|
||||
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.
|
||||
|
@ -0,0 +1,7 @@
|
||||
\skbheading{Explorer la structure d’un dictionnaire Creole}
|
||||
|
||||
Un dictionnaire Creole est une description de la configuration à l’aide du format de fichier \emph{xml}.
|
||||
|
||||
fichier content/modules\_EOLE\_envole/exercices/creole-dictionnaire-structure.tex à éditer
|
||||
|
||||
\inputminted[]{xml}{./content/modules_EOLE_envole/exercices/creole.dtd}
|
237
content/modules_EOLE_envole/exercices/creole.dtd
Normal file
@ -0,0 +1,237 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
|
||||
<!-- ===================================================================== -->
|
||||
|
||||
<!-- Definition de la DTD du fichier creole -->
|
||||
|
||||
<!-- ===================================================================== -->
|
||||
|
||||
<!--
|
||||
# Conception :
|
||||
# Eole (http://eole.orion.education.fr)
|
||||
|
||||
# Copyright (C) 2005-2018
|
||||
|
||||
# distribue sous la licence GPL-2
|
||||
|
||||
# En attendant une traduction officielle de la GPL, la notice de
|
||||
# copyright demeure en anglais.
|
||||
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2 of the License, or
|
||||
# (at your option) any later version.
|
||||
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
|
||||
# Se reporter a la documentation envoyee avec le programme pour la notice.
|
||||
|
||||
-->
|
||||
<!--================ -->
|
||||
<!-- root element -->
|
||||
<!-- =============== -->
|
||||
|
||||
<!ELEMENT creole (containers | files | family_action | variables | constraints | help)*>
|
||||
|
||||
<!-- ============== -->
|
||||
<!-- files element -->
|
||||
<!-- ============== -->
|
||||
|
||||
<!ELEMENT family_action (action)>
|
||||
<!ATTLIST family_action name CDATA #REQUIRED>
|
||||
<!ATTLIST family_action description CDATA #IMPLIED>
|
||||
<!ATTLIST family_action color CDATA #IMPLIED>
|
||||
<!ATTLIST family_action image CDATA #IMPLIED>
|
||||
<!ELEMENT action ((input* | profile* | ewtapp* | tag* | saltaction*)*)>
|
||||
<!ATTLIST action type (form|custom|external|reader|apache) "custom">
|
||||
<!ATTLIST action title CDATA #REQUIRED>
|
||||
<!ATTLIST action description CDATA #REQUIRED>
|
||||
<!ATTLIST action rewrite CDATA #IMPLIED>
|
||||
<!ATTLIST action image CDATA #IMPLIED>
|
||||
<!ATTLIST action actionlist CDATA #IMPLIED>
|
||||
<!-- for apache action -->
|
||||
<!ATTLIST action apache_path CDATA #IMPLIED>
|
||||
<!ATTLIST action apache_path_type (FilenameOption|SymLinkOption) "FilenameOption">
|
||||
<!-- for external action -->
|
||||
<!ATTLIST action url CDATA #IMPLIED>
|
||||
<!ATTLIST action url_type (URLOption|SymLinkOption) "URLOption">
|
||||
<!-- for form action -->
|
||||
<!ATTLIST action save (True|False) "False">
|
||||
<!ELEMENT files ((service* | service_access* | service_restriction* | package* | file*)*)>
|
||||
|
||||
<!ELEMENT containers ((container* | all*)*)>
|
||||
|
||||
<!ELEMENT container ((service* | service_access* | service_restriction* | interface* | package* | file* | disknod* | host* | fstab*)*) >
|
||||
<!ATTLIST container name CDATA #REQUIRED >
|
||||
<!ATTLIST container id CDATA #IMPLIED >
|
||||
<!ATTLIST container group CDATA #IMPLIED >
|
||||
|
||||
<!ELEMENT all ((service* | interface* | package* | file* | disknod* | host* | fstab*)*) >
|
||||
|
||||
<!ELEMENT service (#PCDATA)>
|
||||
<!ATTLIST service servicelist CDATA #IMPLIED >
|
||||
<!ATTLIST service instance_mode (when_container|when_no_container|always) "always">
|
||||
<!ATTLIST service method (systemd|upstart|apache|network|restartonly) "systemd">
|
||||
<!ATTLIST service redefine (True|False) "False">
|
||||
|
||||
<!ELEMENT input (#PCDATA)>
|
||||
<!ELEMENT profile (#PCDATA)>
|
||||
<!ELEMENT ewtapp (#PCDATA)>
|
||||
<!ELEMENT tag (#PCDATA)>
|
||||
<!ELEMENT saltaction (#PCDATA)>
|
||||
|
||||
<!ELEMENT service_access ((port | tcpwrapper)*)>
|
||||
<!ATTLIST service_access service CDATA #REQUIRED >
|
||||
|
||||
<!ELEMENT port (#PCDATA)> <!--port_type-->
|
||||
<!ATTLIST port port_type (PortOption|SymLinkOption) "PortOption">
|
||||
<!ATTLIST port service_accesslist CDATA #IMPLIED >
|
||||
<!ATTLIST port protocol (tcp|udp) "tcp">
|
||||
|
||||
<!ELEMENT tcpwrapper (#PCDATA)> <!--tcpwrapper_type-->
|
||||
<!ATTLIST tcpwrapper tcpwrapper_type (UnicodeOption|SymLinkOption) "UnicodeOption">
|
||||
<!ATTLIST tcpwrapper service_accesslist CDATA #IMPLIED >
|
||||
|
||||
<!ELEMENT service_restriction (ip*)>
|
||||
<!ATTLIST service_restriction service CDATA #REQUIRED >
|
||||
|
||||
<!ELEMENT ip (#PCDATA)> <!--ip_type-->
|
||||
<!ATTLIST ip service_restrictionlist CDATA #IMPLIED >
|
||||
<!ATTLIST ip ip_type (NetworkOption|SymLinkOption) "NetworkOption">
|
||||
<!ATTLIST ip interface_type (UnicodeOption|SymLinkOption) "UnicodeOption">
|
||||
<!ATTLIST ip interface CDATA #REQUIRED> <!--interface_type-->
|
||||
<!ATTLIST ip netmask_type (NetmaskOption|SymLinkOption) "NetmaskOption">
|
||||
<!ATTLIST ip netmask CDATA "255.255.255.255"> <!--netmask_type-->
|
||||
|
||||
<!ELEMENT interface (#PCDATA)>
|
||||
<!ATTLIST interface interfacelist CDATA #IMPLIED >
|
||||
<!ATTLIST interface linkto CDATA #REQUIRED >
|
||||
<!ATTLIST interface ip CDATA #REQUIRED> <!--SymLinkOption-->
|
||||
<!ATTLIST interface ip_type (SymLinkOption) "SymLinkOption">
|
||||
<!ATTLIST interface mask CDATA #REQUIRED> <!--SymLinkOption-->
|
||||
<!ATTLIST interface mask_type (SymLinkOption) "SymLinkOption">
|
||||
<!ATTLIST interface bcast CDATA #IMPLIED> <!--SymLinkOption-->
|
||||
<!ATTLIST interface bcast_type (SymLinkOption) "SymLinkOption">
|
||||
<!ATTLIST interface gateway CDATA #IMPLIED> <!--SymLinkOption-->
|
||||
<!ATTLIST interface gateway_type (SymLinkOption) "SymLinkOption">
|
||||
<!ATTLIST interface method (bridge|macvlan) "macvlan" >
|
||||
<!ATTLIST interface redefine (True|False) "False">
|
||||
|
||||
<!ELEMENT host EMPTY >
|
||||
<!ATTLIST host hostlist CDATA #IMPLIED >
|
||||
<!ATTLIST host name CDATA #REQUIRED > <!--SymLinkOption-->
|
||||
<!ATTLIST host name_type (SymLinkOption) "SymLinkOption">
|
||||
<!ATTLIST host ip CDATA #REQUIRED > <!--SymLinkOption-->
|
||||
<!ATTLIST host ip_type (SymLinkOption) "SymLinkOption">
|
||||
<!ATTLIST host crossed (True|False) "True" >
|
||||
<!ATTLIST host instance_mode (when_container|when_no_container|always) "always">
|
||||
<!ATTLIST host comment CDATA #IMPLIED >
|
||||
|
||||
<!ELEMENT fstab EMPTY >
|
||||
<!ATTLIST fstab name CDATA #REQUIRED> <!--name_type-->
|
||||
<!ATTLIST fstab name_type (FilenameOption|SymLinkOption) "FilenameOption">
|
||||
<!ATTLIST fstab type (bind|normal) "bind">
|
||||
<!ATTLIST fstab fstype (auto|ext3|ext4|nfs|smb) "auto">
|
||||
<!ATTLIST fstab mount_point CDATA #IMPLIED> <!--mount_point_type-->
|
||||
<!ATTLIST fstab mount_point_type (FilenameOption|SymLinkOption) "FilenameOption">
|
||||
<!ATTLIST fstab options CDATA #IMPLIED>
|
||||
<!ATTLIST fstab checks CDATA #IMPLIED>
|
||||
<!ATTLIST fstab fstablist CDATA #IMPLIED>
|
||||
<!ATTLIST fstab instance_mode (when_container|when_no_container|always) "when_container">
|
||||
|
||||
<!ELEMENT package (#PCDATA)>
|
||||
<!ATTLIST package instance_mode (when_container|when_no_container|always) "always">
|
||||
|
||||
<!ELEMENT disknod (#PCDATA)>
|
||||
|
||||
<!ELEMENT file EMPTY>
|
||||
<!ATTLIST file name CDATA #REQUIRED >
|
||||
<!ATTLIST file name_type (UnicodeOption|SymLinkOption) "UnicodeOption">
|
||||
<!ATTLIST file source CDATA #IMPLIED>
|
||||
<!ATTLIST file mode CDATA #IMPLIED >
|
||||
<!ATTLIST file owner CDATA #IMPLIED >
|
||||
<!ATTLIST file group CDATA #IMPLIED >
|
||||
<!ATTLIST file filelist CDATA #IMPLIED >
|
||||
<!ATTLIST file mkdir (True|False) "False">
|
||||
<!ATTLIST file instance_mode (when_container|when_no_container|always) "always">
|
||||
<!ATTLIST file rm (True|False) "False">
|
||||
<!ATTLIST file del_comment CDATA #IMPLIED >
|
||||
<!ATTLIST file redefine (True|False) "False">
|
||||
|
||||
<!ELEMENT variables (family*, separators*)>
|
||||
<!ELEMENT family (#PCDATA | variable)*>
|
||||
<!ATTLIST family name CDATA #REQUIRED>
|
||||
<!ATTLIST family description CDATA #IMPLIED>
|
||||
<!ATTLIST family mode (basic|normal|expert) "basic">
|
||||
<!ATTLIST family icon CDATA #IMPLIED>
|
||||
<!ATTLIST family hidden (True|False) "False">
|
||||
<!ATTLIST family dynamic CDATA #IMPLIED>
|
||||
|
||||
<!ELEMENT variable (#PCDATA | value)*>
|
||||
<!ATTLIST variable name CDATA #REQUIRED>
|
||||
<!ATTLIST variable type CDATA #IMPLIED>
|
||||
<!ATTLIST variable description CDATA #IMPLIED>
|
||||
<!ATTLIST variable hidden (True|False) "False">
|
||||
<!ATTLIST variable disabled (True|False) "False">
|
||||
<!ATTLIST variable multi (True|False) "False">
|
||||
<!ATTLIST variable redefine (True|False) "False">
|
||||
<!ATTLIST variable exists (True|False) "True">
|
||||
<!ATTLIST variable mandatory (True|False) "False">
|
||||
<!ATTLIST variable auto_freeze (True|False) "False">
|
||||
<!ATTLIST variable auto_save (True|False) "False">
|
||||
<!ATTLIST variable mode (basic|normal|expert) "normal">
|
||||
<!ATTLIST variable remove_check (True|False) "False">
|
||||
<!ATTLIST variable remove_condition (True|False) "False">
|
||||
|
||||
<!ELEMENT separators (separator*)>
|
||||
|
||||
<!ELEMENT separator (#PCDATA)>
|
||||
<!ATTLIST separator name CDATA #REQUIRED>
|
||||
<!ATTLIST separator never_hidden CDATA #IMPLIED>
|
||||
|
||||
<!ELEMENT value (#PCDATA)>
|
||||
|
||||
<!ELEMENT constraints ((fill* | check* | condition* | auto* | group*)*)>
|
||||
<!ELEMENT fill (param*)>
|
||||
<!ATTLIST fill name CDATA #REQUIRED>
|
||||
<!ATTLIST fill target CDATA #REQUIRED>
|
||||
|
||||
<!ELEMENT check (param*)>
|
||||
<!ATTLIST check name CDATA #REQUIRED>
|
||||
<!ATTLIST check target CDATA #REQUIRED>
|
||||
<!ATTLIST check level (error|warning) "error">
|
||||
|
||||
<!ELEMENT auto ((param)*)>
|
||||
<!ATTLIST auto name CDATA #REQUIRED>
|
||||
<!ATTLIST auto target CDATA #REQUIRED>
|
||||
|
||||
<!ELEMENT condition ((target | param)+ )>
|
||||
<!ATTLIST condition name CDATA #REQUIRED>
|
||||
<!ATTLIST condition source CDATA #REQUIRED>
|
||||
<!ATTLIST condition fallback (True|False) "False">
|
||||
|
||||
<!ELEMENT group (slave+)>
|
||||
<!ATTLIST group master CDATA #REQUIRED>
|
||||
<!ATTLIST group description CDATA #IMPLIED>
|
||||
|
||||
<!ELEMENT param (#PCDATA)>
|
||||
<!ATTLIST param type (string|eole|number|container|context|python) "string">
|
||||
<!ATTLIST param name CDATA #IMPLIED>
|
||||
<!ATTLIST param hidden (True|False) "True">
|
||||
<!ATTLIST param optional (True|False) "False">
|
||||
|
||||
<!ELEMENT target (#PCDATA)>
|
||||
<!ATTLIST target type (family|filelist|servicelist|interfacelist|variable|service_accesslist|service_restrictionlist|hostlist|fstablist|actionlist) "variable">
|
||||
<!ATTLIST target optional (True|False) "False">
|
||||
|
||||
<!ELEMENT slave (#PCDATA)>
|
||||
|
||||
<!ELEMENT help ((variable* | family*)*)>
|
||||
|
@ -0,0 +1,2 @@
|
||||
\skbheading{vnstat-activation.tex}
|
||||
fichier content/modules\_EOLE\_envole/exercices/vnstat-activation.tex à éditer
|
@ -0,0 +1,2 @@
|
||||
\skbheading{vnstat-contrainte.tex}
|
||||
fichier content/modules\_EOLE\_envole/exercices/vnstat-contrainte.tex à éditer
|
@ -0,0 +1,2 @@
|
||||
\skbheading{vnstat-documentation.tex}
|
||||
fichier content/modules\_EOLE\_envole/exercices/vnstat-documentation.tex à éditer
|
@ -0,0 +1,2 @@
|
||||
\skbheading{vnstat-gestion-reseau.tex}
|
||||
fichier content/modules\_EOLE\_envole/exercices/vnstat-gestion-reseau.tex à éditer
|
@ -0,0 +1,2 @@
|
||||
\skbheading{vnstat-gestion-service.tex}
|
||||
fichier content/modules\_EOLE\_envole/exercices/vnstat-gestion-service.tex à éditer
|
@ -0,0 +1,2 @@
|
||||
\skbheading{vnstat-template.tex}
|
||||
fichier content/modules\_EOLE\_envole/exercices/vnstat-template.tex à éditer
|
16
content/modules_eole_envole/ressources/vnstat/90-vnstat
Executable file
@ -0,0 +1,16 @@
|
||||
#!/bin/bash
|
||||
|
||||
#set -e
|
||||
. /usr/lib/eole/diagnose.sh
|
||||
EchoGras "*** Service de statistique réseau"
|
||||
|
||||
if [ "$(CreoleGet activer_vnstat)" = "oui" ]; then
|
||||
TestPid vnStat vnstatd
|
||||
echo
|
||||
vnstat
|
||||
else
|
||||
Inactif vnStat
|
||||
fi
|
||||
|
||||
echo
|
||||
exit 0
|
170
content/modules_eole_envole/ressources/vnstat/vnstat.conf
Normal file
@ -0,0 +1,170 @@
|
||||
# vnStat 1.18 config file
|
||||
##
|
||||
|
||||
# default interface
|
||||
%set %%interfaces = []
|
||||
%for interface in %%vnstat_interface
|
||||
%set %%zone = 'nom_zone_eth' + interface
|
||||
%silent %%interfaces.append(%%getVar(%%zone))
|
||||
%end for
|
||||
Interface "%%custom_join(%%interfaces,'+']"
|
||||
|
||||
# location of the database directory
|
||||
DatabaseDir "/var/lib/vnstat"
|
||||
|
||||
# locale (LC_ALL) ("-" = use system locale)
|
||||
Locale "-"
|
||||
|
||||
# on which day should months change
|
||||
MonthRotate 1
|
||||
|
||||
# date output formats for -d, -m, -t and -w
|
||||
# see 'man date' for control codes
|
||||
DayFormat "%x"
|
||||
MonthFormat "%b '%y"
|
||||
TopFormat "%x"
|
||||
|
||||
# characters used for visuals
|
||||
RXCharacter "%"
|
||||
TXCharacter ":"
|
||||
RXHourCharacter "r"
|
||||
TXHourCharacter "t"
|
||||
|
||||
# how units are prefixed when traffic is shown
|
||||
# 0 = IEC standard prefixes (KiB/MiB/GiB/TiB)
|
||||
# 1 = old style binary prefixes (KB/MB/GB/TB)
|
||||
UnitMode 0
|
||||
|
||||
# how units are prefixed when traffic rate is shown
|
||||
# 0 = IEC binary prefixes (Kibit/s...)
|
||||
# 1 = SI decimal prefixes (kbit/s...)
|
||||
RateUnitMode 1
|
||||
|
||||
# output style
|
||||
# 0 = minimal & narrow, 1 = bar column visible
|
||||
# 2 = same as 1 except rate in summary and weekly
|
||||
# 3 = rate column visible
|
||||
OutputStyle 3
|
||||
|
||||
# used rate unit (0 = bytes, 1 = bits)
|
||||
RateUnit 1
|
||||
|
||||
# number of decimals to use in outputs
|
||||
DefaultDecimals 2
|
||||
HourlyDecimals 1
|
||||
|
||||
# spacer for separating hourly sections (0 = none, 1 = '|', 2 = '][', 3 = '[ ]')
|
||||
HourlySectionStyle 2
|
||||
|
||||
# try to detect interface maximum bandwidth, 0 = disable feature
|
||||
# MaxBandwidth will be used as fallback value when enabled
|
||||
BandwidthDetection 1
|
||||
|
||||
# maximum bandwidth (Mbit) for all interfaces, 0 = disable feature
|
||||
# (unless interface specific limit is given)
|
||||
MaxBandwidth 1000
|
||||
|
||||
# interface specific limits
|
||||
# example 8Mbit limit for eth0 (remove # to activate):
|
||||
#MaxBWeth0 8
|
||||
|
||||
# how many seconds should sampling for -tr take by default
|
||||
Sampletime 5
|
||||
|
||||
# default query mode
|
||||
# 0 = normal, 1 = days, 2 = months, 3 = top10
|
||||
# 4 = exportdb, 5 = short, 6 = weeks, 7 = hours
|
||||
QueryMode 0
|
||||
|
||||
# filesystem disk space check (1 = enabled, 0 = disabled)
|
||||
CheckDiskSpace 1
|
||||
|
||||
# database file locking (1 = enabled, 0 = disabled)
|
||||
UseFileLocking 1
|
||||
|
||||
# how much the boot time can variate between updates (seconds)
|
||||
BootVariation 15
|
||||
|
||||
# log days without traffic to daily list (1 = enabled, 0 = disabled)
|
||||
TrafficlessDays 1
|
||||
|
||||
|
||||
# vnstatd
|
||||
##
|
||||
|
||||
# switch to given user when started as root (leave empty to disable)
|
||||
DaemonUser "%%vnstat_user"
|
||||
|
||||
# switch to given user when started as root (leave empty to disable)
|
||||
DaemonGroup "%%vnstat_group"
|
||||
|
||||
# how many minutes to wait during daemon startup for system clock to
|
||||
# sync time if most recent database update appears to be in the future
|
||||
TimeSyncWait 5
|
||||
|
||||
# how often (in seconds) interface data is updated
|
||||
UpdateInterval 30
|
||||
|
||||
# how often (in seconds) interface status changes are checked
|
||||
PollInterval 5
|
||||
|
||||
# how often (in minutes) data is saved to file
|
||||
SaveInterval 5
|
||||
|
||||
# how often (in minutes) data is saved when all interface are offline
|
||||
OfflineSaveInterval 30
|
||||
|
||||
# how often (in minutes) bandwidth detection is redone when
|
||||
# BandwidthDetection is enabled (0 = disabled)
|
||||
BandwidthDetectionInterval 5
|
||||
|
||||
# force data save when interface status changes (1 = enabled, 0 = disabled)
|
||||
SaveOnStatusChange 1
|
||||
|
||||
# enable / disable logging (0 = disabled, 1 = logfile, 2 = syslog)
|
||||
UseLogging 2
|
||||
|
||||
# create dirs if needed (1 = enabled, 0 = disabled)
|
||||
CreateDirs 1
|
||||
|
||||
# update ownership of files if needed (1 = enabled, 0 = disabled)
|
||||
UpdateFileOwner 1
|
||||
|
||||
# file used for logging if UseLogging is set to 1
|
||||
LogFile "/var/log/vnstat/vnstat.log"
|
||||
|
||||
# file used as daemon pid / lock file
|
||||
PidFile "/var/run/vnstat/vnstat.pid"
|
||||
|
||||
|
||||
# vnstati
|
||||
##
|
||||
|
||||
# title timestamp format
|
||||
HeaderFormat "%x %H:%M"
|
||||
|
||||
# show hours with rate (1 = enabled, 0 = disabled)
|
||||
HourlyRate 1
|
||||
|
||||
# show rate in summary (1 = enabled, 0 = disabled)
|
||||
SummaryRate 1
|
||||
|
||||
# layout of summary (1 = with monthly, 0 = without monthly)
|
||||
SummaryLayout 1
|
||||
|
||||
# transparent background (1 = enabled, 0 = disabled)
|
||||
TransparentBg 0
|
||||
|
||||
# image colors
|
||||
CBackground "FFFFFF"
|
||||
CEdge "AEAEAE"
|
||||
CHeader "606060"
|
||||
CHeaderTitle "FFFFFF"
|
||||
CHeaderDate "FFFFFF"
|
||||
CText "000000"
|
||||
CLine "B0B0B0"
|
||||
CLineL "-"
|
||||
CRx "92CF00"
|
||||
CTx "606060"
|
||||
CRxD "-"
|
||||
CTxD "-"
|
@ -6,6 +6,6 @@
|
||||
%\fancyhead[R]{ }
|
||||
|
||||
\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 }}
|
||||
|
||||
|
@ -46,6 +46,7 @@
|
||||
\usepackage{graphicx}
|
||||
\usepackage{pdfpages}
|
||||
\usepackage{menukeys}
|
||||
\usepackage{minted}
|
||||
\makeindex
|
||||
|
||||
%
|
||||
|
203
content/style/preambule-programme.tex
Normal file
@ -0,0 +1,203 @@
|
||||
\usepackage{ifxetex}
|
||||
\ifxetex
|
||||
\usepackage{fontspec}
|
||||
%\usepackage{microtype}
|
||||
%\usepackage{xunicode}
|
||||
\usepackage{polyglossia}
|
||||
\usepackage{xltxtra}
|
||||
\setdefaultlanguage{french}
|
||||
\setotherlanguage{english}
|
||||
\defaultfontfeatures{Mapping=tex-text} % To support LaTeX quoting style
|
||||
%\setmainfont{Caviar Dreams}
|
||||
\newfontfamily\headingfont[]{Caviar Dreams}
|
||||
\usepackage{titlesec}
|
||||
\defaultfontfeatures{Ligatures=TeX}
|
||||
% Set sans serif font to Calibri
|
||||
\setsansfont{LiberationSans}
|
||||
% Set serifed font to Cambria
|
||||
\setmainfont{LiberationSans}
|
||||
\else
|
||||
\usepackage[utf8]{inputenc}
|
||||
\usepackage[T1]{fontenc}
|
||||
\usepackage{amsfonts}
|
||||
\usepackage[english, francais]{babel}
|
||||
\fi
|
||||
\usepackage{pifont}
|
||||
\usepackage{geometry}
|
||||
\usepackage{fancybox}
|
||||
\usepackage{verbatim}
|
||||
\usepackage{eurosym}
|
||||
%\usepackage{color}
|
||||
\usepackage[svgnames,table]{xcolor}
|
||||
\usepackage{listings}
|
||||
\usepackage{graphicx}
|
||||
\usepackage{hyperref}
|
||||
\usepackage{titlesec}
|
||||
\usepackage{fancyhdr}
|
||||
\usepackage{lastpage}
|
||||
%\usepackage{enumitem}
|
||||
\usepackage{makeidx}
|
||||
\usepackage{tocbibind}
|
||||
\usepackage[backend=biber,hyperref=true,backref=true]{biblatex}
|
||||
\addbibresource{biblio.bib}
|
||||
\usepackage{url}
|
||||
\renewcommand{\baselinestretch}{1.3}
|
||||
\addto\captionsfrench{\renewcommand{\contentsname}{Sommaire}}
|
||||
\usepackage{graphicx}
|
||||
\usepackage{pdfpages}
|
||||
\makeindex
|
||||
|
||||
%
|
||||
% Tableaux
|
||||
%
|
||||
\usepackage{array}
|
||||
\usepackage{booktabs}
|
||||
\usepackage{colortbl}
|
||||
|
||||
% Default
|
||||
\newcolumntype{1}{l}
|
||||
\newcolumntype{2}{l}
|
||||
\newcolumntype{3}{l}
|
||||
\newcolumntype{4}{l}
|
||||
\newcolumntype{5}{l}
|
||||
\newcolumntype{6}{l}
|
||||
\newcolumntype{7}{l}
|
||||
\newcolumntype{8}{l}
|
||||
\newcommand*\heading{}
|
||||
\newcommand*\beforeheading{}
|
||||
\newcommand*\afterheading{}
|
||||
\newcommand*\normalline{}
|
||||
\newcommand*\lastline{}
|
||||
|
||||
%\renewcommand*\toprule{\arrayrulecolor{red}{\hline}}
|
||||
|
||||
% Nice looking rules, centered cells
|
||||
\newcolumntype{1}{c}
|
||||
\newcolumntype{2}{c}
|
||||
\newcolumntype{3}{c}
|
||||
\newcolumntype{4}{c}
|
||||
\newcolumntype{5}{c}
|
||||
\newcolumntype{6}{c}
|
||||
\newcolumntype{7}{c}
|
||||
\newcolumntype{8}{c}
|
||||
\renewcommand*\heading[1]{\chapterfont\MakeUppercase{#1}}
|
||||
\renewcommand*\beforeheading{\arrayrulecolor{CadolesBlue}\toprule}
|
||||
\renewcommand*\afterheading{\midrule}
|
||||
\renewcommand*\normalline{}
|
||||
\renewcommand*\lastline{\bottomrule}
|
||||
|
||||
\definecolor{CadolesBlue}{rgb}{.16,.50,.69}
|
||||
\definecolor{CadolesLightBlue}{rgb}{.31,.506,.741}
|
||||
\newfontfamily\cadolesfont{Caviar Dreams}
|
||||
\newfontfamily\chapterfont[Color=CadolesBlue]{Caviar Dreams}
|
||||
\newfontfamily\sectionfont[Color=CadolesBlue]{Caviar Dreams}
|
||||
\newfontfamily\subsectionfont[Color=CadolesLightBlue]{Caviar Dreams}
|
||||
\newfontfamily\subsubsectionfont[Color=CadolesLightBlue]{Caviar Dreams}
|
||||
|
||||
\newcommand{\tickYes}{\color{Green}\checkmark}
|
||||
\newcommand{\tickNo}{\color{red}{\hspace{1pt}\ding{55}}}
|
||||
\newcommand{\wlink}[1]{\textcolor{CadolesBlue}{\underline{#1}}}
|
||||
\newcommand{\classname}[1]{\texttt{\textbf{#1}}}
|
||||
%\newcommand{\cadoles}{\chapterfont{Cadoles}}
|
||||
\newcommand{\cadoles}{\cadolesfont\textcolor{black}{Cad}\textcolor{CadolesBlue}{ole}\textcolor{black}{s}}
|
||||
\newcommand{\TitleRule}{\rule[0.5ex]{12cm}{0.5mm}}
|
||||
\newcommand\espace{\vrule height 20pt width 0pt}
|
||||
\newcommand{\titre}[1]{{\color{DarkBlue}\normalfont\LARGE\bfseries #1\smallskip\hrule height 1pt}\bigskip}
|
||||
\renewcommand*\abstractname{Summary}
|
||||
%\renewcommand{\FrenchLabelItem}{\color{DarkBlue}{\ding{68}}}
|
||||
\let\oldfootnoterule\footnoterule
|
||||
\renewcommand\footnoterule{\vspace*{-3pt}%
|
||||
\noindent\rule{3in}{0.4pt}\vspace*{2.6pt}}% -3 + 0.4 + 2.6 = 0
|
||||
|
||||
%\pagestyle{headings}
|
||||
\makeatletter
|
||||
\renewcommand{\thesection}{}
|
||||
\titleformat{\chapter}{\LARGE\chapterfont}{\thesection}{0ex}{}[\color{CadolesBlue}\hrule height 1pt]
|
||||
\titleformat{\section}{\Large\sectionfont}{\thesection}{0ex}{}[\color{CadolesBlue}\hrule height 1pt]
|
||||
\titleformat{\subsection}{\large\subsectionfont}{\thesection}{0ex}{}
|
||||
\titleformat{\subsubsection}{\itshape\subsubsectionfont}{\thesection}{0ex}{}
|
||||
|
||||
\skbinput[from=rep]{style/00-entete-pied-de-page}
|
||||
|
||||
\def\maketitle{
|
||||
\skbfigure[center]{logos/Cadoles}
|
||||
\vspace{4.5cm}
|
||||
|
||||
\begin{flushleft}
|
||||
\textbf{\Huge \cadolesfont\textcolor{CadolesBlue}{\@title}}
|
||||
\end{flushleft}
|
||||
\begin{center}
|
||||
\color{CadolesBlue}\TitleRule
|
||||
\end{center}
|
||||
\begin{flushright}
|
||||
\vspace{-1.5ex}
|
||||
\textbf{\huge \cadolesfont\textcolor{DarkGrey}{\departement}}
|
||||
\end{flushright}
|
||||
\vspace{2.5cm}
|
||||
\pagebreak
|
||||
}
|
||||
|
||||
|
||||
\def\origine{
|
||||
\vspace{1.5cm}
|
||||
\begin{flushleft}
|
||||
\begin{minipage}[l]{8cm}
|
||||
\skbinput[from=rep]{style/00-Coordonnees}
|
||||
\end{minipage}
|
||||
\end{flushleft}
|
||||
}
|
||||
|
||||
%
|
||||
% Itemize avec la petite cadoles
|
||||
%
|
||||
%\newenvironment{citemize}{\renewcommand{\labelitemi{$\odot$}}}
|
||||
%\newenvironment{citemize}{\renewcommand{\labelitemi{\includegraphics[height=1.6ex]{inc/cadole.png}}}}
|
||||
\newenvironment{citemize}{\renewcommand
|
||||
\labelitemi{\includegraphics[height=1ex]{inc/cadole.png}}\begin{itemize}}{\end{itemize}}
|
||||
|
||||
|
||||
%
|
||||
% Box pour citations
|
||||
%
|
||||
\newsavebox{\fmbox}
|
||||
\newenvironment{fmpage}[1]
|
||||
{\begin{lrbox}{\fmbox}\begin{minipage}{#1}}
|
||||
{\end{minipage}\end{lrbox}\fbox{\usebox{\fmbox}}}
|
||||
|
||||
\hypersetup{
|
||||
backref=true, % Permet d'ajouter des liens dans
|
||||
pagebackref=true, % les bibliographies
|
||||
hyperindex=true, % Ajoute des liens dans les index.
|
||||
colorlinks=true, % Colorise les liens.
|
||||
breaklinks=true, % Permet le retour à la ligne dans les liens trop longs.
|
||||
urlcolor= CadolesBlue, % Couleur des hyperliens.
|
||||
linkcolor= CadolesBlue, % Couleur des liens internes.
|
||||
bookmarks=true, % Créé des signets pour Acrobat.
|
||||
bookmarksopen=true, % Si les signets Acrobat sont créés,
|
||||
% les afficher complètement.
|
||||
pdftitle={\@title}, % Titre du document.
|
||||
% Informations apparaissant dans
|
||||
pdfauthor={Cadoles}, % dans les informations du document
|
||||
pdfsubject={Proposition Commerciale} % sous Acrobat.
|
||||
}
|
||||
|
||||
|
||||
|
||||
%\topmargin 0in
|
||||
%\leftmargin 2.5cm
|
||||
%\rightmargin 2.5cm
|
||||
|
||||
\setlength{\hoffset}{-18pt}
|
||||
\setlength{\oddsidemargin}{0pt} % Marge gauche sur pages impaires
|
||||
\setlength{\evensidemargin}{9pt} % Marge gauche sur pages paires
|
||||
\setlength{\marginparwidth}{54pt} % Largeur de note dans la marge
|
||||
%\setlength{\textwidth}{481pt} % Largeur de la zone de texte (17cm)
|
||||
\setlength{\voffset}{-18pt} % Bon pour DOS
|
||||
\setlength{\marginparsep}{7pt} % Séparation de la marge
|
||||
\setlength{\topmargin}{0pt} % Pas de marge en haut
|
||||
\setlength{\headheight}{13pt} % Haut de page
|
||||
\setlength{\headsep}{10pt} % Entre le haut de page et le texte
|
||||
\setlength{\footskip}{27pt} % Bas de page + séparation
|
||||
\setlength{\textheight}{708pt} % Hauteur de la zone de texte (25cm)
|
||||
|
||||
|
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]{ }
|
||||
|
||||
\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 }}
|
||||
|
||||
|
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 -*-
|
||||
|
||||
import sys
|
||||
from zephir.lib_zephir import *
|
||||
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")
|
||||
sys.exit(1)
|
||||
|
||||
@ -14,8 +14,8 @@ fonctionseole.zephir("INIT" , "script supprimer_fichier en cours d'execution", "
|
||||
try:
|
||||
filename = sys.argv[1]
|
||||
fonctionseole.zephir("MSG" , "supprimer_fichier lancé avec l'argument {}".format(filename), "PERSO")
|
||||
sudo_script('supprimer_fichier_sudo.zephir %s' % filename)
|
||||
except Exception, err:
|
||||
sudo_script('supprimer_fichier_sudo.zephir {}'.format(filename))
|
||||
except Exception as err:
|
||||
fonctionseole.zephir("ERR" , "supprimer_fichier a généré une erreur {}".format(err), "PERSO")
|
||||
sys.exit(1)
|
||||
|
||||
|
@ -97,7 +97,7 @@
|
||||
\include{modules_EOLE_envole/commun/01-nouveaute24}
|
||||
\include{modules_EOLE_envole/commun/01-nouveaute25}
|
||||
\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}
|
||||
|
||||
\section{Les quatre phases}
|
||||
@ -112,7 +112,7 @@
|
||||
\end{columns}
|
||||
\end{frame}
|
||||
\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-quatre_phases-pratique}
|
||||
\section{Administration commune}
|
||||
@ -142,9 +142,9 @@
|
||||
\end{column}
|
||||
\end{columns}
|
||||
\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/scribe/31-scripts-user-scribe}
|
||||
\include{modules_EOLE_envole/scribeAD/31-scripts-user-scribe}
|
||||
|
||||
\section{Machines}
|
||||
\begin{frame}{Plan}
|
||||
@ -157,23 +157,23 @@
|
||||
\end{column}
|
||||
\end{columns}
|
||||
\end{frame}
|
||||
\include{modules_EOLE_envole/scribe/10-machine_conf_reseau}
|
||||
\include{modules_EOLE_envole/scribe/11-integration-scribe}
|
||||
\include{modules_EOLE_envole/horus/11-integration-horus}
|
||||
\include{modules_EOLE_envole/scribe/12-machine-ead}
|
||||
\include{modules_EOLE_envole/horus/02-machine-ead}
|
||||
\include{modules_EOLE_envole/scribe/12-machine-diagnostic}
|
||||
\include{modules_EOLE_envole/scribe/13-profil}
|
||||
\include{modules_EOLE_envole/scribe/14-esu}
|
||||
\include{modules_EOLE_envole/scribe/14-esu-diagnostic}
|
||||
\include{modules_EOLE_envole/horus/14-esu}
|
||||
\include{modules_EOLE_envole/scribe/15-script-scribe}
|
||||
\include{modules_EOLE_envole/horus/15-script-horus}
|
||||
\include{modules_EOLE_envole/scribe/10-windows-distance}
|
||||
\include{modules_EOLE_envole/scribe/16-imprimante}
|
||||
\include{modules_EOLE_envole/scribe/17-corbeille}
|
||||
\include{modules_EOLE_envole/scribe/18-virus}
|
||||
\include{modules_EOLE_envole/scribe/19-ftp}
|
||||
\include{modules_EOLE_envole/scribeAD/10-machine_conf_reseau}
|
||||
\include{modules_EOLE_envole/scribeAD/11-integration-scribe}
|
||||
%\include{modules_EOLE_envole/horus/11-integration-horus}
|
||||
\include{modules_EOLE_envole/scribeAD/12-machine-ead}
|
||||
%\include{modules_EOLE_envole/horus/02-machine-ead}
|
||||
\include{modules_EOLE_envole/scribeAD/12-machine-diagnostic}
|
||||
\include{modules_EOLE_envole/scribeAD/13-profil}
|
||||
\include{modules_EOLE_envole/scribeAD/14-esu}
|
||||
\include{modules_EOLE_envole/scribeAD/14-esu-diagnostic}
|
||||
%\include{modules_EOLE_envole/horus/14-esu}
|
||||
\include{modules_EOLE_envole/scribeAD/15-script-scribe}
|
||||
%\include{modules_EOLE_envole/horus/15-script-horus}
|
||||
\include{modules_EOLE_envole/scribeAD/10-windows-distance}
|
||||
\include{modules_EOLE_envole/scribeAD/16-imprimante}
|
||||
\include{modules_EOLE_envole/scribeAD/17-corbeille}
|
||||
\include{modules_EOLE_envole/scribeAD/18-virus}
|
||||
\include{modules_EOLE_envole/scribeAD/19-ftp}
|
||||
|
||||
\section{Sauvegarde}
|
||||
\begin{frame}{Plan}
|
||||
@ -186,7 +186,7 @@
|
||||
\end{column}
|
||||
\end{columns}
|
||||
\end{frame}
|
||||
\include{modules_EOLE_envole/scribe/20-sauvegarde}
|
||||
\include{modules_EOLE_envole/scribeAD/20-sauvegarde}
|
||||
|
||||
\section{Communications}
|
||||
\begin{frame}{Plan}
|
||||
@ -199,7 +199,7 @@
|
||||
\end{column}
|
||||
\end{columns}
|
||||
\end{frame}
|
||||
\include{modules_EOLE_envole/scribe/30-communication}
|
||||
\include{modules_EOLE_envole/scribeAD/30-communication}
|
||||
|
||||
\section{Les scripts administratifs}
|
||||
\begin{frame}{Plan}
|
||||
|
@ -255,7 +255,7 @@ La commande de configuration est :
|
||||
\item Installer le serveur (avec gen\_conteneur) ;
|
||||
\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 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 ne pas reinitiliser la base Bareos ;
|
||||
\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 n'avez pas de zéphir, restaurer le fichier config.eol :
|
||||
\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} ;
|
||||
\end{itemize}
|
||||
\end{itemize}
|
||||
|
@ -4,6 +4,7 @@
|
||||
\item Exécution sur un serveur ou un groupe de serveurs ;
|
||||
\item les scripts doivent être dans /usr/share/zephir/scripts/ ;
|
||||
\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 fonctionseole.init\_proc : permet de vérifier si l'action est bloqué ;
|
||||
\item fonctionseole.zephir(<etat>, <message>, <type>) : log envoyer au Zéphir ;
|
||||
|
@ -93,6 +93,8 @@
|
||||
\skbinput[from=sli]{modules_EOLE_envole/scribeAD/purge-utilisateurs}
|
||||
\skbinput[from=sli]{modules_EOLE_envole/scribeAD/purge-utilisateurs-pratique}
|
||||
|
||||
\skbinput[from=sli]{modules_EOLE_envole/scribeAD/acl}
|
||||
|
||||
\subsection{La gestion des machines et sessions}
|
||||
\skbinput[from=sli]{modules_EOLE_envole/scribeAD/integration-poste-client}
|
||||
\skbinput[from=sli]{modules_EOLE_envole/scribeAD/integration-poste-client-pratique}
|
||||
|
15
presentations/modules_EOLE_envole/Cogitis/diaporama.vrb
Normal file
@ -0,0 +1,15 @@
|
||||
\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}
|
262
presentations/modules_EOLE_envole/Econocom/diaporama.tex
Normal file
@ -0,0 +1,262 @@
|
||||
\documentclass{beamer}
|
||||
|
||||
\usepackage{skb}
|
||||
|
||||
\skbconfig[
|
||||
root = ../../../,
|
||||
rep = content,
|
||||
pub = presentations,
|
||||
fig = figures,
|
||||
sli = slides,
|
||||
acr = database/acr,
|
||||
bib = database/bib
|
||||
]{skblocal.tex}
|
||||
|
||||
\newcommand{\pdfauthor}{Cadoles}
|
||||
\newcommand{\pdftitle}{Formation personnalisée TC1/TC2}
|
||||
\newcommand{\pdfkeywords}{EOLE}
|
||||
|
||||
|
||||
\skbinput[from=sli]{style/preambule}
|
||||
|
||||
\newlength{\logospacing}
|
||||
\setlength{\logospacing}{0 cm}
|
||||
|
||||
\logo{
|
||||
\skbfigure[width=2cm]{logos/Cadoles.png}~
|
||||
}
|
||||
|
||||
\title[]{Formation personnalisée TC1/TC2}
|
||||
\subtitle{Econocom}
|
||||
|
||||
\author[Equipe Auteur]{Cadoles}
|
||||
|
||||
\institute[Cadoles]{\skbfigure[width=2cm]{logos/Cadoles.png}}
|
||||
|
||||
\date{{\small \today}}
|
||||
|
||||
\subject{Talks}
|
||||
|
||||
\begin{document}
|
||||
|
||||
\skbinput[from=sli]{style/title}
|
||||
|
||||
% Corps de la formation
|
||||
%\skbinput[from=sli]{}
|
||||
\section{Bases GNU/Linux}
|
||||
\skbinput[from=sli]{modules_EOLE_envole/tronc-commun-1/gnu_linux}
|
||||
\skbinput[from=sli]{modules_EOLE_envole/tronc-commun-1/tcpdump-tshark}
|
||||
\skbinput[from=sli]{modules_EOLE_envole/tronc-commun-1/commande-distance}
|
||||
|
||||
\section{La distribution EOLE}
|
||||
\skbinput[from=sli]{modules_EOLE_envole/commun/intro}
|
||||
\skbinput[from=sli]{modules_EOLE_envole/commun/ecosysteme}
|
||||
\skbinput[from=sli]{modules_EOLE_envole/commun/nouveautes27}
|
||||
\skbinput[from=sli]{modules_EOLE_envole/commun/nouveautes28}
|
||||
\skbinput[from=sli]{modules_EOLE_envole/commun/nouveautes29}
|
||||
|
||||
\section{Panorama des modules}
|
||||
\skbinput[from=sli]{modules_EOLE_envole/zephir/description}
|
||||
\skbinput[from=sli]{modules_EOLE_envole/amon/description}
|
||||
\skbinput[from=sli]{modules_EOLE_envole/sphynx/description}
|
||||
\skbinput[from=sli]{modules_EOLE_envole/seth/description}
|
||||
\skbinput[from=sli]{modules_EOLE_envole/scribe/description}
|
||||
\skbinput[from=sli]{modules_EOLE_envole/horus/description}
|
||||
\skbinput[from=sli]{modules_EOLE_envole/amonecole/description}
|
||||
%\skbinput[from=sli]{modules_EOLE_envole/eclair/description}
|
||||
\skbinput[from=sli]{modules_EOLE_envole/seshat/description}
|
||||
\skbinput[from=sli]{modules_EOLE_envole/thot/description}
|
||||
\skbinput[from=sli]{modules_EOLE_envole/hapy/description}
|
||||
|
||||
\section{Les quatre phases}
|
||||
\skbinput[from=sli]{modules_EOLE_envole/commun/quatre_phases}
|
||||
\subsection{Configuration}
|
||||
\skbinput[from=sli]{modules_EOLE_envole/commun/02-gen_config}
|
||||
\skbinput[from=sli]{modules_EOLE_envole/commun/02-gen_config-pratique}
|
||||
\skbinput[from=sli]{modules_EOLE_envole/commun/02-gen_config_1}
|
||||
\skbinput[from=sli]{modules_EOLE_envole/commun/quatre_phases-pratique}
|
||||
|
||||
\subsection{L’instanciation}
|
||||
\skbinput[from=sli]{modules_EOLE_envole/commun/instance-pratique}
|
||||
\skbinput[from=sli]{modules_EOLE_envole/commun/instance-reconfigure}
|
||||
\skbinput[from=sli]{modules_EOLE_envole/commun/reconfigure-pratique}
|
||||
|
||||
\subsection{L’administration courante}
|
||||
\skbinput[from=sli]{modules_EOLE_envole/commun/mise-a-jour}
|
||||
\skbinput[from=sli]{modules_EOLE_envole/commun/diagnose}
|
||||
\skbinput[from=sli]{modules_EOLE_envole/commun/diagnose-pratique}
|
||||
\skbinput[from=sli]{modules_EOLE_envole/tronc-commun-1/05-conteneurs}
|
||||
\skbinput[from=sli]{modules_EOLE_envole/commun/firewall}
|
||||
\skbinput[from=sli]{modules_EOLE_envole/commun/firewall-pratique}
|
||||
\skbinput[from=sli]{modules_EOLE_envole/commun/schedule}
|
||||
\skbinput[from=sli]{modules_EOLE_envole/commun/schedule-pratique}
|
||||
\skbinput[from=sli]{modules_EOLE_envole/tronc-commun-1/onduleur}
|
||||
\skbinput[from=sli]{modules_EOLE_envole/tronc-commun-1/onduleur-pratique}
|
||||
|
||||
\subsection{Les interfaces d’administration}
|
||||
\skbinput[from=sli]{modules_EOLE_envole/commun/administration/ncurse/description}
|
||||
\skbinput[from=sli]{modules_EOLE_envole/commun/administration/ead/description}
|
||||
\skbinput[from=sli]{modules_EOLE_envole/commun/administration/ead/connexion}
|
||||
\skbinput[from=sli]{modules_EOLE_envole/commun/administration/ead/connexion-pratique}
|
||||
\skbinput[from=sli]{modules_EOLE_envole/commun/administration/ead/fonctions-basiques}
|
||||
\skbinput[from=sli]{modules_EOLE_envole/commun/administration/ead/fonctions-basiques-pratique}
|
||||
\skbinput[from=sli]{modules_EOLE_envole/commun/administration/ead/gestion-roles}
|
||||
|
||||
\section{Application Zéphir, fonctionnalités basiques}
|
||||
\skbinput[from=sli]{modules_EOLE_envole/tronc-commun-1/application-zephir}
|
||||
\skbinput[from=sli]{modules_EOLE_envole/tronc-commun-1/application-zephir-pratique}
|
||||
\skbinput[from=sli]{modules_EOLE_envole/tronc-commun-1/application-zephir_1}
|
||||
\skbinput[from=sli]{modules_EOLE_envole/tronc-commun-1/application-zephir_1-pratique}
|
||||
\skbinput[from=sli]{modules_EOLE_envole/tronc-commun-1/application-zephir_2}
|
||||
\skbinput[from=sli]{modules_EOLE_envole/tronc-commun-1/application-zephir_2-pratique}
|
||||
\skbinput[from=sli]{modules_EOLE_envole/tronc-commun-1/application-zephir_3}
|
||||
\skbinput[from=sli]{modules_EOLE_envole/tronc-commun-1/application-zephir_3-pratique}
|
||||
|
||||
\section{Personnalisation du module}
|
||||
\skbinput[from=sli]{modules_EOLE_envole/tronc-commun-2/personnalisation-creole-patchs}
|
||||
\skbinput[from=sli]{modules_EOLE_envole/tronc-commun-2/personnalisation-creole-patchs-pratique}
|
||||
\skbinput[from=sli]{modules_EOLE_envole/tronc-commun-2/personnalisation-creole-templates}
|
||||
\skbinput[from=sli]{modules_EOLE_envole/tronc-commun-2/personnalisation-creole-templates-pratique}
|
||||
|
||||
\section{Application Zéphir}
|
||||
\skbinput[from=sli]{modules_EOLE_envole/tronc-commun-1/application-zephir2}
|
||||
\skbinput[from=sli]{modules_EOLE_envole/tronc-commun-2/zephir}
|
||||
\skbinput[from=sli]{modules_EOLE_envole/tronc-commun-2/zephir_script}
|
||||
\skbinput[from=sli]{modules_EOLE_envole/tronc-commun-1/migration-zephir}
|
||||
\skbinput[from=sli]{modules_EOLE_envole/tronc-commun-2/script-instance-reconfigure}
|
||||
\skbinput[from=sli]{modules_EOLE_envole/tronc-commun-2/script-instance-reconfigure-pratique}
|
||||
\skbinput[from=sli]{modules_EOLE_envole/tronc-commun-2/sauvegarde}
|
||||
|
||||
\section{EAD3}
|
||||
\skbinput[from=sli]{modules_EOLE_envole/tronc-commun-1/31-ead3}
|
||||
|
||||
%Hapy
|
||||
%
|
||||
%\section{Hâpy, virtualisation des infrastructures}
|
||||
%\skbinput[from=sli]{modules_EOLE_envole/hapy/description}
|
||||
%\subsection{Configuration}
|
||||
%\skbinput[from=sli]{modules_EOLE_envole/hapy/configuration-commutateur-virtuel}
|
||||
%\skbinput[from=sli]{modules_EOLE_envole/hapy/configuration-virtualisation}
|
||||
%\skbinput[from=sli]{modules_EOLE_envole/hapy/configuration-modeles-vm}
|
||||
%\skbinput[from=sli]{modules_EOLE_envole/hapy/configuration-hooks-vm}
|
||||
%\skbinput[from=sli]{modules_EOLE_envole/hapy/configuration-opennebula-flow}
|
||||
%\skbinput[from=sli]{modules_EOLE_envole/hapy/configuration-multi-noeuds}
|
||||
|
||||
%Amon
|
||||
%\subsection{Fonctions de base d'Amon}
|
||||
%\skbinput[from=sli]{modules_EOLE_envole/amon/01-base}
|
||||
%\skbinput[from=sli]{modules_EOLE_envole/amon/06-relaidhcp}
|
||||
%\skbinput[from=sli]{modules_EOLE_envole/amon/08-radius}
|
||||
%
|
||||
%
|
||||
%\subsection{Les commandes à distances}
|
||||
%\skbinput[from=sli]{modules_EOLE_envole/tronc-commun-1/22-commande-distance}
|
||||
%\subsection{Era}
|
||||
%\skbinput[from=sli]{modules_EOLE_envole/amon/02-era}
|
||||
%
|
||||
%\subsection{Proxy}
|
||||
%\skbinput[from=sli]{modules_EOLE_envole/amon/06-proxy}
|
||||
%\skbinput[from=sli]{modules_EOLE_envole/amon/04-cntlm}
|
||||
%
|
||||
%\section{Filtrage web}
|
||||
%\skbinput[from=sli]{modules_EOLE_envole/amon/03-filtrage}
|
||||
%
|
||||
%\section{Complément proxy}
|
||||
%\skbinput[from=sli]{modules_EOLE_envole/amon/06-deuxiemesquid}
|
||||
%\skbinput[from=sli]{modules_EOLE_envole/amon/06-exception}
|
||||
%\skbinput[from=sli]{modules_EOLE_envole/amon/06-log}
|
||||
%
|
||||
%\section{Reverse proxy}
|
||||
%\skbinput[from=sli]{modules_EOLE_envole/amon/05-reverseproxy}
|
||||
%
|
||||
%\section{Trouver de l'information}
|
||||
%\skbinput[from=sli]{modules_EOLE_envole/commun/08-info_internet}
|
||||
|
||||
|
||||
%scribe
|
||||
|
||||
|
||||
\section{Utilisateurs}
|
||||
\skbinput[from=sli]{modules_EOLE_envole/scribeAD/utilisateurs}
|
||||
\skbinput[from=sli]{modules_EOLE_envole/scribeAD/script-user-scribe}
|
||||
%\skbinput[from=sli]{modules_EOLE_envole/scribeAD/utilisateurs-pratique}
|
||||
\skbinput[from=sli]{modules_EOLE_envole/scribeAD/edition-groupee-utilisateurs}
|
||||
\skbinput[from=sli]{modules_EOLE_envole/scribeAD/edition-groupee-utilisateurs-pratique}
|
||||
\skbinput[from=sli]{modules_EOLE_envole/scribeAD/importation-utilisateurs}
|
||||
\skbinput[from=sli]{modules_EOLE_envole/scribeAD/importation-utilisateurs-pratique}
|
||||
|
||||
\skbinput[from=sli]{modules_EOLE_envole/scribeAD/purge-utilisateurs}
|
||||
\skbinput[from=sli]{modules_EOLE_envole/scribeAD/purge-utilisateurs-pratique}
|
||||
\skbinput[from=sli]{modules_EOLE_envole/scribeAD/acl}
|
||||
|
||||
\section{Machines}
|
||||
%~???\skbinput[from=sli]{modules_EOLE_envole/modules/scribe/12-machine-ead}
|
||||
|
||||
\skbinput[from=sli]{modules_EOLE_envole/scribeAD/integration-poste-client}
|
||||
\skbinput[from=sli]{modules_EOLE_envole/scribeAD/integration-poste-client-pratique}
|
||||
\skbinput[from=sli]{modules_EOLE_envole/scribeAD/client-scribe-defunct}
|
||||
\skbinput[from=sli]{modules_EOLE_envole/scribeAD/gestion-machines}
|
||||
\skbinput[from=sli]{modules_EOLE_envole/scribeAD/machine-diagnostique}
|
||||
\skbinput[from=sli]{modules_EOLE_envole/scribeAD/machine-diagnostique-pratique}
|
||||
\skbinput[from=sli]{modules_EOLE_envole/scribeAD/machine-ead}
|
||||
\skbinput[from=sli]{modules_EOLE_envole/scribeAD/machine-ead-pratique}
|
||||
\skbinput[from=sli]{modules_EOLE_envole/scribeAD/machine-profils}
|
||||
\skbinput[from=sli]{modules_EOLE_envole/scribeAD/auto-ou}
|
||||
|
||||
\skbinput[from=sli]{modules_EOLE_envole/scribeAD/esu}
|
||||
\skbinput[from=sli]{modules_EOLE_envole/scribeAD/esu-diagnostic}
|
||||
\skbinput[from=sli]{modules_EOLE_envole/scribeAD/eop}
|
||||
\skbinput[from=sli]{modules_EOLE_envole/scribeAD/eop-pratique}
|
||||
\skbinput[from=sli]{modules_EOLE_envole/scribeAD/gpo}
|
||||
\skbinput[from=sli]{modules_EOLE_envole/scribeAD/gpo-pratique}
|
||||
\skbinput[from=sli]{modules_EOLE_envole/scribeAD/veyon}
|
||||
\skbinput[from=sli]{modules_EOLE_envole/scribeAD/veyon-pratique}
|
||||
\skbinput[from=sli]{modules_EOLE_envole/scribeAD/client-salt}
|
||||
\skbinput[from=sli]{modules_EOLE_envole/scribeAD/client-salt-pratique}
|
||||
\skbinput[from=sli]{modules_EOLE_envole/scribeAD/script-scribe}
|
||||
\skbinput[from=sli]{modules_EOLE_envole/scribeAD/script-scribe-pratique}
|
||||
|
||||
|
||||
\section{Sauvegarde}
|
||||
\skbinput[from=sli]{modules_EOLE_envole/commun/sauvegarde/description}
|
||||
\skbinput[from=sli]{modules_EOLE_envole/commun/sauvegarde/configuration}
|
||||
\skbinput[from=sli]{modules_EOLE_envole/commun/sauvegarde/resolution_problemes}
|
||||
\skbinput[from=sli]{modules_EOLE_envole/commun/sauvegarde/sauvegarde-pratique}
|
||||
\skbinput[from=sli]{modules_EOLE_envole/commun/sauvegarde/restauration}
|
||||
\skbinput[from=sli]{modules_EOLE_envole/commun/sauvegarde/restauration-pratique}
|
||||
\skbinput[from=sli]{modules_EOLE_envole/commun/sauvegarde/ead2}
|
||||
\skbinput[from=sli]{modules_EOLE_envole/commun/sauvegarde/ead3}
|
||||
\skbinput[from=sli]{modules_EOLE_envole/commun/sauvegarde/bconsole}
|
||||
\skbinput[from=sli]{modules_EOLE_envole/commun/sauvegarde/webui}
|
||||
|
||||
\section{Les services}
|
||||
\skbinput[from=sli]{modules_EOLE_envole/scribeAD/imprimantes}
|
||||
\skbinput[from=sli]{modules_EOLE_envole/scribeAD/corbeille}
|
||||
\skbinput[from=sli]{modules_EOLE_envole/scribeAD/corbeille-pratique}
|
||||
\skbinput[from=sli]{modules_EOLE_envole/scribeAD/virus}
|
||||
\skbinput[from=sli]{modules_EOLE_envole/scribeAD/virus-pratique}
|
||||
\skbinput[from=sli]{modules_EOLE_envole/scribeAD/ftp}
|
||||
\skbinput[from=sli]{modules_EOLE_envole/scribeAD/ftp-pratique}
|
||||
\skbinput[from=sli]{modules_EOLE_envole/scribeAD/communication}
|
||||
\skbinput[from=sli]{modules_EOLE_envole/scribeAD/communication-pratique}
|
||||
|
||||
\skbinput[from=sli]{modules_EOLE_envole/horusAD/script-horus}
|
||||
\skbinput[from=sli]{modules_EOLE_envole/horusAD/script-horus-pratique}
|
||||
\skbinput[from=sli]{modules_EOLE_envole/horusAD/scripts-administratifs}
|
||||
|
||||
\skbinput[from=sli]{modules_EOLE_envole/scribeAD/application-web}
|
||||
\skbinput[from=sli]{modules_EOLE_envole/scribeAD/application-web-pratique}
|
||||
|
||||
%\section{Envole}
|
||||
%\skbinput[from=sli]{modules_EOLE_envole/description}
|
||||
%\skbinput[from=sli]{modules_EOLE_envole/liste-applications}
|
||||
%\subsection{Portail}
|
||||
%\skbinput[from=sli]{modules_EOLE_envole/eportail}
|
||||
%\skbinput[from=sli]{modules_EOLE_envole/ninegate}
|
||||
%\subsection{Gestion des applications}
|
||||
%\skbinput[from=sli]{modules_EOLE_envole/ajout-application}
|
||||
%\skbinput[from=sli]{modules_EOLE_envole/ajout-application-pratique}
|
||||
|
||||
\skbinput[from=sli]{licences/license-cc-by-sa-2.0}
|
||||
|
||||
\end{document}
|
54
presentations/modules_EOLE_envole/Econocom/programme.tex
Normal file
@ -0,0 +1,54 @@
|
||||
\documentclass[a4paper,11pt]{report}
|
||||
|
||||
\usepackage{skb}
|
||||
|
||||
\skbconfig[
|
||||
root = ../../../,
|
||||
rep = content,
|
||||
pub = presentations,
|
||||
fig = figures,
|
||||
sli = slides,
|
||||
acr = database/acr,
|
||||
bib = database/bib
|
||||
]{skblocal.tex}
|
||||
|
||||
\newcommand{\departement}{Cadoles Formations}
|
||||
\newcommand{\numeroversion}{1.0}
|
||||
\newcommand{\adresse}{170, avenue Jean Jaurès}
|
||||
\newcommand{\codepostal}{21000}
|
||||
\newcommand{\ville}{Dijon}
|
||||
\newcommand{\telephone}{Tél : 03 73 27 02 86}
|
||||
\newcommand{\fax}{Fax : 09 72 29 61 11}
|
||||
\newcommand{\siteweb}{Site : http://www.cadoles.com/}
|
||||
\newcommand{\formateur}{Emmanuel Garette}
|
||||
|
||||
\skbinput[from=rep]{style/preambule-programme}
|
||||
|
||||
% TITRE DU DOCUMENT !
|
||||
\title{Programme de Formation}
|
||||
|
||||
\author{Emmanuel Garette}
|
||||
|
||||
%\date{}
|
||||
|
||||
\begin{document}
|
||||
\maketitle
|
||||
\newpage
|
||||
\section{Public visé}
|
||||
\input{./programme/public.tex}
|
||||
\section{Conditions préalables}
|
||||
\input{./programme/prerequis.tex}
|
||||
\section{Objectifs de la formation}
|
||||
\input{./programme/objectifs.tex}
|
||||
\section{Durée de la formation}
|
||||
\input{./programme/duree.tex}
|
||||
\IfFileExists{./programme/moyens.tex}{%
|
||||
\section{Moyens pédagogiques, techniques et d'encadrement}
|
||||
\input{./programme/moyens.tex}
|
||||
}{}
|
||||
\section{Évaluation des acquis}
|
||||
\input{./programme/evaluation.tex}
|
||||
\newpage
|
||||
\section{Contenu de la formation}
|
||||
\input{./programme/contenu.tex}
|
||||
\end{document}
|
@ -0,0 +1,38 @@
|
||||
\begin{itemize}
|
||||
\item Introduction
|
||||
\begin{itemize}
|
||||
\item La distribution EOLE
|
||||
\end{itemize}
|
||||
\item Tronc commun
|
||||
\begin{itemize}
|
||||
\item Les quatre phases
|
||||
\item L’administration courante
|
||||
\item Les interfaces d’administration
|
||||
\end{itemize}
|
||||
\item Infrastructure déployée
|
||||
\begin{itemize}
|
||||
\item Concepts
|
||||
\item Mise en place
|
||||
\item Évolutivité
|
||||
\end{itemize}
|
||||
\item Hâpy
|
||||
\begin{itemize}
|
||||
\item Configuration
|
||||
\item Maintenance
|
||||
\item Gestion des VM
|
||||
\end{itemize}
|
||||
\item Amon
|
||||
\begin{itemize}
|
||||
\item Configuration
|
||||
\item Maintenance
|
||||
\item Gestion du proxy
|
||||
\item Gestion du pare-feu
|
||||
\end{itemize}
|
||||
\item Scribe
|
||||
\begin{itemize}
|
||||
\item Configuration
|
||||
\item Maintenance
|
||||
\item Gestion du domaine
|
||||
\item Services pédagogiques
|
||||
\end{itemize}
|
||||
\end{itemize}
|
@ -0,0 +1 @@
|
||||
2,5 jours.
|
@ -0,0 +1 @@
|
||||
L'appropriation des connaissances est contrôlée par des travaux pratiques durant la formation.
|
@ -0,0 +1,4 @@
|
||||
\begin{itemize}
|
||||
\item une salle de formation équipée d'ordinateurs avec infrasctructure de démonstration pour les travaux pratiques ;
|
||||
\item un formateur avec l'expérience de l'installation et de la maintenance des solutions présentées.
|
||||
\end{itemize}
|
@ -0,0 +1 @@
|
||||
Le participant à la formation est autonome pour l'administration des serveurs et la recherche d'informations en vue de résoudre les incidents.
|
@ -0,0 +1 @@
|
||||
Connaissance basique des systèmes d’exploitation GNU/Linux.
|
@ -0,0 +1 @@
|
||||
La formation vise toute personne ayant en charge des tâches d'administration sur des serveurs équipés de modules EOLE.
|
41
presentations/modules_EOLE_envole/Econocom/support.tex
Normal file
@ -0,0 +1,41 @@
|
||||
\documentclass{article}
|
||||
|
||||
\usepackage{skb}
|
||||
|
||||
\skbconfig[
|
||||
root = ../../../,
|
||||
rep = content,
|
||||
pub = presentations,
|
||||
fig = figures,
|
||||
sli = slides,
|
||||
acr = database/acr,
|
||||
bib = database/bib
|
||||
]{skblocal.tex}
|
||||
|
||||
\skbinput[from=rep]{style/preambule-article}
|
||||
\newcommand{\departement}{Cadoles Formations}
|
||||
\newcommand{\numeroversion}{0.1}
|
||||
\newcommand{\adresse}{170, avenue Jean Jaurès}
|
||||
\newcommand{\codepostal}{21000}
|
||||
\newcommand{\ville}{Dijon}
|
||||
\newcommand{\telephone}{03 73 27 02 86}
|
||||
|
||||
|
||||
\begin{document}
|
||||
\title{Formation personnalisée TC1/TC2}
|
||||
|
||||
\author{Cadoles}
|
||||
|
||||
|
||||
|
||||
\date{{\small \today}}
|
||||
\maketitle
|
||||
|
||||
\skbinput[from=rep]{style/title}
|
||||
|
||||
% Corps de la formation
|
||||
%\skbinput[from=rep]{}
|
||||
|
||||
\skbinput[from=rep]{licences/license-cc-by-sa-2.0}
|
||||
|
||||
\end{document}
|
@ -1,12 +1,14 @@
|
||||
#!/usr/bin/python
|
||||
#!/usr/bin/python3
|
||||
# -*- coding:utf-8 -*-
|
||||
|
||||
import argparse
|
||||
import re
|
||||
import random
|
||||
import time
|
||||
import subprocess
|
||||
from os import path, makedirs, listdir
|
||||
from jinja2 import Environment, FileSystemLoader
|
||||
import pygit2
|
||||
|
||||
LICENSES = {'CC-by-sa-2.0': 'license-cc-by-sa-2.0',
|
||||
}
|
||||
@ -14,12 +16,15 @@ LICENSES = {'CC-by-sa-2.0': 'license-cc-by-sa-2.0',
|
||||
TEMPLATES = {
|
||||
'beamer': {'fragment': 'frame.tex',
|
||||
'fragment_pratique': 'frame-pratique.tex',
|
||||
'fragment_corrige': 'frame-corrige.tex',
|
||||
'master': 'main-beamer.tex'},
|
||||
'article': {'fragment': 'fragment.tex',
|
||||
'fragment_pratique': 'fragment-pratique.tex',
|
||||
'fragment_corrige': 'fragment-corrige.tex',
|
||||
'master': 'main-article.tex'},
|
||||
'questionnaire': {'fragment': 'fragment.tex',
|
||||
'fragment_pratique': 'fragment-pratique.tex',
|
||||
'fragment_corrige': 'fragment-corrige.tex',
|
||||
'master': 'main-questionnaire.tex'}
|
||||
}
|
||||
|
||||
@ -46,8 +51,120 @@ def escape_tex(value):
|
||||
return newval
|
||||
|
||||
|
||||
def normalize_branch(args):
|
||||
if 'master' in args:
|
||||
return path.join('xelatex', path.dirname(args.master))
|
||||
elif 'directory' in args:
|
||||
return path.join('xelatex', args.directory)
|
||||
else:
|
||||
raise Exception('No sufficient information to create branch')
|
||||
|
||||
|
||||
def git_integration(func):
|
||||
|
||||
def commit_into_master(paths, repo, comment):
|
||||
author = repo.default_signature
|
||||
committer = author
|
||||
repo.checkout('refs/heads/master')
|
||||
index = repo.index
|
||||
for fp in paths:
|
||||
index.add(fp)
|
||||
index.write()
|
||||
tree = index.write_tree()
|
||||
master_ref = repo.references['refs/heads/master']
|
||||
parents = [master_ref.peel().hex]
|
||||
master_head = repo.create_commit('refs/heads/master',
|
||||
author,
|
||||
committer,
|
||||
comment,
|
||||
tree,
|
||||
parents)
|
||||
return master_head
|
||||
|
||||
def commit_into_branch(paths, branch, repo, comment):
|
||||
author = repo.default_signature
|
||||
committer = author
|
||||
repo.checkout(f'refs/heads/{branch}')
|
||||
index = repo.index
|
||||
for fp in paths:
|
||||
index.add(fp)
|
||||
index.write()
|
||||
tree = index.write_tree()
|
||||
branch_ref = repo.references[f'refs/heads/{branch}']
|
||||
parents = [branch_ref.peel().hex]
|
||||
branch_commit = repo.create_commit(f'refs/heads/{branch}',
|
||||
author,
|
||||
committer,
|
||||
comment,
|
||||
tree,
|
||||
parents)
|
||||
return branch_commit
|
||||
|
||||
def merge_master_into_branch(master_commit, branch, repo):
|
||||
author = repo.default_signature
|
||||
committer = author
|
||||
repo.checkout(f'refs/heads/{branch}')
|
||||
repo.merge(master_commit)
|
||||
tree = repo.index.write_tree()
|
||||
merge_commit = repo.create_commit('HEAD', author, committer, 'Merge master into xelatex/*', tree, [repo.head.target, master_commit])
|
||||
|
||||
def inner(args):
|
||||
try:
|
||||
repo = pygit2.Repository('./')
|
||||
except:
|
||||
repo = None
|
||||
if repo:
|
||||
branch_name = normalize_branch(args)
|
||||
if not branch_name in repo.branches.local:
|
||||
master_ref = repo.references['refs/heads/master']
|
||||
commit = master_ref.peel()
|
||||
repo.branches.local.create(branch_name, commit)
|
||||
func(args)
|
||||
if repo:
|
||||
repo_status = repo.status()
|
||||
to_add_status = [pygit2.GIT_STATUS_WT_NEW,
|
||||
pygit2.GIT_STATUS_WT_MODIFIED]
|
||||
branch_add_paths = [fp for fp in repo_status
|
||||
if fp.startswith(f'presentations/') and repo_status[fp] in to_add_status]
|
||||
master_add_paths = [fp for fp in repo_status
|
||||
if (fp.startswith('content/') or fp.startswith('slides/')) and repo_status[fp] in to_add_status]
|
||||
|
||||
|
||||
if func.__name__ == 'init':
|
||||
comment = 'Initialisation de la formation'
|
||||
elif func.__name__ == 'update':
|
||||
comment = 'Construction de la formation'
|
||||
elif func.__name__ == 'outline':
|
||||
comment = 'Mise à jour du programme'
|
||||
else:
|
||||
comment = 'Travail sur la formation'
|
||||
|
||||
if repo.branches['master'].is_checked_out():
|
||||
if master_add_paths:
|
||||
master_head = commit_into_master(master_add_paths, repo, comment)
|
||||
else:
|
||||
master_head = repo.revparse_single('refs/heads/master')
|
||||
if branch_add_paths:
|
||||
commit_into_branch(branch_add_paths, branch_name, repo, comment)
|
||||
elif repo.branches[branch_name].is_checked_out():
|
||||
if branch_add_paths:
|
||||
commit_into_branch(branch_add_paths, branch_name, repo, comment)
|
||||
if master_add_paths:
|
||||
master_head = commit_into_master(master_add_paths, repo, comment)
|
||||
else:
|
||||
master_head = repo.revparse_single('refs/heads/master')
|
||||
branch_ref = repo.references[f'refs/heads/{branch_name}']
|
||||
if master_head not in repo.walk(branch_ref.target):
|
||||
merge_master_into_branch(master_head, branch_name, repo)
|
||||
|
||||
|
||||
|
||||
|
||||
return inner
|
||||
|
||||
def main():
|
||||
|
||||
@git_integration
|
||||
def init(args):
|
||||
"""
|
||||
init function
|
||||
@ -69,33 +186,20 @@ def main():
|
||||
root = '../'
|
||||
if args.directory:
|
||||
root = root + re.sub(r'[\w-]+/?', '../', args.directory)
|
||||
else:
|
||||
root = '../'
|
||||
|
||||
name = args.name
|
||||
if name:
|
||||
if path.splitext(name)[1] == '':
|
||||
name = name + '.tex'
|
||||
else:
|
||||
name = get_unique_name('formation')
|
||||
name = 'diaporama.tex'
|
||||
|
||||
title = args.title
|
||||
if not title:
|
||||
title = 'FIXME'
|
||||
else:
|
||||
title = title
|
||||
|
||||
author = args.author
|
||||
if not author:
|
||||
author = 'Cadoles'
|
||||
else:
|
||||
author = author
|
||||
|
||||
client = args.client
|
||||
if not client:
|
||||
client = 'FIXME'
|
||||
else:
|
||||
client = client
|
||||
|
||||
institutes = get_institutes_logos(args.institutes)
|
||||
logos_count = len(institutes) + 1
|
||||
@ -110,18 +214,20 @@ def main():
|
||||
content = 'sli' if document_class == 'beamer' else 'rep'
|
||||
|
||||
env = {'root': root,
|
||||
'class': document_class,
|
||||
'content': content,
|
||||
'title': title,
|
||||
'author': author,
|
||||
'client': client,
|
||||
'license': license,
|
||||
'institutes': institutes,
|
||||
'logos_count': logos_count}
|
||||
'class': document_class,
|
||||
'content': content,
|
||||
'title': title,
|
||||
'author': author,
|
||||
'client': client,
|
||||
'license': license,
|
||||
'institutes': institutes,
|
||||
'logos_count': logos_count}
|
||||
master = TEMPLATES[document_class]['master']
|
||||
master_dir = path.join('presentations', directory)
|
||||
programme_dir = path.join(master_dir, 'programme')
|
||||
resources = [(path.join('presentations', directory), master),
|
||||
resources = [(master_dir, master),
|
||||
(master_dir, 'programme.tex'),
|
||||
(master_dir, 'support.tex'),
|
||||
(programme_dir, 'contenu.tex'),
|
||||
(programme_dir, 'duree.tex'),
|
||||
(programme_dir, 'evaluation.tex'),
|
||||
@ -130,9 +236,6 @@ def main():
|
||||
(programme_dir, 'prerequis.tex'),
|
||||
(programme_dir, 'public.tex'),
|
||||
]
|
||||
#('slides', 'license-cc-by-sa-2.0.tex'),
|
||||
#('slides', 'preambule.tex'),
|
||||
#('slides', 'title.tex')]
|
||||
for directory, template_file in resources:
|
||||
template = jinja_env.get_template(template_file)
|
||||
rendered_template = template.render(**env)
|
||||
@ -142,17 +245,21 @@ def main():
|
||||
with open(path.join(directory, template_dest_name), 'w') as rendered_file:
|
||||
rendered_file.write(rendered_template)
|
||||
|
||||
@git_integration
|
||||
def update(args):
|
||||
"""
|
||||
update function
|
||||
"""
|
||||
with open(args.master, 'r') as master:
|
||||
master_file = path.join('presentations', args.directory, 'diaporama.tex')
|
||||
|
||||
with open(master_file, 'r') as master:
|
||||
tex_master = master.read()
|
||||
tex_class = DOCUMENTCLASS_RE.search(tex_master)
|
||||
tex_skbconfig = SKBCONFIG_RE.search(tex_master)
|
||||
tex_skbinputs = SKBINPUT_RE.finditer(tex_master)
|
||||
fragment = TEMPLATES[tex_class.group('document_class')]['fragment']
|
||||
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:
|
||||
rep = path.dirname(skbinput.group('tex'))
|
||||
@ -164,14 +271,26 @@ def main():
|
||||
print(dest)
|
||||
if not path.isdir(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': '',
|
||||
'name': dest}
|
||||
rendered_template = template.render(**env)
|
||||
with open(dest, 'w') as rendered_file:
|
||||
rendered_file.write(rendered_template)
|
||||
|
||||
def tex_compile(args):
|
||||
master_files = [path.join('presentations', args.directory, tex_file)
|
||||
for tex_file in ['diaporama.tex', 'programme.tex', 'support.tex']]
|
||||
|
||||
for master_file in master_files:
|
||||
subprocess.call(['rubber', '--inplace', '-c shell_escape', '--unsafe', '--module=xelatex', master_file])
|
||||
|
||||
@git_integration
|
||||
def outline(args):
|
||||
"""
|
||||
outline creation
|
||||
@ -211,7 +330,7 @@ def main():
|
||||
else:
|
||||
return []
|
||||
|
||||
def filter_outlines(headers_list, max_level=None):
|
||||
def filter_outlines(headers_list, max_level=0):
|
||||
filtered_outlines = []
|
||||
default_max_level = max([hl[1] for hl in headers_list])
|
||||
if not max_level:
|
||||
@ -268,7 +387,10 @@ def main():
|
||||
section_re = re.compile(r'\\section\{(?P<name>.*?)\}')
|
||||
part_re = re.compile(r'\\part\{(?P<name>.*?)}')
|
||||
subsection_re = re.compile(r'\\subsection\{(?P<name>.*?)\}')
|
||||
with open(args.master, 'r') as master_tex:
|
||||
master_file = path.join('presentations', args.directory, 'diaporama.tex')
|
||||
max_level = args.levels
|
||||
|
||||
with open(master_file, 'r') as master_tex:
|
||||
master = master_tex.read()
|
||||
skbconfig = SKBCONFIG_RE.search(master)
|
||||
|
||||
@ -279,10 +401,10 @@ def main():
|
||||
includes = SKBINPUT_RE.finditer(master)
|
||||
parts_list = [(part.start(), part_level, part.group('name')) for part in parts]
|
||||
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, args.master, 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]
|
||||
structured_outline = structure_outline(filter_outlines(reorder_lists(parts_list, sections_list, includes_list, subsections_list)))
|
||||
content_file = path.join(path.dirname(path.abspath(args.master)), 'programme', 'contenu.tex')
|
||||
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')
|
||||
with open(content_file, 'w') as content_fh:
|
||||
content_fh.write(structured_outline.render())
|
||||
|
||||
@ -302,7 +424,6 @@ def main():
|
||||
subparsers = parser.add_subparsers(help='Aide des sous-commandes')
|
||||
parser_init = subparsers.add_parser('init', help='Initialisation du fichier maître')
|
||||
parser_init.add_argument('-f', '--format', help="Format du document", required=True)
|
||||
parser_init.add_argument('-n', '--name', help="Nom du fichier à créer", required=True)
|
||||
parser_init.add_argument('-a', '--author', help="Auteur de la formation")
|
||||
parser_init.add_argument('-c', '--client', help="Client")
|
||||
parser_init.add_argument('-t', '--title', help="Titre de la formation")
|
||||
@ -310,14 +431,26 @@ def main():
|
||||
parser_init.add_argument('-d', '--directory', help="Sous-répertoires où créer le fichier", required=True)
|
||||
parser_init.add_argument('-i', '--institutes', nargs='*', help="Instituts dont les logos sont requis")
|
||||
parser_init.set_defaults(func=init)
|
||||
|
||||
parser_update = subparsers.add_parser('update', help='Mise à jour des fichiers inclus')
|
||||
parser_update.add_argument('-m', '--master', help="Emplacement du fichier maître", required=True)
|
||||
parser_update.add_argument('-d', '--directory', help="Sous-répertoires contenant le diaporama", required=True)
|
||||
parser_update.set_defaults(func=update)
|
||||
|
||||
parser_outline = subparsers.add_parser('outline', help="Création du programme à partir du fichier maître")
|
||||
parser_outline.add_argument('-m', '--master', help="Emplacement du fichier maître", 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)
|
||||
|
||||
if subprocess.check_output(['rubber', '--version']):
|
||||
parser_compile = subparsers.add_parser('compile', help='Compiler les différents documents en faisant appel à rubber')
|
||||
parser_compile.add_argument('-d', '--directory', help="Sous-répertoires contenant les documents", required=True)
|
||||
parser_compile.set_defaults(func=tex_compile)
|
||||
|
||||
args = parser.parse_args()
|
||||
args.func(args)
|
||||
if hasattr(args, 'func'):
|
||||
args.func(args)
|
||||
else:
|
||||
parser.print_usage()
|
||||
|
||||
|
||||
class Outline:
|
||||
|
@ -1,5 +0,0 @@
|
||||
\begin{frame}
|
||||
\frametitle{.tex}
|
||||
fichier slides/modules\_EOLE\_envole/.tex à éditer
|
||||
% contenu (pas trop long) de la diapositive
|
||||
\end{frame}
|
80
slides/modules_EOLE_envole/amon/01-base.tex
Normal file
@ -0,0 +1,80 @@
|
||||
\begin{frame}
|
||||
\frametitle{Serveur DNS}
|
||||
\begin{itemize}
|
||||
\item Amon propose un serveur DNS ;
|
||||
\item il est possible de configurer un ou plusieurs DNS père ;
|
||||
\item DNS master de zone supplémentaire ;
|
||||
\item forward de zone DNS ;
|
||||
\item ajout d'hôte dans la résolution de domaine.
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}
|
||||
\frametitle{Pratique : serveur DNS}
|
||||
\begin{itemize}
|
||||
\item ajouter seven.monreseau.lan avec l'adresse IP du poste seven ;
|
||||
\item ajouter seven.nouveaureseau.lan avec l'adresse IP du poste seven.
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}
|
||||
\frametitle{Serveur DNS et RVP}
|
||||
\begin{itemize}
|
||||
\item Si RVP activé ;
|
||||
\item serveur DNS in.ac-acad.fr ;
|
||||
\item serveur DNS AGRIATE.
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}
|
||||
\frametitle{Agrégation de liens}
|
||||
\begin{itemize}
|
||||
\item Utiliser deux abonnements Internet sur un même Amon ;
|
||||
\item garantir une meilleure qualité de service ;
|
||||
\item poids de chaque abonnement pour répartir la charge ;
|
||||
\item la configuration se fait durant l'étape de configuration ;
|
||||
\item limite : le RVP passe par un seul lien.
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}
|
||||
\frametitle{Réseau}
|
||||
\begin{itemize}
|
||||
\item alias :
|
||||
\begin{itemize}
|
||||
\item plusieurs IP pour une adresse réseau physique.
|
||||
\end{itemize}
|
||||
\item VLAN :
|
||||
\begin{itemize}
|
||||
\item segmentation des réseaux ;
|
||||
\item se fait au niveau des équipements réseaux.
|
||||
\end{itemize}
|
||||
\item RADIUS :
|
||||
\begin{itemize}
|
||||
\item RADIUS : protocole client-serveur permettant de centraliser des données d'authentification ;
|
||||
\item connecte les utilisateurs vers leur VLAN ;
|
||||
\item nécessite des équipements réseaux compatibles.
|
||||
\end{itemize}
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}
|
||||
\frametitle{Route statique}
|
||||
\begin{itemize}
|
||||
\item Réseau locale accessible via une passerelle ;
|
||||
\item onglet "Réseau avancé" "Ajouter des routes statiques" :
|
||||
\begin{itemize}
|
||||
\item adresse IP ou réseau + masque,
|
||||
\item passerelle pour accéder au réseau,
|
||||
\item interface réseau reliée à la passerelle,
|
||||
\item autorisation sur les DNS.
|
||||
\end{itemize}
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}
|
||||
\frametitle{Pratique}
|
||||
\begin{itemize}
|
||||
\item Mettre en place une route statique.
|
||||
\end{itemize}
|
||||
\end{frame}
|
135
slides/modules_EOLE_envole/amon/02-era.tex
Normal file
@ -0,0 +1,135 @@
|
||||
\begin{frame}
|
||||
\frametitle{Présentation}
|
||||
\begin{itemize}
|
||||
\item Outil de génération de règles pour pare-feu ;
|
||||
\item enregistre la description de la politique de sécurité dans un fichier XML ;
|
||||
\item génération de commandes iptables par compilation ;
|
||||
\item il est possible de mettre des variables Creole ;
|
||||
\item zone de sécurité : correspond à une interface réseau ;
|
||||
\item matrice de flux : classé par origine et par destination ;
|
||||
\item flux orienté (interdit pour les flux montants, autorisé pour les flux descendants, interdit pour les flux égaux) ;
|
||||
\item politique par défaut ;
|
||||
\item extrémité : machine ou réseau d'une zone ;
|
||||
\item directive : règle.
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}
|
||||
\frametitle{Directive}
|
||||
\begin{itemize}
|
||||
\item Les extrémités
|
||||
\item les services et groupes de services
|
||||
\item les plages horaires
|
||||
\item les groupes d'utilisateurs (NuFW) : tous-identifiés, non-identifiés, ... (Obsolète)
|
||||
\item les groupes d'applications (NuFW) (Obsolète)
|
||||
\item les types de directives : autorisation/interdiction, redirection, NAT, ...
|
||||
\item la journalisation
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}
|
||||
\frametitle{Pratique}
|
||||
\begin{itemize}
|
||||
\item Lancer Era et ouvrir le fichier 2zones-amonecole ;
|
||||
\item identifier les zones, les flux et les directives ;
|
||||
\item ajouter une extrémité seven avec IP ;
|
||||
\item ajouter un groupe de services avec le service samba3, smtp et pop ;
|
||||
\item ajouter une plage horaire : du lundi au vendredi de 12h à 14h ;
|
||||
\item ajouter interdire le groupe + plage horaire de pedago vers l'extrémité Seven;
|
||||
\item ajouter une directive DNAT de Seven vers 8500 ;
|
||||
\item enregistrer le fichier dans un nouveau modèle ;
|
||||
\item dans gen\_config modifier le modèle utilisé ;
|
||||
\item vérifier l'application des règles avec iptables-save.
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}
|
||||
\frametitle{Les directives optionnelles}
|
||||
\begin{itemize}
|
||||
\item Directive activable et désactivable depuis l'EAD ;
|
||||
\item il suffit de spécifier un libellé dans "directive optionnelle EAD" ;
|
||||
\item alphanumérique + "\_" et " " (pas d'accent !) ;
|
||||
\item notion de groupe de directives optionnelles ;
|
||||
\item possibilité de directive optionnelle active ;
|
||||
\item deux types d'action EAD :
|
||||
\begin{itemize}
|
||||
\item configuration générale,
|
||||
\item filtre web 1/2.
|
||||
\end{itemize}
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}
|
||||
\frametitle{Pratique}
|
||||
\begin{itemize}
|
||||
\item Transformer la règle de DNAT en directive optionnelle activé par défaut ;
|
||||
\item reconfigure ;
|
||||
\item vérifier la présence de la règle dans l'EAD.
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}
|
||||
\frametitle{Les directives optionnelles cachées}
|
||||
\begin{itemize}
|
||||
\item Directive optionnelle non présente dans l'EAD ;
|
||||
\item s'active/désactive via un patch du template : /usr/share/eole/creole/distrib/active\_tags.
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
\begin{frame}
|
||||
\frametitle{Pratique}
|
||||
\begin{itemize}
|
||||
\item Rendre la directive optionnelle et l'activer/désactiver dans l'EAD ;
|
||||
\item rendre la directive optionnelle cachée.
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}
|
||||
\frametitle{La qualité de service}
|
||||
\begin{itemize}
|
||||
\item Zone interne vers extérieur ;
|
||||
\item il faut fixer une valeur d'upload et de download en méga bits par seconde ;
|
||||
\item spécifie un pourcentage d'utilisation ;
|
||||
\item penser à activer la QOS dans les options.
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}
|
||||
\frametitle{Les règles netbios}
|
||||
\begin{itemize}
|
||||
\item Dans les options du modèle, possibilité d'activer les règles netbios ;
|
||||
\item permet de bloquer les requêtes du réseau Microsoft vers l'extérieur.
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}
|
||||
\frametitle{Pratique}
|
||||
\begin{itemize}
|
||||
\item Activer la qualité de service ;
|
||||
\item configurer la QOS.
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}
|
||||
\frametitle{Options avancées}
|
||||
\begin{itemize}
|
||||
\item Peut se connecter à Zéphir ;
|
||||
\item héritage de modèle :
|
||||
\begin{itemize}
|
||||
\item hérite des directives d'un modèle parent,
|
||||
\item directives non modifiable dans le nouveau modèle,
|
||||
\item nouvelle directive dans le modèle,
|
||||
\item il faut un nouveau modèle puis "importer" le modèle hérité ;
|
||||
\end{itemize}
|
||||
\item l'inclusion statique.
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}
|
||||
\frametitle{Pratique}
|
||||
\begin{itemize}
|
||||
\item Faire un modèle hérité ;
|
||||
\item vérifier que les règles ne sont pas modifiable ;
|
||||
\item ajouter une inclusion statique.
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
177
slides/modules_EOLE_envole/amon/03-filtrage.tex
Normal file
@ -0,0 +1,177 @@
|
||||
\begin{frame}
|
||||
\frametitle{Présentation}
|
||||
\begin{itemize}
|
||||
\item Possibilités :
|
||||
\begin{itemize}
|
||||
\item configurer la manière dont le filtrage s'effectue ;
|
||||
\item associer des filtrages à des utilisateurs ;
|
||||
\item associer des filtrages à des machines ;
|
||||
\item configurer par zone de configuration ;
|
||||
\item configurer par politique de filtrage ;
|
||||
\item 2 configurations possibles (FiltrageWeb1 et FiltrageWeb2) ;
|
||||
\item désactivable dans gen\_config.
|
||||
\end{itemize}
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}
|
||||
\frametitle{Interdire ou autoriser des sites web}
|
||||
\begin{itemize}
|
||||
\item Interdire des sites : compléter la liste noire ;
|
||||
\item autoriser des sites : forcer l'autorisation d'un site ;
|
||||
\item applicable à des zones entières ou à des politiques de filtrage ;
|
||||
\item les listes sont mises à jour régulièrement ;
|
||||
\item signaler pour améliorer les performances et la qualité des listes (action EAD).
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}
|
||||
\frametitle{Politique de liste blanche}
|
||||
\begin{itemize}
|
||||
\item restreindre la navigation à un ensemble de sites ;
|
||||
\item ne pas confondre avec les sites autorisés.
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}
|
||||
\frametitle{Filtre optionnel}
|
||||
\begin{itemize}
|
||||
\item la liste de sites interdits comprend des catégories ;
|
||||
\item par défaut seules les catégories "adult" et "redirector" sont activées ;
|
||||
\item activation par configuration ou politique de filtrage ;
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}
|
||||
\frametitle{Filtre syntaxique}
|
||||
\begin{itemize}
|
||||
\item Filtrage dynamique des pages ;
|
||||
\item possibilités :
|
||||
\begin{itemize}
|
||||
\item sur les balises méta (par défaut) ;
|
||||
\item sur la page entière ;
|
||||
\item désactivé.
|
||||
\end{itemize}
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}
|
||||
\frametitle{Filtre des extensions}
|
||||
\begin{itemize}
|
||||
\item Interdire le téléchargement portant certaines extensions ;
|
||||
\item applicable à des zones entières ou à des politiques de filtrage.
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}
|
||||
\frametitle{Filtre des types MIME}
|
||||
\begin{itemize}
|
||||
\item Un type MIME est une information donnée par le serveur permettant de connaitre le format d'un document sans se baser sur l'extension.
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}
|
||||
\frametitle{Pratique}
|
||||
\begin{itemize}
|
||||
\item Tester les différents types de filtrage ;
|
||||
\item voir l'action de signalement.
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}
|
||||
\frametitle{Filtre par machine}
|
||||
\begin{itemize}
|
||||
\item Filtrage par groupe de machine (IP) ;
|
||||
\item possibilités :
|
||||
\begin{itemize}
|
||||
\item interdire l'accès au réseau ;
|
||||
\item interdire la navigation web uniquement ;
|
||||
\item autoriser la navigation web selon des horaires ;
|
||||
\item associer une politique de filtrage.
|
||||
\end{itemize}
|
||||
% \item attention, l'ancienne méthode par "poste" n'est plus d'actualité.
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}
|
||||
\frametitle{Filtre par utilisateur}
|
||||
\begin{itemize}
|
||||
\item Pré-requis : il doit y avoir une authentification utilisateur ;
|
||||
\item permet d'ajouter un filtrage spécial à un utilisateur ;
|
||||
\item si filtrage par utilisateur, le filtrage par machine n'est plus fonctionnel (pour https, sauf avec e2guardian).
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}
|
||||
\frametitle{Pratique}
|
||||
\begin{itemize}
|
||||
\item Créer un groupe de machines : configuration1/Groupe de machine ;
|
||||
\item tester ;
|
||||
\item créer un utilisateur : Configuration1/Utilisateurs ;
|
||||
\item tester.
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}
|
||||
\frametitle{Filtre par destination}
|
||||
\begin{itemize}
|
||||
\item Possibilité d'interdire l'accès à des destinations depuis une politique de filtrage.
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}
|
||||
\frametitle{Ne pas authentifier / mettre en cache}
|
||||
\begin{itemize}
|
||||
\item La destination : Sites de mise à jour ;
|
||||
\item la source : Sources à ne pas authentifier.
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}
|
||||
\frametitle{Filtre antivirus web}
|
||||
\begin{itemize}
|
||||
\item Possible d'activer l'antivirus sur le filtrage web ;
|
||||
\item utilise ClamAV.
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}
|
||||
\frametitle{Pratique}
|
||||
\begin{itemize}
|
||||
\item Activer le filtrage antivirus dans gen\_config ;
|
||||
\item Aller sur "http://www.eicar.org" ;
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
%\begin{frame}
|
||||
% \frametitle{Filtre P2P}
|
||||
% \begin{itemize}
|
||||
% \item Permet de bloquer les échanges de fichiers en P2P ;
|
||||
% \item 2 filtres au choix : l7filter ou ipp2p.
|
||||
% \end{itemize}
|
||||
%\end{frame}
|
||||
|
||||
%\begin{frame}
|
||||
% \frametitle{Horaire}
|
||||
% \begin{itemize}
|
||||
% \item Les horaires du pare-feu : ferme la totalité du pare-feu ;
|
||||
% \end{itemize}
|
||||
%\end{frame}
|
||||
|
||||
\begin{frame}
|
||||
\frametitle{Numéro de filtrage web}
|
||||
\begin{itemize}
|
||||
\item Il est possible de différencier les politiques de filtrage suivant l'interface ;
|
||||
\item eole2 : administrateur de la 2ème configuration.
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}
|
||||
\frametitle{Gérer au mieux les ressources}
|
||||
\begin{itemize}
|
||||
\item Ne pas activer trop de politiques de filtrage par défaut (0 à 3 politiques) ;
|
||||
\item ne pas démarrer trop d'instances e2guardian (voir la configuration) ... ;
|
||||
\item filtrage syntaxique (surtout sur la page entière) ;
|
||||
\item antivirus.
|
||||
\end{itemize}
|
||||
\end{frame}
|
40
slides/modules_EOLE_envole/amon/04-cntlm.tex
Normal file
@ -0,0 +1,40 @@
|
||||
\begin{frame}
|
||||
\frametitle{WPAD}
|
||||
\begin{itemize}
|
||||
\item WPAD permet la configuration automatique des postes clients ;
|
||||
\item le navigateur doit être configuré en conséquence ;
|
||||
\item possibilité d'exceptions :
|
||||
\begin{itemize}
|
||||
\item d'un nom de domaine,
|
||||
\item d'un nom de domaine local (donc aussi les sous-domaines),
|
||||
\item d'un IP.
|
||||
\end{itemize}
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}
|
||||
\frametitle{Diagnostic WPAD}
|
||||
\begin{itemize}
|
||||
\item sous windows nslookup wpad ;
|
||||
\item si erreur, bien vérifier le nom de domaine dans ipconfig /all ;
|
||||
\item vérifier le domaine complet : nslookup wpad.nomdomain.lan
|
||||
\item si erreur, problème DNS sur le poste/erreur BIND ;
|
||||
\item désactiver le proxy dans firefox et tester http://wpad/wpad.dat
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}
|
||||
\frametitle{CNTLM}
|
||||
\begin{itemize}
|
||||
\item Poste dans un domaine différent sans support NTLM ;
|
||||
\item fonctionne sur un port différent (3127).
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}
|
||||
\frametitle{Pratique}
|
||||
\begin{itemize}
|
||||
\item Forcer l'utilisation de CNTLM (sur le poste de travail).
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
56
slides/modules_EOLE_envole/amon/06-proxy.tex
Normal file
@ -0,0 +1,56 @@
|
||||
\begin{frame}
|
||||
\frametitle{Proxy père}
|
||||
\begin{itemize}
|
||||
\item Proxy père académique ;
|
||||
\item proxy père pour une zone ;
|
||||
\item coopération des caches.
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}
|
||||
\frametitle{Authentification sur le proxy}
|
||||
\begin{itemize}
|
||||
\item Obligation légale ;
|
||||
\item plusieurs types :
|
||||
\begin{itemize}
|
||||
\item NTLM/SMB
|
||||
\item LDAP/Active directory
|
||||
\item NTLM/Kerberos
|
||||
\item fichier local
|
||||
\end{itemize}
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}
|
||||
\frametitle{Pratique}
|
||||
\begin{itemize}
|
||||
\item Activer l'authentification du proxy en NTLM/SMB.
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}
|
||||
\frametitle{Observation}
|
||||
\begin{itemize}
|
||||
\item Action EAD désactivé par défaut ;
|
||||
\item activable en mode expert dans l'onglet "Filtrage web" / "Autoriser la consultation des logs liés au filtrage web dans l'EAD" ;
|
||||
\item action EAD : "Filtre Web 1" / "Visite de site" ;
|
||||
\item il est possible de visualiser des logs par :
|
||||
\begin{itemize}
|
||||
\item date (obligatoire)
|
||||
\item heure de visite ;
|
||||
\item IP du visiteur ;
|
||||
\item login du visiteur ;
|
||||
\item seulement les accès refusés.
|
||||
\end{itemize}
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}
|
||||
\frametitle{Lightsquid}
|
||||
\begin{itemize}
|
||||
\item Possibilité d'utiliser lightsquid en plus ou à la place de l'observation ;
|
||||
\item nécessaire de lancer un script pour avoir des informations à jour (information dans l'action EAD) ;
|
||||
\item automatisable dans l'onglet "Squid" (Tâche Cron);
|
||||
\item anonymisable.
|
||||
\end{itemize}
|
||||
\end{frame}
|
15
slides/modules_EOLE_envole/amon/06-relaidhcp.tex
Normal file
@ -0,0 +1,15 @@
|
||||
\begin{frame}
|
||||
\frametitle{Relai DHCP}
|
||||
\begin{itemize}
|
||||
\item Le protocole DHCP fonctionne en utilisant un mécanisme de broadcast (pas routables) ;
|
||||
\item nécessaire si serveur et station ne sont pas sur le même réseau ;
|
||||
\item relai DHCP non disponible sur AmonEcole.
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}
|
||||
\frametitle{Pratique}
|
||||
\begin{itemize}
|
||||
\item Voir les configurations possible pour DHCP relai.
|
||||
\end{itemize}
|
||||
\end{frame}
|
18
slides/modules_EOLE_envole/amon/08-radius.tex
Normal file
@ -0,0 +1,18 @@
|
||||
\begin{frame}
|
||||
\frametitle{RADIUS}
|
||||
\begin{itemize}
|
||||
\item choisir entre 2 modes d'utilisation de RADIUS :
|
||||
\item 802.1X :
|
||||
\begin{itemize}
|
||||
\item 802.1X : permet de taguer dynamiquement des ports d'un switch (NAS) sur lesquels sont brassées des stations en fonction du compte LDAP de connexion,
|
||||
\item accounting : permet de créer un réseau Wi-Fi WPA enterprise sur une borne Wi-Fi (NAS).
|
||||
\end{itemize}
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}
|
||||
\frametitle{Pratique}
|
||||
\begin{itemize}
|
||||
\item Voir les configurations possible de RADIUS.
|
||||
\end{itemize}
|
||||
\end{frame}
|
@ -1,5 +1,5 @@
|
||||
\begin{frame}
|
||||
\frametitle {Amon}
|
||||
\frametitle{Amon}
|
||||
\begin{itemize}
|
||||
\item Amon, la passerelle pare-feu :
|
||||
\begin{itemize}
|
||||
@ -7,6 +7,7 @@
|
||||
\item authentifications des utilisateurs ;
|
||||
\item réseau virtuel privé ;
|
||||
\item cache web ;
|
||||
\item filtrage web ;
|
||||
\item reverse proxy web.
|
||||
\end{itemize}
|
||||
\end{itemize}
|
||||
|
@ -7,8 +7,8 @@
|
||||
\item Scribe.
|
||||
\end{itemize}
|
||||
\end{itemize}
|
||||
\begin{alertblock}{Module obsolète}
|
||||
Le module AmonEcole n’est plus disponible au-delà de la 2.6.
|
||||
Le pcll préconise l’installation des deux modules Amon et Scribe en environnement virtualisé à partir de la 2.7.
|
||||
\begin{alertblock}{Module absent en 2.7}
|
||||
Le module AmonEcole n’est pas disponible en 2.7.
|
||||
Le pcll préconise l’installation des deux modules Amon et Scribe en environnement virtualisé en 2.7.
|
||||
\end{alertblock}
|
||||
\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}
|
||||
\frametitle{Configuration autonome}
|
||||
\framesubtitle{Nature d’une configuration}
|
||||
\framesubtitle{L'application gen\_config}
|
||||
\begin{itemize}
|
||||
\item des familles regroupant les variables ;
|
||||
\item des variables typées ;
|
||||
\item des variables à la source identifiée ;
|
||||
\item des contraintes affectant les variables.
|
||||
\item gen\_config n'est qu'un éditeur de fichier config.eol ;
|
||||
\item peut s'exécuter en ligne de commade ;
|
||||
\item interface web disponible après instance si autorisé.
|
||||
\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 ;
|
||||
\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}
|
@ -1,5 +0,0 @@
|
||||
\begin{frame}
|
||||
\frametitle{diagnostic.tex}
|
||||
fichier slides/modules\_EOLE\_envole/tronc-commun-1/administration/diagnostic.tex à éditer
|
||||
% contenu (pas trop long) de la diapositive
|
||||
\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,24 @@
|
||||
\begin{frame}
|
||||
\frametitle{connexion.tex}
|
||||
fichier slides/modules\_EOLE\_envole/tronc-commun-1/administration/ead/connexion.tex à éditer
|
||||
% contenu (pas trop long) de la diapositive
|
||||
\frametitle{Se connecter}
|
||||
\begin{itemize}
|
||||
\item Ajouter ou supprimer des onglets pour communiquer avec d'autres serveurs de commande ;
|
||||
\begin{itemize}
|
||||
\item nécessite une autorisation au niveau du pare-feu du serveur ;
|
||||
\item nécessite un partage du certificat du serveur.
|
||||
\end{itemize}
|
||||
\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}
|
@ -1,5 +1,13 @@
|
||||
\begin{frame}
|
||||
\frametitle{description.tex}
|
||||
fichier slides/modules\_EOLE\_envole/tronc-commun-1/administration/ead/description.tex à éditer
|
||||
% contenu (pas trop long) de la diapositive
|
||||
\frametitle{EAD}
|
||||
\begin{itemize}
|
||||
\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}
|
@ -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}
|
||||
\frametitle{fonctions-basiques.tex}
|
||||
fichier slides/modules\_EOLE\_envole/tronc-commun-1/administration/ead/fonctions-basiques.tex à éditer
|
||||
% contenu (pas trop long) de la diapositive
|
||||
\frametitle{Fonctions de base}
|
||||
\begin{itemize}
|
||||
\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}
|
@ -1,5 +1,23 @@
|
||||
\begin{frame}
|
||||
\frametitle{gestion-roles.tex}
|
||||
fichier slides/modules\_EOLE\_envole/tronc-commun-1/administration/ead/gestion-roles.tex à éditer
|
||||
% contenu (pas trop long) de la diapositive
|
||||
\frametitle{Gestion des rôles EAD}
|
||||
\begin{itemize}
|
||||
\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}
|
@ -1,5 +0,0 @@
|
||||
\begin{frame}
|
||||
\frametitle{firewall.tex}
|
||||
fichier slides/modules\_EOLE\_envole/tronc-commun-1/administration/firewall.tex à éditer
|
||||
% contenu (pas trop long) de la diapositive
|
||||
\end{frame}
|
@ -1,5 +0,0 @@
|
||||
\begin{frame}
|
||||
\frametitle{instance-reconfigure.tex}
|
||||
fichier slides/modules\_EOLE\_envole/tronc-commun-1/administration/instance-reconfigure.tex à éditer
|
||||
% contenu (pas trop long) de la diapositive
|
||||
\end{frame}
|
@ -1,5 +0,0 @@
|
||||
\begin{frame}
|
||||
\frametitle{mise-a-jour.tex}
|
||||
fichier slides/modules\_EOLE\_envole/tronc-commun-1/administration/mise-a-jour.tex à éditer
|
||||
% contenu (pas trop long) de la diapositive
|
||||
\end{frame}
|
@ -1,5 +0,0 @@
|
||||
\begin{frame}
|
||||
\frametitle{onduleur.tex}
|
||||
fichier slides/modules\_EOLE\_envole/tronc-commun-1/administration/onduleur.tex à éditer
|
||||
% contenu (pas trop long) de la diapositive
|
||||
\end{frame}
|
@ -1,5 +0,0 @@
|
||||
\begin{frame}
|
||||
\frametitle{schedule.tex}
|
||||
fichier slides/modules\_EOLE\_envole/tronc-commun-1/administration/schedule.tex à éditer
|
||||
% contenu (pas trop long) de la diapositive
|
||||
\end{frame}
|
@ -3,8 +3,7 @@
|
||||
\framesubtitle{Les canaux publics}
|
||||
\begin{itemize}
|
||||
\item la documentation (\url{https://pcll.ac-dijon.fr/eole/documentations/}) ;
|
||||
\item le forum EOLE (\url{https://www.libre-communaute.fr}) ;
|
||||
\item les archives des listes de diffusion (\url{https://pcll.ac-dijon.fr/listes/lists/Diffusion}) ;
|
||||
\item le vénérable canal irc eole hébergé par freenode.
|
||||
\item le vénérable canal irc eole hébergé par oftc.
|
||||
\end{itemize}
|
||||
\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}
|
@ -1,24 +1,10 @@
|
||||
{\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}
|
||||
\frametitle{Pratique}
|
||||
\begin{itemize}
|
||||
\item Configurer le serveur via la commande gen\_config ;
|
||||
\item informations utiles :
|
||||
\begin{itemize}
|
||||
\item Adresse ip de la carte eth0 ;
|
||||
\item Passerelle ;
|
||||
\item DNS : DNS de la machine hôte ;
|
||||
\end{itemize}
|
||||
\item enregistrer la configuration (attention il faut confirmer) ;
|
||||
\item quitter gen\_config.
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
}
|
||||
|
@ -52,12 +52,15 @@
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}
|
||||
\frametitle{Les comptes administrateurs locaux}
|
||||
La gestion des services sur les modules EOLE s’appuie sur des comptes administrateurs locaux :
|
||||
\frametitle{Les comptes administrateurs}
|
||||
La gestion des services sur les modules EOLE s’appuie sur des comptes administrateurs systèmes :
|
||||
\begin{itemize}
|
||||
\item \emph{root},
|
||||
\item administrateur à droits restreints \emph{eole},
|
||||
\item éventuellement des comptes administrateurs à droits restreints supplémentaires,
|
||||
\item éventuellement des comptes administrateurs à droits restreints supplémentaires.
|
||||
\end{itemize}
|
||||
Et des comptes administrateurs annuaires :
|
||||
\begin{itemize}
|
||||
\item \emph{admin} et \emph{Administrator} sur Scribe et Horus,
|
||||
\item \emph{Administrator} sur Seth,
|
||||
\item \emph{admin\_zephir} sur Zéphir.
|
||||
|
@ -1,11 +1,22 @@
|
||||
{\setbeamercolor{background canvas}{bg=TravauxPratiques}
|
||||
\begin{frame}
|
||||
\frametitle{Pratique}
|
||||
\framesubtitle{Modification de la configuration}
|
||||
\begin{itemize}
|
||||
\item Modifier la valeur de la variable swappiness
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
|
||||
\begin{frame}
|
||||
\frametitle{Pratique}
|
||||
\framesubtitle{Modification de la configuration}
|
||||
\begin{enumerate}
|
||||
\item Modifier la valeur de la variable swappiness,
|
||||
\item sauvegarder la nouvelle configuration,
|
||||
\item appliquer la nouvelle configuration en lançant la commande \commande{reconfigure}.
|
||||
\item Démarrer gen\_config ;
|
||||
\item modifier en mode expert "Système" / "Poids relatif de l'utilisation de la swap par rapport à la mémoire vive" => 10 ;
|
||||
\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{frame}
|
||||
}
|
||||
|
@ -1,5 +0,0 @@
|
||||
\begin{frame}
|
||||
\frametitle{11-integration-horus.tex}
|
||||
fichier slides/modules\_EOLE\_envole/horus/11-integration-horus.tex à éditer
|
||||
% contenu (pas trop long) de la diapositive
|
||||
\end{frame}
|
@ -11,5 +11,7 @@
|
||||
\item applications nationales.
|
||||
\end{itemize}
|
||||
\end{itemize}
|
||||
Le module Horus ne sera pas reconduit après la 2.7.
|
||||
\begin{alertblock}{Module obsolète à partir de la 2.8}
|
||||
Le module Horus n’est plus disponible à partir de la 2.8.
|
||||
\end{alertblock}
|
||||
\end{frame}
|
||||
|
@ -7,6 +7,7 @@
|
||||
\item authentifications des utilisateurs ;
|
||||
\item réseau virtuel privé ;
|
||||
\item cache web ;
|
||||
\item filtrage web ;
|
||||
\item reverse proxy web.
|
||||
\end{itemize}
|
||||
\end{itemize}
|
||||
|
@ -18,6 +18,17 @@
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
{\setbeamercolor{background canvas}{bg=TravauxPratiques}
|
||||
\begin{frame}
|
||||
\frametitle{Pratique : utilisateur}
|
||||
\begin{itemize}
|
||||
\item Dans EAD2 créer un utilisateur de type professeur ;
|
||||
\item créer un utilisateur de type élève ;
|
||||
\item créer un groupe et l'associer à l'élève ;
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
}
|
||||
|
||||
\begin{frame}
|
||||
\frametitle{Les quotas}
|
||||
\begin{itemize}
|
||||
@ -27,13 +38,27 @@
|
||||
\item il ne peut pas dépasser la limite dure,
|
||||
\item il peut dépasser la limite douce pendant 7 jours,
|
||||
\item passé ce délai : seul la limite douce compte,
|
||||
\item supprimer des données : repart au début.
|
||||
\item par défaut la limite dure est le double de la limite douce,
|
||||
\item supprimer des données : repart au début,
|
||||
\end{itemize}
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}
|
||||
\frametitle{Les quotas Scribe}
|
||||
\frametitle{Outil de visualisation des quotas}
|
||||
\begin{itemize}
|
||||
\item infosquota :
|
||||
\begin{itemize}
|
||||
\item apt-eole install eole-infosquota ;
|
||||
\item http://<adresse\_serveur>/quotas/ pour la configuration ;
|
||||
\item un programme est exécuté à l'ouverture de la session.
|
||||
\end{itemize}
|
||||
\item warnquota : envoi de mails aux utilisateurs (via cron)
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}
|
||||
\frametitle{Les quotas Scribe : EAD2}
|
||||
\begin{itemize}
|
||||
\item EAD : Outils/Quotas : permet de visualiser les quotas suivants :
|
||||
\begin{itemize}
|
||||
@ -44,6 +69,30 @@
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}
|
||||
\frametitle{Les quotas Scribe : EAD3}
|
||||
\begin{itemize}
|
||||
\item Non installé par défaut :
|
||||
\begin{itemize}
|
||||
\item quotas dépassés,
|
||||
\item quotas à surveiller (presque atteint),
|
||||
\item tous les quotas.
|
||||
\end{itemize}
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
{\setbeamercolor{background canvas}{bg=TravauxPratiques}
|
||||
\begin{frame}
|
||||
\frametitle{Pratique : Quota}
|
||||
\begin{itemize}
|
||||
\item Dans gen\_config vérifier le pourcentage entre la limite douce et dure (samba / quota\_hard\_limit\_percent en mode expert) ;
|
||||
\item copier des fichiers dans le home de l'élève (attention au droit) ;
|
||||
\item vérifier les quotas dans l'ead2 ;
|
||||
\item vérifier les quotas dans l'ead3.
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
}
|
||||
|
||||
\begin{frame}
|
||||
\frametitle{Les partages groupes}
|
||||
\begin{itemize}
|
||||
@ -101,6 +150,7 @@
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
{\setbeamercolor{background canvas}{bg=TravauxPratiques}
|
||||
\begin{frame}
|
||||
\frametitle{Pratique}
|
||||
\begin{itemize}
|
||||
@ -115,6 +165,7 @@
|
||||
\end{itemize}
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
}
|
||||
|
||||
\begin{frame}
|
||||
\frametitle{L'importation Scribe}
|
||||
@ -126,12 +177,14 @@
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
{\setbeamercolor{background canvas}{bg=TravauxPratiques}
|
||||
\begin{frame}
|
||||
\frametitle{Pratique}
|
||||
\begin{itemize}
|
||||
\item Importer des comptes.
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
}
|
||||
|
||||
\begin{frame}
|
||||
\frametitle{La purge des comptes}
|
||||
@ -155,12 +208,14 @@
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
{\setbeamercolor{background canvas}{bg=TravauxPratiques}
|
||||
\begin{frame}
|
||||
\frametitle{Pratique}
|
||||
\begin{itemize}
|
||||
\item Purger des comptes élèves non modifiés depuis 0 jours.
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
}
|
||||
|
||||
\begin{frame}
|
||||
\frametitle{L'édition groupée}
|
||||
@ -176,9 +231,30 @@
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
{\setbeamercolor{background canvas}{bg=TravauxPratiques}
|
||||
\begin{frame}
|
||||
\frametitle{Pratique}
|
||||
\begin{itemize}
|
||||
\item Edition groupée.
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
}
|
||||
|
||||
\begin{frame}
|
||||
\frametitle{Les ACLs}
|
||||
\begin{itemize}
|
||||
\item Peut être gérer via un poste client ;
|
||||
\item via l'EAD2 ;
|
||||
\item via l'EAD3 (si eole-fichier-actions est installés).
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
{\setbeamercolor{background canvas}{bg=TravauxPratiques}
|
||||
\begin{frame}
|
||||
\frametitle{Pratique}
|
||||
\begin{itemize}
|
||||
\item Changer des ACL dans l'EAD2 : outils/gestion des acls ;
|
||||
\item changer des ACL dans l'EAD3 : système/gestion des ACL
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
}
|
||||
|
@ -1,34 +1,47 @@
|
||||
\begin{frame}
|
||||
\frametitle{Présentation générale}
|
||||
\begin{itemize}
|
||||
\item Bacula ;
|
||||
\item Bacula/Bareos ;
|
||||
\item outil de sauvegarde libre pour :
|
||||
\begin{itemize}
|
||||
\item les fichiers/dossiers,
|
||||
\item les droits POSIX,
|
||||
\item les ACLs ;
|
||||
\item les fichiers/dossiers ;
|
||||
\item les droits POSIX ;
|
||||
\item les ACLs.
|
||||
\end{itemize}
|
||||
\item séparation EOLE :
|
||||
\begin{itemize}
|
||||
\item directeur (+ serveur de fichier),
|
||||
\item directeur (+ serveur de fichier) ;
|
||||
\item espace de stockage.
|
||||
\end{itemize}
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}
|
||||
\frametitle{Commandes EOLE pour bareos}
|
||||
\begin{itemize}
|
||||
\item pour EOLE 2.5 / 2.6 / 2.7 :
|
||||
\begin{itemize}
|
||||
\item les commandes sont dans le \uppercase{path} ;
|
||||
\item \commande{bareosconfig.py} ;
|
||||
\item \commande{bareosmount.py} ;
|
||||
\item \commande{bareosrestore.py} ;
|
||||
\end{itemize}
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}
|
||||
\frametitle{Configuration du directeur}
|
||||
\begin{itemize}
|
||||
\item types de sauvegarde :
|
||||
\begin{itemize}
|
||||
\item sauvegarde totale (T),
|
||||
\item sauvegarde différentielle (D),
|
||||
\item sauvegarde incrémentale (I) ;
|
||||
\item sauvegarde totale (T) ;
|
||||
\item sauvegarde différentielle (D) ;
|
||||
\item sauvegarde incrémentale (I).
|
||||
\end{itemize}
|
||||
\item durée de rétention (modifiable dans gen\_config) :
|
||||
\begin{itemize}
|
||||
\item totale : 6 mois,
|
||||
\item différentielle : 5 semaines,
|
||||
\item totale : 6 mois ;
|
||||
\item différentielle : 5 semaines ;
|
||||
\item incrémentale : 10 jours.
|
||||
\end{itemize}
|
||||
\end{itemize}
|
||||
@ -36,14 +49,14 @@
|
||||
|
||||
\begin{frame}
|
||||
\frametitle{Configuration du directeur}
|
||||
\includegraphics[width=8cm]{modules_EOLE_envole/scribe/sauvegarde.png}
|
||||
\skbfigure[width=8cm]{en/modules_EOLE_envole/sauvegarde.png}
|
||||
\end{frame}
|
||||
|
||||
|
||||
\begin{frame}
|
||||
\frametitle{Configuration des fichiers sauvegardés}
|
||||
\begin{itemize}
|
||||
\item les fichiers personnalisés dans le répertoire /etc/bacula/baculafichiers.d/ ;
|
||||
\item les fichiers personnalisés dans le répertoire /etc/bareos/bareosfichiers.d/ ;
|
||||
\item possibilité d'ajouter des fichiers à sauvegarder ;
|
||||
\item possibilité d'exclure des fichiers.
|
||||
\end{itemize}
|
||||
@ -57,9 +70,9 @@
|
||||
\item si l'espace de stockage est local ;
|
||||
\item support:
|
||||
\begin{itemize}
|
||||
\item distant (SMB),
|
||||
\item local (USB, externe),
|
||||
\item manuel (lecteur de bande) ;
|
||||
\item distant (SMB) ;
|
||||
\item local (USB, externe) ;
|
||||
\item manuel (lecteur de bande).
|
||||
\end{itemize}
|
||||
\end{itemize}
|
||||
\item depuis EAD ;
|
||||
@ -69,22 +82,77 @@
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}
|
||||
\frametitle{Configurer en ligne de commande}
|
||||
\frametitle{Configurer une sauvegarde en ligne de commande}
|
||||
La commande de configuration est :
|
||||
\begin{itemize}
|
||||
\item \commande{bareosconfig.py} en 2.5, 2.6 et 2.7
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}
|
||||
\frametitle{Configurer une sauvegarde en ligne de commande}
|
||||
\framesubtitle{Configurer le support de sauvegarde}
|
||||
Trois configurations possibles pour le support de sauvegarde :
|
||||
\begin{itemize}
|
||||
\item La commande : /usr/share/eole/bacula/baculaconfig.py
|
||||
\item afficher la configuration actuelle : -d
|
||||
\item configurer le support de sauvegarde : -s [usb|smb|manual]
|
||||
\begin{itemize}
|
||||
\item usb : --usb\_path=/dev/sdc
|
||||
\item smb : --smb\_machine= --smb\_ip= --smb\_partage= --smb\_login= --smb\_password=
|
||||
\end{itemize}
|
||||
\item configurer l'adresse mail : -m + --mail\_ok= + --mail\_error
|
||||
\item programmation de la sauvegarde : -j [daily|weekly|monthly]
|
||||
\item niveau de programmation : --job\_level=[Full|Incemental|Differential]
|
||||
\item heure de sauvegarde : --job\_hour= de 0 à 23 heures
|
||||
\item jour de la programmation : --job\_day=[1-7] (journalières avec --job\_end\_day=[1-7])
|
||||
\item appliquer la configuration : -a
|
||||
\item lancer une sauvegarde : -n --level=
|
||||
\item<1-> support usb
|
||||
\only<1>{\begin{itemize}
|
||||
\item \commande{bareosconfig.py -s usb --usb\_path=<peripherique>}
|
||||
\end{itemize}}
|
||||
\item<1-> support smb
|
||||
\only<2>{\begin{itemize}
|
||||
\item \commande{bareosconfig.py -s smb --smb\_machine=<nom d'hôte> --smb\_ip=<adresse ip> --smb\_partage=<nom du partage> [--smb\_login=<compte> --smb\_password=<mot de passe>]}
|
||||
\end{itemize}}
|
||||
\item<1-> support manuel
|
||||
\only<3>{\begin{itemize}
|
||||
\item \commande{bareosconfig.py -s manual}
|
||||
\end{itemize}}
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}
|
||||
\frametitle{Configurer une sauvegarde en ligne de commande}
|
||||
\framesubtitle{Plannifier la sauvegarde}
|
||||
Trois fréquences de plannification :
|
||||
\begin{itemize}
|
||||
\item<1-> quotidienne
|
||||
\only<1>{\begin{itemize}
|
||||
\item \commande{bareosconfig.py -j daily --job\_level=Full|Incremental|Differential --job\_hour=<0-23> --job\_day=<1-7> --job\_end\_day=<1-7>}
|
||||
\end{itemize}}
|
||||
\item<1-> hebdomadaire
|
||||
\only<2>{\begin{itemize}
|
||||
\item \commande{bareosconfig.py -j weekly --job\_level=Full|Incremental|Differential --job\_hour=<0-23> --job\_day=<1-7>}
|
||||
\end{itemize}}
|
||||
\item<1-> mensuelle
|
||||
\only<3>{\begin{itemize}
|
||||
\item \commande{bareosconfig.py -j monthly --job\_level=Full|Incremental|Differential --job\_hour=<0-23> --job\_day=<1-7>}
|
||||
\end{itemize}}
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}
|
||||
\frametitle{Configurer une sauvegarde en ligne de commande}
|
||||
\framesubtitle{Configurer les destinataires des rapports}
|
||||
Le destinataire est identifié par un courriel.\newline
|
||||
Le destinataire peut être différent en cas d'erreur ou de succès.\newline
|
||||
L'envoi par courriel est facultatif.\newline
|
||||
\begin{itemize}
|
||||
\item \commande{bareosconfig.py -m [--mail\_ok=<courriel>] [--mail\_error=courriel]}
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}
|
||||
\frametitle{Configurer une sauvegarde en ligne de commande}
|
||||
\framesubtitle{Afficher la configuration courante}
|
||||
La configuration courante peut être affichée à l'écran :
|
||||
\begin{itemize}
|
||||
\item \commande{bareosconfig.py -d}
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}
|
||||
\frametitle{Lancer une sauvegarde immédiatement}
|
||||
\begin{itemize}
|
||||
\item \commande{bareosconfig.py -n --level=Full|Incremental|Differential}.
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
@ -101,27 +169,32 @@
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
{\setbeamercolor{background canvas}{bg=TravauxPratiques}
|
||||
\begin{frame}
|
||||
\frametitle{Pratique}
|
||||
\begin{itemize}
|
||||
\item Sauvegarder le serveur sur le partage Windows
|
||||
\item Créer le partage sous windows ;
|
||||
\item configurer la sauvegarde dans l'EAD2 ;
|
||||
\item exécuter une sauvegarde immédiate dans l'EAD3.
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
}
|
||||
|
||||
\begin{frame}
|
||||
\frametitle{Restauration partielle}
|
||||
\begin{itemize}
|
||||
\item Script /usr/share/eole/bacula/bacularestore.py ;
|
||||
\item rechercher un fichier : --search \* ;
|
||||
\item restaurer un fichier : --file nom\_du\_fichier ;
|
||||
\item restaurer le dossier et contenu : --folder nom\_du\_dossier ;
|
||||
\item restaurer tous les fichiers : --all\_files ;
|
||||
\item restaurer les bases de données : --mysql ;
|
||||
\item restaurer un annuaire LDAP : --ldap ;
|
||||
\item Script \commande{[/usr/share/eole/bareos/]bareosrestore.py} (2.5, 2.6, 2.7) ;
|
||||
\item rechercher un fichier : \commande{--search \*} ;
|
||||
\item restaurer un fichier : \commande{--file nom\_du\_fichier} ;
|
||||
\item restaurer le dossier et contenu : \commande{--folder nom\_du\_dossier} ;
|
||||
\item restaurer tous les fichiers : \commande{--all\_files} ;
|
||||
\item restaurer les bases de données : \commande{--mysql} ;
|
||||
\item restaurer un annuaire LDAP : \commande{--ldap} ;
|
||||
\item ...
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
{\setbeamercolor{background canvas}{bg=TravauxPratiques}
|
||||
\begin{frame}
|
||||
\frametitle{Pratique}
|
||||
\begin{itemize}
|
||||
@ -131,36 +204,53 @@
|
||||
\item rechercher le fichier et le restaurer.
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
}
|
||||
|
||||
\begin{frame}
|
||||
\frametitle{Restauration totale}
|
||||
\begin{itemize}
|
||||
\item Installer le serveur (avec gen\_conteneur) ;
|
||||
\item configurer le support de sauvegarde en ligne de commande ;
|
||||
\item monter le support de sauvegarde : /usr/share/eole/bacula/baculamount.py --mount ;
|
||||
\item restaurer le catalogue : /usr/share/eole/bacula/bacularestore.py --catalog scribe-dir (attention restauration aussi de la configuration bacula) ;
|
||||
\item instanciation du serveur : instance zephir-restore.eol ;
|
||||
\item monter le support de sauvegarde : \commande{bareosmount.py --mount} ;
|
||||
\item restaurer le catalogue : \commande{bareosrestore.py --catalog <nom du directeur (scribe-dir)>} (attention restauration aussi de la configuration bareos) ;
|
||||
\item instanciation du serveur : \commande{instance zephir-restore.eol} ;
|
||||
\item ne pas reinitiliser la base Bacula ;
|
||||
\item restauration totale : /usr/share/eole/bacula/bacularestore.py --all.
|
||||
\item restauration totale : \commande{bareosrestore.py --all}.
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
{\setbeamercolor{background canvas}{bg=TravauxPratiques}
|
||||
\begin{frame}
|
||||
\frametitle{Restauration totale en 2.6, et 2.7}
|
||||
\begin{itemize}
|
||||
\item Installer le serveur (avec gen\_conteneur) ;
|
||||
\item configurer le support de sauvegarde en ligne de commande ;
|
||||
\item monter le support de sauvegarde : \commande{bareosmount.py --mount} ;
|
||||
\item restaurer le catalogue : \commande{]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 ne pas reinitiliser la base Bareos ;
|
||||
\item bareosrestore.py --catalog (sans options) ;
|
||||
\item restauration totale : \commande{bareosrestore.py --all}.
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
}
|
||||
|
||||
\begin{frame}
|
||||
\frametitle{Résolution des problèmes}
|
||||
\begin{itemize}
|
||||
\item Diagnose ;
|
||||
\item les logs :
|
||||
\begin{itemize}
|
||||
\item /var/log/rsyslog/local/bacula-dir/,
|
||||
\item /var/log/rsyslog/local/bacula-fd/,
|
||||
\item /var/log/rsyslog/local/bacula-sd/ ;
|
||||
\item /var/log/rsyslog/local/bareos-dir/,
|
||||
\item /var/log/rsyslog/local/bareos-fd/,
|
||||
\item /var/log/rsyslog/local/bareos-sd/ ;
|
||||
\end{itemize}
|
||||
\item la console bconsole :
|
||||
\item la console \commande{bconsole} :
|
||||
\begin{itemize}
|
||||
\item messages,
|
||||
\item status dir|sd|fd|all ;
|
||||
\item \commande{messages} ;
|
||||
\item \commande{status dir|sd|fd|all} ;
|
||||
\end{itemize}
|
||||
\item test de montage : /usr/share/eole/bacula/baculamount.py -t ;
|
||||
\item supprimer le verrou : /usr/share/eole/bacula/baculaconfig.py --unlock .
|
||||
\item test de montage : \commande{bareosmount.py -t} ;
|
||||
\item supprimer le verrou : \commande{bareosconfig.py --unlock} .
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
@ -33,7 +33,19 @@
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}
|
||||
\frametitle{Les quotas Scribe}
|
||||
\frametitle{Les quotas Scribe : EAD2}
|
||||
\begin{itemize}
|
||||
\item EAD : Outils/Quotas : permet de visualiser les quotas suivants :
|
||||
\begin{itemize}
|
||||
\item quotas dépassés,
|
||||
\item quotas à surveiller (presque atteint),
|
||||
\item tous les quotas.
|
||||
\end{itemize}
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}
|
||||
\frametitle{Les quotas Scribe : EAD3}
|
||||
\begin{itemize}
|
||||
\item EAD : Outils/Quotas : permet de visualiser les quotas suivants :
|
||||
\begin{itemize}
|
||||
|
19
slides/modules_EOLE_envole/scribeAD/acl.tex
Normal file
@ -0,0 +1,19 @@
|
||||
\begin{frame}
|
||||
\frametitle{Les ACLs}
|
||||
\begin{itemize}
|
||||
\item Peut être gérer via la ligne de commande ;
|
||||
\item un poste client ;
|
||||
\item via l'EAD2 ;
|
||||
\item via l'EAD3 (si eole-fichier-actions est installés).
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
{\setbeamercolor{background canvas}{bg=TravauxPratiques}
|
||||
\begin{frame}
|
||||
\frametitle{Pratique}
|
||||
\begin{itemize}
|
||||
\item Changer des ACL dans l'EAD2 : outils/gestion des acls ;
|
||||
\item changer des ACL dans l'EAD3 : système/gestion des ACL
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
}
|
26
slides/modules_EOLE_envole/scribeAD/auto-ou.tex
Normal file
@ -0,0 +1,26 @@
|
||||
\begin{frame}
|
||||
\frametitle{Classement automatique AD}
|
||||
\begin{itemize}
|
||||
\item Il peut être intéressant de classer les utilisateurs ou les ordinateurs automatiquement dans des OU (par exemple pour les GPO)
|
||||
\begin{itemize}
|
||||
\item désactivé par défaut ;
|
||||
\item on peut classer les utilisateurs et les ordinateurs suivant différents critères.
|
||||
\end{itemize}
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
{\setbeamercolor{background canvas}{bg=TravauxPratiques}
|
||||
\begin{frame}
|
||||
\frametitle{Classement automatiquement AD}
|
||||
\framesubtitle{Mise en pratique}
|
||||
\begin{itemize}
|
||||
\item activer dans gen\_config : GPO / Unités d'organisation ;
|
||||
\item passer à "oui" "Activer la création automatique d'une arborescence d'UO" ;
|
||||
\item "Unité d'organisation" : "PC math" ;
|
||||
\item "Quels objets AD doivent être classé ?" : "ordinateur" ;
|
||||
\item "Critère de sélection des nouveaux objets AD (regex)" : "PC-83" ;
|
||||
\item reconfigure ;
|
||||
\item exécuter le script de synchronisation immédiatement dans EAD3 : Gestion AD / Classer les nouveaux utilisateurs et ordinateurs OU.
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
}
|
@ -1,3 +1,21 @@
|
||||
\begin{frame}
|
||||
\frametitle{Configuration DHCP}
|
||||
\begin{itemize}
|
||||
\item configuration des IPs dynamiques :
|
||||
\begin{itemize}
|
||||
\item activer dans gen\_config ;
|
||||
\item informations : adresse réseau - netmask - route - DNS - IP basse et IP haute ;
|
||||
\end{itemize}
|
||||
\item configuration des baux statiques :
|
||||
\begin{itemize}
|
||||
\item action EAD : outils - DHCP statique ;
|
||||
\item informations : nom machine - adresse IP - adresse MAC ;
|
||||
\item possibilité de consulter, utiliser les baux en cours ;
|
||||
\item attention, ne doit pas être la plage du POOL DHCP.
|
||||
\end{itemize}
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}
|
||||
\frametitle{Intégration des postes clients}
|
||||
\framesubtitle{Le principe}
|
||||
@ -19,4 +37,23 @@
|
||||
La jonction au domaine est orchestrée grâce à salt-stack.
|
||||
|
||||
Le serveur s’assure que les clients sont dans un état donné en leur faisant exécuter des actions si nécessaire.
|
||||
\begin{itemize}
|
||||
\item Méthode 1 : Intégration manuelle
|
||||
\begin{enumerate}
|
||||
\item intégration au domaine Windows,
|
||||
\item reboot du client.
|
||||
\end{enumerate}
|
||||
\item méthode 2 : Intégration automatique (recommandée)
|
||||
\begin{enumerate}
|
||||
\item ouvrir un navigateur web et saisir l'adresse suivante : http://salt/joineole,
|
||||
\item télécharger le programme d'installation du client EOLE,
|
||||
\item executer le programme d'installation du client EOLE,
|
||||
\item acceptation de la clef :
|
||||
\begin{enumerate}
|
||||
\item salt-key pour lister les postes en attente d'approbation, salt-key -a <NOM-DU-POSTE> pour accepter,
|
||||
\item EAD3 : Client / Gestion des clés clients.
|
||||
\end{enumerate}
|
||||
\item le poste est intégré au domaine et il redémarre.
|
||||
\end{enumerate}
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
@ -5,6 +5,6 @@
|
||||
\item \commande{salt "*" test.ping} (Liste les clients en cours de fonctionnement);
|
||||
\item \commande{smbclient -L <nom du serveur> -U <utilisateur> -p} (Liste les partages disponibles pour l'utilisateur) ;
|
||||
\item \commande{smbclient -U USER //<nom du serveur>/<utilisateur> -p} (Se connecter au serveur avec un utilisateur);
|
||||
\item \commande{service samba-ad-dc status} (Affiche l'état du service);
|
||||
\item \commande{ssh addc service samba-ad-dc status} (Affiche l'état du service);
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
@ -1,7 +0,0 @@
|
||||
{\setbeamercolor{background canvas}{bg=TravauxPratiques}
|
||||
\begin{frame}
|
||||
\frametitle{sauvegarde-pratique.tex}
|
||||
fichier slides/modules\_EOLE\_envole/scribeAD/sauvegarde-pratique.tex à éditer
|
||||
% contenu (pas trop long) de la diapositive
|
||||
\end{frame}
|
||||
}
|
@ -19,6 +19,17 @@
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
{\setbeamercolor{background canvas}{bg=TravauxPratiques}
|
||||
\begin{frame}
|
||||
\frametitle{Pratique : utilisateur}
|
||||
\begin{itemize}
|
||||
\item Dans EAD2 créer un utilisateur de type professeur ;
|
||||
\item créer un utilisateur de type élève ;
|
||||
\item créer un groupe et l'associer à l'élève ;
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
}
|
||||
|
||||
\begin{frame}
|
||||
\frametitle{Les utilisateurs Scribe}
|
||||
\framesubtitle{Les quotas}
|
||||
@ -29,14 +40,28 @@
|
||||
\item il ne peut pas dépasser la limite dure,
|
||||
\item il peut dépasser la limite douce pendant 7 jours,
|
||||
\item passé ce délai : seul la limite douce compte,
|
||||
\item par défaut la limite dure est le double de la limite douce,
|
||||
\item supprimer des données : repart au début.
|
||||
\end{itemize}
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}
|
||||
\frametitle{Outil d'information des quotas}
|
||||
\begin{itemize}
|
||||
\item infosquota :
|
||||
\begin{itemize}
|
||||
\item apt-eole install eole-infosquota ;
|
||||
\item http://<adresse\_serveur>/quotas/ pour la configuration ;
|
||||
\item un programme est exécuté à l'ouverture de la session.
|
||||
\end{itemize}
|
||||
\item warnquota : envoi de mails aux utilisateurs (via cron)
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}
|
||||
\frametitle{Les utilisateurs Scribe}
|
||||
\framesubtitle{Les quotas Scribe}
|
||||
\framesubtitle{Les quotas Scribe : EAD2}
|
||||
\begin{itemize}
|
||||
\item EAD : Outils/Quotas : permet de visualiser les quotas suivants :
|
||||
\begin{itemize}
|
||||
@ -47,6 +72,30 @@
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}
|
||||
\frametitle{Les quotas Scribe : EAD3}
|
||||
\begin{itemize}
|
||||
\item EAD : Système/Gestion des quotas fichiers :
|
||||
\begin{itemize}
|
||||
\item permet de visualiser les quotas ;
|
||||
\item permet de modifier les quotas.
|
||||
\end{itemize}
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
{\setbeamercolor{background canvas}{bg=TravauxPratiques}
|
||||
\begin{frame}
|
||||
\frametitle{Pratique : Quota}
|
||||
\begin{itemize}
|
||||
\item apt-eole install eole-infosquota eole-fichier-quota ;
|
||||
\item Dans gen\_config vérifier le pourcentage entre la limite douce et dure (samba / quota\_hard\_limit\_percent en mode expert) ;
|
||||
\item copier des fichiers dans le home de l'élève (attention au droit) ;
|
||||
\item vérifier les quotas dans l'ead2 ;
|
||||
\item vérifier les quotas dans l'ead3.
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
}
|
||||
|
||||
\begin{frame}
|
||||
\frametitle{Les utilisateurs Scribe}
|
||||
\framesubtitle{Les partages groupes}
|
||||
|
@ -1,5 +0,0 @@
|
||||
\begin{frame}
|
||||
\frametitle{partages.tex}
|
||||
fichier slides/modules\_EOLE\_envole/seth/partages.tex à éditer
|
||||
% contenu (pas trop long) de la diapositive
|
||||
\end{frame}
|
@ -89,7 +89,7 @@
|
||||
\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 la configuration n'est pas envoyée immédiatement sur le serveur ;
|
||||
\item gen\_config sur le serveur peut récupérer les modifications.
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
59
slides/modules_EOLE_envole/tronc-commun-1/31-ead3.tex
Normal file
@ -0,0 +1,59 @@
|
||||
\begin{frame}
|
||||
\frametitle{EAD3}
|
||||
\begin{itemize}
|
||||
\item but à terme : remplacer EAD2 (toutes les actions ne sont pas encore portées) ;
|
||||
\item uniquement destiné au administrateur (contrairement à EAD2 où il peut y avoir des accès professeurs) ;
|
||||
\item desactivable (sactivé par défaut) ;
|
||||
\item interface ead3 : https://<adresse\_module>/ ;
|
||||
\item seule les utilisateurs locaux du groupe "adm" peuvent se connecter (eole).
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}
|
||||
\frametitle{Interface}
|
||||
\begin{itemize}
|
||||
\item Liste des familles ;
|
||||
\item actions par famille ;
|
||||
\item possibilité de recherche d'action :
|
||||
\begin{itemize}
|
||||
\item recherche par "tag"
|
||||
\item recherche par mot clé
|
||||
\end{itemize}
|
||||
\item affichage par "badge" ou par "tableau" ;
|
||||
\item marque page (attention stocker dans le navigateur).
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}
|
||||
\frametitle{Action de base}
|
||||
\begin{itemize}
|
||||
\item Mise à jour :
|
||||
\begin{itemize}
|
||||
\item paquets à mettre jour (Query-Auto) ;
|
||||
\item mise à jour (Maj-Auto) ;
|
||||
\item rapport de mise à jour.
|
||||
\end{itemize}
|
||||
\item Système :
|
||||
\begin{itemize}
|
||||
\item services : liste les services géré par EOLE,
|
||||
\item redémarrer,
|
||||
\item éteindre,
|
||||
\item reconfigure.
|
||||
\end{itemize}
|
||||
\item tâches planifiées (schedule).
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
{\setbeamercolor{background canvas}{bg=TravauxPratiques}
|
||||
\begin{frame}
|
||||
\frametitle{Pratique : EAD3}
|
||||
\begin{itemize}
|
||||
\item Se connecter à l'EAD3 ;
|
||||
\item rechercher l'actions "redémarrer" ;
|
||||
\item mettre cette action en marque-page ;
|
||||
\item découvrir les actions ;
|
||||
\item redémarrer le service ead-server (EAD2) ;
|
||||
\item vérifier les mises à jours ;
|
||||
\item programmer un reconfigure cette nuit.
|
||||
\end{itemize}
|
||||
\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}
|
||||
}
|
@ -8,7 +8,7 @@
|
||||
\item del\_user.py,
|
||||
\item list\_users.py ;
|
||||
\end{itemize}
|
||||
\item un utilisateur = des affectations.
|
||||
\item un utilisateur => des affectations de droit à faire.
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
@ -20,103 +20,3 @@
|
||||
\item serveur : un module dans un établissement.
|
||||
\end{itemize}
|
||||
\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{frame}
|
||||
|
||||
{\setbeamercolor{background canvas}{bg=TravauxPratiques}
|
||||
\begin{frame}
|
||||
\frametitle{Pratique}
|
||||
\begin{itemize}
|
||||
@ -19,6 +20,7 @@
|
||||
\item ajouter la clef à l'utilisateur.
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
}
|
||||
|
||||
\begin{frame}
|
||||
\frametitle{Groupe de serveurs}
|
||||
|
@ -0,0 +1,27 @@
|
||||
{\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 établissement ;
|
||||
\item créer un nouveau serveur dans l'établissement ;
|
||||
\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 envoyée 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}
|