13 Commits

48 changed files with 324 additions and 329 deletions

2
.gitignore vendored
View File

@ -14,3 +14,5 @@
build-messages-*.txt build-messages-*.txt
plans_de_formation.tar.gz plans_de_formation.tar.gz
.~lock* .~lock*
*.pygtex
*.pygstyle

View File

@ -48,14 +48,15 @@ Les figures sont placées à part dans le répertoire _figures_.
Ces éléments de contenu sont inclus dans des fichiers principaux placés dans le répertoire _presentations_. Ces éléments de contenu sont inclus dans des fichiers principaux placés dans le répertoire _presentations_.
Le répertoire _template_ contient des modèles de document au format jinja utilisés par le script _setup_main_tex_file.py_. Le répertoire _templates_ contient des modèles de document au format jinja utilisés par le script _setup_main_tex_file.py_.
## setup_main_tex_file.py ## setup_main_tex_file.py
Le script setup_main_tex_file.py permet dorganiser la procédure en proposant : Le script setup_main_tex_file.py permet dorganiser la procédure en proposant :
- la création du fichier maître pour une formation - la création des fichiers maîtres pour une formation ;
- la création des fichiers de contenu à inclure si nécessaire - la création des fichiers de contenu à inclure si nécessaire ;
- la mise à jour du plan de formation en fonction des éléments inclus. - la mise à jour du plan de formation en fonction des éléments inclus ;
- la compilation des trois documents (diaporama, support de cours et programme) si lapplication rubber est installée.
Pour chacune de ses sous-étapes, le script propose une sous-commande. Pour chacune de ses sous-étapes, le script propose une sous-commande.
@ -79,7 +80,7 @@ Les autres options prendront des valeurs par défaut si elles ne sont pas fourni
À noter, pour la licence, que seule la CC-BY-SA v2 est disponible dans les contenus à inclure pour linstant. À noter, pour la licence, que seule la CC-BY-SA v2 est disponible dans les contenus à inclure pour linstant.
Lexécution de la commande précédente produit le fichier presentations/modules_EOLE_envole/Conseil_Départemental/CD_Formation_Scribe.tex Lexécution de la commande précédente produit le fichier presentations/modules_EOLE_envole/Conseil_Départemental/diaporama.tex.
### Construire le contenu dune formation ### Construire le contenu dune formation
@ -155,16 +156,16 @@ Seule la dernière inclusion poserait problème lors de la compilation.
Pour permettre de lancer des compilations sans attendre que tout le contenu soit prêt, le script propose une sous commande qui prépare le terrain en créant les fichiers de contenu manquant. Pour permettre de lancer des compilations sans attendre que tout le contenu soit prêt, le script propose une sous commande qui prépare le terrain en créant les fichiers de contenu manquant.
``` ```
./setup_main_tex_file.py update -m presentations/modules_EOLE_envole/Conseil_Départemental/CD_Formation_Scribe.tex ./setup_main_tex_file.py update -d modules_EOLE_envole/Conseil_Départemental
``` ```
Le seul argument de cette sous-commande _update_ permet didentifier le fichier maître. Le seul argument de cette sous-commande _update_ permet didentifier 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 nexiste pas déjà. Cette commande traite toutes les directives skbinput et créer le fichier à inclure sil nexiste pas déjà.
Elle affiche la liste des fichiers créés en retour de commande. Elle affiche la liste des fichiers créés en retour de commande.
``` ```
$ ./setup_main_tex_file.py update -m presentations/modules_EOLE_envole/Conseil_Départemental/CD_Formation_Scribe.tex $ ./setup_main_tex_file.py update -d modules_EOLE_envole/Conseil_Départemental/
slides/modules_EOLE_envole/commun/du-contenu-inexistant.tex slides/modules_EOLE_envole/commun/du-contenu-inexistant.tex
``` ```
@ -179,7 +180,11 @@ Ce fichier contient du texte permettant de le repérer facilement dans le docume
### Affichage du plan (sous-commande outline) ### Affichage du plan (sous-commande outline)
À ce stade, le script propose un simple affichage sur la sortie standard du plan déduit du contenu La sous-commande _outline_ permet de créer un sommaire du diaporama sous la forme de listes imbriquées et de linclure dans le programme.
Il est possible de restreindre le nombre de niveaux de titre utilisé pour le plan avec loption -l.
```
./setup_main_tex_file.py outline -d modules_EOLE_envole/Conseil_Départemental
```
``` ```
Introduction Introduction
EOLE EOLE
@ -228,7 +233,39 @@ Les quatre phases
### Génération du document ### Génération du document
En alternative à la recette Makefile pas encore adaptée pour la compilation de ce nouveau format, on peut utiliser la commande rubber (paquet supplémentaire à installer) Comme alternative à la recette Makefile pas encore adaptée pour la compilation de ce nouveau format, on peut utiliser la commande rubber (paquet supplémentaire à installer)
``` ```
rubber --inplace --module=xelatex presentations/modules_EOLE_envole/Conseil_Départemental/CD_Formation_Scribe.tex rubber --inplace --module=xelatex presentations/modules_EOLE_envole/Conseil_Départemental/CD_Formation_Scribe.tex
``` ```
La sous-commande _compile_ appelle rubber pour compiler les trois documents : diaporama, support et programme.
```
./setup_main_tex_file.py compile -d modules_EOLE_envole/Conseil_Départemental
```
Cette sous-commande nest 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 loccurence) 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 dautomatiser 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 dinitialisation
Linitialisation doit être effectué depuis la branche _master_ et exécute les actions suivantes :
- création dune branche nommée daprè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.

View File

@ -1,91 +0,0 @@
\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 Scribe-Amon-Hâpy}
\newcommand{\pdfkeywords}{EOLE}
\skbinput[from=sli]{style/preambule}
\newlength{\logospacing}
\setlength{\logospacing}{(\textwidth - 2cm*1)/0}
\logo{
\skbfigure[width=2cm]{logos/Cadoles.png}~
}
\title[]{Formation Scribe-Amon-Hâpy}
\subtitle{Notre Dame des Vertus}
\author[Equipe Auteur]{Cadoles}
\institute[Cadoles]{\skbfigure[width=2cm]{logos/Cadoles.png}}
\date{{\small \today}}
\subject{Talks}
\AtBeginSubsection[]
{
\begin{frame}<beamer>
\frametitle{}
\tableofcontents[currentsection,currentsubsection]
\end{frame}
}
\begin{document}
\skbinput[from=sli]{style/title}
% Corps de la formation
%\skbinput[from=sli]{}
\section{Introduction}
\subsection{La distribution EOLE}
\section{Tronc commun}
\subsection{Les quatre phases}
\subsection{Ladministration courante}
\subsubsection{Mise à jour}
\subsubsection{Sauvegarde}
\subsubsection{Tâches plannifiées}
\subsection{Les interfaces dadministration}
\section{Infrastructure déployée}
\subsection{Concepts}
\subsection{Mise en place}
\subsection{Évolutivité}
\section{Hâpy}
\subsection{Configuration}
\subsection{Maintenance}
\subsection{Gestion des VM}
\section{Amon}
\subsection{Configuration}
\subsection{Maintenance}
\subsection{Gestion du proxy}
\subsection{Gestion du pare-feu}
\section{Scribe}
\subsection{Configuration}
\subsection{Maintenance}
\subsection{Gestion du domaine}
\subsubsection{Gestion des utilisateurs}
\subsubsection{Gestion des machines et sessions}
\subsection{Services pédagogiques}
\skbinput[from=sli]{licences/license-cc-by-sa-2.0}
\end{document}

View File

@ -1,54 +0,0 @@
\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}{29 bis, rue de lArquebuse}
\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}
\section{Évaluation des acquis}
\input{./programme/evaluation.tex}
\newpage
\section{Contenu de la formation}
\input{./programme/contenu.tex}
\IfFileExists{./programme/moyens.tex}{%
\section{Moyens pédagogiques, techniques et d'encadrement}
\input{./programme/moyens.tex}
}{}
\end{document}

View File

@ -1,39 +0,0 @@
\begin{itemize}
\item Introduction
\begin{itemize}
\item La distribution EOLE
\end{itemize}
\item Tronc commun
\begin{itemize}
\item Les quatre phases
\item Ladministration courante
\item Les interfaces dadministration
\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}

View File

@ -1 +0,0 @@
40 heures.

View File

@ -1 +0,0 @@
L'appropriation des connaissances est contrôlée par des travaux pratiques durant la formation.

View File

@ -1,4 +0,0 @@
\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}

View File

@ -1 +0,0 @@
Le participant à la formation est autonome pour l'administration des serveurs et la recherche d'informations en vue de résoudre les incidents.

View File

@ -1 +0,0 @@
Connaissance basique des systèmes dexploitation GNU/Linux.

View File

@ -1 +0,0 @@
La formation vise toute personne ayant en charge des tâches d'administration sur des serveurs équipés des modules EOLE Hâpy, Amon et Scribe.

View File

@ -1,41 +0,0 @@
\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 Scribe-Amon-Hâpy}
\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}

View File

@ -16,12 +16,15 @@ LICENSES = {'CC-by-sa-2.0': 'license-cc-by-sa-2.0',
TEMPLATES = { TEMPLATES = {
'beamer': {'fragment': 'frame.tex', 'beamer': {'fragment': 'frame.tex',
'fragment_pratique': 'frame-pratique.tex', 'fragment_pratique': 'frame-pratique.tex',
'fragment_corrige': 'frame-corrige.tex',
'master': 'main-beamer.tex'}, 'master': 'main-beamer.tex'},
'article': {'fragment': 'fragment.tex', 'article': {'fragment': 'fragment.tex',
'fragment_pratique': 'fragment-pratique.tex', 'fragment_pratique': 'fragment-pratique.tex',
'fragment_corrige': 'fragment-corrige.tex',
'master': 'main-article.tex'}, 'master': 'main-article.tex'},
'questionnaire': {'fragment': 'fragment.tex', 'questionnaire': {'fragment': 'fragment.tex',
'fragment_pratique': 'fragment-pratique.tex', 'fragment_pratique': 'fragment-pratique.tex',
'fragment_corrige': 'fragment-corrige.tex',
'master': 'main-questionnaire.tex'} 'master': 'main-questionnaire.tex'}
} }
@ -256,6 +259,7 @@ def main():
tex_skbinputs = SKBINPUT_RE.finditer(tex_master) tex_skbinputs = SKBINPUT_RE.finditer(tex_master)
fragment = TEMPLATES[tex_class.group('document_class')]['fragment'] fragment = TEMPLATES[tex_class.group('document_class')]['fragment']
fragment_pratique = TEMPLATES[tex_class.group('document_class')]['fragment_pratique'] fragment_pratique = TEMPLATES[tex_class.group('document_class')]['fragment_pratique']
fragment_corrige = TEMPLATES[tex_class.group('document_class')]['fragment_corrige']
for skbinput in tex_skbinputs: for skbinput in tex_skbinputs:
rep = path.dirname(skbinput.group('tex')) rep = path.dirname(skbinput.group('tex'))
@ -267,7 +271,12 @@ def main():
print(dest) print(dest)
if not path.isdir(rep): if not path.isdir(rep):
makedirs(rep) makedirs(rep)
template = jinja_env.get_template(fragment_pratique if tex_name.endswith('-pratique') else fragment) if tex_name.endswith('-pratique'):
template = jinja_env.get_template(fragment_pratique)
elif tex_name.endswith('-corrige'):
template = jinja_env.get_template(fragment_corrige)
else:
template = jinja_env.get_template(fragment)
env = {'title': basename, 'subtitle': '', env = {'title': basename, 'subtitle': '',
'name': dest} 'name': dest}
rendered_template = template.render(**env) rendered_template = template.render(**env)
@ -321,7 +330,7 @@ def main():
else: else:
return [] return []
def filter_outlines(headers_list, max_level=None): def filter_outlines(headers_list, max_level=0):
filtered_outlines = [] filtered_outlines = []
default_max_level = max([hl[1] for hl in headers_list]) default_max_level = max([hl[1] for hl in headers_list])
if not max_level: if not max_level:
@ -379,6 +388,8 @@ def main():
part_re = re.compile(r'\\part\{(?P<name>.*?)}') part_re = re.compile(r'\\part\{(?P<name>.*?)}')
subsection_re = re.compile(r'\\subsection\{(?P<name>.*?)\}') subsection_re = re.compile(r'\\subsection\{(?P<name>.*?)\}')
master_file = path.join('presentations', args.directory, 'diaporama.tex') master_file = path.join('presentations', args.directory, 'diaporama.tex')
max_level = args.levels
with open(master_file, 'r') as master_tex: with open(master_file, 'r') as master_tex:
master = master_tex.read() master = master_tex.read()
skbconfig = SKBCONFIG_RE.search(master) skbconfig = SKBCONFIG_RE.search(master)
@ -392,7 +403,7 @@ def main():
sections_list = [(section.start(), section_level, section.group('name')) for section in sections] sections_list = [(section.start(), section_level, section.group('name')) for section in sections]
includes_list = [element for skbinput in includes for element in outline_from_include(file_path_from_skbinput(skbinput, master_file, skbconfig), skbinput.start(), document_class)] includes_list = [element for skbinput in includes for element in outline_from_include(file_path_from_skbinput(skbinput, master_file, skbconfig), skbinput.start(), document_class)]
subsections_list = [(subsection.start(), subsection_level, subsection.group('name')) for subsection in subsections] subsections_list = [(subsection.start(), subsection_level, subsection.group('name')) for subsection in subsections]
structured_outline = structure_outline(filter_outlines(reorder_lists(parts_list, sections_list, includes_list, subsections_list))) structured_outline = structure_outline(filter_outlines(reorder_lists(parts_list, sections_list, includes_list, subsections_list), max_level=max_level))
content_file = path.join(path.dirname(path.abspath(master_file)), 'programme', 'contenu.tex') content_file = path.join(path.dirname(path.abspath(master_file)), 'programme', 'contenu.tex')
with open(content_file, 'w') as content_fh: with open(content_file, 'w') as content_fh:
content_fh.write(structured_outline.render()) content_fh.write(structured_outline.render())
@ -427,6 +438,7 @@ def main():
parser_outline = subparsers.add_parser('outline', help="Création du programme à partir du fichier maître") parser_outline = subparsers.add_parser('outline', help="Création du programme à partir du fichier maître")
parser_outline.add_argument('-d', '--directory', help="Sous-répertoires contenant le diaporama", required=True) parser_outline.add_argument('-d', '--directory', help="Sous-répertoires contenant le diaporama", required=True)
parser_outline.add_argument('-l', '--levels', help="Niveaux de titre à inclure dans le plan", type=int, default=0)
parser_outline.set_defaults(func=outline) parser_outline.set_defaults(func=outline)
if subprocess.check_output(['rubber', '--version']): if subprocess.check_output(['rubber', '--version']):
@ -435,7 +447,10 @@ def main():
parser_compile.set_defaults(func=tex_compile) parser_compile.set_defaults(func=tex_compile)
args = parser.parse_args() args = parser.parse_args()
if hasattr(args, 'func'):
args.func(args) args.func(args)
else:
parser.print_usage()
class Outline: class Outline:

View File

@ -0,0 +1,7 @@
{\setbeamercolor{background canvas}{bg=TravauxPratiques}
\begin{frame}
\frametitle{ajout-application-pratique.tex}
fichier slides/modules\_EOLE\_envole/ajout-application-pratique.tex à éditer
% contenu (pas trop long) de la diapositive
\end{frame}
}

View File

@ -0,0 +1,5 @@
\begin{frame}
\frametitle{ajout-application.tex}
fichier slides/modules\_EOLE\_envole/ajout-application.tex à éditer
% contenu (pas trop long) de la diapositive
\end{frame}

View File

@ -1,5 +1,22 @@
\begin{frame} \begin{frame}
\frametitle{connexion.tex} \frametitle{Se connecter}
fichier slides/modules\_EOLE\_envole/tronc-commun-1/administration/ead/connexion.tex à éditer \begin{itemize}
% contenu (pas trop long) de la diapositive \item Ajouter ou supprimer des onglets pour communiquer avec d'autres serveurs de commande ;
\item authentification locale ;
\item authentification SSO.
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{SSO}
\begin{itemize}
\item EAD, deux systèmes d'authentification :
\begin{itemize}
\item authentification locale (PAM) ;
\item authentification SSO ;
\end{itemize}
\item permet de centraliser l'authentification ;
\item authentification unique ;
\item rôle plus fin.
\end{itemize}
\end{frame} \end{frame}

View File

@ -1,5 +1,13 @@
\begin{frame} \begin{frame}
\frametitle{description.tex} \frametitle{EAD}
fichier slides/modules\_EOLE\_envole/tronc-commun-1/administration/ead/description.tex à éditer \begin{itemize}
% contenu (pas trop long) de la diapositive \item serveur de commande ead-server (activé et non désactivable) :
\item interface ead-web : https://<adresse\_module>:4200/ (activé et désactivable) :
\begin{itemize}
\item gondole d'administration ;
\item menu action ;
\item les onglets ;
\item la partie centrale.
\end{itemize}
\end{itemize}
\end{frame} \end{frame}

View File

@ -1,5 +1,14 @@
\begin{frame} \begin{frame}
\frametitle{fonctions-basiques.tex} \frametitle{Fonctions de base}
fichier slides/modules\_EOLE\_envole/tronc-commun-1/administration/ead/fonctions-basiques.tex à éditer \begin{itemize}
% contenu (pas trop long) de la diapositive \item Redémarrer, arrêter et reconfigurer ;
\item mise à jour ;
\item arrêt et redémarrage de service :
\begin{itemize}
\item mode expert ;
\item mode normal ;
\end{itemize}
\item listing matériel ;
\item bande passante.
\end{itemize}
\end{frame} \end{frame}

View File

@ -1,5 +1,23 @@
\begin{frame} \begin{frame}
\frametitle{gestion-roles.tex} \frametitle{Gestion des rôles EAD}
fichier slides/modules\_EOLE\_envole/tronc-commun-1/administration/ead/gestion-roles.tex à éditer \begin{itemize}
% contenu (pas trop long) de la diapositive \item Rôle par défaut :
\begin{itemize}
\item admin : accès à toutes les actions ;
\item professeur : modification des préférences personnelles, distribution de documents (devoirs) et CUPS ;
\item responsable de classe : professeur + réinitialisation des mots de passe des élèves de sa classe ;
\end{itemize}
\item création de rôles personnalisés ;
\item association de rôles :
\begin{itemize}
\item pour l'authentification locale : sur le login ;
\item pour l'authentification SSO :
\begin{itemize}
\item login de l'utilisateur ;
\item groupe d'utilisateurs ;
\item classe associée à l'utilisateur ;
\item valeur de la clef typeadmin (professeur principal) ;
\end{itemize}
\end{itemize}
\end{itemize}
\end{frame} \end{frame}

View 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 peu de changement dans le cœur ;
\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}

View File

@ -0,0 +1,7 @@
{\setbeamercolor{background canvas}{bg=TravauxPratiques}
\begin{frame}
\frametitle{onduleur-pratique.tex}
fichier slides/modules\_EOLE\_envole/commun/onduleur-pratique.tex à éditer
% contenu (pas trop long) de la diapositive
\end{frame}
}

View File

@ -0,0 +1,5 @@
\begin{frame}
\frametitle{onduleur.tex}
fichier slides/modules\_EOLE\_envole/commun/onduleur.tex à éditer
% contenu (pas trop long) de la diapositive
\end{frame}

View File

@ -0,0 +1,5 @@
\begin{frame}
\frametitle{description.tex}
fichier slides/modules\_EOLE\_envole/description.tex à éditer
% contenu (pas trop long) de la diapositive
\end{frame}

View File

@ -0,0 +1,5 @@
\begin{frame}
\frametitle{eportail.tex}
fichier slides/modules\_EOLE\_envole/eportail.tex à éditer
% contenu (pas trop long) de la diapositive
\end{frame}

View File

@ -0,0 +1,5 @@
\begin{frame}
\frametitle{cli.tex}
fichier slides/modules\_EOLE\_envole/hapy/cli.tex à éditer
% contenu (pas trop long) de la diapositive
\end{frame}

View File

@ -0,0 +1,5 @@
\begin{frame}
\frametitle{configuration-commutateur-virtuel.tex}
fichier slides/modules\_EOLE\_envole/hapy/configuration-commutateur-virtuel.tex à éditer
% contenu (pas trop long) de la diapositive
\end{frame}

View File

@ -0,0 +1,5 @@
\begin{frame}
\frametitle{configuration-hooks-vm.tex}
fichier slides/modules\_EOLE\_envole/hapy/configuration-hooks-vm.tex à éditer
% contenu (pas trop long) de la diapositive
\end{frame}

View File

@ -0,0 +1,5 @@
\begin{frame}
\frametitle{configuration-modeles-vm.tex}
fichier slides/modules\_EOLE\_envole/hapy/configuration-modeles-vm.tex à éditer
% contenu (pas trop long) de la diapositive
\end{frame}

View File

@ -0,0 +1,5 @@
\begin{frame}
\frametitle{configuration-multi-noeuds.tex}
fichier slides/modules\_EOLE\_envole/hapy/configuration-multi-noeuds.tex à éditer
% contenu (pas trop long) de la diapositive
\end{frame}

View File

@ -0,0 +1,5 @@
\begin{frame}
\frametitle{configuration-opennebula-flow.tex}
fichier slides/modules\_EOLE\_envole/hapy/configuration-opennebula-flow.tex à éditer
% contenu (pas trop long) de la diapositive
\end{frame}

View File

@ -0,0 +1,5 @@
\begin{frame}
\frametitle{configuration-virtualisation.tex}
fichier slides/modules\_EOLE\_envole/hapy/configuration-virtualisation.tex à éditer
% contenu (pas trop long) de la diapositive
\end{frame}

View File

@ -0,0 +1,5 @@
\begin{frame}
\frametitle{gestion-images-vm.tex}
fichier slides/modules\_EOLE\_envole/hapy/gestion-images-vm.tex à éditer
% contenu (pas trop long) de la diapositive
\end{frame}

View File

@ -0,0 +1,5 @@
\begin{frame}
\frametitle{gestion-modeles-vm.tex}
fichier slides/modules\_EOLE\_envole/hapy/gestion-modeles-vm.tex à éditer
% contenu (pas trop long) de la diapositive
\end{frame}

View File

@ -0,0 +1,5 @@
\begin{frame}
\frametitle{sunstone.tex}
fichier slides/modules\_EOLE\_envole/hapy/sunstone.tex à éditer
% contenu (pas trop long) de la diapositive
\end{frame}

View File

@ -0,0 +1,5 @@
\begin{frame}
\frametitle{liste-applications.tex}
fichier slides/modules\_EOLE\_envole/liste-applications.tex à éditer
% contenu (pas trop long) de la diapositive
\end{frame}

View File

@ -0,0 +1,5 @@
\begin{frame}
\frametitle{ninegate.tex}
fichier slides/modules\_EOLE\_envole/ninegate.tex à éditer
% contenu (pas trop long) de la diapositive
\end{frame}

View File

@ -188,14 +188,44 @@ ls -li formation.pdf
\frametitle{Pratique} \frametitle{Pratique}
\begin{itemize} \begin{itemize}
\item Sur le serveur, se logguer en root ; \item Sur le serveur, se logguer en root ;
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Pratique}
\begin{itemize}
\item changer le mot de passe de l'utilisateur eole; \item changer le mot de passe de l'utilisateur eole;
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Pratique}
\begin{itemize}
\item créer le répertoire /home/test ; \item créer le répertoire /home/test ;
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Pratique}
\begin{itemize}
\item le renommer en /home/scribe ; \item le renommer en /home/scribe ;
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Pratique}
\begin{itemize}
\item mettre les droits de rwx pour l'utilisateur et le groupe mais \-\-\- pour autre ; \item mettre les droits de rwx pour l'utilisateur et le groupe mais \-\-\- pour autre ;
\item vérifier les droits ; \item vérifier les droits ;
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Pratique}
\begin{itemize}
\item lire le man de setfacl ; \item lire le man de setfacl ;
\item ajouter la "lecture" de type ACLs pour le groupe "eole" ; \item ajouter la "lecture" de type ACLs pour le groupe "eole" ;
\item lister les droits ; \item lister les droits ;
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Pratique}
\begin{itemize}
\item voir l'espace disque utilisé ; \item voir l'espace disque utilisé ;
\item voir l'espace disque utilisé par un répertoire. \item voir l'espace disque utilisé par un répertoire.
\end{itemize} \end{itemize}

View File

@ -4,12 +4,12 @@
\item Génération normal : /usr/share/eole/creole/distrib => /etc \item Génération normal : /usr/share/eole/creole/distrib => /etc
\item Génération avec patch : /usr/share/eole/creole/distrib + /usr/share/eole/creole/patch => /var/lib/creole => /etc \item Génération avec patch : /usr/share/eole/creole/distrib + /usr/share/eole/creole/patch => /var/lib/creole => /etc
\item Créer un patch : \item Créer un patch :
\begin{itemize} \begin{enumerate}
\item copie du fichier original /usr/share/eole/creole/distrib => /usr/share/eole/creole/modif ; \item copie du fichier original /usr/share/eole/creole/distrib => /usr/share/eole/creole/modif ;
\item modification du fichier dans /usr/share/eole/creole/modif ; \item modification du fichier dans /usr/share/eole/creole/modif ;
\item exécution \commande{gen\_patch} ; \item exécution \commande{gen\_patch} ;
\item reconfiguration. \item reconfiguration.
\end{itemize} \end{enumerate}
\item Désactiver un patch : supprimer le fichier dans /usr/share/eole/creole/patch. \item Désactiver un patch : supprimer le fichier dans /usr/share/eole/creole/patch.
\end{itemize} \end{itemize}
\end{frame} \end{frame}

View File

@ -20,7 +20,7 @@
\framesubtitle{Gérer le service vnstat} \framesubtitle{Gérer le service vnstat}
\begin{enumerate} \begin{enumerate}
\item Créer un dictionnaire dans le répertoire /usr/share/eole/creole/dicos/local, \item Créer un dictionnaire dans le répertoire /usr/share/eole/creole/dicos/local,
\item ajouter lentête \emph{<?xml version="1.0" encoding="utf-8"?>}, \item ajouter lentête \mintinline{xml}{<?xml version="1.0" encoding="utf-8"?>},
\item ajouter une balise \emph{creole}, \item ajouter une balise \emph{creole},
\item ajouter une balise \emph{files} dans la balise \emph{creole}, \item ajouter une balise \emph{files} dans la balise \emph{creole},
\item ajouter une balise \emph{service} dans la balise \emph{files}, \item ajouter une balise \emph{service} dans la balise \emph{files},

View File

@ -2,7 +2,7 @@
\frametitle{Dictionnaire Creole} \frametitle{Dictionnaire Creole}
\begin{itemize} \begin{itemize}
\item Un dictionnaire est un fichier XML Creole ; \item Un dictionnaire est un fichier XML Creole ;
\item décrit les variables présente dans l'interface de configuration ; \item décrit les variables présentes dans l'interface de configuration ;
\item informations utiles pour les services ; \item informations utiles pour les services ;
\item les dictionnaires locaux sont dans /usr/share/eole/creole/dicos/local/. \item les dictionnaires locaux sont dans /usr/share/eole/creole/dicos/local/.
\end{itemize} \end{itemize}
@ -44,7 +44,7 @@
\item \commande{> valeur2"""} ; \item \commande{> valeur2"""} ;
\end{itemize} \end{itemize}
\begin{alertblock}{Manipulation des listes esclaves} \begin{alertblock}{Manipulation des listes esclaves}
\commande{CreoleSet} ne permet pas de changer la longueur de esclave. Une assignation de valeur pour une liste doit respecter la longueur initiale. \commande{CreoleSet} ne permet pas de changer la longueur dune liste esclave. Une assignation de valeur pour une liste doit respecter la longueur initiale.
\end{alertblock} \end{alertblock}
\end{frame} \end{frame}
@ -79,7 +79,7 @@
\frametitle{Dictionnaires Creole} \frametitle{Dictionnaires Creole}
\frametitle{Les familles} \frametitle{Les familles}
\begin{itemize} \begin{itemize}
\item Les variables sont classés dans des familles. \item Les variables sont classées dans des familles.
\end{itemize} \end{itemize}
\end{frame} \end{frame}
@ -103,7 +103,7 @@
\frametitle{Les fichiers templates} \frametitle{Les fichiers templates}
\begin{itemize} \begin{itemize}
\item Le nom des fichiers templates sont dans les dictionnaires (file) ; \item Le nom des fichiers templates sont dans les dictionnaires (file) ;
\item le répertoire de destination doit existé par défaut ; \item le répertoire de destination doit exister par défaut ;
\item possibilité de définir les droits sur le fichier ; \item possibilité de définir les droits sur le fichier ;
\item nom de la source peut être différents de la destination. \item nom de la source peut être différents de la destination.
\end{itemize} \end{itemize}

View File

@ -10,6 +10,7 @@
\end{itemize} \end{itemize}
\end{frame} \end{frame}
{\setbeamercolor{background canvas}{bg=TravauxPratiques}
\begin{frame} \begin{frame}
\frametitle{Pratique} \frametitle{Pratique}
\begin{itemize} \begin{itemize}
@ -18,6 +19,7 @@
\item envoyer la configuration. \item envoyer la configuration.
\end{itemize} \end{itemize}
\end{frame} \end{frame}
}
\begin{frame} \begin{frame}
\frametitle{Variante} \frametitle{Variante}
@ -31,6 +33,7 @@
\end{itemize} \end{itemize}
\end{frame} \end{frame}
{\setbeamercolor{background canvas}{bg=TravauxPratiques}
\begin{frame} \begin{frame}
\frametitle{Pratique} \frametitle{Pratique}
\begin{itemize} \begin{itemize}
@ -39,6 +42,7 @@
\item ajouter les dictionnaires et le template dans la variante (ce n'est plus automatique) ; \item ajouter les dictionnaires et le template dans la variante (ce n'est plus automatique) ;
\end{itemize} \end{itemize}
\end{frame} \end{frame}
}
\begin{frame} \begin{frame}
\frametitle{Variante : valeur par défaut} \frametitle{Variante : valeur par défaut}
@ -49,6 +53,7 @@
\end{itemize} \end{itemize}
\end{frame} \end{frame}
{\setbeamercolor{background canvas}{bg=TravauxPratiques}
\begin{frame} \begin{frame}
\frametitle{Pratique} \frametitle{Pratique}
\begin{itemize} \begin{itemize}
@ -56,3 +61,4 @@
\item dans la page d'état du serveur "regénérer" la configuration est valider les options par défaut (ne pas enregistrer cette configuration). \item dans la page d'état du serveur "regénérer" la configuration est valider les options par défaut (ne pas enregistrer cette configuration).
\end{itemize} \end{itemize}
\end{frame} \end{frame}
}

View File

@ -11,9 +11,11 @@
\end{itemize} \end{itemize}
\end{frame} \end{frame}
{\setbeamercolor{background canvas}{bg=TravauxPratiques}
\begin{frame} \begin{frame}
\frametitle{Pratique} \frametitle{Pratique}
\begin{itemize} \begin{itemize}
\item Créer un script personnalisé permettant un supprimer un fichier dont le nom est en paramètre. \item Créer un script personnalisé permettant un supprimer un fichier dont le nom est en paramètre.
\end{itemize} \end{itemize}
\end{frame} \end{frame}
}

View File

@ -10,6 +10,7 @@
%\usepackage{colortbtl} %\usepackage{colortbtl}
\usepackage{graphicx} \usepackage{graphicx}
\usepackage{verbatim} % Pour l'insertion de fichier en mode verbatim \usepackage{verbatim} % Pour l'insertion de fichier en mode verbatim
\usepackage{minted}
\usepackage{ucs} \usepackage{ucs}
\usepackage{tabto} \usepackage{tabto}
\usepackage{tikz} \usepackage{tikz}
@ -31,6 +32,7 @@
\definecolor{UniBlue}{RGB}{83,121,180} \definecolor{UniBlue}{RGB}{83,121,180}
\definecolor{CleanWhite}{RGB}{255,255,255} \definecolor{CleanWhite}{RGB}{255,255,255}
\definecolor{TravauxPratiques}{RGB}{230,230,230} \definecolor{TravauxPratiques}{RGB}{230,230,230}
\definecolor{Corrige}{RGB}{255,239,0}
\definecolor{Repos}{RGB}{0,0,0} \definecolor{Repos}{RGB}{0,0,0}
\setbeamercolor{title}{fg=UniBlue} \setbeamercolor{title}{fg=UniBlue}
\setbeamercolor{frametitle}{fg=UniBlue} \setbeamercolor{frametitle}{fg=UniBlue}

View File

@ -0,0 +1,2 @@
\skbheading{(((title|escape_tex)))}
fichier (((name|escape_tex))) à éditer

View File

@ -0,0 +1,7 @@
{\setbeamercolor{background canvas}{bg=Corrige}
\begin{frame}
\frametitle{(((title|escape_tex)))}
fichier (((name|escape_tex))) à éditer
% contenu (pas trop long) de la diapositive
\end{frame}
}

View File

@ -20,7 +20,11 @@
\skbinput[from=(((content)))]{style/preambule} \skbinput[from=(((content)))]{style/preambule}
\newlength{\logospacing} \newlength{\logospacing}
((* if intitutes|length > 1 *))
\setlength{\logospacing}{(\textwidth - 2cm*(((logos_count))))/(((logos_count - 1)))} \setlength{\logospacing}{(\textwidth - 2cm*(((logos_count))))/(((logos_count - 1)))}
((* else *))
\setlength{\logospacing}{0 cm}
((* endif *))
\logo{ \logo{
((* for institute in institutes *)) ((* for institute in institutes *))
@ -40,14 +44,6 @@
\subject{Talks} \subject{Talks}
\AtBeginSubsection[]
{
\begin{frame}<beamer>
\frametitle{}
\tableofcontents[currentsection,currentsubsection]
\end{frame}
}
\begin{document} \begin{document}
\skbinput[from=(((content)))]{style/title} \skbinput[from=(((content)))]{style/title}

View File

@ -1,44 +0,0 @@
%\usertheme{Madrid}
\setbeamercovered{transparent}
\setcounter{tocdepth}{2}
\usepackage[french]{babel}
%\usepackage[utf8,utf8x]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{xunicode} %Unicode extras!
\usepackage{xltxtra} %Fixes
\setmainfont{CaviarDreams}
\usepackage{multicol}
%\usepackage{colortbtl}
\usepackage{graphicx}
\usepackage{verbatim} % Pour l'insertion de fichier en mode verbatim
\usepackage{ucs}
\usepackage{tabto}
\usepackage{xcolor}
\usepackage{hyperref}
\usepackage{hyperxmp}
\hypersetup{%
colorlinks=true,linkcolor=blue,urlcolor=blue,pdfpagemode=UseNone,
pdftitle={(((title)))},
pdfkeywords={},
pdfauthor={(((author)))},
pdflang={fr-FR},
pdfcopyright={Copyright © 2011-2014 Cadoles}, % Nécessite XeTeX
pdflicenseurl={http://creativecommons.org/licenses/by-nc-sa/2.0/fr/},
}
%\usecolortheme{crane}
\definecolor{UniBlue}{RGB}{83,121,180}
\definecolor{CleanWhite}{RGB}{255,255,255}
\setbeamercolor{title}{fg=UniBlue}
\setbeamercolor{frametitle}{fg=CleanWhite}
\setbeamercolor{structure}{fg=UniBlue}
\newcommand{\eolesmall}{
\begin{minipage}[c]{0.10\textwidth}
\includegraphics[width=1cm]{beamer-skel/img/logo-eole.png}
\end{minipage}
}
\newcommand{\eolebig}{\includegraphics[width=2cm]{beamer-skel/img/logo-eole.png}}
\newcommand{\eolefull}{\includegraphics{beamer-skel/img/logo-eole.png}}
%\setmonofont[Scale=0.86]{Andale Mono}
%\usepackage{colortab}
\setbeamertemplate{background}{\includegraphics[width=128mm]{beamer-skel/img/banner01.png}}

View File

@ -42,15 +42,14 @@
\input{./programme/objectifs.tex} \input{./programme/objectifs.tex}
\section{Durée de la formation} \section{Durée de la formation}
\input{./programme/duree.tex} \input{./programme/duree.tex}
\IfFileExists{./programme/moyens.tex}{%
\section{Moyens pédagogiques, techniques et d'encadrement}
\input{./programme/moyens.tex}
}{}
\section{Évaluation des acquis} \section{Évaluation des acquis}
\input{./programme/evaluation.tex} \input{./programme/evaluation.tex}
\newpage \newpage
\section{Contenu de la formation} \section{Contenu de la formation}
\input{./programme/contenu.tex} \input{./programme/contenu.tex}
\IfFileExists{./programme/moyens.tex}{%
\section{Moyens pédagogiques, techniques et d'encadrement}
\input{./programme/moyens.tex}
\section{Évaluation des acquis}
}{}
\end{document} \end{document}