[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>&quot;</xsl:text>
+          <xsl:value-of select="."/><xsl:text>&quot;&#xa;</xsl:text>
+        </xsl:when>
+        <xsl:otherwise>
+          <xsl:value-of select="@name"/>=<xsl:value-of select="."/>
+          <xsl:text>&#xa;</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:
 


Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/