[Dev OpenGP] [114] D?\195?\169but diaporama (backup) |
[ Thread Index |
Date Index
| More opengp.tuxfamily.org/development Archives
]
Revision: 114
Author: alband85
Date: 2009-03-26 20:16:58 +0100 (Thu, 26 Mar 2009)
Log Message:
-----------
D?\195?\169but diaporama (backup)
Modified Paths:
--------------
externals/Com/Soutenance finale/tex/diaporama.tex
trunk/Makefile
Modified: externals/Com/Soutenance finale/tex/diaporama.tex
===================================================================
--- externals/Com/Soutenance finale/tex/diaporama.tex 2009-03-26 19:16:22 UTC (rev 113)
+++ externals/Com/Soutenance finale/tex/diaporama.tex 2009-03-26 19:16:58 UTC (rev 114)
@@ -1,9 +1,10 @@
-\documentclass[hyperref={pdfpagelabels=false}]{beamer}
+\documentclass[hyperref={pdfpagelabels=false},draft]{beamer}
\usepackage[utf8]{inputenc}
\usepackage{graphicx}
%\usepackage{lmodern}
\usepackage{url}
-\usepackage{amssymb}
+\usepackage{amsfonts, amsmath, amsthm, amssymb}
+\usepackage[lined,linesnumbered,boxed,french]{sty/algorithm2e}
\usepackage{multicol}
\usepackage[frenchb]{babel}
@@ -46,9 +47,275 @@
\end{frame}
}
+\section*{Introduction}
+\begin{frame}{GPO}
+ Stratégies de groupe (\emph{Group Policy Objects}) :
+ \begin{itemize}
+ \item fonctions de gestion centralisée de la famille Windows ;
+ \item gestion des utilisateurs, ordinateurs, matériels... ;
+ \item environnement \emph{Active Directory} (proche de LDAP).
+ \end{itemize}
+\end{frame}
+\begin{frame}{GPO : \emph{Organisational Unit}}
+ \begin{figure}
+ \centering
+ \includegraphics[scale=.25]{../figures/GPO-OU}
+ \caption{Exemple d'organisation en OU}\label{fig:gpoou}
+ \end{figure}
+\end{frame}
+\section{Étude préliminaire}
+
+\subsection{Analyse de l'existant}
+\begin{frame}{État de l'art (COTS)}
+ \begin{itemize}
+ \item GPO
+ \begin{itemize}
+ \item Windows uniquement
+ \end{itemize}
+ \item Novell \emph{eDirectory}
+ \begin{itemize}
+ \item Harmonisation des identités, des ressources, des périphériques et des stratégies
+ \item Limité à certaines plateformes (supportées par Novell...)
+ \end{itemize}
+ \end{itemize}
+\end{frame}
+
+\begin{frame}{État de l'art (fait main)}
+ \begin{itemize}
+ \item Scripts personnels
+ \item SVN + Makefile
+ \end{itemize}\pause
+ \begin{block}{C'est bien...}
+ ... mais :
+ \begin{itemize}
+ \item chronophage ;
+ \item peu réutilisable ;
+ \item parfois compliqué.
+ \end{itemize}
+ \end{block}
+\end{frame}
+
+
+\subsection{Analyse fonctionnelle}
+
+\begin{frame}{Identification du besoin}
+ Besoin exprimé de :
+ \begin{itemize}
+ \item disposer d'un outil permettant la gestion de la configuration d'un parc machine de type \og{}Unix\fg{} ;
+ \item cet outil étant générique (pas de spécificité pour un Unix précis ou une distribution donnée) ;
+ \item avec une compatibilité avec les outils d'administration Microsoft Windows (\emph{Active Directory}, \emph{GPO}...).
+ \end{itemize}\pause
+ \begin{block}{Finalité}
+ Fournir aux administrateurs système un outil d'administration de parc hétérogène Unix / Windows.
+ \end{block}
+\end{frame}
+
+\begin{frame}{Diagramme des interactions}
+ \begin{figure}
+ \centering
+ \includegraphics[width=.65\textwidth]{../../Rapport/figures/af/ddinteractions}
+ \end{figure}
+\end{frame}
+
+
+\section{Conception}
+\subsection{Généralités}%TODO: trouver un meilleur titre
+\begin{frame}{Architecture}
+ \begin{figure}
+ \centering
+ \includegraphics[]{../../Rapport/figures/arch/layers}
+ \end{figure}
+\end{frame}
+
+\begin{frame}{Annuaire}
+ \begin{itemize}
+ \item Compatibilité avec Windows
+ \begin{itemize}
+ \item Utilisation du schéma \emph{Active Directory}
+ \item Classes d'objets : \texttt{OrganizationalUnit}, \texttt{Computer}
+ \end{itemize}\pause
+ \item Héritage
+ \begin{itemize}
+ \item Évite les modifications
+ \item Manipulation des mêmes objets
+ \item Ajout des éléments nécessaires dans la classe créée
+ \end{itemize}
+ \end{itemize}
+\end{frame}
+
+\subsection{Gestion de la configuration}
+
+\subsubsection{Représentation XML}
+\begin{frame}{Schéma XML}
+ %TODO: le décrire en français (le schéma sera dans le rapport)
+ \begin{itemize}
+ \item
+ \end{itemize}
+\end{frame}
+
+\begin{frame}{Fusion d'arbres XML}
+ %TODO: fusion XML
+ \begin{itemize}
+ \item
+ \end{itemize}
+\end{frame}
+
+\subsubsection{Transformations}
+\begin{frame}{Tansformations XML}
+ \begin{itemize}
+ \item Génération de fragments XML
+ \begin{itemize}
+ \item Nombreux formats de fichiers de configuration
+ \item Pas d'outil fourni par défaut : liberté laissée au développeur du plugin
+ \end{itemize}\pause
+ \item Génération du fichier natif
+ \begin{itemize}
+ \item Un seul format d'entrée : XML
+ \item Possibilité d'appliquer une feuille de style (XSLT)
+ \end{itemize}
+ \end{itemize}
+\end{frame}
+
+\begin{frame}[fragile]{XSLT : exemple}
+\begin{tiny}
+\begin{verbatim}
+<?xml version="1.0" encoding="UTF-8"?>
+<xsl:stylesheet version="1.0"
+ xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
+ <xsl:output method="text" encoding="UTF-8" />
+ <xsl:template match="/">
+ <xsl:for-each select="conf/key">
+ <xsl:choose>
+ <xsl:when test="@type = 'string'">
+ <xsl:value-of select="@name"/>=<xsl:text>"</xsl:text>
+ <xsl:value-of select="."/><xsl:text>"
</xsl:text>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:value-of select="@name"/>=<xsl:value-of select="."/>
+ <xsl:text>
</xsl:text>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:for-each>
+ </xsl:template>
+</xsl:stylesheet>
+\end{verbatim}
+\end{tiny}
+\end{frame}
+
+
+\section{Réalisation}
+
+\subsection{Aspects pratiques}
+\begin{frame}{Environnement de développement}
+ \begin{itemize}
+ \item Dépôt SVN (TuxFamily)
+ \item Développement en Python
+ \item Utilisation d'\emph{OpenLDAP}
+ \item Tests sur une Debian Lenny
+ \end{itemize}
+\end{frame}
+
+\subsection{Annuaire}
+\begin{frame}{Schéma}
+
+\end{frame}
+
+\begin{frame}[fragile]{Configuration}
+ \begin{itemize}
+ \item Configuration par défaut : OK
+ \item Ajout des \og{}.schema\fg{} :
+ \begin{itemize}
+ \item \texttt{samba-ad.schema} (schéma Samba4)
+ \item \texttt{ogp.schema} (schéma OGP)
+ \end{itemize}
+ \item Ajout des ACL
+ \item TLS : \og{}facile\fg{}
+ \end{itemize}
+\begin{verbatim}
+TLSVerifyClient demand
+TLSCipherSuite TLS_RSA_AES_256_CBC_SHA1
+TLSCACertificateFile /home/ca/certs/ogpca.cert.pem
+TLSCertificateFile /home/ca/certs/server.cert.pem
+TLSCertificateKeyFile /home/ca/private/server.key.pem
+\end{verbatim}
+\end{frame}
+
+\subsection{Plugins}
+
+\begin{frame}{Détection des plugins}
+ \begin{itemize}
+ \item Plugins définis comme sous-modules de \texttt{ogp.plugins} dans \url{{python_lib}/ogp/plugins/<plugin_name>}
+ \item À l'import (\texttt{from ogp.plugins import *}), déclenchement d'un script de détection (\texttt{\_\_init\_\_.py)}
+ \item Chargement dynamique des plugins
+ \end{itemize}
+\end{frame}
+
+\begin{frame}{Initialisation d'un plugin}
+ \begin{itemize}
+ \item Initialisation par le DN d'une OU
+ \item Stockage de la configuration du plugin pour cette OU (non récursif)
+ \item Stockage du DN de l'OU parente (récupération de la configuration de manière récursive et fusion à la volée)
+ \end{itemize}
+\end{frame}
+
+\begin{frame}{Initialisation d'un plugin}
+ \begin{figure}[ht!]
+ \centering
+ \includegraphics[width=.9\textwidth]{../../Rapport/figures/misc/arbre-conf-inherit}
+ \end{figure}
+\end{frame}
+
+\subsection{Déploiement}
+\begin{frame}{\emph{Makefile}}
+ \begin{itemize}
+ \item Installation des bibliothèques dans \url{{python_lib}/ogp}
+ \item Installation du démon dans \url{/usr/sbin/ogpdaemon}
+ \item Installation du script de démarrage dans \url{/etc/init.d}
+ \end{itemize}
+
+\end{frame}
+
+
+\section*{Conclusion}
+
+\begin{frame}{Ce qui fonctionne}
+ \begin{itemize}
+ \item %TODO: ce qui fonctionne
+ \end{itemize}
+\end{frame}
+
+\begin{frame}{Ce qui reste à faire}
+ \begin{itemize}
+ \item Une interface utilisateur (console d'admin.)
+ \item Validation du XML à partir du schéma XSD (rapide)
+ \item ... %TODO: ce qui ne fonctionne pas
+ \item Et...\pause{} des plugins
+ \end{itemize}
+\end{frame}
+
+
+
+\begin{frame}
+ \begin{center}
+ \begin{Large}
+ Merci pour votre attention !
+
+ \vspace{\stretch{1}}
+
+ \includegraphics[width=.7\textwidth]{../../Rapport/figures/logo/logo-seul}
+
+ \vspace{\stretch{1}}
+
+ \includegraphics[width=.4\textwidth]{../../Rapport/figures/logo/fourmi-seule}
+ \end{Large}
+ \end{center}
+\end{frame}
+
+
+
\end{document}
Modified: trunk/Makefile
===================================================================
--- trunk/Makefile 2009-03-26 19:16:22 UTC (rev 113)
+++ trunk/Makefile 2009-03-26 19:16:58 UTC (rev 114)
@@ -3,9 +3,9 @@
PYTHON_LIB=$(prefix)/lib/python2.5
INITD=/etc/init.d
-SBIN=/usr/sbin
+SBIN=$(prefix)/sbin
PYTHON=`which python`
-PYTHON_FLAGS=-mcompileall
+FLAG_COMPILE_PY=-mcompileall
OGPLIB=src/lib/ogp
OGPBIN=src/bin
@@ -17,7 +17,7 @@
all: binaries
binaries:
- $(PYTHON) $(PYTHON_FLAGS) $(OGPLIB)
+ $(PYTHON) $(FLAG_COMPILE_PY) $(OGPLIB)
install: install-libs install-daemon
@@ -42,7 +42,7 @@
@chmod 755 $(bin_path)
@chown 0:0 $(bin_path)
-.PHONY: config clean mrproper
+.PHONY: config clean mrproper
config: