444 lines
12 KiB
TeX
444 lines
12 KiB
TeX
\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}
|
|
|
|
\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{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
|
|
}
|
|
|
|
% TITRE DU DOCUMENT !
|
|
\title{Corrigé des exercices : création d'un dictionnaire 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/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{lstlisting}[language=XML]
|
|
<?xml version="1.0" encoding="utf-8"?>
|
|
<creole>
|
|
|
|
<files>
|
|
</files>
|
|
|
|
<variables>
|
|
</variables>
|
|
|
|
<constraints>
|
|
</constraints>
|
|
|
|
<help>
|
|
</help>
|
|
|
|
</creole>
|
|
\end{lstlisting}
|
|
|
|
\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}
|
|
<?xml version="1.0" encoding="utf-8"?>
|
|
<creole>
|
|
|
|
<files>
|
|
\end{lstlisting}
|
|
\begin{lstlisting}[language=XML]
|
|
<package>ircd-irc2</package>
|
|
<service>ircd-irc2</service>
|
|
\end{lstlisting}
|
|
\begin{lstlisting}
|
|
</files>
|
|
|
|
<variables>
|
|
</variables>
|
|
|
|
<constraints>
|
|
</constraints>
|
|
|
|
<help>
|
|
</help>
|
|
|
|
</creole>
|
|
\end{lstlisting}
|
|
|
|
\chapter{Ouverture du firewall et tcpwrapper}
|
|
\begin{lstlisting}
|
|
<?xml version="1.0" encoding="utf-8"?>
|
|
<creole>
|
|
|
|
<files>
|
|
<package>ircd-irc2</package>
|
|
<service>ircd-irc2</service>
|
|
\end{lstlisting}
|
|
\begin{lstlisting}[language=XML]
|
|
<service_access service='ircd-irc2'>
|
|
<port port_type="SymLinkOption">ircd_port</port>
|
|
</service_access>
|
|
\end{lstlisting}
|
|
\begin{lstlisting}
|
|
</files>
|
|
|
|
<variables>
|
|
</variables>
|
|
|
|
<constraints>
|
|
</constraints>
|
|
|
|
<help>
|
|
</help>
|
|
|
|
</creole>
|
|
\end{lstlisting}
|
|
|
|
\chapter{Activation/désactivation du service}
|
|
|
|
Ajouter une variable pour activer/désactiver le service :
|
|
|
|
\begin{lstlisting}
|
|
<?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>
|
|
</files>
|
|
|
|
<variables>
|
|
\end{lstlisting}
|
|
\begin{lstlisting}[language=XML]
|
|
<family name='services'>
|
|
<variable name='activer_ircd' type='oui/non' description="Activer le serveur IRC" >
|
|
<value>oui</value>
|
|
</variable>
|
|
</family>
|
|
\end{lstlisting}
|
|
\begin{lstlisting}
|
|
</variables>
|
|
|
|
<constraints>
|
|
</constraints>
|
|
|
|
<help>
|
|
</help>
|
|
|
|
</creole>
|
|
\end{lstlisting}
|
|
|
|
\chapter{Ajout du template}
|
|
|
|
Le fichier de configuration du service doit être "templatiser" par EOLE :
|
|
|
|
\begin{lstlisting}
|
|
<?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{lstlisting}
|
|
\begin{lstlisting}[language=XML]
|
|
<file name='/etc/ircd/ircd.conf'/>
|
|
\end{lstlisting}
|
|
\begin{lstlisting}
|
|
</files>
|
|
|
|
<variables>
|
|
<family name='services'>
|
|
<variable name='activer_ircd' type='oui/non' description="Activer le serveur IRC" >
|
|
<value>oui</value>
|
|
</variable>
|
|
</family>
|
|
</variables>
|
|
|
|
<constraints>
|
|
</constraints>
|
|
|
|
<help>
|
|
</help>
|
|
|
|
</creole>
|
|
\end{lstlisting}
|
|
|
|
|
|
\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}
|
|
<?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>
|
|
<file 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>
|
|
\end{lstlisting}
|
|
\begin{lstlisting}[language=XML]
|
|
<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>
|
|
\end{lstlisting}
|
|
\begin{lstlisting}
|
|
</variables>
|
|
|
|
<constraints>
|
|
</constraints>
|
|
|
|
<help>
|
|
</help>
|
|
|
|
</creole>
|
|
\end{lstlisting}
|
|
\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}
|
|
<?xml version="1.0" encoding="utf-8"?>
|
|
<creole>
|
|
|
|
<files>
|
|
<package>ircd-irc2</package>
|
|
\end{lstlisting}
|
|
\begin{lstlisting}[language=XML]
|
|
<service servicelist="ircd">ircd-irc2</service>
|
|
\end{lstlisting}
|
|
\begin{lstlisting}
|
|
<service_access service='ircd-irc2'>
|
|
<port port_type="SymLinkOption">ircd_port</port>
|
|
</service_access>
|
|
\end{lstlisting}
|
|
\begin{lstlisting}[language=XML]
|
|
<file filelist="ircd" name='/etc/ircd/ircd.conf'/>
|
|
\end{lstlisting}
|
|
\begin{lstlisting}
|
|
</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" >
|
|
<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{lstlisting}
|
|
\begin{lstlisting}[language=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}
|
|
</constraints>
|
|
|
|
<help>
|
|
</help>
|
|
|
|
</creole>
|
|
\end{lstlisting}
|
|
|
|
\chapter{Test}
|
|
|
|
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}
|
|
|
|
Ajouter de l'aide sur la variable activer\_ircd :
|
|
|
|
\begin{lstlisting}
|
|
<?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{lstlisting}
|
|
\begin{lstlisting}[language=XML]
|
|
<variable name="activer_ircd">Cette variable permet d'activer un serveur IRC</variable>
|
|
\end{lstlisting}
|
|
\begin{lstlisting}
|
|
</help>
|
|
|
|
</creole>
|
|
\end{lstlisting}
|
|
|
|
\end{document}
|