[Dev OpenGP] [86] Continuing report. |
[ Thread Index |
Date Index
| More opengp.tuxfamily.org/development Archives
]
Revision: 86
Author: alband85
Date: 2009-03-24 17:57:41 +0100 (Tue, 24 Mar 2009)
Log Message:
-----------
Continuing report.
Modified Paths:
--------------
externals/Com/Rapport/tex/rapport.tex
Modified: externals/Com/Rapport/tex/rapport.tex
===================================================================
--- externals/Com/Rapport/tex/rapport.tex 2009-03-24 16:57:26 UTC (rev 85)
+++ externals/Com/Rapport/tex/rapport.tex 2009-03-24 16:57:41 UTC (rev 86)
@@ -656,5 +656,319 @@
%TODO
\subsection{Import d'un module}
+\chapter{NOM A TROUVER}
+On écrira :
+\begin{itemize}
+ \item les noms de méthodes avec parenthèses (ex. \texttt{foo()}) ;
+ \item les noms d'attributs sans parenthèses (ex. \texttt{foo}).
+\end{itemize}
+L'écriture des noms de méthodes n'indique pas systématiquement les paramètres à passer. Se référer à la section correspondance pour chacune d'elles.
+La visibilité des objets respecte les conventions de Python :
+\begin{itemize}
+ \item sans préfixe, l'objet est publique ;
+ \item préfixé par un simple souligné (\og{}\_\fg{}), l'objet est publique mais doit être considéré comme privé par le développeur ;
+ \item préfixé par un double souligné (\og{}\_\_\fg{}), l'objet est privé.
+\end{itemize}
+
+
+\section{Classes}
+\subsection{OgpCore}
+Classe intermédiaire permettant l'instanciation de \texttt{\_\_ogpcore} en tant que singleton.
+
+\subsubsection{\_\_init\_\_()}
+\paragraph{Description}
+Appelée à l'instanciation de la classe. : initialise la classe OgpCore lors de l'appel de la \emph{factory} \texttt{OgpCore()}.
+
+\paragraph{Paramètres}
+\begin{itemize}
+ \item \texttt{uri} (string), adresse du serveur LDAP sous la forme \url{ldap[s]://ip[:port]}. Si pas de port précisé, le port par défaut est utilisé (389 pour ldap, 636 pour ldaps) (ex. \url{ldap://10.2.0.230}) ;
+ \item \texttt{dn} (string), nom distingué (\emph{distinguished name}) de la machine ou de l'OU à utiliser ;
+ \item \texttt{passwd} (string), mot de passe (en clair) associé au DN ;
+ \item \texttt{certs}, non implémenté (forme à déterminer).
+\end{itemize}
+
+\subsubsection{\_\_getattr\_\_()}
+\paragraph{Description}
+Redéfinition du \emph{getter} des attributs pour déléguer l'accès à \texttt{\_\_ogpcore}.
+\paragraph{Paramètres}
+\begin{itemize}
+ \item \texttt{attr} (string), nom de l'attribut.
+\end{itemize}
+
+
+\subsubsection{\_\_setattr\_\_()}
+\paragraph{Description}
+Redéfinition du \emph{setter} des attributs pour déléguer l'accès à \texttt{\_\_ogpcore}.
+\paragraph{Paramètres}
+\begin{itemize}
+ \item \texttt{attr} (string), nom de l'attribut ;
+ \item \texttt{value} (object), valeur de l'attribut.
+\end{itemize}
+
+\subsubsection{getInstance()}
+\paragraph{Description}
+\textit{Statique} Renvoie l'instance de \texttt{\_\_ogpcore}.
+\paragraph{Paramètres}
+Aucun.
+
+\subsubsection{\_\_instance}
+Instance de \texttt{\_\_ogpcore}.
+
+\subsection{\_\_ogpcore}
+Interfaçage avec l'annuaire LDAP.
+
+\subsubsection{\_\_init\_\_()}
+\paragraph{Description}
+Appelée à l'instanciation de la classe. : initialise la classe (appelée par \texttt{OgpCore}).
+\paragraph{Paramètres}
+\begin{itemize}
+ \item \texttt{uri} (string), adresse du serveur LDAP sous la forme \url{ldap[s]://ip[:port]}. Si pas de port précisé, le port par défaut est utilisé (389 pour ldap, 636 pour ldaps) (ex. \url{ldap://10.2.0.230}) ;
+ \item \texttt{dn} (string), nom distingué (\emph{distinguished name}) de la machine ou de l'OU à utiliser ;
+ \item \texttt{passwd} (string), mot de passe (en clair) associé au DN ;
+ \item \texttt{certs}, non implémenté (forme à déterminer).
+\end{itemize}
+
+\subsubsection{\_\_del()\_\_}
+\paragraph{Description}
+Appelée automatiquement juste avant la destruction de l'instance. Assure la déconnexion de l'annuaire.
+\paragraph{Paramètres}
+Aucun.
+
+\subsubsection{createOU}
+\paragraph{Description}
+Créé une unité organisationnelle (OU) dans l'annuaire de manière \emph{non} récursive (l'OU parente doit exister).
+\paragraph{Paramètres}
+\begin{itemize}
+ \item \texttt{dn} (string), nom distingué (\emph{distinguished name}) de l'OU à créer ;
+ \item \texttt{description} (string), texte de description associé à l'OU.
+\end{itemize}
+
+\subsubsection{createMachine()}
+\paragraph{Description}
+Créée une machine.
+\paragraph{Paramètres}
+\begin{itemize}
+ \item \texttt{dn} (string), nom distingué (\emph{distinguished name}) de la machine à créer ;
+ \item \texttt{passwd} (string), mot de passe associé ;%TODO: à implémenter
+ \item \texttt{others} (dict), attributs LDAP (voir section \ref{subsection:OgpLDAPConsts} page \pageref{subsection:OgpLDAPConsts}).
+\end{itemize}
+
+\subsubsection{deleteDN}
+\paragraph{Description}
+Suppression d'une entrée donnée de l'annuaire (récursivement ou non).
+\paragraph{Paramètres}
+\begin{itemize}
+ \item \texttt{dn} (string), nom distingué (\emph{distinguished name}) de l'entrée à supprimer ;
+ \item \texttt{fullTree} (bool), récursif. Si vrai, supprime toutes les entrée du sous-arbre avant de supprimer l'entrée elle-même.
+\end{itemize}
+
+\subsubsection{pullAttributes()}
+\paragraph{Description}
+Renvoie, pour un nom distingué, les attributs donnés.
+\paragraph{Paramètres}
+\begin{itemize}
+ \item \texttt{dn} (string), nom distingué (\emph{distinguished name}) de l'entrée ;
+ \item \texttt{attrs} (list), liste des attributs souhaités.
+\end{itemize}
+
+\subsubsection{pushDescription()}
+\paragraph{Description}
+Définit l'attribut \texttt{description} d'une entrée de l'annuaire.
+\paragraph{Paramètres}
+\begin{itemize}
+ \item \texttt{dn} (string), nom distingué (\emph{distinguished name}) de l'entrée ;
+ \item \texttt{description} (string), description associée.
+\end{itemize}
+
+\subsubsection{pullPluginConf()}
+\paragraph{Description}
+Récupère la configuration (au format XML) d'un plugin donné pour un nom distingué donné.
+\paragraph{Paramètres}
+\begin{itemize}
+ \item \texttt{dn} (string), nom distingué (\emph{distinguished name}) de l'entrée ;
+ \item \texttt{pluginName} (string), nom du plugin dont on veut obtenir la configuration ;
+ \item \texttt{fullTree} (bool), récursif. Si à \emph{vrai}, récupère et fusionne la configuration de la racine à l'entrée associée au DN suivant l'algorithme \ref{algorithm:XMLMerge}.
+\end{itemize}
+
+\subsubsection{pushPluginConf()}
+\paragraph{Description}
+Enregistre dans l'annuaire la configuration d'un plugin donné pour un nom distingué donné.
+\paragraph{Paramètres}
+\begin{itemize}
+ \item \texttt{dn} (string), nom distingué (\emph{distinguished name}) de l'entrée ;
+ \item \texttt{pluginName} (string), nom du plugin dont on veut enregistrer la configuration.
+\end{itemize}
+
+\subsubsection{pullSOAs()}
+\paragraph{Description}
+Renvoie la liste des \emph{Start Of Authority} (SOA) d'une entrée spécifiée par son nom distingué ainsi que les SOA de tous ses parents.
+\paragraph{Paramètres}
+\begin{itemize}
+ \item \texttt{dn} (string), nom distingué (\emph{distinguished name}) de l'entrée.
+\end{itemize}
+
+\subsubsection{getRequiredPlugins()}
+\paragraph{Description}
+Renvoie la liste des noms des plugins que les clients associés à une entrée donnée sont censés posséder.
+\paragraph{Paramètres}
+\begin{itemize}
+ \item \texttt{dn} (string), nom distingué (\emph{distinguished name}) de l'entrée.
+\end{itemize}
+
+\subsubsection{\_\_add()}
+\paragraph{Description}
+Ajoute un attribut à une entrée donnée de l'annuaire.
+\paragraph{Paramètres}
+\begin{itemize}
+ \item \texttt{dn} (string), nom distingué (\emph{distinguished name}) de l'entrée ;
+ \item \texttt{attrs} %TODO ???
+\end{itemize}
+
+\subsubsection{\_\_modify()}
+\paragraph{Description}
+Modifie un attribut d'un entrée donnée de l'annuaire.
+\paragraph{Paramètres}
+\begin{itemize}
+ \item \texttt{dn} (string), nom distingué (\emph{distinguished name}) de l'entrée ;
+ \item \texttt{mods} %TODO ???
+\end{itemize}
+
+\subsubsection{\_\_delete()}
+\paragraph{Description}
+Supprime une entrée de l'annuaire (non récursif).
+\paragraph{Paramètres}
+\begin{itemize}
+ \item \texttt{dn} (string), nom distingué (\emph{distinguished name}) de l'entrée à supprimer.
+\end{itemize}
+
+\subsubsection{\_\_pullSOA()}
+\paragraph{Description}
+Renvoie le SOA d'une entrée donnée.
+\paragraph{Paramètres}
+\begin{itemize}
+ \item \texttt{dn} (string), nom distingué (\emph{distinguished name}) de l'entrée.
+\end{itemize}
+
+
+
+\subsection{OgpElement}
+
+\subsubsection{}
+\paragraph{Description}
+\paragraph{Paramètres}
+\begin{itemize}
+ \item
+\end{itemize}
+
+\subsubsection{}
+\paragraph{Description}
+\paragraph{Paramètres}
+\begin{itemize}
+ \item
+\end{itemize}
+
+\subsubsection{}
+\paragraph{Description}
+\paragraph{Paramètres}
+\begin{itemize}
+ \item
+\end{itemize}
+
+\subsubsection{}
+\paragraph{Description}
+\paragraph{Paramètres}
+\begin{itemize}
+ \item
+\end{itemize}
+
+\subsubsection{}
+\paragraph{Description}
+\paragraph{Paramètres}
+\begin{itemize}
+ \item
+\end{itemize}
+
+\subsubsection{}
+\paragraph{Description}
+\paragraph{Paramètres}
+\begin{itemize}
+ \item
+\end{itemize}
+
+\subsubsection{}
+\paragraph{Description}
+\paragraph{Paramètres}
+\begin{itemize}
+ \item
+\end{itemize}
+
+\subsubsection{}
+\paragraph{Description}
+\paragraph{Paramètres}
+\begin{itemize}
+ \item
+\end{itemize}
+
+\subsubsection{}
+\paragraph{Description}
+\paragraph{Paramètres}
+\begin{itemize}
+ \item
+\end{itemize}
+
+\section{Constantes}
+\subsection{OgpLDAPConsts}\label{subsection:OgpLDAPConsts}
+\begin{tabular}{|l|l|}
+ \hline
+ \multicolumn{2}{|c|}{\textsc{Classes d'objets}} \\\hline
+ OBJECTCLASS\_OU & oGPOrganizationalUnit\\\hline
+ OBJECTCLASS\_MACHINE & oGPComputer \\\hline
+ \multicolumn{2}{|c|}{\textsc{Attributs}} \\\hline
+ ATTR\_DESCRIPTION & description \\\hline
+ ATTR\_CONFIG & oGPXMLConfig \\\hline
+ ATTR\_SAMACCOUNTNAME & sAMAccountName\\\hline
+ ATTR\_OBJECTSID & objectSid\\\hline
+ ATTR\_OGPSOA & oGPSOA\\\hline
+ ATTR\_MACHINECERTIFICATE & oGPMachineCertificate\\\hline
+ \multicolumn{2}{|c|}{\textsc{Valeurs}} \\\hline
+ VALUE\_CONFIG & $<$ogp/$>$\\\hline
+ VALUE\_SAMACCOUNTNAME & N/A\\\hline
+ VALUE\_OBJECTSID & \textbackslash 0 \\\hline
+ VALUE\_OGPSOA & 0\\\hline
+\end{tabular}
+
+\subsection{OgpXmlConsts}
+\begin{tabular}{|l|p{60mm}|}
+ \hline
+ \multicolumn{2}{|c|}{\textsc{Attributs}} \\\hline
+ ATTR\_BLOCK & block \\\hline
+ ATTR\_ID & id \\\hline
+ ATTR\_PLUGIN\_NAME & name \\\hline
+ ATTR\_FILE\_NAME & name \\\hline
+ \multicolumn{2}{|c|}{\textsc{Tags} (noms de balises)} \\\hline
+ TAG\_OGP & ogp \\\hline
+ TAG\_UID & uid \\\hline
+ TAG\_GID & gid \\\hline
+ TAG\_SECURITY & security \\\hline
+ TAG\_CONF & conf \\\hline
+ TAG\_FILE & file \\\hline
+ TAG\_FILES & files \\\hline
+ TAG\_PLUGIN & plugin \\\hline
+ \multicolumn{2}{|c|}{\textsc{Tableaux de tags}} \\\hline
+ TAGS\_OWN & ['uid', 'gid'] \\\hline
+ TAGS\_MOD & ['ux', 'ur', 'uw', 'us', 'gx', 'gr', 'gw', 'gs', 'ox', 'or', 'ow', 't'] \\\hline
+\end{tabular}
+
+\section{Autres}
+\subsection{Module \texttt{misc}}
+L'import de ce module fournit les méthodes suivantes.
+\subsubsection{smart\_bool()}
+\paragraph{Description}
+Convertit un chaîne ou un entier en booléen.
+\paragraph{Paramètres}
+\begin{itemize}
+ \item \texttt{s} (string ou int), chaîne à convertir en booléen.
+\end{itemize}
+
\end{document}