Identifier l’ancien répertoire dans lequel les anciens contenus doivent être récupérés

This commit is contained in:
2020-08-07 09:36:45 +02:00
parent e304fdd10f
commit 0c0b9f5d83
268 changed files with 0 additions and 0 deletions

View File

@ -0,0 +1,114 @@
\begin{itemize}
\item Introduction
\begin{itemize}
\item EOLE
\item Description Scribe
\end{itemize}
\item Les quatres phases
\begin{itemize}
\item La phase d'installation
\item La phase de configuration
\item La phase d'instanciation
\item Les mots de passe
\item La phase d'administration
\end{itemize}
\item Administration commune
\begin{itemize}
\item Les mises à jour
\item Instance ou reconfigure
\item Diagnostic
\item Firewall
\item Schedule
\item Onduleur
\item Trouver de l'information sur le serveur
\item Trouver de l'information sur Internet
\end{itemize}
\item GNU/Linux
\begin{itemize}
\item File Hierarchy Standard
\item Types de fichier
\item Droits unix
\item Description d'un fichier
\item ACL
\item Gestion des processus
\item Commandes système de base
\item Outils réseaux
\item Travailler avec des fichiers
\item Utilisation de SSH
\item Screen
\end{itemize}
\item L'interface d'administration EAD
\begin{itemize}
\item Présentation général
\item Se connecter
\item SSO
\item Fonctions de base
\item Gestion des rôles EAD
\end{itemize}
\item L'interface semi-graphique
\item La gestion des utilisateurs
\begin{itemize}
\item Les types d'utilisateurs
\item Les quotas
\item Les groupes
\item Les listes de diffusion
\item L'importation des comptes utilisateur
\end{itemize}
\item La configuration du réseau
\item La connexion à distance aux postes clients
\item L'intégration des clients au domaine
\begin{itemize}
\item L'intégration au domaine
\item Le client Scribe
\end{itemize}
\item Les outils de diagnostic
\item L'interface d'administration EAD
\item La gestion des profils
\begin{itemize}
\item Profil local
\item Profil itinerant
\item Profil obligatoire
\end{itemize}
\item La configuration des postes clients
\item Les scripts de démarrage
\item La gestion des imprimantes
\begin{itemize}
\item L'interface de CUPS
\item L'interface simplifiée EAD
\end{itemize}
\item La gestion de la corbeille
\item La gestion des virus
\item La gestion de l'espace de stockage en réseau
\item La gestion des sauvegardes
\begin{itemize}
\item La configuration de la sauvegarde
\item Le mécanisme de restauration
\end{itemize}
\item Les outils de communication
\begin{itemize}
\item Les serveurs de courriel
\item Le serveur de listes de diffusion
\item Le serveur de discussion instantanée
\end{itemize}
\item Les services web
\begin{itemize}
\item L'ajout de services
\item Les applications intégrées
\item Le portail Posh
\end{itemize}
\item Application Zéphir
\begin{itemize}
\item Gestion des utilisateurs
\item Modules, établissements et serveurs
\item Enregistrement Zéphir
\item Sauvegarde Zéphir
\item Préférences des utilisateurs
\item Surveillance des serveurs
\item Alertes
\item Actions
\item Groupes de serveurs
\item Personnalisation d'un serveur
\item Variante
\item Script Zéphir
\end{itemize}
\end{itemize}

View File

@ -0,0 +1 @@
5 jours.

View File

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

View File

@ -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.

View File

@ -0,0 +1 @@
Familiarité avec le système d'exploitation GNU/Linux et le shell.

View File

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

View File

@ -0,0 +1,283 @@
\documentclass{beamer}
%\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={Amon Sphynx},
pdfkeywords={distribution, GNU, linux, eole, éducation, nationale, ubuntu},
pdfauthor={Emmanuel Garette},
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}
\definecolor{DirtyWhite}{RGB}{105,105,105}
\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}
\newcommand{\commande}[1]{\texttt{#1}}
%\setbeamertemplate{background}{\includegraphics[width=128mm]{beamer-skel/img/banner01.png}}
\setbeamertemplate{background}{\includegraphics[width=128mm]{beamer-skel/img/bg-cadoles-2.png}}
\title[]{Formation Amon Sphynx}
\subtitle{Formation Cadoles}
\author[Equipe Auteur]{Emmanuel Garette}
\institute[Cadoles]{\includegraphics[width=1cm]{beamer-skel/img/logo-cadoles-01.png}}
\date{{\small \today}}
\subject{Talks}
\AtBeginSubsection[]
{
\begin{frame}<beamer>
\frametitle{}
\tableofcontents[currentsection,currentsubsection]
\end{frame}
}
\logo{
% \includegraphics[width=1cm]{beamer-skel/img/logo-ecologie.png}~
\hspace{120pt}
\includegraphics[width=2cm]{beamer-skel/img/logo-cadoles-01.png}~
\hspace{113pt}
\includegraphics[width=1cm]{beamer-skel/img/logo_en.jpg}~
}
\begin{document}
% Page de titre
\begin{frame}
\titlepage
\end{frame}
\section{Introduction}
\begin{frame}{Plan}
\begin{columns}[t]
\begin{column}{5cm}
\tableofcontents[sections={1-6},currentsection, hideothersubsections]
\end{column}
\begin{column}{5cm}
\tableofcontents[sections={7-12},currentsection,hideothersubsections]
\end{column}
\end{columns}
\end{frame}
\include{modules_EOLE_envole/commun/00-intro}
\include{modules_EOLE_envole/amon/00-description}
\include{modules_EOLE_envole/sphynx/00-description}
\include{modules_EOLE_envole/amonecole/00-description}
%\include{modules_EOLE_envole/commun/01-nouveaute23}
%\include{modules_EOLE_envole/amon/00-nouveautes}
%\include{modules_EOLE_envole/sphynx/00-nouveautes}
\include{modules_EOLE_envole/commun/01-nouveaute24}
\include{modules_EOLE_envole/commun/01-nouveaute25}
\section{Les quatre phases}
\begin{frame}{Plan}
\begin{columns}[t]
\begin{column}{5cm}
\tableofcontents[sections={1-6},currentsection, hideothersubsections]
\end{column}
\begin{column}{5cm}
\tableofcontents[sections={7-12},currentsection,hideothersubsections]
\end{column}
\end{columns}
\end{frame}
\include{modules_EOLE_envole/commun/02-quatre_phases}
\include{modules_EOLE_envole/amon/00-virtualbox}
\include{modules_EOLE_envole/commun/02-gen_config}
\include{modules_EOLE_envole/commun/02-quatre_phases-pratique}
\section{Administration commune}
\begin{frame}{Plan}
\begin{columns}[t]
\begin{column}{5cm}
\tableofcontents[sections={1-6},currentsection, hideothersubsections]
\end{column}
\begin{column}{5cm}
\tableofcontents[sections={7-12},currentsection,hideothersubsections]
\end{column}
\end{columns}
\end{frame}
\include{modules_EOLE_envole/commun/02-instance-reconfigure}
\include{modules_EOLE_envole/commun/03-mise-a-jour}
\include{modules_EOLE_envole/commun/04-diagnose}
\include{modules_EOLE_envole/commun/04-diagnose-pratique}
\include{modules_EOLE_envole/tronc-commun-1/05-conteneurs}
\include{modules_EOLE_envole/tronc-commun-1/05-conteneurs-pratique}
\section{Fonctions de base d'Amon}
\begin{frame}{Plan}
\begin{columns}[t]
\begin{column}{5cm}
\tableofcontents[sections={1-6},currentsection, hideothersubsections]
\end{column}
\begin{column}{5cm}
\tableofcontents[sections={7-12},currentsection,hideothersubsections]
\end{column}
\end{columns}
\end{frame}
\include{modules_EOLE_envole/amon/01-base}
\include{modules_EOLE_envole/amon/06-relaidhcp}
\include{modules_EOLE_envole/amon/08-radius}
\section{Les commandes à distances}
\begin{frame}{Plan}
\begin{columns}[t]
\begin{column}{5cm}
\tableofcontents[sections={1-6},currentsection, hideothersubsections]
\end{column}
\begin{column}{5cm}
\tableofcontents[sections={7-12},currentsection,hideothersubsections]
\end{column}
\end{columns}
\end{frame}
\include{modules_EOLE_envole/tronc-commun-1/22-commande-distance}
\section{Era}
\begin{frame}{Plan}
\begin{columns}[t]
\begin{column}{5cm}
\tableofcontents[sections={1-6},currentsection, hideothersubsections]
\end{column}
\begin{column}{5cm}
\tableofcontents[sections={7-12},currentsection,hideothersubsections]
\end{column}
\end{columns}
\end{frame}
\include{modules_EOLE_envole/amon/02-era}
\section{Proxy}
\begin{frame}{Plan}
\begin{columns}[t]
\begin{column}{5cm}
\tableofcontents[sections={1-6},currentsection, hideothersubsections]
\end{column}
\begin{column}{5cm}
\tableofcontents[sections={7-12},currentsection,hideothersubsections]
\end{column}
\end{columns}
\end{frame}
\include{modules_EOLE_envole/amon/06-proxy}
\include{modules_EOLE_envole/amon/04-cntlm}
\section{Filtrage web}
\begin{frame}{Plan}
\begin{columns}[t]
\begin{column}{5cm}
\tableofcontents[sections={1-6},currentsection, hideothersubsections]
\end{column}
\begin{column}{5cm}
\tableofcontents[sections={7-12},currentsection,hideothersubsections]
\end{column}
\end{columns}
\end{frame}
\include{modules_EOLE_envole/amon/03-filtrage}
\section{Complément proxy}
\begin{frame}{Plan}
\begin{columns}[t]
\begin{column}{5cm}
\tableofcontents[sections={1-6},currentsection, hideothersubsections]
\end{column}
\begin{column}{5cm}
\tableofcontents[sections={7-12},currentsection,hideothersubsections]
\end{column}
\end{columns}
\end{frame}
\include{modules_EOLE_envole/amon/06-deuxiemesquid}
\include{modules_EOLE_envole/amon/06-exception}
\include{modules_EOLE_envole/amon/06-log}
\section{Reverse proxy}
\begin{frame}{Plan}
\begin{columns}[t]
\begin{column}{5cm}
\tableofcontents[sections={1-6},currentsection, hideothersubsections]
\end{column}
\begin{column}{5cm}
\tableofcontents[sections={7-12},currentsection,hideothersubsections]
\end{column}
\end{columns}
\end{frame}
\include{modules_EOLE_envole/amon/05-reverseproxy}
\section{ARV}
\begin{frame}{Plan}
\begin{columns}[t]
\begin{column}{5cm}
\tableofcontents[sections={1-6},currentsection, hideothersubsections]
\end{column}
\begin{column}{5cm}
\tableofcontents[sections={7-12},currentsection,hideothersubsections]
\end{column}
\end{columns}
\end{frame}
\include{modules_EOLE_envole/sphynx/01-arv}
\section{Trouver de l'information}
\begin{frame}{Plan}
\begin{columns}[t]
\begin{column}{5cm}
\tableofcontents[sections={1-6},currentsection, hideothersubsections]
\end{column}
\begin{column}{5cm}
\tableofcontents[sections={7-12},currentsection,hideothersubsections]
\end{column}
\end{columns}
\end{frame}
\include{modules_EOLE_envole/commun/08-info_internet}
%histoire de l'horaire dans l'EAD pour les groupes de machine !
\subject{Talks}
\begin{frame}
\frametitle{Licence}
Cette œuvre est mise à disposition sous licence \href{http://creativecommons.org/licenses/by-nc-sa/2.0/fr/}{\textsc{cc-by-nc-sa-2.0}}
\begin{itemize}
\item Attribution
\item Pas dUtilisation Commerciale
\item Partage dans les Mêmes Conditions 2.0
\item France
\end{itemize}
Pour voir une copie de cette licence, visitez
\href{http://creativecommons.org/licenses/by-nc-sa/2.0/fr/}{http://creativecommons.org/licenses/by-nc-sa/2.0/fr/}
ou écrivez à Creative Commons, 444 Castro Street, Suite 900,
Mountain View, California, 94041, USA.
\end{frame}
\end{document}

View File

@ -0,0 +1,69 @@
\begin{itemize}
\item Introduction
\begin{itemize}
\item EOLE
\item Description Amon/Sphynx
\item Spécificités 2.3
\item Spécificités 2.4
\end{itemize}
\item Les quatre phases
\begin{itemize}
\item La phase d'installation
\item La phase de configuration
\item La phase d'instanciation
\item La phase d'administration
\end{itemize}
\item Fonctions de base d'Amon
\begin{itemize}
\item Serveur DNS
\item Agrégation de lien
\item Réseau
\end{itemize}
\item Les commandes à distance
\begin{itemize}
\item Activer la connexion ssh
\item Le protocole ssh
\item Screen
\end{itemize}
\item Era
\begin{itemize}
\item Présentation
\item Directive
\item Les directives optionnelles
\item La qualité de service
\item Les règles netbios
\item Options avancées
\end{itemize}
\item Proxy
\begin{itemize}
\item Proxy père
\item Authentification sur le proxy
\item Observatoire des connexions
\item Lightsquid
\item WPAD
\item CNTLM
\end{itemize}
\item Filtrage web
\begin{itemize}
\item Présentation
\item Interdire ou autoriser des sites web
\item Politique de liste blanche
\item Filtres
\item Ne pas authentifier / mettre en cache
\item Horaire
\item Numéro de filtrage web
\item Observation
\item Gérer au mieux les ressources
\item Reverse proxy
\end{itemize}
\item Sphynx
\begin{itemize}
\item Présentation
\item Les certificats
\item Les modèles de tunnels
\item Les tunnels
\item Démarrage de RVP
\item Validité et révocation
\item Sphynx et Zéphir
\end{itemize}
\end{itemize}

View File

@ -0,0 +1 @@
3 jours.

View File

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

View File

@ -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}

View File

@ -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.

View File

@ -0,0 +1 @@
Avoir suivi la formation tronc commun.

View File

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

View File

@ -0,0 +1,14 @@
\begin{frame}
\frametitle {Amon}
\begin{itemize}
\item Amon, la passerelle pare-feu :
\begin{itemize}
\item partage des sous-réseaux et connexion à internet (pare-feu) ;
\item authentifications des utilisateurs ;
\item réseau virtuel privé ;
\item cache web ;
\item reverse proxy web.
\end{itemize}
\end{itemize}
\end{frame}

View File

@ -0,0 +1,15 @@
\begin{frame}
\frametitle{Nouveautés Amon 2.3}
\begin{itemize}
\item amélioration nginx (notamment "domaine par défaut") ;
\item suppression de NuFW ;
\item possibilité de désactiver le filtrage web ;
\item proxy sur une carte ;
\item second squid pour authentification différente ;
\item outil de consultation des log : SARG => ligthsquid ;
\item wpad/CNTLM ;
\item Era ajout de la possibilité de mettre des exceptions.
\end{itemize}
\end{frame}

View File

@ -0,0 +1,17 @@
\begin{frame}
\frametitle{Utilisation de VirtualBox}
\begin{itemize}
\item AmonEcole :
\begin{itemize}
\item Choisir "Accès par pont" dans le "Mode d'accès réseau" dans Préférence/Réseau/Carte 1 ;
\item choisir "Réseau interne" "int" dans le "Mode d'accès réseau" dans Préférence/Réseau/Carte 2.
\item faire un instantané.
\end{itemize}
\item Seven :
\begin{itemize}
\item choisir "Réseau interne" "int" dans le "Mode d'accès réseau" dans Préférence/Réseau/Carte 1.
\end{itemize}
\end{itemize}
\end{frame}

View 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}

View 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}

View File

@ -0,0 +1,22 @@
\begin{frame}
\frametitle{NuFW}
\includegraphics[width=8cm]{modules_EOLE_envole/amon/nufw.png}
\end{frame}
\begin{frame}
\frametitle{Pratique}
\begin{itemize}
\item Activer NuFW sur l'Amon ;
\item se connecter sur NuFW depuis Clientscribe1 ;
\item inverser la politique par défaut sur flux pedago-DMZ ;
\item autoriser la pédago à aller sur scribe-pedago en DMZ ;
\item ajouter l'application /bin/nc-traditional et le groupe d'application "navigateur web" ;
\item autoriser le groupe "professeur" avec application "navigateur web" vers le Scribe en pédago sur le port 8500 ;
\item tester :
\begin{itemize}
\item serveur de destination : netcat -l -p \$numport -c "/bin/echo 'message'"
\item machine source : netcat \$destip \$destport
\item machine source : telnet \$destip \$destport
\end{itemize}
\end{itemize}
\end{frame}

View 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}

View 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}

View File

@ -0,0 +1,31 @@
\begin{frame}
\frametitle{Reverse proxy}
\begin{itemize}
\item permet de relayer des requêtes Web provenant de l'extérieur vers les serveurs internes ;
\item permet de rediriger :
\begin{itemize}
\item SSO,
\item EAD du Scribe (port 4203),
\item HTTP,
\item HTTPS ;
\end{itemize}
\item si on redirige le SSO, il ne faut pas l'activer sur l'Amon ;
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Reverse proxy : avancé}
\begin{itemize}
\item gestion d'un nom de domaine par défaut ;
\item les certificats signés par une autorité reconnus doivent être placé sur l'Amon.
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Pratique}
\begin{itemize}
\item Rendre disponible un site via le reverse proxy.
\end{itemize}
\end{frame}

View File

@ -0,0 +1,15 @@
\begin{frame}
\frametitle{Double authentification}
\begin{itemize}
\item deuxième instance de Squid permet une double authentification ;
\item port 3128 authentification NTLM ;
\item port 3129 authentification LDAP.
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Pratique}
\begin{itemize}
\item Activer la deuxième instance de Squid et la mettre en LDAP.
\end{itemize}
\end{frame}

View File

@ -0,0 +1,33 @@
\begin{frame}
\frametitle{Exceptions Proxy}
\begin{itemize}
\item Exception sur une destination :
\begin{itemize}
\item une adresse IP ou une plage d'adresses IP de destination (Era + WPAD),
\item domaine de destination (Era + WPAD),
\item penser à configurer dans Esu ;
\end{itemize}
\item conséquence :
\begin{itemize}
\item pour les sites non compatibles proxy,
\item pas de filtrage et pas de journaux,
\item pour les noms de domaine => résolution du nom à la création de la règle ;
\end{itemize}
\item exception d'authentification des domaines :
\begin{itemize}
\item si WPAD + cNTLM => direct 3128,
\item domaines commençants par un . : le domaine et les sous-domaines pas authentifiés ;
\end{itemize}
\item sur un nom d'hôte WPAD.
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Pratique}
\begin{itemize}
\item Ajouter une exception au proxy sur une IP ;
\item ajouter une exception sur le domaine pcll.ac-dijon.fr ;
\item regarder les logs ;
\item ajouter une exception d'authentification pour le domaine .free.fr.
\end{itemize}
\end{frame}

View File

@ -0,0 +1,32 @@
\begin{frame}
\frametitle{Consultation des journaux}
\begin{itemize}
\item Les journaux sont conservés un an ;
\item deux journaux sont importants (informations différentes) :
\item Squid :
\begin{itemize}
\item pour le cache,
\item pour l'authentification,
\item /var/log/rsyslog/local/squid/ :
\begin{itemize}
\item 1er instance : squid1.info.log
\item 2ème instance : squid2.info.log
\end{itemize}
\end{itemize}
\item e2guardian :
\begin{itemize}
\item le filtrage,
\item /var/log/rsyslog/local/e2guardian/
\item filtre web 1 : e2guardian0.*.log
\item filtre web 2 : e2guardian1.*.log
\item filtre web pour 2ème instance de Squid : e2guardian2.*.log
\end{itemize}
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Pratique}
\begin{itemize}
\item Regarder les journaux.
\end{itemize}
\end{frame}

View 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}

View 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}

View 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}

Binary file not shown.

After

Width:  |  Height:  |  Size: 41 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

View File

@ -0,0 +1,78 @@
\begin{itemize}
\item Introduction
\begin{itemize}
\item EOLE
\item Nouveauté 2.3
\item Description Amon
\end{itemize}
\item Les quatres phases
\begin{itemize}
\item La phase d'installation
\item La phase de configuration
\item La phase d'instanciation
\item Les mots de passe
\item La phase d'administration
\end{itemize}
\item Administration commune
\begin{itemize}
\item Les mises à jour
\item Instance ou reconfigure
\item Diagnostic
\item Firewall
\item Schedule
\item Onduleur
\item Trouver de l'information sur le serveur
\item Trouver de l'information sur Internet
\end{itemize}
\item L'interface d'administration EAD
\begin{itemize}
\item Présentation général
\item Se connecter
\item SSO
\item Fonctions de base
\item Gestion des rôles EAD
\end{itemize}
\item L'interface semi-graphique
\item Fonctions de base d'Amon
\begin{itemize}
\item Serveur DNS
\item Agrégation de lien
\item Réseau
\end{itemize}
\item Les commandes à distance
\begin{itemize}
\item Activer la connexion ssh
\item Le protocole ssh
\item Screen
\end{itemize}
\item Era
\begin{itemize}
\item Présentation
\item Directive
\item Les directives optionnelles
\item La qualité de service
\item Les règles netbios
\item Options avancées
\end{itemize}
\item Filtrage web
\begin{itemize}
\item Présentation
\item Interdire ou autoriser des sites web
\item Politique de liste blanche
\item Filtre optionnel
\item Filtre syntaxique
\item Filtre des extensions
\item Filtre des types MIME
\item Filtre par machine
\item Filtre par utilisateur
\item Filtre par destination
\item Ne pas authentifier / mettre en cache
\item Filtre antivirus web
\item Filtre P2P
\item Horaire
\item Numéro de filtrage web
\item Observation
\item Gérer au mieux les ressources
\item Reverse proxy
\end{itemize}
\end{itemize}

View File

@ -0,0 +1 @@
3 jours

View File

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

View File

@ -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}

View File

@ -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.

View File

@ -0,0 +1 @@
Avoir suivi la formation tronc commun.

View File

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

View File

@ -0,0 +1,10 @@
\begin{frame}
\frametitle{AmonEcole}
\begin{itemize}
\item AmonEcole, solution de conteneurs cumulant les fonctionnalités de :
\begin{itemize}
\item Amon,
\item Scribe.
\end{itemize}
\end{itemize}
\end{frame}

View File

@ -0,0 +1,128 @@
\begin{itemize}
\item Introduction
\begin{itemize}
\item EOLE
\item Nouveauté 2.5
\item Description Amon
\end{itemize}
\item Les quatres phases
\begin{itemize}
\item La phase d'installation
\item La phase de configuration
\item La phase d'instanciation
\item Les mots de passe
\item La phase d'administration
\end{itemize}
\item Administration commune
\begin{itemize}
\item Les mises à jour
\item Instance ou reconfigure
\item Diagnostic
\item Firewall
\item Schedule
\item Onduleur
\item Trouver de l'information sur le serveur
\item Trouver de l'information sur Internet
\end{itemize}
\item L'interface d'administration EAD
\begin{itemize}
\item Présentation général
\item Se connecter
\item SSO
\item Fonctions de base
\item Gestion des rôles EAD
\end{itemize}
\item L'interface semi-graphique
\item Fonctions de base d'Amon
\begin{itemize}
\item Serveur DNS
\item Agrégation de lien
\item Réseau
\end{itemize}
\item Les commandes à distance
\begin{itemize}
\item Activer la connexion ssh
\item Le protocole ssh
\item Screen
\end{itemize}
\item Era
\begin{itemize}
\item Présentation
\item Directive
\item Les directives optionnelles
\item La qualité de service
\item Les règles netbios
\item Options avancées
\end{itemize}
\item Filtrage web
\begin{itemize}
\item Présentation
\item Interdire ou autoriser des sites web
\item Politique de liste blanche
\item Filtre optionnel
\item Filtre syntaxique
\item Filtre des extensions
\item Filtre des types MIME
\item Filtre par machine
\item Filtre par utilisateur
\item Filtre par destination
\item Ne pas authentifier / mettre en cache
\item Filtre antivirus web
\item Filtre P2P
\item Horaire
\item Numéro de filtrage web
\item Observation
\item Gérer au mieux les ressources
\item Reverse proxy
\end{itemize}
\item La gestion des utilisateurs
\begin{itemize}
\item Les types d'utilisateurs
\item Les quotas
\item Les groupes
\item Les listes de diffusion
\item L'importation des comptes utilisateur
\end{itemize}
\item La configuration du réseau
\item La connexion à distance aux postes clients
\item L'intégration des clients au domaine
\begin{itemize}
\item L'intégration au domaine
\item Le client Scribe
\end{itemize}
\item Les outils de diagnostic
\item L'interface d'administration EAD
\item La gestion des profils
\begin{itemize}
\item Profil local
\item Profil itinerant
\item Profil obligatoire
\end{itemize}
\item La configuration des postes clients
\item Les scripts de démarrage
\item La gestion des imprimantes
\begin{itemize}
\item L'interface de CUPS
\item L'interface simplifiée EAD
\end{itemize}
\item La gestion de la corbeille
\item La gestion des virus
\item La gestion de l'espace de stockage en réseau
\item La gestion des sauvegardes
\begin{itemize}
\item La configuration de la sauvegarde
\item Le mécanisme de restauration
\end{itemize}
\item Les outils de communication
\begin{itemize}
\item Les serveurs de courriel
\item Le serveur de listes de diffusion
\item Le serveur de discussion instantanée
\end{itemize}
\item Les services web
\begin{itemize}
\item L'ajout de services
\item Les applications intégrées
\item Le portail Posh
\end{itemize}
\end{itemize}

View File

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

View File

@ -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}

View File

@ -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.

View File

@ -0,0 +1 @@
Avoir suivi la formation tronc commun.

View File

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

View File

@ -0,0 +1,22 @@
\begin{frame}
\frametitle{EOLE}
\begin{itemize}
\item EOLE : Ensemble Ouvert Libre et Evolutif ;
\item projet national de serveurs pour les établissements scolaires et académiques ;
\item depuis 2000 ;
\item basé sur Ubuntu depuis 2007 sous forme de modules ;
\item objectifs :
\begin{itemize}
\item utilisation de logiciels libres ;
\item modulaire (évolutif, ouvert adaptable) ;
\item facile à mettre en œuvre et à déployer ;
\item administrable à distance ;
\end{itemize}
% \item modes de distribution :
% \begin{itemize}
% \item versioning ;
% \item rolling release (pour la version 2.3 uniquement).
% \end{itemize}
\end{itemize}
\end{frame}

View File

@ -0,0 +1,39 @@
\begin{frame}
\frametitle{Spécificités 2.3}
\begin{itemize}
\item Mise en commun ;
\item serveur SMTP sur tous les modules ;
\item firewall/schedule/onduleur/... ;
\item séparation des fonctionnalités installables indépendamment ;
\item réorganisation instance/reconfigure (notamment utilisateur eole et inversion des utilisateurs) ;
\item les conteneurs :
\begin{itemize}
\item séparation des services,
\item sécurité par isolation,
\item plusieurs conteneurs sur un serveur,
\item compatibilité des deux modes.
\end{itemize}
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Modalités de distribution de la version 2.3}
La version 2.3 est distribuée selon deux modalités :
\begin{itemize}
\item versions stables ;
\item mise à jour au fil des corrections ;
\item les paquets sont disponibles à l'adresse http://eoleng.ac-dijon.fr
\end{itemize}
Dans les deux cas, les mises à jour de la distribution support suivent le schéma de cette dernière.
\end{frame}
\begin{frame}
\frametitle{Arborescence spécifique à la 2.3}
\begin{itemize}
\item /data => /home ;
\item /data est un lien symbolique vers /home/workgroup ;
\item /opt n'est plus un lien symbolique (/data/opt);
\item /home/<login>/profiles => /home/<login>/profil ;
\item /etc/eole => /usr/share/eole/creole/ (sauf pour config.eol) ;
\item fichier EAD, ... dans /var/lib/eole/.
\end{itemize}
\end{frame}

View File

@ -0,0 +1,43 @@
\begin{frame}
\frametitle{Nouveautés 2.4}
\begin{itemize}
\item Basé sur la distribution Precise Pangolin (12.04) ;
\item support jusqu'en \textbf{2017} ;
\item réorganisation reconfigure/instance ;
\item nouveau cœur : tiramisu ;
\item plus d'informations dans les dictionnaires ;
\item firewall :
\begin{itemize}
\item géré dans les dictionnaires ;
\item filtrage des flux entrants uniquement ;
\end{itemize}
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Nouveautés 2.4}
\begin{itemize}
\item gen\_config :
\begin{itemize}
\item interface web ;
\item identique sur Zéphir ;
\item plus de "validation" par onglet ;
\end{itemize}
\item nouvelles commandes :
\begin{itemize}
\item CreoleGet et CreoleSet ;
\item CreoleService et CreoleRun ;
\item CreoleLock.
\end{itemize}
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Nouveautés 2.4}
\begin{itemize}
\item Plus de mise à jour minimum/complète mais différentes releases sont proposées ;
\item les paquets sont disponibles à l'adresse http://eole.ac-dijon.fr ;
\item nouveau format du fichier /etc/eole/config.eol ;
\item nouvelle sous arborescence : /usr/share/eole/sbin.
\end{itemize}
\end{frame}

View File

@ -0,0 +1,16 @@
\begin{frame}
\frametitle{Nouveautés 2.5}
\begin{itemize}
\item Basé sur la distribution Trusty Tahr (14.04) ;
\item support jusqu'en 2019 ;
\item peu de changement dans le coeur ;
\item possibilité de partitionnement manuel ;
\item à partir de 2.5.2 : mot de passe généré aléatoirement à la fin de l'installation du serveur;
\item quelques changements de logiciels :
\begin{itemize}
\item Bacula => Bareos,
\item Dansguardian => e2guardian.
\end{itemize}
\end{itemize}
\end{frame}

View File

@ -0,0 +1,22 @@
\begin{frame}
\frametitle{Nouveautés 2.6}
\begin{itemize}
\item Basé sur la distribution Xenial Xerus (16.04) ;
\item support jusqu'en 2021 ;
\item peu de changement dans le coeur ;
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Modules disponibles en 2.6.0}
\begin{itemize}
\item Eclair
\item Hapy \& Hapy Node
\item Horus
\item Scribe
\item Seth
\item Sphynx
\item Zéphir
\end{itemize}
\end{frame}

View File

@ -0,0 +1,33 @@
\begin{frame}
\frametitle{Nouveautés 2.7}
\begin{itemize}
\item Basé sur la distribution Bionic Beaver (18.04) ;
\item support jusqu'en 2023 ;
\item passage au mode AD pour les modules mettant en œuvre Samba ;
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Modules disponibles en 2.7.0}
\begin{itemize}
\item Amon
\item Eclair
\item Hâpy
\item Seshat
\item Seth
\item Sphynx
\item Thot
\item Zéphir
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Modules supplémentaires disponibles en 2.7.1}
\framesubtitle{Un peu de science-fiction}
\begin{itemize}
\item Eclair
\item Horus (HorusAD)
\item Scribe (ScribeAD)
\end{itemize}
\end{frame}

View File

@ -0,0 +1,48 @@
\begin{frame}
\frametitle{Configuration autonome}
\begin{itemize}
\item Présentation de l'interface :
\begin{itemize}
\item accessible après instanciation sur le port 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}
\item les modes :
\begin{itemize}
\item basique,
\item normal,
\item expert,
\item assitant,
\item debug.
\end{itemize}
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Configuration autonome}
\begin{itemize}
\item Ouverture/enregistrement :
\begin{itemize}
\item ne peut plus choisir le nom du fichier "config.eol",
\item possibilité d'importer/exporter un fichier (astuce permet de déverouiller toutes les variables),
\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}
\item les variables :
\begin{itemize}
\item Les variables typées (caractère, chiffre, ...),
\item les variables par défaut/modifié,
\item les utilisateurs,
\item les variables obligatoires,
\item les variables calculées,
\item les variables verrouillées automatiquement,
\item les variables sauvegardées automatiquement,
\item les variables multi,
\item les variables groupées,
\item les variables avec choix (imposés ou ouverts)
\item les variables cachées
\end{itemize}
\end{itemize}
\end{frame}

View File

@ -0,0 +1,9 @@
\begin{frame}
\frametitle{Instance ou reconfigure}
\begin{itemize}
\item L'instance ne doit être lancée qu'une seule fois sur les modules ;
\item en cas de mise à jour, d'installation de paquet ou de changement de paramétrage : \commande{reconfigure}.
\end{itemize}
\end{frame}

View File

@ -0,0 +1,15 @@
\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 désactiver l'anti-virus ;
\item instancier le serveur via la commande instance.
\end{itemize}
\end{frame}

View File

@ -0,0 +1,97 @@
\begin{frame}
\frametitle{La phase d'installation}
\begin{itemize}
\item Pour installer un module, il suffit de :
\begin{enumerate}
\item démarrer sur l'iso téléchargée sur le site d'EOLE (gravée sur CD-ROM ou copiée sur clé USB),
\item sélectionner le module à installer parmi ceux proposés et valider,
\item possibilité de partitionner le serveur maintenant sur tous les modules,
% \item installer manuellement des modules noyaux DKMS si nécessaire,
\item valider le bouton \emph{continuer} à la fin de l'installation,
\item ouvrir une session avec l'utilisateur \emph{root} et le mot de passe par défaut présenté à l'écran,
\item en mode conteneurs, générer les conteneurs avec la commande \emph{gen\_conteneurs}.
\end{enumerate}
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{La phase de configuration}
\begin{itemize}
\item Il faut une bonne connaissance du réseau local ;
\item en mode autonome :
\begin{itemize}
\item lancer la commande \commande{gen\_config},
\item configurer le serveur,
\item sauvegarder le fichier ;
\end{itemize}
\item en mode Zéphir :
\begin{itemize}
\item configuration dans l'application Zéphir : https://<nom\_du\_serveur>:8070/ ou via l'application de configuration du module (\commande{gen\_config}) ;
\item enregistrement au Zéphir ;
\item descente ou montée de la configuration.
\end{itemize}
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{La phase d'instanciation}
\begin{itemize}
\item Lancer la commande \commande{instance} ;
\item renseigner les mots de passe ;
\item mise à jour ;
\item éventuellement redémarrage.
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Les mots de passe}
\begin{itemize}
\item Au premier lancement de l'instanciation, il est nécessaire de modifier les mots de passe :
\begin{itemize}
\item \emph{root},
\item administrateur à droits restreints \emph{eole},
\item possibilité d'ajouter plusieurs administrateurs à droits restreints,
\item sur Amon, en cas d'utilisation d'un réseau pédagogique et administratif, un second administrateur (\emph{eole2}) permet d'administrer le réseau pédagogique,
\item \emph{admin} et \emph{Administrator} sur Scribe et Horus,
\item \emph{admin\_zephir} sur Zéphir.
\end{itemize}
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Les mots de passe}
Par défaut, le système vérifie la complexité des mots de passe. Pour cela, il utilise un système de \emph{classes de caractères} en combinaison avec un nombre de caractères minimum :
\begin{itemize}
\item il faut combiner des caractères issus de différentes classes :
\begin{itemize}
\item les lettres en minuscule,
\item les lettres en majuscule,
\item les chiffres,
\item les caractères spéciaux (Ex : \$*ù\%£, ; : !§/. ?).
\end{itemize}
\item il faut un minimum de caractères selon le nombre de classes utilisées :
\begin{itemize}
\item une seule classe de caractères : impossible,
\item deux classes de caractères : 9 caractères minimum,
\item trois et quatre classes : 8 caractères minimum.
\end{itemize}
\end{itemize}
Cette configuration est, bien évidemment, modifiable dans l'interface de configuration du module, gen\_config, en mode expert.
\end{frame}
\begin{frame}
\frametitle{La phase d'administration}
\begin{itemize}
\item Correspond à l'exploitation du serveur ;
\item chaque module possède des fonctionnalités propres, souvent complémentaires ;
\item diverses interfaces permettent la mise en œuvre de ces fonctionnalités et en facilitent l'usage :
\begin{itemize}
\item l'interface d'administration EOLE (EAD, EOP, ...),
\item l'interface semi-graphique,
\item diverses interfaces d'administration (Zéphir-web, CUPS, Sympa, ...),
\item différents outils (Era, ...) ;
\end{itemize}
\item gestion des mises à jour.
\end{itemize}
\end{frame}

View File

@ -0,0 +1,52 @@
\begin{frame}
\frametitle{Version/release et dépôt}
\begin{itemize}
\item La version : correspond à la version du socle de base (version d'Ubuntu) ;
\item la release :
\begin{itemize}
\item reçoit les mises à jour de sécurités,
\item reçoit les corrections des dysfonctionnements critiques,
\item mais chaque release à un niveau fonctionnel différent ;
\end{itemize}
\item les erratas : https://dev-eole.ac-dijon.fr/projects/modules-eole/wiki/Errata ;
\item les dépôts :
\begin{itemize}
\item les releases stables,
\item les releases candidates,
\item la version de développement (future release).
\end{itemize}
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Les mises à jour}
\begin{itemize}
\item Procédure :
\begin{itemize}
\item par l'EAD,
\item par l'interface semi-graphique,
\item par Zéphir,
\item à la ligne de commande :
\begin{itemize}
\item \commande{Query-Auto} : liste les mises à jour,
\item \commande{Maj-Auto} : lance la mise à jour sans question,
\item \commande{Query-Cd} : liste les mises à jour sur un CD,
\item \commande{Maj-Cd} : mise à jour grâce à un CD,
\item \commande{Maj-Release} : mise à jour vers une release supérieure,
\item \commande{Upgrade-Auto} : mise à jour vers une version supérieure,
\end{itemize}
\item automatiquement via une tâche hebdomadaire "post" sauvegarde de eole-schedule.
\end{itemize}
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Mise à jour via un CD/clef USB}
Le but est de pouvoir mettre à jour un serveur sans utiliser la bande passante de l'établissement.
\begin{itemize}
\item Création du cache dans l'académie : \commande{Maj-Auto --download} ;
\item copie de /var/cache/apt/archives/*.deb sur un support amovible ;
\item sur le serveur en établissement, copier le contenu du support dans /var/cache/apt/archives/ ;
\item lancer \commande{Maj-Auto}.
\end{itemize}
\end{frame}

View File

@ -0,0 +1,8 @@
\begin{frame}
\frametitle{Pratique}
\begin{itemize}
\item Faire un \commande{reconfigure} ;
\item lancer un \commande{diagnostic} ;
\item lancer un \commande{diagnostic} étendu.
\end{itemize}
\end{frame}

View File

@ -0,0 +1,7 @@
\begin{frame}
\frametitle{Diagnostic}
\begin{itemize}
\item La commande \commande{diagnose} permet de tester différents points du serveur ;
\item La commande \commande{diagnose -L} propose un diagnostic étendu.
\end{itemize}
\end{frame}

View File

@ -0,0 +1,11 @@
\begin{frame}
\frametitle{Trouver des informations sur Internet}
\begin{itemize}
\item la documentation ;
\item les FAQ ;
\item les archives des listes de diffusion ;
\item recherche sur Internet ;
\item équipes d'assistance académiques ;
\item forum EOLE : https://www.libre-communaute.fr .
\end{itemize}
\end{frame}

View File

@ -0,0 +1,141 @@
\begin{frame}
\frametitle{RAID logiciel : préparation de la VM}
\begin{itemize}
\item Nom : Scribe-raid ;
\item capacité disque : 80 Gio ;
\item ajout d'un second disque de 80 Gio ;
\item contrôleur SATA : activer "Utiliser le caches E/S de l'hôte" ;
\item démarrer sur l'image iso ;
\item sélectionner "Scribe" ;
\item méthode de partitionnement : Manuel ;
\item partition/manual => Continuer ;
\item méthode de partitionnement : Manuel ;
\item créer une nouvelle table de partition : Oui.
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{RAID logiciel : création des partitions de swap}
\begin{itemize}
\item La swap n'a pas besoin d'être sur une partition RAID ;
\item création des partitions swap :
\begin{itemize}
\item créer une nouvelle table de partition pour le disque sda et sdb,
\item sélectionner l'espace libre du disque sda et sdb,
\item créer une nouvelle partition,
\item taille de la partition : totalité - taille de la swap,
\item type de la nouvee partition : Primaire,
\item emplacement de la nouvelle partition : Début,
\item utiliser comme : volume physique pour RAID,
\item indicateur d'amorçage : présent,
\item faire la même chose pour les partitions swap.
\end{itemize}
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{RAID logiciel : création du RAID}
\begin{itemize}
\item Création du disque RAID logiciel :
\begin{itemize}
\item configurer le RAID avec gestion logicielle,
\item appliquer les changements au RAID : Oui,
\item créer un périphérique multidisque,
\item type de périphérique RAID logiciel : RAID1,
\item nombre de périphériques actifs : 2,
\item nombre de périphériques de réserve : 0,
\item périphériques actifs : sda1 et sdb1,
\item appliquer les changements au RAID : Oui,
\item actions de configuration : Terminer.
\end{itemize}
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{RAID logiciel : création des LVM}
\begin{itemize}
\item Création des volumes logiques LVM :
\begin{itemize}
\item configurer le gestionnaire de volumes logiques (LVM),
\item créer un groupe de volumes,
\item nom du groupe de volumes : formation,
\item périphériques pour le nouveau groupe de volumes : md0,
\item créer un volume logique,
\item groupes de volumes : formation,
\item nom : boot, taille : 750M,
\item nom : root, taille : 8G,
\item nom : tmp, taille : 1.5G,
\item nom : var, taille : 7G,
\item nom : home, taille : valeur par défaut,
\item Terminer.
\end{itemize}
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{RAID logiciel : formatage et installation}
\begin{itemize}
\item Formatage :
\begin{itemize}
\item choisir chacun des volumes logiques et configurer les partitions,
\item utiliser comme : système de fichiers journalisé ext4,
\item point de montage : /xxx
\item fin de paramétrage de cette partition,
\item terminer le partitionnement et appliquer les changements ;
\item appliquer les changements sur les disques : oui.
\end{itemize}
\item installation :
\begin{itemize}
\item à la fin du processus d'installation "continuer" pour le choix d'installation de Grub : /dev/sda.
\end{itemize}
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{RAID logiciel : état du RAID}
\begin{itemize}
\item watch cat /proc/mdstat
\item ou
\item mdadm --detail /dev/md0
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{RAID logiciel : changement disque}
\begin{itemize}
\item Si le serveur fonctionne :
\begin{itemize}
\item mdadm /dev/md0 -r /dev/sdb1
\item si erreur : "mdadm : hot remove failed for /dev/sdc : device or ressource busy"
\item mdadm /dev/mdo -f /dev/sdb1
\item mdadm /dev/md0 -r /dev/sdb1
\item arrêt du serveur et changement du disque
\end{itemize}
\item si le serveur est arrêté :
\begin{itemize}
\item mdadm --stop /dev/md0
\item mdadm -A --force /dev/md0 /dev/sda1
\item lvm vgscan => repère le nom du groupe
\item lvm vgchange -ay formation
\item exit
\end{itemize}
\item activer le nouveau disque :
\begin{itemize}
\item sauvegarde de la table de la partition du disque fonctionnel : sfdisk -d /dev/sda > sauv.table
\item dans le fichier "sauv.table" replacer "sda" par "sdb"
\item restauration sur le nouveau disque : sfdisk /dev/sdb < sauv.table
\item mdadm /dev/md0 -a /dev/sdc1
\end{itemize}
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{RAID logiciel : création de la partition swap}
\begin{itemize}
\item Formatage de la swap : mkswap /dev/sdb2 ;
\item conserver l'UUID de la nouvelle swap : "pas d'étiquette, UUID=xxxxxxx" ;
\item modifier la ligne de swap dans /etc/fstab ;
\item monter la swap : swapon -a.
\end{itemize}
\end{frame}

View File

@ -0,0 +1,11 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>HEADER</title>
<meta name="description" content="fleur jardin maison"/>
<meta name="keywords" content="fleur jardin maison"/>
</head>
<body>
sex, sexe, xxx
</body>
</html>

View File

@ -0,0 +1,11 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>HEADER</title>
<meta name="description" content="sex, sexe, xxx"/>
<meta name="keywords" content="sex, sexe, xxx"/>
</head>
<body>
fleur jardin maison
</body>
</html>

View File

@ -0,0 +1,9 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Virus</title>
</head>
<body>
X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*
</body>
</html>

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,21 @@
Installation
- AmonEcole
- 2 cartes réseau
- instancier
- création de deux utilisateurs "prof" et "eleve"
- désactiver clam et activer DHCP
- Seven : intégré au domaine
- Sphynx
- faire une mise à jour
- suppression du fichier udev
- Zéphir : suppression du fichier udev
Durée de la formation 3 jours :
1 jour matin : fin DNS
après midi : fin Era
2 jour matin : avant filtration machine/utilisateur
après midi : fin filtre web
3 jour matin : fin présentation sphynx + integration virtualbox

View File

@ -0,0 +1,50 @@
##################
# Partie serveur #
##################
# Un scribe (dernière stable)
- Le serveur Scribe
- rdesktop, vnc-viewer (xthightvncviewer)
- winexe
# Un horus (dernière stable)
- Le serveur Horus
- supprimer le fichier /etc/udev/rules.d/70-persistante-net.rules (plus d'actualité)
# Envole sur scribe (autre scribe) (ATTENTION, partir sur une version 2.5.2 de Scribe)
- paquets supplémentaires : eole-ejabberd, ejabberd, eole-envole, eole-envole-theme, envole-pkg
##################################
# Partie poste client virtualisé #
##################################
# Windows 10 (prévoir 2 postes différents pour un confort lors de la formation)
# Créer un poste avec toutes les applications ci-dessous et cloner cette machine (un pour Scribe et un pour Horus)
- Windows 10 N
- Firefox
- putty, xming, winscp
- activation des outils RSAT (Applications et fonctionnalités > Fonctionnalités facultatives > + Ajouter une fonctionnalité > RSAT : outils de gestion de stratégie de groupe > RSAT : outils de gestion du contrôleur de réseau)
# Windows 7 (formation faite sur W10, plus d'actualité)
#- Windows 7
#- Firefox
#- Plugin flash player (pour Envole)
#- Windows Enabler
#- putty, xming, winscp
#######################################################
# Fichiers supplémentaires nécessaires à la formation #
#######################################################
# Si formation dans nos locaux :
- Copier sur les postes de formation : sconet.iso, eicar.iso, dotclear.iso (disponibles dans "modules_EOLE_envole/documents/")
# Si formation à l'extérieur
- Copier sur un support externe : sconet.iso, eicar.iso, dotclear.iso (disponibles dans "modules_EOLE_envole/documents/")
#######################################################
# Découpage de la formation #
#######################################################
- lancer limport des comptes en fin de deuxième journée
- sauvegarde partielle

View File

@ -0,0 +1,13 @@
Installer :
Zephir1 à jour
Supprimer le persistance-net
Installer Scribe1
Ne pas supprimer le persistance-net
Télécharger Xming/PUTTY/WinSCP
Télécharger le paquet ircd-irc2
Durée de la formation 3 jours :
1 jour : TC1 en démarrant les commandes systèmes
2 jour : finir TC1
3 jour : TC2

Binary file not shown.

View File

@ -0,0 +1,10 @@
Include {
Options {
aclsupport = no
@/etc/bareos/include-options.conf
}
File = /tmp/repertoire
}
Exclude {
File = /tmp/repertoire/toto.txt
}

View File

@ -0,0 +1,10 @@
#!/bin/bash
if [ $(CreoleGet activer_ircd) = "oui" ];then
. /usr/lib/eole/diagnose.sh
EchoGras "*** Serveur IRCD"
TestService IRCD 127.0.0.1:$(CreoleGet ircd_port)
echo
fi
exit 0

View File

@ -0,0 +1,73 @@
<?xml version="1.0" encoding="utf-8"?>
<creole>
<files>
<package>ircd-irc2</package>
<service servicelist="ircd">ircd-irc2</service>
<service_access service='ircd-irc2'>
<port port_type="SymLinkOption">ircd_port</port>
</service_access>
<file filelist="ircd" name='/etc/ircd/ircd.conf'/>
<file filelist="ircd" name='/etc/ircd/ircd.motd'/>
</files>
<variables>
<family name='services'>
<variable name='activer_ircd' type='oui/non' description="Activer le serveur IRC" >
<value>oui</value>
</variable>
</family>
<family name='ircd'>
<variable name='ircd_domaine' type='domain' description="Nom de domaine utilisé pour accéder au serveur IRC"/>
<variable name='ircd_libelle' type='string' description="Libellé du serveur IRC"/>
<variable name='ircd_port' type='port' description="Port du serveur IRC" mode='expert'>
<value>6667</value>
</variable>
<variable name='ircd_banned_hostname' type='domain' description="Hote banni sur le serveur IRC" multi="True" mandatory="True"/>
<variable name='ircd_banned_comment' type='string' description="Motif du bannissement du serveur IRC">
<value>Vous êtes banni, contacter votre administrateur</value>
</variable>
<variable name='ircd_motd_message' type='string' description="Message de bienvenu"/>
<variable name='ircd_motd_personnalise' type='string' description="Message de bienvenu personnalisé"/>
</family>
</variables>
<constraints>
<check name='valid_enum' target='ircd_motd_message'>
<param>['message 1', 'message 2', 'personnalisé']</param>
</check>
<fill name='calc_val' target='ircd_domaine'>
<param type='eole' name='valeur' hidden="False">web_url</param>
</fill>
<fill name='ma_fonction' target='ircd_motd_personnalise'>
</fill>
<auto name="concat" target='ircd_libelle'>
<param name='valeur1'>Serveur IRC pour </param>
<param type='eole' name='valeur2'>libelle_etab</param>
</auto>
<group master='ircd_banned_hostname'>
<slave>ircd_banned_comment</slave>
</group>
<condition name='disabled_if_in' source='activer_ircd'>
<param>non</param>
<target type='filelist'>ircd</target>
<target type='servicelist'>ircd</target>
<target type='family'>ircd</target>
</condition>
<condition name='disabled_if_not_in' source='ircd_motd_message'>
<param>personnalisé</param>
<target>ircd_motd_personnalise</target>
</condition>
<check name="valid_differ" target="ircd_libelle">
<param type='eole' hidden="False">ircd_motd_personnalise</param>
</check>
</constraints>
<help>
<variable name="activer_ircd">Cette variable permet d'activer un serveur IRC</variable>
</help>
</creole>
<!-- vim: ts=4 sw=4 expandtab
-->

View File

@ -0,0 +1,28 @@
<?xml version="1.0" encoding="utf-8"?>
<creole>
<files>
</files>
<variables>
<family name="services">
<variable name="activer_clam" redefine="True" hidden="True">
<value>non</value>
</variable>
</family>
<family name="applications web">
<variable name="web_url" description="l'url web specifique à Rennes" redefine="True"/>
</family>
</variables>
<constraints>
</constraints>
<help>
</help>
</creole>
<!-- vim: ts=4 sw=4 expandtab
-->

View File

@ -0,0 +1,12 @@
# -*- coding: UTF-8 -*-
from ead2.backend.actions.lib.main import Cmd
class Cmd_Ls(Cmd):
"""
Action du mode commande
"""
name = "cmd_ls"
# propriété de la commande à exécuter
cmd_template = "/bin/ls /tmp"
cmd_libelle = "ls sur /tmp"

View File

@ -0,0 +1 @@
cmd_ls

View File

@ -0,0 +1,5 @@
[roles]
admin=Administrateur
[permissions]
cmd_ls=admin

View File

@ -0,0 +1,30 @@
<?xml version="1.0" encoding="utf-8"?>
<creole>
<variables>
<family name='ircd_start'>
<variable name="description" type="string"><value>Démarrage du service IRCD</value></variable>
<variable name="day" type="schedule"></variable>
<variable name="mode" type="schedulemod"><value>post</value></variable>
</family>
<family name='ircd_stop'>
<variable name="description" type="string"><value>Arrêt du service IRCD</value></variable>
<variable name="day" type="schedule"></variable>
<variable name="mode" type="schedulemod"><value>pre</value></variable>
</family>
</variables>
<constraints>
<fill name='calc_multi_condition' target='schedule.ircd_stop.day'>
<param>non</param>
<param type='eole' name='condition_1'>activer_ircd</param>
<param name='match'>none</param>
<param name='mismatch'>daily</param>
</fill>
<fill name='calc_multi_condition' target='schedule.ircd_start.day'>
<param>non</param>
<param type='eole' name='condition_1'>activer_ircd</param>
<param name='match'>none</param>
<param name='mismatch'>daily</param>
</fill>
</constraints>
</creole>

View File

@ -0,0 +1,4 @@
#!/usr/bin/python
def ma_fonction():
return u'Ma phrase de ma fonction'

View File

@ -0,0 +1,14 @@
#!/bin/bash
. /usr/share/eole/FonctionsEoleNg
option=$1
if [ "$option" = "instance" ] && [ -d $container_path_web/tmp/toto ] ; then
Question_ouinon "Voulez-vous supprimer le répertoire ?" "oui"
[ "$?" = "0" ] && RunCmd "rm -rf /tmp/toto" web
fi
RunCmd "mkdir -p /tmp/toto" web
exit 0

View File

@ -0,0 +1,4 @@
#!/bin/bash
CreoleService ircd-irc2 start
exit 0

View File

@ -0,0 +1,4 @@
#!/bin/bash
CreoleService ircd-irc2 stop
exit 0

View File

@ -0,0 +1,720 @@
\documentclass[a4paper,11pt]{report}
\usepackage{ifxetex}
\ifxetex
%\usepackage{fontspec}
%\usepackage{xunicode}
\usepackage{xltxtra}
\defaultfontfeatures{Mapping=tex-text} % To support LaTeX quoting style
\setmainfont{Caviar Dreams}
\else
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{amsfonts}
\fi
\usepackage{pifont}
\usepackage{geometry}
\usepackage{fancybox}
\usepackage{verbatim}
\usepackage{eurosym}
\usepackage[english, francais]{babel}
\usepackage{listings}
\usepackage{color}
\usepackage{graphicx}
\usepackage{hyperref}
\usepackage{titlesec}
\usepackage{fancyhdr}
\usepackage{lastpage}
\usepackage{minted1}
\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)
\definecolor{bg}{rgb}{0.9,0.9,0.9}
% TITRE DU DOCUMENT !
\title{Corrigé des exercices : intégration de ircd-irc2 dans EOLE}
%\date{}
\begin{document}
\maketitle
\normalsize
\vspace{2cm}
\textbf{Rédacteurs :}
\begin{itemize}
\item Emmanuel Garette (egarette@cadoles.com)
\item Vincent Febvre (vfebvre@cadoles.com) \newline
\end{itemize}
\vspace{2cm}
\textbf{Version} : 1.0 \newline
\chapter{Création d'un dictionnaire vierge}
Le répertoire des dictionnaires personnalisés local est dans /usr/share/eole/creole/dicos/local.
Créé un fichier en suivant les conventions suivantes :
\begin{itemize}
\item deux chiffres en préfix
\item le séparateur \_
\item le nom du projet
\item l'extention .xml
\end{itemize}
Créer le fichier 00\_ircd.xml avec la structure de base suivante :
\begin{minted}[bgcolor=bg]{xml}
<?xml version="1.0" encoding="utf-8"?>
<creole>
<files>
</files>
<variables>
</variables>
<constraints>
</constraints>
<help>
</help>
</creole>
\end{minted}
\chapter{Installation du paquet et gestion du service}
Le logiciel doit s'installer à l'instanciation du serveur et le service doit être géré par EOLE :
\begin{minted}{xml}
<?xml version="1.0" encoding="utf-8"?>
<creole>
<files>
\end{minted}
\begin{minted}[bgcolor=bg]{xml}
<package>ircd-irc2</package>
<service>ircd-irc2</service>
\end{minted}
\begin{minted}{xml}
</files>
<variables>
</variables>
<constraints>
</constraints>
<help>
</help>
</creole>
\end{minted}
\chapter{Ouverture du firewall et tcpwrapper}
\begin{minted}{xml}
<?xml version="1.0" encoding="utf-8"?>
<creole>
<files>
<package>ircd-irc2</package>
<service>ircd-irc2</service>
\end{minted}
\begin{minted}[bgcolor=bg]{xml}
<service_access service='ircd-irc2'>
<port>6667</port>
</service_access>
\end{minted}
\begin{minted}{xml}
</files>
<variables>
</variables>
<constraints>
</constraints>
<help>
</help>
</creole>
\end{minted}
\chapter{Activation/désactivation du service}
Ajouter une variable pour activer/désactiver le service :
\begin{minted}{xml}
<?xml version="1.0" encoding="utf-8"?>
<creole>
<files>
<package>ircd-irc2</package>
<service>ircd-irc2</service>
<service_access service='ircd-irc2'>
<port>6667</port>
</service_access>
</files>
<variables>
\end{minted}
\begin{minted}[bgcolor=bg]{xml}
<family name='services'>
<variable name='activer_ircd' type='oui/non'
description="Activer le serveur IRC" >
<value>oui</value>
</variable>
</family>
\end{minted}
\begin{minted}{xml}
</variables>
<constraints>
</constraints>
<help>
</help>
</creole>
\end{minted}
\chapter{Ajout des variables}
Dans le template nous allons utiliser des variables définis dans le dictionnaire. Nous allons ajouter les variable pour configurer les M line et les K line :
\begin{minted}{xml}
<?xml version="1.0" encoding="utf-8"?>
<creole>
<files>
<package>ircd-irc2</package>
<service>ircd-irc2</service>
<service_access service='ircd-irc2'>
<port>6667</port>
</service_access>
</files>
<variables>
<family name='services'>
<variable name='activer_ircd' type='oui/non'
description="Activer le serveur IRC" >
<value>oui</value>
</variable>
</family>
\end{minted}
\begin{minted}[bgcolor=bg]{xml}
<family name='ircd'>
<variable name='ircd_domaine' type='domain'
description="Nom de domaine utilisé pour accéder au serveur IRC"/>
<variable name='ircd_libelle' type='string'
description="Libellé du serveur IRC"/>
<variable name='ircd_port' type='port' description="Port du serveur IRC"
mode='expert'>
<value>6667</value>
</variable>
<variable name='ircd_banned_hostname' type='domain'
description="Hote banni sur le serveur IRC" multi="True"
mandatory="True"/>
<variable name='ircd_banned_comment' type='string'
description="Motif du bannissement du serveur IRC">
<value>Vous êtes banni, contacter votre administrateur</value>
</variable>
</family>
\end{minted}
\begin{minted}{xml}
</variables>
<constraints>
</constraints>
<help>
</help>
</creole>
\end{minted}
\chapter{Le port du firewall devient variable}
On modifie le type du port en variable :
\begin{minted}{xml}
<?xml version="1.0" encoding="utf-8"?>
<creole>
<files>
<package>ircd-irc2</package>
<service>ircd-irc2</service>
<service_access service='ircd-irc2'>
\end{minted}
\begin{minted}[bgcolor=bg]{xml}
<port port_type="SymLinkOption">ircd_port</port>
\end{minted}
\begin{minted}{xml}
</service_access>
</files>
<variables>
<family name='ircd'>
<variable name='ircd_domaine' type='domain'
description="Nom de domaine utilisé pour accéder au serveur IRC"/>
<variable name='ircd_libelle' type='string'
description="Libellé du serveur IRC"/>
<variable name='ircd_port' type='port' description="Port du serveur IRC"
mode='expert'>
<value>6667</value>
</variable>
<variable name='ircd_banned_hostname' type='domain'
description="Hote banni sur le serveur IRC" multi="True"
mandatory="True"/>
<variable name='ircd_banned_comment' type='string'
description="Motif du bannissement du serveur IRC">
<value>Vous êtes banni, contacter votre administrateur</value>
</variable>
</family>
</variables>
<constraints>
</constraints>
<help>
</help>
</creole>
\end{minted}
\chapter{Ajout du template}
Le fichier de configuration du service doit être "templatiser" par EOLE :
\begin{minted}{xml}
<?xml version="1.0" encoding="utf-8"?>
<creole>
<files>
<package>ircd-irc2</package>
<service>ircd-irc2</service>
<service_access service='ircd-irc2'>
<port port_type="SymLinkOption">ircd_port</port>
</service_access>
\end{minted}
\begin{minted}[bgcolor=bg]{xml}
<file name='/etc/ircd/ircd.conf'/>
\end{minted}
\begin{minted}{xml}
</files>
<variables>
<family name='ircd'>
<variable name='ircd_domaine' type='domain'
description="Nom de domaine utilisé pour accéder au serveur IRC"/>
<variable name='ircd_libelle' type='string'
description="Libellé du serveur IRC"/>
<variable name='ircd_port' type='port' description="Port du serveur IRC"
mode='expert'>
<value>6667</value>
</variable>
<variable name='ircd_banned_hostname' type='domain'
description="Hote banni sur le serveur IRC" multi="True"
mandatory="True"/>
<variable name='ircd_banned_comment' type='string'
description="Motif du bannissement du serveur IRC">
<value>Vous êtes banni, contacter votre administrateur</value>
</variable>
</family>
</variables>
<constraints>
</constraints>
<help>
</help>
</creole>
\end{minted}
\chapter{Désactivation des éléments}
Si "activer\_ircd" est à "non" le service ne devrait plus être démarré, la famille ne doit plus être accessible et le fichier de configuration ne doit plus être généré :
\begin{minted}{xml}
<?xml version="1.0" encoding="utf-8"?>
<creole>
<files>
<package>ircd-irc2</package>
\end{minted}
\begin{minted}[bgcolor=bg]{xml}
<service servicelist="ircd">ircd-irc2</service>
\end{minted}
\begin{minted}{xml}
<service_access service='ircd-irc2'>
<port port_type="SymLinkOption">ircd_port</port>
</service_access>
\end{minted}
\begin{minted}[bgcolor=bg]{xml}
<file filelist="ircd" name='/etc/ircd/ircd.conf'/>
\end{minted}
\begin{minted}{xml}
</files>
<variables>
<family name='services'>
<variable name='activer_ircd' type='oui/non'
description="Activer le serveur IRC" >
<value>oui</value>
</variable>
</family>
<family name='ircd'>
<variable name='ircd_domaine' type='domain'
description="Nom de domaine utilisé pour accéder au serveur IRC"/>
<variable name='ircd_libelle' type='string'
description="Libellé du serveur IRC"/>
<variable name='ircd_port' type='port' description="Port du serveur IRC"
mode='expert'>
<value>6667</value>
</variable>
<variable name='ircd_banned_hostname' type='domain'
description="Hote banni sur le serveur IRC" multi="True"
mandatory="True"/>
<variable name='ircd_banned_comment' type='string'
description="Motif du bannissement du serveur IRC">
<value>Vous êtes banni, contacter votre administrateur</value>
</variable>
</family>
</variables>
<constraints>
\end{minted}
\begin{minted}[bgcolor=bg]{xml}
<condition name='disabled_if_in' source='activer_ircd'>
<param>non</param>
<target type='filelist'>ircd</target>
<target type='servicelist'>ircd</target>
<target type='family'>ircd</target>
</condition>
\end{minted}
\begin{minted}{xml}
</constraints>
<help>
</help>
</creole>
\end{minted}
\chapter{Ajout du groupe}
Il y a autant de message d'erreur que de nom d'hôte banni. Il est donc nécessaire de faire un groupe.
\begin{minted}{xml}
<?xml version="1.0" encoding="utf-8"?>
<creole>
<files>
<package>ircd-irc2</package>
<service servicelist="ircd">ircd-irc2</service>
<service_access service='ircd-irc2'>
<port port_type="SymLinkOption">ircd_port</port>
</service_access>
<file filelist="ircd" name='/etc/ircd/ircd.conf'/>
</files>
<variables>
<family name='services'>
<variable name='activer_ircd' type='oui/non'
description="Activer le serveur IRC" >
<value>oui</value>
</variable>
</family>
<family name='ircd'>
<variable name='ircd_domaine' type='domain'
description="Nom de domaine utilisé pour accéder au serveur IRC"/>
<variable name='ircd_libelle' type='string'
description="Libellé du serveur IRC"/>
<variable name='ircd_port' type='port' description="Port du serveur IRC"
mode='expert'>
<value>6667</value>
</variable>
<variable name='ircd_banned_hostname' type='domain'
description="Hote banni sur le serveur IRC" multi="True"
mandatory="True"/>
<variable name='ircd_banned_comment' type='string'
description="Motif du bannissement du serveur IRC">
<value>Vous êtes banni, contacter votre administrateur</value>
</variable>
</family>
</variables>
<constraints>
<condition name='disabled_if_in' source='activer_ircd'>
<param>non</param>
<target type='filelist'>ircd</target>
<target type='servicelist'>ircd</target>
<target type='family'>ircd</target>
</condition>
\end{minted}
\begin{minted}[bgcolor=bg]{xml}
<group master="ircd_banned_hostname">
<slave>icd_banned_comment</slave>
</group>
\end{minted}
\begin{minted}{xml}
</constraints>
<help>
</help>
</creole>
\end{minted}
\chapter{Ajout d'aide à la variable d'activation}
Ajouter de l'aide sur la variable activer\_ircd :
\begin{minted}{xml}
<?xml version="1.0" encoding="utf-8"?>
<creole>
<files>
<package>ircd-irc2</package>
<service servicelist="ircd">ircd-irc2</service>
<service_access service='ircd-irc2'>
<port port_type="SymLinkOption">ircd_port</port>
</service_access>
<file filelist="ircd" name='/etc/ircd/ircd.conf'/>
</files>
<variables>
<family name='services'>
<variable name='activer_ircd' type='oui/non'
description="Activer le serveur IRC" >
<value>oui</value>
</variable>
</family>
<family name='ircd'>
<variable name='ircd_domaine' type='domain'
description="Nom de domaine utilisé pour accéder au serveur IRC"/>
<variable name='ircd_libelle' type='string'
description="Libellé du serveur IRC"/>
<variable name='ircd_port' type='port' description="Port du serveur IRC"
mode='expert'>
<value>6667</value>
</variable>
<variable name='ircd_banned_hostname' type='domain'
description="Hote banni sur le serveur IRC" multi="True"
mandatory="True"/>
<variable name='ircd_banned_comment' type='string'
description="Motif du bannissement du serveur IRC">
<value>Vous êtes banni, contacter votre administrateur</value>
</variable>
</family>
</variables>
<constraints>
<condition name='disabled_if_in' source='activer_ircd'>
<param>non</param>
<target type='filelist'>ircd</target>
<target type='servicelist'>ircd</target>
<target type='family'>ircd</target>
</condition>
</constraints>
<help>
\end{minted}
\begin{minted}[bgcolor=bg]{xml}
<variable name="activer_ircd">Cette variable permet d'activer un serveur IRC</variable>
\end{minted}
\begin{minted}{xml}
</help>
</creole>
\end{minted}
\chapter{Ajout d'un calcul}
Ajouter un calcul sur la variable ircd\_domaine :
\begin{minted}{xml}
<?xml version="1.0" encoding="utf-8"?>
<creole>
<files>
<package>ircd-irc2</package>
<service servicelist="ircd">ircd-irc2</service>
<service_access service='ircd-irc2'>
<port port_type="SymLinkOption">ircd_port</port>
</service_access>
<file filelist="ircd" name='/etc/ircd/ircd.conf'/>
</files>
<variables>
<family name='services'>
<variable name='activer_ircd' type='oui/non'
description="Activer le serveur IRC" >
<value>oui</value>
</variable>
</family>
<family name='ircd'>
<variable name='ircd_domaine' type='domain'
description="Nom de domaine utilisé pour accéder au serveur IRC"/>
<variable name='ircd_libelle' type='string'
description="Libellé du serveur IRC"/>
<variable name='ircd_port' type='port' description="Port du serveur IRC"
mode='expert'>
<value>6667</value>
</variable>
<variable name='ircd_banned_hostname' type='domain'
description="Hote banni sur le serveur IRC" multi="True"
mandatory="True"/>
<variable name='ircd_banned_comment' type='string'
description="Motif du bannissement du serveur IRC">
<value>Vous êtes banni, contacter votre administrateur</value>
</variable>
</family>
</variables>
<constraints>
<condition name='disabled_if_in' source='activer_ircd'>
<param>non</param>
<target type='filelist'>ircd</target>
<target type='servicelist'>ircd</target>
<target type='family'>ircd</target>
</condition>
\end{minted}
\begin{minted}[bgcolor=bg]{xml}
<fill name="calc_val" target="ircd_domaine">
<param type="eole">web_url</param>
</fill>
\end{minted}
\begin{minted}{xml}
</constraints>
<help>
<variable name="activer_ircd">Cette variable permet d'activer un serveur IRC</variable>
</help>
</creole>
\end{minted}
\chapter{Test du dictionnaire}
Lancer gen\_config.Dans l'onglet service tester si l'onglet "Ircd" disparait bien si "Activer le serveur IRC" est à "non" et réapparait si la valeur est à "oui".
Renseigner la valeur de la variable "Nom de domaine utilisé pour accéder au serveur IRC" à "localhost.localdomaine".
\chapter{Création du template}
Si le variable pour activer le serveur est maintenant bien présente, le service n'est toujours pas fonctionnel.
En effet, il faut configurer l'application avec les informations fournis par l'utilisateur.
Pour cela, nous allons créé le template /usr/share/eole/creole/distrib/ircd.conf :
\begin{otherlanguage}{english}
\begin{minted}{cpp}
# This is ircd's config-file. Look at
# /usr/share/doc/ircd-irc2/ircd.conf.example.gz and
# and /usr/share/doc/ircd-irc2/INSTALL.* for more detailled information
# and instructions
# A-Line
A:Default:Default file:Welcome::ExampleNet
# Y-Lines
Y:1:90::100:512000:5.5:100.100
Y:2:90::300:512000:5.5:250.250
# I-Line
I:*:::0:1
I:127.0.0.1/32:::0:1
# P-Line
P::::6667:
\end{minted}
\end{otherlanguage}
\chapter{Configuration général du service}
L'utilisateur a renseigner un domaine, un label et un port pour IRCD. Il faut maintenant en tenir compte :
\begin{otherlanguage}{english}
\begin{minted}{cpp}
# This is ircd's config-file. Look at
# /usr/share/doc/ircd-irc2/ircd.conf.example.gz and
# and /usr/share/doc/ircd-irc2/INSTALL.* for more detailled information
# and instructions
\end{minted}
\begin{minted}[bgcolor=bg]{cpp}
# M-Line
M:%%ircd_domaine::%%ircd_libelle:%%ircd_port:000A
\end{minted}
\begin{minted}{cpp}
# A-Line
A:Default:Default file:Welcome::ExampleNet
# Y-Lines
Y:1:90::100:512000:5.5:100.100
Y:2:90::300:512000:5.5:250.250
# I-Line
I:*:::0:1
I:127.0.0.1/32:::0:1
# P-Line
P::::6667:
\end{minted}
\end{otherlanguage}
\chapter{Ajout des bannissements}
L'administrateur a la possibilité d'ajouté plusieurs lignes de bannissement. Il est donc nécessaire de récupérer les informations avec une boucle :
\begin{otherlanguage}{english}
\begin{minted}{cpp}
# This is ircd's config-file. Look at
# /usr/share/doc/ircd-irc2/ircd.conf.example.gz and
# and /usr/share/doc/ircd-irc2/INSTALL.* for more detailled information
# and instructions
# M-Line
M:%%ircd_domaine::%%ircd_libelle:%%ircd_port:000A
\end{minted}
\begin{minted}[bgcolor=bg]{cpp}
%for %%hostname in %%ircd_banned_hostname
# K-Line
K:%%hostname:%%hostname.ircd_banned_comment:*:0:
%end for
\end{minted}
\begin{minted}{cpp}
# A-Line
A:Default:Default file:Welcome::ExampleNet
# Y-Lines
Y:1:90::100:512000:5.5:100.100
Y:2:90::300:512000:5.5:250.250
# I-Line
I:*:::0:1
I:127.0.0.1/32:::0:1
# P-Line
P::::6667:
\end{minted}
\end{otherlanguage}
\chapter{Configuration et démarrage le service}
Il est maintenant possible de vérifier le fonctionnement du service.
Le service doit être démarré après le reconfigure si on active IRCD.
Le service doit être arrêté après le reconfigure si on désactive IRCD.
\end{document}

View File

@ -0,0 +1,261 @@
%%
%% This is file `minted1.sty',
%% generated with the docstrip utility.
%%
%% The original source files were:
%%
%% minted.dtx (with options: `packageone')
%% Copyright 2013--2016 Geoffrey M. Poore
%% Copyright 2010--2011 Konrad Rudolph
%%
%% This work may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License, either version 1.3
%% of this license or (at your option) any later version.
%% The latest version of this license is in
%% http://www.latex-project.org/lppl.txt
%% and version 1.3 or later is part of all distributions of LaTeX
%% version 2005/12/01 or later.
%%
%% Additionally, the project may be distributed under the terms of the new BSD
%% license.
%%
%% This work has the LPPL maintenance status `maintained'.
%%
%% The Current Maintainer of this work is Geoffrey Poore.
%%
%% This work consists of the files minted.dtx and minted.ins
%% and the derived file minted.sty.
\NeedsTeXFormat{LaTeX2e}
%%%% Begin minted1 modification
%%\ProvidesPackage{minted}[2011/09/17 v1.7 Yet another Pygments shim for LaTeX]
\ProvidesPackage{minted1}[2015/01/31 v1.0 minted 1.7 compatibility package]
%%%% End minted1 modification
\RequirePackage{keyval}
\RequirePackage{fancyvrb}
\RequirePackage{xcolor}
\RequirePackage{float}
\RequirePackage{ifthen}
%%%% Begin minted1 modification
\newboolean{mintedone@mintedloaded}
\@ifpackageloaded{minted}%
{\setboolean{mintedone@mintedloaded}{true}%
\PackageError{minted1}{The package "minted1" may not be loaded after
^^J"minted" has already been loaded--load "minted1" only for "minted"
^^Jversion 1.7 compatibility}%
{Load "minted1" only when "minted" version 1.7 compatibility is required}}%
{}
\ifmintedone@mintedloaded\else
\@namedef{ver@minted.sty}{2011/09/17 v1.7 Yet another Pygments shim for LaTeX}
\expandafter\let\expandafter\minted@tmp\csname opt@minted1.sty\endcsname
\expandafter\let\csname opt@minted.sty\endcsname\minted@tmp
\let\minted@tmp\relax
%%%% End minted1 modification
\RequirePackage{calc}
\RequirePackage{ifplatform}
\DeclareOption{chapter}{\def\minted@float@within{chapter}}
\DeclareOption{section}{\def\minted@float@within{section}}
\ProcessOptions\relax
\ifwindows
\providecommand\DeleteFile[1]{\immediate\write18{del #1}}
\else
\providecommand\DeleteFile[1]{\immediate\write18{rm #1}}
\fi
\newboolean{AppExists}
\newcommand\TestAppExists[1]{
\ifwindows
\DeleteFile{\jobname.aex}
\immediate\write18{for \string^\@percentchar i in (#1.exe #1.bat #1.cmd)
do set >\jobname.aex <nul: /p x=\string^\@percentchar \string~$PATH:i>>\jobname.aex} %$
\newread\@appexistsfile
\immediate\openin\@appexistsfile\jobname.aex
\expandafter\def\expandafter\@tmp@cr\expandafter{\the\endlinechar}
\endlinechar=-1\relax
\readline\@appexistsfile to \@apppathifexists
\endlinechar=\@tmp@cr
\ifthenelse{\equal{\@apppathifexists}{}}
{\AppExistsfalse}
{\AppExiststrue}
\immediate\closein\@appexistsfile
\DeleteFile{\jobname.aex}
\immediate\typeout{file deleted}
\else
\immediate\write18{which #1 && touch \jobname.aex}
\IfFileExists{\jobname.aex}
{\AppExiststrue
\DeleteFile{\jobname.aex}}
{\AppExistsfalse}
\fi}
\newcommand\minted@resetoptions{}
\newcommand\minted@defopt[1]{
\expandafter\def\expandafter\minted@resetoptions\expandafter{%
\minted@resetoptions
\@namedef{minted@opt@#1}{}}}
\newcommand\minted@opt[1]{
\expandafter\detokenize%
\expandafter\expandafter\expandafter{\csname minted@opt@#1\endcsname}}
\newcommand\minted@define@opt[3][]{
\minted@defopt{#2}
\ifthenelse{\equal{#1}{}}{
\define@key{minted@opt}{#2}{\@namedef{minted@opt@#2}{#3}}}
{\define@key{minted@opt}{#2}[#1]{\@namedef{minted@opt@#2}{#3}}}}
\newcommand\minted@define@switch[3][]{
\minted@defopt{#2}
\define@booleankey{minted@opt}{#2}
{\@namedef{minted@opt@#2}{#3}}
{\@namedef{minted@opt@#2}{#1}}}
\minted@defopt{extra}
\newcommand\minted@define@extra[1]{
\define@key{minted@opt}{#1}{
\expandafter\def\expandafter\minted@opt@extra\expandafter{%
\minted@opt@extra,#1=##1}}}
\newcommand\minted@define@extra@switch[1]{
\define@booleankey{minted@opt}{#1}
{\expandafter\def\expandafter\minted@opt@extra\expandafter{%
\minted@opt@extra,#1}}
{\expandafter\def\expandafter\minted@opt@extra\expandafter{%
\minted@opt@extra,#1=false}}}
\minted@define@switch{texcl}{-P texcomments}
\minted@define@switch{mathescape}{-P mathescape}
\minted@define@switch{linenos}{-P linenos}
\minted@define@switch{startinline}{-P startinline}
\minted@define@switch[-P funcnamehighlighting=False]%
{funcnamehighlighting}{-P funcnamehighlighting}
\minted@define@opt{gobble}{-F gobble:n=#1}
\minted@define@opt{bgcolor}{#1}
\minted@define@extra{frame}
\minted@define@extra{framesep}
\minted@define@extra{framerule}
\minted@define@extra{rulecolor}
\minted@define@extra{numbersep}
\minted@define@extra{firstnumber}
\minted@define@extra{stepnumber}
\minted@define@extra{firstline}
\minted@define@extra{lastline}
\minted@define@extra{baselinestretch}
\minted@define@extra{xleftmargin}
\minted@define@extra{xrightmargin}
\minted@define@extra{fillcolor}
\minted@define@extra{tabsize}
\minted@define@extra{fontfamily}
\minted@define@extra{fontsize}
\minted@define@extra{fontshape}
\minted@define@extra{fontseries}
\minted@define@extra{formatcom}
\minted@define@extra{label}
\minted@define@extra@switch{numberblanklines}
\minted@define@extra@switch{showspaces}
\minted@define@extra@switch{resetmargins}
\minted@define@extra@switch{samepage}
\minted@define@extra@switch{showtabs}
\minted@define@extra@switch{obeytabs}
\newsavebox{\minted@bgbox}
\newenvironment{minted@colorbg}[1]{
\def\minted@bgcol{#1}
\noindent
\begin{lrbox}{\minted@bgbox}
\begin{minipage}{\linewidth-2\fboxsep}}
{\end{minipage}
\end{lrbox}%
\colorbox{\minted@bgcol}{\usebox{\minted@bgbox}}}
\newwrite\minted@code
\newcommand\minted@savecode[1]{
\immediate\openout\minted@code\jobname.pyg
\immediate\write\minted@code{#1}
\immediate\closeout\minted@code}
\newcommand\minted@pygmentize[2][\jobname.pyg]{
\def\minted@cmd{pygmentize -l #2 -f latex -F tokenmerge
\minted@opt{gobble} \minted@opt{texcl} \minted@opt{mathescape}
\minted@opt{startinline} \minted@opt{funcnamehighlighting}
\minted@opt{linenos} -P "verboptions=\minted@opt{extra}"
-o \jobname.out.pyg #1}
\immediate\write18{\minted@cmd}
% For debugging, uncomment:
%\immediate\typeout{\minted@cmd}
\ifthenelse{\equal{\minted@opt@bgcolor}{}}
{}
{\begin{minted@colorbg}{\minted@opt@bgcolor}}
\input{\jobname.out.pyg}
\ifthenelse{\equal{\minted@opt@bgcolor}{}}
{}
{\end{minted@colorbg}}
\DeleteFile{\jobname.out.pyg}}
\newcommand\minted@usedefaultstyle{\usemintedstyle{default}}
\newcommand\usemintedstyle[1]{
\renewcommand\minted@usedefaultstyle{}
\immediate\write18{pygmentize -S #1 -f latex > \jobname.pyg}
\input{\jobname.pyg}}
\newcommand\mint[3][]{
\DefineShortVerb{#3}
\minted@resetoptions
\setkeys{minted@opt}{#1}
\SaveVerb[aftersave={
\UndefineShortVerb{#3}
\minted@savecode{\FV@SV@minted@verb}
\minted@pygmentize{#2}
\DeleteFile{\jobname.pyg}}]{minted@verb}#3}
\newcommand\minted@proglang[1]{}
\newenvironment{minted}[2][]
{\VerbatimEnvironment
\renewcommand{\minted@proglang}[1]{#2}
\minted@resetoptions
\setkeys{minted@opt}{#1}
\begin{VerbatimOut}[codes={\catcode`\^^I=12}]{\jobname.pyg}}%
{\end{VerbatimOut}
\minted@pygmentize{\minted@proglang{}}
\DeleteFile{\jobname.pyg}}
\newcommand\inputminted[3][]{
\minted@resetoptions
\setkeys{minted@opt}{#1}
\minted@pygmentize[#3]{#2}}
\newcommand\newminted[3][]{
\ifthenelse{\equal{#1}{}}
{\def\minted@envname{#2code}}
{\def\minted@envname{#1}}
\newenvironment{\minted@envname}
{\VerbatimEnvironment\begin{minted}[#3]{#2}}
{\end{minted}}
\newenvironment{\minted@envname *}[1]
{\VerbatimEnvironment\begin{minted}[#3,##1]{#2}}
{\end{minted}}}
\newcommand\newmint[3][]{
\ifthenelse{\equal{#1}{}}
{\def\minted@shortname{#2}}
{\def\minted@shortname{#1}}
\expandafter\newcommand\csname\minted@shortname\endcsname[2][]{
\mint[#3,##1]{#2}##2}}
\newcommand\newmintedfile[3][]{
\ifthenelse{\equal{#1}{}}
{\def\minted@shortname{#2file}}
{\def\minted@shortname{#1}}
\expandafter\newcommand\csname\minted@shortname\endcsname[2][]{
\inputminted[#3,##1]{#2}{##2}}}
\@ifundefined{minted@float@within}
{\newfloat{listing}{h}{lol}}
{\newfloat{listing}{h}{lol}[\minted@float@within]}
\newcommand\listingscaption{Listing}
\floatname{listing}{\listingscaption}
\newcommand\listoflistingscaption{List of listings}
\providecommand\listoflistings{\listof{listing}{\listoflistingscaption}}
\AtBeginDocument{
\minted@usedefaultstyle}
\AtEndOfPackage{
\ifnum\pdf@shellescape=1\relax\else
\PackageError{minted}
{You must invoke LaTeX with the
-shell-escape flag}
{Pass the -shell-escape flag to LaTeX. Refer to the minted.sty
documentation for more information.}\fi
\TestAppExists{pygmentize}
\ifAppExists\else
\PackageError{minted}
{You must have `pygmentize' installed
to use this package}
{Refer to the installation instructions in the minted
documentation for more information.}
\fi}
%%%% Begin minted1 modification
\fi
%%%% End minted1 modification
\endinput
%%
%% End of file `minted1.sty'.

View File

@ -0,0 +1,166 @@
\documentclass[a4paper,11pt]{report}
\usepackage{ifxetex}
\ifxetex
%\usepackage{fontspec}
%\usepackage{xunicode}
\usepackage{xltxtra}
\defaultfontfeatures{Mapping=tex-text} % To support LaTeX quoting style
\setmainfont{Caviar Dreams}
\else
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{amsfonts}
\fi
\usepackage{pifont}
\usepackage{geometry}
\usepackage{fancybox}
\usepackage{verbatim}
\usepackage{eurosym}
\usepackage[english, francais]{babel}
\usepackage{listings}
\usepackage{color}
\usepackage{graphicx}
\usepackage{hyperref}
\usepackage{titlesec}
\usepackage{fancyhdr}
\usepackage{lastpage}
\usepackage{minted}
\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)
\definecolor{bg}{rgb}{0.9,0.9,0.9}
% TITRE DU DOCUMENT !
\title{Corrigé des exercices : créer un script Zéphir}
%\date{}
\begin{document}
\maketitle
\normalsize
\vspace{2cm}
\textbf{Rédacteurs :}
\begin{itemize}
\item Emmanuel Garette (egarette@cadoles.com)
\item Vincent Febvre (vfebvre@cadoles.com) \newline
\end{itemize}
\vspace{2cm}
\textbf{Version} : 1.0 \newline
\chapter{Création d'un script Zéphir : un script python}
Un script Zéphir est un script python. Des fonctions de base se proposer pour faciliter l'écriture de ce script.
Les scripts doivent être dans /usr/share/zephir/scripts/ et exécutables.
\begin{minted}{xml}
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import sys
from zephir.lib_zephir import *
from creole import fonctionseole
\end{minted}
\chapter{Création d'un script Zéphir : vérification}
Avant il faut vérifier qu'aucun blocage ne soit mis en place pour éviter l'exécuter de l'action.
\begin{minted}{xml}
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import sys
from zephir.lib_zephir import *
from creole import fonctionseole
\end{minted}
\begin{minted}[bgcolor=bg]{xml}
if fonctionseole.init_proc('PERSO') == False:
fonctionseole.zephir("ERR" , "procédure supprimer_fichier bloquée par zephir", "PERSO")
sys.exit(1)
\end{minted}
\chapter{Création d'un script Zéphir : début}
Avant d'exécuter le script, emettre un message sur le Zéphir.
\begin{minted}{xml}
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import sys
from zephir.lib_zephir import *
from creole import fonctionseole
if fonctionseole.init_proc('PERSO') == False:
fonctionseole.zephir("ERR" , "procédure supprimer_fichier bloquée par zephir", "PERSO")
sys.exit(1)
\end{minted}
\begin{minted}[bgcolor=bg]{xml}
fonctionseole.zephir("INIT" , "script supprimer_fichier en cours d'execution", "PERSO")
\end{minted}
\chapter{Création d'un script Zéphir : lancement du script en root}
Le script principal est exécuter avec l'utilisateur "uucp". Il faut utiliser la fonction sudo\_script pour avoir les droits "root".
Si tout se passe bien, deux messages seront remontés :
\begin{itemize}
\item un message d'information avec le nom du fichier ;
\item un message annonçant que le fichier est correctement supprimer.
\end{itemize}
En cas d'erreur, un message d'erreur est remonté sur le Zéphir.
\begin{minted}{xml}
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import sys
from zephir.lib_zephir import *
from creole import fonctionseole
if fonctionseole.init_proc('PERSO') == False:
fonctionseole.zephir("ERR" , "procédure supprimer_fichier bloquée par zephir", "PERSO")
sys.exit(1)
fonctionseole.zephir("INIT" , "script supprimer_fichier en cours d'execution", "PERSO")
\end{minted}
\begin{minted}[bgcolor=bg]{xml}
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:
fonctionseole.zephir("ERR" , "supprimer_fichier a généré une erreur {}".format(err), "PERSO")
sys.exit(1)
fonctionseole.zephir("FIN" , "supprimer_fichier {}: OK".format(filename), "PERSO")
\end{minted}
\chapter{Création du script de suppression des fichiers}
Un second script bash est nécessaire. Ce script est utilisé pour supprimer effectivement le fichier sur le serveur.
\begin{minted}{bash}
#!/bin/bash
[ -f "$1" ] && rm -f "$1"
\end{minted}
Il faut redémarrer z\_stats .
\end{document}

View File

@ -0,0 +1,22 @@
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import sys
from zephir.lib_zephir import *
from creole import fonctionseole
if fonctionseole.init_proc('PERSO') == False:
fonctionseole.zephir("MSG" , "procédure supprimer_fichier bloquée par zephir", "PERSO")
sys.exit(1)
fonctionseole.zephir("INIT" , "script supprimer_fichier en cours d'execution", "PERSO")
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:
fonctionseole.zephir("ERR" , "supprimer_fichier a généré une erreur {}".format(err), "PERSO")
sys.exit(1)
fonctionseole.zephir("FIN" , "supprimer_fichier {}: OK".format(filename), "PERSO")

View File

@ -0,0 +1,4 @@
#!/bin/bash
[ -f "$1" ] && rm -f "$1"

View File

@ -0,0 +1,40 @@
\begin{frame}
\frametitle{Ajouter un service web sur Scribe}
\begin{itemize}
\item Mise en place des fichiers :
\begin{itemize}
\item décompresser les fichiers dans /var/www/html/,
\item modifier l'utilisateur en www-data seulement pour les répertoires nécessaires ;
\end{itemize}
\item configuration Apache :
\begin{itemize}
\item dans l'onglet apache en mode expert,
\item ajouter le chemin complet et l'alias,
\end{itemize}
\item creation d'un utilisateur distinct dans Mysql :
\begin{itemize}
\item soit utiliser le script : /usr/share/eole/mysql\_add.py ,
\end{itemize}
\begin{itemize}
\item Soit à la main :
\item CREATE DATABASE myDatabase ;
\item GRANT ALL PRIVILEGES ON mydb.* to 'user'@'localhost' identified by 'myPassword' ;
\end{itemize}
\item configuration du logiciel ;
\item prévoir la configuration de la sauvegarde.
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Pratique}
\begin{itemize}
\item Dans GenConfig ajouter un chemin et un alias ,
\item créer la base de donnée pour cette application ,
\item créer un utilisateur pour cette application.
% \item Installer Dotclear ;
% \item accès en "écrire" pour les répertoires cache/ et public/ ;
% \item http://<ip>/dotclear/.
\end{itemize}
\end{frame}

View File

@ -0,0 +1,134 @@
\begin{frame}
\frametitle{Ajaxplorer}
\begin{itemize}
\item Gestionnaire de fichier ;
\item possibilité d'autres serveurs FTP ;
\item limité à 4 Mo (modifiable dans gen\_config en mode expert/Apache)
\item possibilité de partager un document.
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Piwik2}
\begin{itemize}
\item Statistiques sur l'accès au portail Envole ;
\item par défaut seul les clics sur l'onget "Mon bureau" sont référencés ;
\item pas d'authentification ;
\item statistiques par groupe : Visiteurs/Groupe ;
\item tableau de bord avec pic de charge.
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Dokuwiki}
\begin{itemize}
\item Bloc note (wiki) ;
\item rédaction à plusieurs.
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Moodle}
\begin{itemize}
\item Plateforme d'apprentissage en ligne (e-learning) ;
\item admin : administrateur ;
\item professeur : créateur de cours ;
\item autres : visualisent les cours disponibles et s'y inscrivent.
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{GRR}
\begin{itemize}
\item Gestion et réservation de ressources.
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Taskfreak}
\begin{itemize}
\item planification de tâches ;
\item gestion par utilisateur et non par groupe ;
\item administrateur : admin (gestion des droits) ;
\item professeur : chef de projet (création de projet/tâche) ;
\item élève : création de tâche, assigne, fait avancer.
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Squirrelmail + Webcalendar}
\begin{itemize}
\item Webmail et calendrier ;
\item nécessite un compte mail local.
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Roundcube}
\begin{itemize}
\item Webmail.
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{CDT}
\begin{itemize}
\item Cahier de texte et suivi des notes (bulletins scolaires + graphes) ;
\item administrateur : administrateur de l'application (importation de l'emploi du temps de Sconet ;
\item professeurs : enregistrent leur cahier de texte ;
\item élèves et responsables : consultent leur cahier de texte ;
\item personnels de direction : gèrent les visas, diffusent des messages, ... ;
\item vie scolaire : planifie des événements et les accès aux données ;
\item synchronisation avec webcalendar.
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{WordPress}
\begin{itemize}
\item Gestion de contenu.
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Fluxbb}
\begin{itemize}
\item Forum de discussion ;
\item administrateur : organise les forums/catégories, permissions ;
\item professeur : modérateur ;
\item élève : créer une discussion, répondre à une discussion ;
\item invité : consulter.
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Gibii}
\begin{itemize}
\item Gestion du B2I ;
\item attention, console d'administration du super administrateur pas SSO : /gibii/sadmin (utilisateur sadmin/sadmin).
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{SpipEva}
\begin{itemize}
\item Gestion de contenu ;
\item tout le monde est "rédacteur".
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Gepi}
\begin{itemize}
\item Gestion des notes, des absences ;
\item il faut importer les comptes ("Gestion générale").
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Jappix}
\begin{itemize}
\item Discussion instantanée.
\end{itemize}
\end{frame}

View File

@ -0,0 +1,115 @@
\begin{frame}
\frametitle{Envole}
\begin{itemize}
\item Envole : système d'intégration de services web ;
\item personnalisable par l'utilisateur ;
\item historique :
\begin{itemize}
\item 1 : cartable en ligne de Créteil ;
\item 1.5 : mise à disposition pour tous ;
\item 2.0 : projet mutualisé entre Créteil et Dijon : modulaire.
\end{itemize}
\item authentification grâce au SSO ;
\item besoin d'un nom de domaine.
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Réseau social}
\begin{itemize}
\item Boîte à outils ;
\item marque-pages ;
\item intégrer les applications ;
\item gestion des groupes ;
\item suivi d'activité ;
\item partage d'informations ;
\item désactivable dans Envole.
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Réseau social}
\begin{itemize}
\item groupe : actualité du groupe ;
\item réseau : utilisateur ;
\item alerte : inscription aux réseaux | commentaires.
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Profil}
\begin{itemize}
\item Visible par tout le monde ;
\item photo ;
\item tags ;
\item description.
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Contributions}
\begin{itemize}
\item Ensemble des publications d'un utilisateur ;
\item status : visible par tout le monde ;
\item articles.
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Articles}
\begin{itemize}
\item Ecrire un article ;
\item titre (toujours visible) ;
\item tags (pour la recherche) ;
\item ACL : Tout le monde, Mon réseau, Juste moi ;
\item boîte à outils ;
\item Contenu de l'article ;
\item commentaires :
\begin{itemize}
\item visible par son réseau ;
\item peut supprimer ses commentaires.
\end{itemize}
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Synchronisation des groupes}
\begin{itemize}
\item Depuis l'EAD (si Envole est activé) ;
\item Envole / Synchronisation ;
\item création d'une sélection de groupes (pas forcement tous).
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Widgets}
\begin{itemize}
\item Partage de widget ;
\item création :
\begin{itemize}
\item Widget / Mes widgets / Créer un widget,
\item suivre la procédure ;
\item nécessite la validation de l'administrateur.
\end{itemize}
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Gestion des profils}
\begin{itemize}
\item Création des profils pour les utilisateurs ;
\item gestion des onglets par défaut ;
\item gestion des icônes de bureau.
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Charte}
\begin{itemize}
\item Activation du plugin ;
\item création dans l'onget "charte informatique" ;
\item liste validée ;
\item peut utiliser sans valider.
\end{itemize}
\end{frame}

View File

@ -0,0 +1,77 @@
\begin{itemize}
\item Introduction
\begin{itemize}
\item EOLE
\item Nouveauté 2.3
\item Description Scribe/Envole
\end{itemize}
\item Les quatres phases
\begin{itemize}
\item La phase d'installation
\item La phase de configuration
\item La phase d'instanciation
\item Les mots de passe
\item La phase d'administration
\end{itemize}
\item Administration commune
\begin{itemize}
\item Les mises à jour
\item Instance ou reconfigure
\item Diagnostic
\item Firewall
\item Schedule
\item Onduleur
\item Trouver de l'information sur le serveur
\item Trouver de l'information sur Internet
\end{itemize}
\item L'interface d'administration EAD
\begin{itemize}
\item Présentation général
\item Se connecter
\item SSO
\item Fonctions de base
\item Gestion des rôles EAD
\end{itemize}
\item L'interface semi-graphique
\item La gestion des utilisateurs
\begin{itemize}
\item Les types d'utilisateurs
\item Les quotas
\item Les groupes
\item Les listes de diffusion
\item L'importation des comptes utilisateur
\end{itemize}
\item La configuration du réseau
\item La connexion à distance aux postes clients
\item Les outils de diagnostic
\item L'interface d'administration EAD
\item La configuration des postes clients
\item La gestion des virus
\item La gestion de l'espace de stockage en réseau
\item La gestion des sauvegardes
\begin{itemize}
\item La configuration de la sauvegarde
\item Le mécanisme de restauration
\end{itemize}
\item Les services web
\begin{itemize}
\item L'ajout de services
\item Les applications intégrées
\begin{itemize}
\item Ajaxplorer
\item Piwik2
\item Dokuwiki
\item Moodle
\item GRR
\item Taskfreak
\item Roundcube
\item CDT
\item WordPress
\item FluxBB
\item Gibii
\item Gepi
\item Jappix
\end{itemize}
\item Le portail Posh
\end{itemize}
\end{itemize}

View File

@ -0,0 +1,4 @@
Le participant sera noté sur sa capacité à maitriser le prompt python, à
configurer son environnement de travail, à écrire des programmes simples
correspondant à la réalisation de scripts usuels, et enfin sur sa
compréhension des bases de la programmation objet.

View File

@ -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}

View File

@ -0,0 +1 @@
La formation aborde les fondamentaux de la programmation en langage python.

View File

@ -0,0 +1 @@
Aucun.

View File

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

View File

@ -0,0 +1,316 @@
\documentclass{beamer}
%\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={Tronc commun 1},
pdfkeywords={distribution, GNU, linux, eole, éducation, nationale, ubuntu},
pdfauthor={Emmanuel Garette},
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}
\definecolor{DirtyWhite}{RGB}{105,105,105}
\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}
\newcommand{\commande}[1]{\texttt{#1}}
\setbeamertemplate{background}{\includegraphics[width=128mm]{beamer-skel/img/banner01.png}}
\title[]{Formation Zéphir - Personnalisation d'un module}
\subtitle{Académie de Rennes}
\author[Equipe Auteur]{Emmanuel Garette}
\institute[Cadoles]{\includegraphics[width=2cm]{beamer-skel/img/logo-cadoles-01.png}}
\date{{\small \today}}
\subject{Talks}
\AtBeginSubsection[]
{
\begin{frame}<beamer>
\frametitle{}
\tableofcontents[currentsection,currentsubsection]
\end{frame}
}
\logo{
% \includegraphics[width=1cm]{beamer-skel/img/logo-ecologie.png}~
\hspace{120pt}
\includegraphics[width=2cm]{beamer-skel/img/logo-cadoles-01.png}~
\hspace{113pt}
\includegraphics[width=1cm]{beamer-skel/img/logo_en.jpg}~
}
\begin{document}
% Page de titre
\begin{frame}
\titlepage
\end{frame}
\section{Introduction}
\begin{frame}{Plan}
\begin{columns}[t]
\begin{column}{5cm}
\tableofcontents[sections={1-6},currentsection, hideothersubsections]
\end{column}
\begin{column}{5cm}
\tableofcontents[sections={7-12},currentsection,hideothersubsections]
\end{column}
\end{columns}
\end{frame}
\include{modules_EOLE_envole/commun/00-intro}
%\include{modules_EOLE_envole/commun/01-nouveaute23}
\include{modules_EOLE_envole/commun/01-nouveaute24}
\include{modules_EOLE_envole/commun/01-nouveaute25}
\section{Panorama des modules}
\begin{frame}{Plan}
\begin{columns}[t]
\begin{column}{5cm}
\tableofcontents[sections={1-6},currentsection, hideothersubsections]
\end{column}
\begin{column}{5cm}
\tableofcontents[sections={7-12},currentsection,hideothersubsections]
\end{column}
\end{columns}
\end{frame}
\include{modules_EOLE_envole/amon/00-description}
\include{modules_EOLE_envole/sphynx/00-description}
\include{modules_EOLE_envole/scribe/00-description}
\include{modules_EOLE_envole/horus/00-description}
\include{modules_EOLE_envole/amonecole/00-description}
\include{modules_EOLE_envole/tronc-commun-1/00-panorama-module}
\section{Les quatre phases}
\begin{frame}{Plan}
\begin{columns}[t]
\begin{column}{5cm}
\tableofcontents[sections={1-6},currentsection, hideothersubsections]
\end{column}
\begin{column}{5cm}
\tableofcontents[sections={7-12},currentsection,hideothersubsections]
\end{column}
\end{columns}
\end{frame}
\include{modules_EOLE_envole/commun/02-quatre_phases}
\include{modules_EOLE_envole/scribe/00-virtualbox}
\include{modules_EOLE_envole/commun/02-gen_config}
\include{modules_EOLE_envole/commun/02-quatre_phases-pratique}
%\include{modules_EOLE_envole/tronc-commun-1/01-config-texte}
\section{Administration commune}
\begin{frame}{Plan}
\begin{columns}[t]
\begin{column}{5cm}
\tableofcontents[sections={1-6},currentsection, hideothersubsections]
\end{column}
\begin{column}{5cm}
\tableofcontents[sections={7-12},currentsection,hideothersubsections]
\end{column}
\end{columns}
\end{frame}
\include{modules_EOLE_envole/commun/02-instance-reconfigure}
\include{modules_EOLE_envole/commun/03-mise-a-jour}
\include{modules_EOLE_envole/commun/04-diagnose}
\include{modules_EOLE_envole/commun/04-diagnose-pratique}
%\include{modules_EOLE_envole/tronc-commun-1/05-conteneurs}
%\include{modules_EOLE_envole/tronc-commun-1/05-conteneurs-pratique}
\include{modules_EOLE_envole/tronc-commun-1/06-firewall}
\include{modules_EOLE_envole/tronc-commun-1/06-schedule}
\include{modules_EOLE_envole/tronc-commun-1/06-zpratique}
\include{modules_EOLE_envole/tronc-commun-1/07-onduleur}
\include{modules_EOLE_envole/tronc-commun-1/07-onduleur-pratique}
\include{modules_EOLE_envole/tronc-commun-1/22-commande-distance}
\include{modules_EOLE_envole/tronc-commun-1/08-trouver}
%\section{Interfaces d'administration EOLE}
%\begin{frame}{Plan}
% \begin{columns}[t]
% \begin{column}{5cm}
% \tableofcontents[sections={1-6},currentsection, hideothersubsections]
% \end{column}
% \begin{column}{5cm}
% \tableofcontents[sections={7-12},currentsection,hideothersubsections]
% \end{column}
% \end{columns}
%\end{frame}
%\include{modules_EOLE_envole/tronc-commun-1/30-ead}
%\include{modules_EOLE_envole/tronc-commun-1/31-interface-semi-graphique}
\section{Application Zéphir}
\begin{frame}{Plan}
\begin{columns}[t]
\begin{column}{5cm}
\tableofcontents[sections={1-6},currentsection, hideothersubsections]
\end{column}
\begin{column}{5cm}
\tableofcontents[sections={7-12},currentsection,hideothersubsections]
\end{column}
\end{columns}
\end{frame}
\include{modules_EOLE_envole/tronc-commun-1/10-application-zephir}
%\section{GNU/Linux}
%\begin{frame}{Plan}
% \begin{columns}[t]
% \begin{column}{5cm}
% \tableofcontents[sections={1-6},currentsection, hideothersubsections]
% \end{column}
% \begin{column}{5cm}
% \tableofcontents[sections={7-12},currentsection,hideothersubsections]
% \end{column}
% \end{columns}
%\end{frame}
%\include{modules_EOLE_envole/tronc-commun-1/20-gnu_linux}
%\include{modules_EOLE_envole/tronc-commun-1/20-tcpdump-tshark}
\include{modules_EOLE_envole/tronc-commun-1/11-application-zephir2}
\section{Personnalisation du serveur}
\begin{frame}{Plan}
\begin{columns}[t]
\begin{column}{5cm}
\tableofcontents[sections={1-6},currentsection, hideothersubsections]
\end{column}
\begin{column}{5cm}
\tableofcontents[sections={7-12},currentsection,hideothersubsections]
\end{column}
\end{columns}
\end{frame}
\include{modules_EOLE_envole/tronc-commun-1/21-lire-ecrire}
\include{modules_EOLE_envole/tronc-commun-2/01-personnalisation-creole}
\include{modules_EOLE_envole/tronc-commun-2/01-personnalisation-creole2}
\include{modules_EOLE_envole/tronc-commun-2/05-script-instance-reconfigure}
\include{modules_EOLE_envole/tronc-commun-2/30-api_bash}
\include{modules_EOLE_envole/tronc-commun-2/05-script-instance-reconfigure-pratique}
\include{modules_EOLE_envole/tronc-commun-2/04-diagnose}
\begin{frame}
\frametitle{API Python}
\end{frame}
\include{modules_EOLE_envole/tronc-commun-2/20-api}
%\include{modules_EOLE_envole/tronc-commun-2/06-montage-conteneur}
%\include{modules_EOLE_envole/tronc-commun-2/07-eole-firewall}
\include{modules_EOLE_envole/tronc-commun-2/08-schedule}
%\include{modules_EOLE_envole/tronc-commun-2/09-host}
%\include{modules_EOLE_envole/tronc-commun-2/11-mysql}
%\include{modules_EOLE_envole/tronc-commun-2/12-interface}
%\include{modules_EOLE_envole/tronc-commun-2/13-disknod}
%\include{modules_EOLE_envole/tronc-commun-2/14-sso}
\include{modules_EOLE_envole/tronc-commun-2/15-script-ead}
\include{modules_EOLE_envole/tronc-commun-2/16-sauvegarde}
%\include{modules_EOLE_envole/tronc-commun-2/17-conteneur_groupe_conteneur}
%\include{modules_EOLE_envole/tronc-commun-2/18-cert}
\section{Personnalisation et Zéphir}
\begin{frame}{Plan}
\begin{columns}[t]
\begin{column}{5cm}
\tableofcontents[sections={1-6},currentsection, hideothersubsections]
\end{column}
\begin{column}{5cm}
\tableofcontents[sections={7-12},currentsection,hideothersubsections]
\end{column}
\end{columns}
\end{frame}
\include{modules_EOLE_envole/tronc-commun-2/02-zephir}
\section{gen\_config et Zéphir}
\begin{frame}{Plan}
\begin{columns}[t]
\begin{column}{5cm}
\tableofcontents[sections={1-6},currentsection, hideothersubsections]
\end{column}
\begin{column}{5cm}
\tableofcontents[sections={7-12},currentsection,hideothersubsections]
\end{column}
\end{columns}
\end{frame}
\begin{frame}
\frametitle{Synchronisation}
\begin{itemize}
\item Il est possible de se connecter sur gen\_config avec un compte Zéphir ;
\item différence entre fichier local et distant.
\end{itemize}
\end{frame}
\section{Les scripts Zéphir}
\begin{frame}{Plan}
\begin{columns}[t]
\begin{column}{5cm}
\tableofcontents[sections={1-6},currentsection, hideothersubsections]
\end{column}
\begin{column}{5cm}
\tableofcontents[sections={7-12},currentsection,hideothersubsections]
\end{column}
\end{columns}
\end{frame}
\include{modules_EOLE_envole/tronc-commun-2/03-zephir_script}
\section{La migration Zéphir}
\begin{frame}{Plan}
\begin{columns}[t]
\begin{column}{5cm}
\tableofcontents[sections={1-6},currentsection, hideothersubsections]
\end{column}
\begin{column}{5cm}
\tableofcontents[sections={7-12},currentsection,hideothersubsections]
\end{column}
\end{columns}
\end{frame}
%FIXME a revoir !
\include{modules_EOLE_envole/tronc-commun-1/99-migration-zephir}
\subject{Talks}
\begin{frame}
\frametitle{Licence}
Cette œuvre est mise à disposition sous licence \href{http://creativecommons.org/licenses/by-nc-sa/2.0/fr/}{\textsc{cc-by-nc-sa-2.0}}
\begin{itemize}
\item Attribution
\item Pas dUtilisation Commerciale
\item Partage dans les Mêmes Conditions 2.0
\item France
\end{itemize}
Pour voir une copie de cette licence, visitez
\href{http://creativecommons.org/licenses/by-nc-sa/2.0/fr/}{http://creativecommons.org/licenses/by-nc-sa/2.0/fr/}
ou écrivez à Creative Commons, 444 Castro Street, Suite 900,
Mountain View, California, 94041, USA.
\end{frame}
\end{document}
% A ajouter :
%lancement gen_config sur le serveur avec récupération config.eol du Zéphir

Some files were not shown because too many files have changed in this diff Show More