[Dev OpenGP] [88] API description in report (in French). |
[ Thread Index |
Date Index
| More opengp.tuxfamily.org/development Archives
]
Revision: 88
Author: alband85
Date: 2009-03-25 14:43:34 +0100 (Wed, 25 Mar 2009)
Log Message:
-----------
API description in report (in French).
Modified Paths:
--------------
externals/Com/Rapport/tex/rapport.tex
Modified: externals/Com/Rapport/tex/rapport.tex
===================================================================
--- externals/Com/Rapport/tex/rapport.tex 2009-03-25 09:32:10 UTC (rev 87)
+++ externals/Com/Rapport/tex/rapport.tex 2009-03-25 13:43:34 UTC (rev 88)
@@ -657,7 +657,7 @@
%TODO
\subsection{Import d'un module}
-\chapter{NOM A TROUVER}
+\chapter{API}
On écrira :
\begin{itemize}
\item les noms de méthodes avec parenthèses (ex. \texttt{foo()}) ;
@@ -717,7 +717,7 @@
Instance de \texttt{\_\_ogpcore}.
\subsection{\_\_ogpcore}
-Interfaçage avec l'annuaire LDAP.
+Interfaçage avec l'annuaire LDAP. Sous-classe (privée) de \texttt{OgpCore}.
\subsubsection{\_\_init\_\_()}
\paragraph{Description}
@@ -742,7 +742,8 @@
\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.
+ \item \texttt{description} (string), optionnel, texte de description associé à l'OU (défaut : \texttt{None}) ;
+ \item \texttt{others} (dict), optionnel, attributs LDAP (voir section \ref{subsection:OgpLDAPConsts} page \pageref{subsection:OgpLDAPConsts}, défaut : \verb+{}+).
\end{itemize}
\subsubsection{createMachine()}
@@ -751,8 +752,9 @@
\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}).
+ \item \texttt{passwd} (string), mot de passe associé (stocké en SHA-1 dans l'annuaire) ;
+ \item \texttt{description} (string), optionnel, texte de description associé à la machine (défaut : \texttt{None}) ;
+ \item \texttt{others} (dict), optionnel, attributs LDAP (voir section \ref{subsection:OgpLDAPConsts} page \pageref{subsection:OgpLDAPConsts}, défaut : \verb+{}+).
\end{itemize}
\subsubsection{deleteDN()}
@@ -782,6 +784,15 @@
\item \texttt{description} (string), description associée.
\end{itemize}
+\subsubsection{pushPasswd()}
+\paragraph{Description}
+Définit l'attribut \texttt{passwd} d'une machine.
+\paragraph{Paramètres}
+\begin{itemize}
+ \item \texttt{dn} (string), nom distingué (\emph{distinguished name}) de la machine ;
+ \item \texttt{passwd} (string), mot de passe associé (en clair).
+\end{itemize}
+
\subsubsection{pullPluginConf()}
\paragraph{Description}
Récupère la configuration (au format XML) d'un plugin donné pour un nom distingué donné.
@@ -919,12 +930,238 @@
\subsubsection{append()}
\paragraph{Description}
-Ajoute un élément.
+Ajoute un élément après tous les éléments fils déjà existants après en avoir vérifié l'unicité.
\paragraph{Paramètres}
\begin{itemize}
\item \texttt{newChild} (OgpElement), élément à ajouter.
\end{itemize}
+\subsubsection{insert()}
+\paragraph{Description}
+Ajoute un élément à une position donnée après en avoir vérifié l'unicité.
+\paragraph{Paramètres}
+\begin{itemize}
+ \item \texttt{index} (int), position de l'élément à insérer.
+ \item \texttt{newChild} (OgpElement), élément à insérer.
+\end{itemize}
+
+\subsubsection{extend()}
+\paragraph{Description}
+Ajoute une liste d'éléments après les éléments fils déjà existants après en avoir vérifié l'unicité.
+\paragraph{Paramètres}
+\begin{itemize}
+ \item \texttt{elements} (liste de OgpElements), liste des éléments à ajouter.
+\end{itemize}
+
+\subsubsection{set()}
+\paragraph{Description}
+Définit la valeur d'un attribut après avoir vérifié l'unicité de la nouvelle valeur.
+\paragraph{Paramètres}
+\begin{itemize}
+ \item \texttt{name} (string), nom de l'attribut ;
+ \item \texttt{value} (string), valeur de l'attribut.
+\end{itemize}
+
+\subsubsection{merge()}
+\paragraph{Description}
+Fusionne un arbre XML avec l'arbre courant suivant l'algorithme \ref{algorithm:XMLMerge} (page \pageref{algorithm:XMLMerge}).
+\paragraph{Paramètres}
+\begin{itemize}
+ \item \texttt{peer} (OgpElement), arbre fils à fusionner.
+\end{itemize}
+
+\subsubsection{\_\_reorder\_ids()}
+\paragraph{Description}
+Réorganise les \texttt{id} des ACL suivant l'algorithme \ref{algorithm:reorgid} (page \pageref{algorithm:reorgid}).
+\paragraph{Paramètres}
+\begin{itemize}
+ \item \texttt{peer} (OgpElement), arbre fils.
+\end{itemize}
+
+\subsubsection{toString()}
+\paragraph{Description}
+Renvoie l'arbre XML sous forme de chaîne éventuellement mise en forme.
+\paragraph{Paramètres}
+\begin{itemize}
+ \item \texttt{xsl} (string), optionnel, chemin vers la feuille de style XSLT ;
+ \item \texttt{params} (dict), optionnel, paramètres de la feuille de style.
+\end{itemize}
+
+\subsubsection{\_\_processXsl()}
+\paragraph{Description}
+Transformation d'un arbre XML à partir d'une feuille de style XSLT.
+\paragraph{Paramètres}
+\begin{itemize}
+ \item \texttt{xsl} (string), chemin vers la feuille de style XSLT ;
+ \item \texttt{params} (dict), paramètres de la feuille de style.
+\end{itemize}
+
+\subsubsection{\_\_makePlugin()}
+\paragraph{Description}
+\emph{Factory} assurant la création du squelette XML d'un plugin.
+\paragraph{Paramètres}
+\begin{itemize}
+ \item \texttt{name} (string), nom du plugin ;
+ \item \texttt{fileNames} (liste de string), noms des fichiers associés au plugin (balises $<$file/$>$).
+\end{itemize}
+
+\subsection{OgpXmlError}
+Gestion des exceptions. Utilisation : \verb+raise OgpXmlError('<error message>')+.
+
+\subsection{OgpElementClassLookup}
+Gestion de la \emph{factory} standard de la classe OgpElement.
+
+\subsection{omited}
+Classe permettant de spécifier qu'un paramètre de fonction est omis.
+
+\subsection{Plugin}
+\subsubsection{name}
+Nom du plugin (string).
+
+\subsubsection{files}
+Liste des fichiers associés au plugin (liste de string).
+
+\subsubsection{\_\_metaclass\_\_}
+Metaclasse, définie par défaut pour forcer l'attribut \texttt{name} en lecture seule.
+
+\subsubsection{parentDn}
+Nom distingué de l'entrée parente (string).
+
+\subsubsection{dn}
+Nom distingué de l'entrée de l'annuaire associé à l'instance du plugin (string).
+
+\subsubsection{currentConf}
+Configuration de l'entrée associée au nom distingué (\texttt{dn}) passé au plugin, obtenue non récursivement (OgpElement).
+
+\subsubsection{core}
+Instance d'OgpCore.
+
+\subsubsection{\_\_registeredPlugins()}
+Dictionnaire des plugins détectés au lancement (dict).
+
+\subsubsection{\_\_init\_\_()}
+\paragraph{Description}
+Appelée à l'instanciation de la classe. : initialise la classe Plugin lors de l'appel de la \emph{factory} \texttt{Plugin()} (ou de la \emph{factory} de l'une des classes héritant de \texttt{Plugin}).
+\paragraph{Paramètres}
+\begin{itemize}
+ \item \texttt{dn} (string), nom distingué de l'entité sur laquelle travaille le plugin.
+\end{itemize}
+
+\subsubsection{\_\_getPluginFromName()}
+\paragraph{Description}
+Renvoie la classe spécifiée à partir de son nom (applicable uniquement aux plugins enregistrés).
+\paragraph{Paramètres}
+\begin{itemize}
+ \item \texttt{name}(string), nom de la classe à renvoyer.
+\end{itemize}
+
+\subsubsection{\_\_registerPlugin()}
+\paragraph{Description}
+\emph{Statique} Enregistre un plugin dans la liste des plugins disponibles.
+\paragraph{Paramètres}
+\begin{itemize}
+ \item \texttt{pluginClass} (Plugin), classe du plugin à enregistrer.
+\end{itemize}
+
+\subsubsection{\_\_getRegisteredPlugins()}
+\paragraph{Description}
+\emph{Statique} Renvoie la liste des plugins enregistrés.
+\paragraph{Paramètres}
+Aucun.
+
+\subsubsection{update()}
+\paragraph{Description}
+Enregistre les modifications effectuées sur la configuration dans l'annuaire.
+\paragraph{Paramètres}
+Aucun.
+
+\subsubsection{cancel()}
+\paragraph{Description}
+Annule tous les changements et réinitialise \texttt{currentConf} (configuration associée au plugin) à sa valeur enregistrée dans l'annuaire.
+\paragraph{Paramètres}
+Aucun.
+
+\subsubsection{chown()}
+\paragraph{Description}
+Modifie le propriétaire d'un fichier dans la configuration.
+\paragraph{Paramètres}
+\begin{itemize}
+ \item \texttt{fileName} (string), nom du fichier ;
+ \item \texttt{uid} (int), \emph{user id}, identifiant de l'utilisateur à définir comme propriétaire (défaut : \texttt{omitted}) ;
+ \item \texttt{gig} (int), \emph{group id}, identifiant du groupe à définir comme propriétaire (défaut : \texttt{omitted}) ;
+ \item \texttt{blocking} (bool), force les entrées filles à utiliser cette valeur (défaut : \texttt{False}).
+\end{itemize}
+
+\subsubsection{chmod()}
+\paragraph{Description}
+Modifie les permission d'un fichier dans la configuration.
+\paragraph{Paramètres}
+\begin{itemize}
+ \item \texttt{fileName} (string), nom du fichier impacté ;
+ \item \texttt{rights} (dict), tableau associatif de la forme \verb+{'droit':valeur,...}+
+ \item \texttt{blocking} (bool), force les entrées filles à utiliser ces valeurs (défaut : \texttt{False}).
+\end{itemize}
+
+\subsubsection{\_\_getFile()}
+\paragraph{Description}
+Renvoie l'élément (OgpElement, balise $<$file/$>$) associé au nom de fichier fourni.
+\paragraph{Paramètres}
+\begin{itemize}
+ \item \texttt{fileName} (string), nom de fichier.
+\end{itemize}
+
+\subsubsection{setSecurityAttributes()}
+\paragraph{Description}
+Application de la valeur du propriétaire et des permissions à un fichier à partir des paramètres de la configuration.
+\paragraph{Paramètres}
+\begin{itemize}
+ \item \texttt{fileName} (string), nom de fichier dans la configuration ;
+ \item \texttt{filePath} (string), emplacement réel du fichier.
+\end{itemize}
+
+\subsubsection{installConf()}
+\paragraph{Description}
+\emph{Abstraite} Application des paramètres de la configuration à la machine sur laquelle est exécutée le client.
+\paragraph{Paramètres}
+Aucun.
+
+\subsubsection{help()}
+\paragraph{Description}
+\emph{Abstraite} Affiche de l'aide. Sans paramètre, affiche la liste des commandes disponibles, avec paramètre, affiche la liste des options associées à une commande.
+\paragraph{Paramètres}
+\begin{itemize}
+ \item \texttt{cmdName} (string), optionnel, commande dont on souhaite afficher l'aide.
+\end{itemize}
+
+\subsubsection{runCommand()}
+\paragraph{Description}
+\emph{Abstraite} Exécute une commande.
+\paragraph{Paramètres}
+\begin{itemize}
+ \item \texttt{cmdName} (string), commande à exécuter ;
+ \item \texttt{argv} (dict), arguments de la commande de la forme \verb+{argName: argVal,...}+.
+\end{itemize}
+
+\subsubsection{pullFile()}
+\paragraph{Description}
+\emph{Abstraite} Renvoie le contenu de la configuration du plugin (la valeur de retour est laissée à l'appréciation du développeur du plugin suivant ses besoins).
+\paragraph{Paramètres}
+\begin{itemize}
+ \item \texttt{file} (string), fichier impacté par le configuration ;
+ \item \texttt{fullTree} (bool), récupération récursive et fusion de l'arbre.
+\end{itemize}
+
+\subsubsection{pushFile()}
+\paragraph{Description}
+Construction de la configuration du plugin à partir du contenu fourni et stockage dans la balise $<$file/$>$.
+\paragraph{Paramètres}
+\begin{itemize}
+ \item \texttt{file} (string), fichier impacté par le configuration ;
+ \item \texttt{content} (string), configuration du plugin ;
+ \item \texttt{blocking} (bool), force les entrées filles à utiliser ces valeurs (défaut : \texttt{False}).
+\end{itemize}
+
+
\section{Constantes}
\subsection{OgpLDAPConsts}\label{subsection:OgpLDAPConsts}
\begin{tabular}{|l|l|}