complement dans l'exemple d'exercice
This commit is contained in:
parent
73a5e3d14f
commit
f642003eaf
|
@ -24,6 +24,7 @@
|
|||
\usepackage{titlesec}
|
||||
\usepackage{fancyhdr}
|
||||
\usepackage{lastpage}
|
||||
\usepackage{minted}
|
||||
|
||||
\setlength{\hoffset}{-18pt}
|
||||
\setlength{\oddsidemargin}{0pt} % Marge gauche sur pages impaires
|
||||
|
@ -37,31 +38,10 @@
|
|||
\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{gray}{rgb}{0.4,0.4,0.4}
|
||||
\definecolor{darkblue}{rgb}{0.0,0.0,0.6}
|
||||
\definecolor{cyan}{rgb}{0.0,0.6,0.6}
|
||||
|
||||
\lstset{
|
||||
basicstyle=\ttfamily,
|
||||
columns=fullflexible,
|
||||
showstringspaces=false,
|
||||
commentstyle=\color{gray}\upshape
|
||||
}
|
||||
|
||||
\lstdefinelanguage{XML}
|
||||
{
|
||||
morestring=[b]",
|
||||
morestring=[s]{>}{<},
|
||||
morecomment=[s]{<?}{?>},
|
||||
stringstyle=\color{black},
|
||||
identifierstyle=\color{darkblue},
|
||||
keywordstyle=\color{cyan},
|
||||
morekeywords={xmlns,version,type}% list your attributes here
|
||||
}
|
||||
\definecolor{bg}{rgb}{0.9,0.9,0.9}
|
||||
|
||||
% TITRE DU DOCUMENT !
|
||||
\title{Corrigé des exercices : création d'un dictionnaire EOLE}
|
||||
\title{Corrigé des exercices : intégration de ircd-irc2 dans EOLE}
|
||||
|
||||
%\date{}
|
||||
|
||||
|
@ -92,7 +72,7 @@ Créé un fichier en suivant les conventions suivantes :
|
|||
|
||||
Créer le fichier 00\_ircd.xml avec la structure de base suivante :
|
||||
|
||||
\begin{lstlisting}[language=XML]
|
||||
\begin{minted}[bgcolor=bg]{xml}
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<creole>
|
||||
|
||||
|
@ -109,23 +89,23 @@ Créer le fichier 00\_ircd.xml avec la structure de base suivante :
|
|||
</help>
|
||||
|
||||
</creole>
|
||||
\end{lstlisting}
|
||||
\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{lstlisting}
|
||||
\begin{minted}{xml}
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<creole>
|
||||
|
||||
<files>
|
||||
\end{lstlisting}
|
||||
\begin{lstlisting}[language=XML]
|
||||
\end{minted}
|
||||
\begin{minted}[bgcolor=bg]{xml}
|
||||
<package>ircd-irc2</package>
|
||||
<service>ircd-irc2</service>
|
||||
\end{lstlisting}
|
||||
\begin{lstlisting}
|
||||
\end{minted}
|
||||
\begin{minted}{xml}
|
||||
</files>
|
||||
|
||||
<variables>
|
||||
|
@ -138,23 +118,23 @@ Le logiciel doit s'installer à l'instanciation du serveur et le service doit ê
|
|||
</help>
|
||||
|
||||
</creole>
|
||||
\end{lstlisting}
|
||||
\end{minted}
|
||||
|
||||
\chapter{Ouverture du firewall et tcpwrapper}
|
||||
\begin{lstlisting}
|
||||
\begin{minted}{xml}
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<creole>
|
||||
|
||||
<files>
|
||||
<package>ircd-irc2</package>
|
||||
<service>ircd-irc2</service>
|
||||
\end{lstlisting}
|
||||
\begin{lstlisting}[language=XML]
|
||||
\end{minted}
|
||||
\begin{minted}[bgcolor=bg]{xml}
|
||||
<service_access service='ircd-irc2'>
|
||||
<port port_type="SymLinkOption">ircd_port</port>
|
||||
</service_access>
|
||||
\end{lstlisting}
|
||||
\begin{lstlisting}
|
||||
\end{minted}
|
||||
\begin{minted}{xml}
|
||||
</files>
|
||||
|
||||
<variables>
|
||||
|
@ -167,13 +147,13 @@ Le logiciel doit s'installer à l'instanciation du serveur et le service doit ê
|
|||
</help>
|
||||
|
||||
</creole>
|
||||
\end{lstlisting}
|
||||
\end{minted}
|
||||
|
||||
\chapter{Activation/désactivation du service}
|
||||
|
||||
Ajouter une variable pour activer/désactiver le service :
|
||||
|
||||
\begin{lstlisting}
|
||||
\begin{minted}{xml}
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<creole>
|
||||
|
||||
|
@ -186,15 +166,16 @@ Ajouter une variable pour activer/désactiver le service :
|
|||
</files>
|
||||
|
||||
<variables>
|
||||
\end{lstlisting}
|
||||
\begin{lstlisting}[language=XML]
|
||||
\end{minted}
|
||||
\begin{minted}[bgcolor=bg]{xml}
|
||||
<family name='services'>
|
||||
<variable name='activer_ircd' type='oui/non' description="Activer le serveur IRC" >
|
||||
<variable name='activer_ircd' type='oui/non'
|
||||
description="Activer le serveur IRC" >
|
||||
<value>oui</value>
|
||||
</variable>
|
||||
</family>
|
||||
\end{lstlisting}
|
||||
\begin{lstlisting}
|
||||
\end{minted}
|
||||
\begin{minted}{xml}
|
||||
</variables>
|
||||
|
||||
<constraints>
|
||||
|
@ -204,13 +185,13 @@ Ajouter une variable pour activer/désactiver le service :
|
|||
</help>
|
||||
|
||||
</creole>
|
||||
\end{lstlisting}
|
||||
\end{minted}
|
||||
|
||||
\chapter{Ajout du template}
|
||||
|
||||
Le fichier de configuration du service doit être "templatiser" par EOLE :
|
||||
|
||||
\begin{lstlisting}
|
||||
\begin{minted}{xml}
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<creole>
|
||||
|
||||
|
@ -220,16 +201,17 @@ Le fichier de configuration du service doit être "templatiser" par EOLE :
|
|||
<service_access service='ircd-irc2'>
|
||||
<port port_type="SymLinkOption">ircd_port</port>
|
||||
</service_access>
|
||||
\end{lstlisting}
|
||||
\begin{lstlisting}[language=XML]
|
||||
\end{minted}
|
||||
\begin{minted}[bgcolor=bg]{xml}
|
||||
<file name='/etc/ircd/ircd.conf'/>
|
||||
\end{lstlisting}
|
||||
\begin{lstlisting}
|
||||
\end{minted}
|
||||
\begin{minted}{xml}
|
||||
</files>
|
||||
|
||||
<variables>
|
||||
<family name='services'>
|
||||
<variable name='activer_ircd' type='oui/non' description="Activer le serveur IRC" >
|
||||
<variable name='activer_ircd' type='oui/non'
|
||||
description="Activer le serveur IRC" >
|
||||
<value>oui</value>
|
||||
</variable>
|
||||
</family>
|
||||
|
@ -242,13 +224,13 @@ Le fichier de configuration du service doit être "templatiser" par EOLE :
|
|||
</help>
|
||||
|
||||
</creole>
|
||||
\end{lstlisting}
|
||||
\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{lstlisting}
|
||||
\begin{minted}{xml}
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<creole>
|
||||
|
||||
|
@ -263,34 +245,32 @@ Dans le template nous allons utiliser des variables définis dans le dictionnair
|
|||
|
||||
<variables>
|
||||
<family name='services'>
|
||||
<variable name='activer_ircd' type='oui/non' description="Activer le serveur IRC" >
|
||||
<value>oui</value>
|
||||
</variable>
|
||||
</family>
|
||||
\end{lstlisting}
|
||||
\begin{lstlisting}[language=XML]
|
||||
<family name='services'>
|
||||
<variable name='activer_ircd' type='oui/non' description="Activer le serveur IRC" >
|
||||
<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_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"/>
|
||||
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{lstlisting}
|
||||
\begin{lstlisting}
|
||||
\end{minted}
|
||||
\begin{minted}{xml}
|
||||
</variables>
|
||||
|
||||
<constraints>
|
||||
|
@ -300,53 +280,51 @@ Dans le template nous allons utiliser des variables définis dans le dictionnair
|
|||
</help>
|
||||
|
||||
</creole>
|
||||
\end{lstlisting}
|
||||
\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{lstlisting}
|
||||
\begin{minted}{xml}
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<creole>
|
||||
|
||||
<files>
|
||||
<package>ircd-irc2</package>
|
||||
\end{lstlisting}
|
||||
\begin{lstlisting}[language=XML]
|
||||
\end{minted}
|
||||
\begin{minted}[bgcolor=bg]{xml}
|
||||
<service servicelist="ircd">ircd-irc2</service>
|
||||
\end{lstlisting}
|
||||
\begin{lstlisting}
|
||||
\end{minted}
|
||||
\begin{minted}{xml}
|
||||
<service_access service='ircd-irc2'>
|
||||
<port port_type="SymLinkOption">ircd_port</port>
|
||||
</service_access>
|
||||
\end{lstlisting}
|
||||
\begin{lstlisting}[language=XML]
|
||||
\end{minted}
|
||||
\begin{minted}[bgcolor=bg]{xml}
|
||||
<file filelist="ircd" name='/etc/ircd/ircd.conf'/>
|
||||
\end{lstlisting}
|
||||
\begin{lstlisting}
|
||||
\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='services'>
|
||||
<variable name='activer_ircd' type='oui/non' description="Activer le serveur IRC" >
|
||||
<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_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"/>
|
||||
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>
|
||||
|
@ -355,35 +333,35 @@ Si "activer\_ircd" est à "non" le service ne devrait plus être démarré, la f
|
|||
</variables>
|
||||
|
||||
<constraints>
|
||||
\end{lstlisting}
|
||||
\begin{lstlisting}[language=XML]
|
||||
\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{lstlisting}
|
||||
\begin{lstlisting}
|
||||
\end{minted}
|
||||
\begin{minted}{xml}
|
||||
</constraints>
|
||||
|
||||
<help>
|
||||
</help>
|
||||
|
||||
</creole>
|
||||
\end{lstlisting}
|
||||
\end{minted}
|
||||
|
||||
\chapter{Test}
|
||||
\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{Aide}
|
||||
\chapter{Ajout d'aide à la variable d'activation}
|
||||
|
||||
Ajouter de l'aide sur la variable activer\_ircd :
|
||||
|
||||
\begin{lstlisting}
|
||||
\begin{minted}{xml}
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<creole>
|
||||
|
||||
|
@ -398,20 +376,23 @@ Ajouter de l'aide sur la variable activer\_ircd :
|
|||
|
||||
<variables>
|
||||
<family name='services'>
|
||||
<variable name='activer_ircd' type='oui/non' description="Activer le serveur IRC" >
|
||||
<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_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"/>
|
||||
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>
|
||||
|
@ -430,14 +411,120 @@ Ajouter de l'aide sur la variable activer\_ircd :
|
|||
</constraints>
|
||||
|
||||
<help>
|
||||
\end{lstlisting}
|
||||
\begin{lstlisting}[language=XML]
|
||||
\end{minted}
|
||||
\begin{minted}[bgcolor=bg]{xml}
|
||||
<variable name="activer_ircd">Cette variable permet d'activer un serveur IRC</variable>
|
||||
\end{lstlisting}
|
||||
\begin{lstlisting}
|
||||
\end{minted}
|
||||
\begin{minted}{xml}
|
||||
</help>
|
||||
|
||||
</creole>
|
||||
\end{lstlisting}
|
||||
\end{minted}
|
||||
|
||||
\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
|
||||
%for %%hostname in %%ircd_banned_hostname
|
||||
\end{minted}
|
||||
\begin{minted}[bgcolor=bg]{cpp}
|
||||
# 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}
|
||||
|
|
Loading…
Reference in New Issue