#LyX 1.4.3 created this file. For more info see http://www.lyx.org/ \lyxformat 245 \begin_document \begin_header \textclass article \language french \inputencoding auto \fontscheme default \graphics default \paperfontsize default \spacing single \papersize default \use_geometry false \use_amsmath 1 \cite_engine basic \use_bibtopic false \paperorientation portrait \secnumdepth 3 \tocdepth 3 \paragraph_separation indent \defskip medskip \quotes_language french \papercolumns 1 \papersides 1 \paperpagestyle default \tracking_changes false \output_changes false \end_header \begin_body \begin_layout Title AWOR - Fichier Lisez-moi de l'administrateur \end_layout \begin_layout Section Compatibilit� \end_layout \begin_layout Standard Cette application peut-�tre utilis�e sur un serveur fonctionnant avec Apache, MySQL(>=4) et PHP (>=4). \end_layout \begin_layout Paragraph PHP \end_layout \begin_layout Standard L'application ne n�cessite pas de configuration de PHP particuli�re. Elle fonctionne quelque soit la valeur du param�tre de configuration register_g lobals, utilise les sessions via les fonctions introduites en PHP4. L'application fonctionne quelque soit la verbosit� des affichages d'erreur et de warning PHP, car nous avons travaill� � �liminer tous les messages \begin_inset Quotes fld \end_inset E_NOTICE \begin_inset Quotes frd \end_inset PHP qui surviennent par exemple lors d'une comparaison avec une variable non-initialis�e. \end_layout \begin_layout Standard Les scripts PHP n'acc�dent pas en �criture au syst�me de fichier, sauf pour l'upload de fichiers. Le dossier \begin_inset Quotes fld \end_inset fichiers \begin_inset Quotes frd \end_inset doit �tre accessible en �criture par les scripts PHP sans quoi la fonctionnalit � d'�change de fichier serait inutilisable. \end_layout \begin_layout Paragraph MySQL \end_layout \begin_layout Standard Les scripts PHP ne modifient pas structurellement la base de donn�e MySQL, il suffit donc d'un compte permettant les instructions SELECT, INSERT, UPDATE, DELETE sur les tables de l'application. Pour indiquer � l'application quel compte MySQL utiliser, veuillez vous reporter � la section \begin_inset LatexCommand \ref{sub:Initialisation-de-la-bd} \end_inset . \end_layout \begin_layout Section S�curit� \end_layout \begin_layout Standard Cette application a �t� d�velopp�e en gardant toujours � l'esprit les probl�mes de s�curit�s. Nous ne pouvons �videmment pas la garantir failles ni bugs, mais nous sommes fix� des r�gles de programmation pour �viter les failles les plus courantes. Toutes les donn�es issue de l'utilisateur lors des traitements des pages web sont trait�es pour �viter des probl�mes d'insertion de code dans les requetes SQL. L'authentification des utilisateurs est syst�matique, v�rifi�e � chaque page et repose sur le syst�me des sessions PHP. En revanche, il faut noter que le formulaire d'authentification n'est pas prot�g� contre l'usurpation de mots de passe car les contraintes donn�es dans le cahier des charges ne le permettent pas, d� moins, il n'est pas possible d'utiliser un cryptage efficace (assym�trique) sans modifier le syst�me d'authentification d�l�gu�e et sans utiliser une configuration de serveur Web sp�cifique. Consid�rez, pour r�soudre ce probl�me, l'emploi sur serveur web s�curis� (HTTPS) et l'utilisation d'une liaison entre le serveur web et le serveur d'authentification au travers d'un r�seau de confiance. \end_layout \begin_layout Section Installation \end_layout \begin_layout Standard \end_layout \begin_layout Subsection \begin_inset LatexCommand \label{sub:Configuration} \end_inset Param�tres de configuration \end_layout \begin_layout Standard Cette application comporte deux fichiers de configuration qui sont dans le dossier \begin_inset Quotes fld \end_inset include \begin_inset Quotes frd \end_inset . Les fichiers existent dans la version distribu�e et ont pour but de servir de mod�le. \end_layout \begin_layout Description connect.inc.php\InsetSpace ~ : ce fichier contient les coordonn�es du serveur MySQL, de l'utilisateur SQL et de la base que l'application utilisera. \end_layout \begin_layout Description config.inc.php\InsetSpace ~ : ce fichier contient tout le reste de la configuration de l'applica tion. Le fichier est un script PHP qui initialise un tableau multi-dimentionnel. Ce choix � �t� fait par commodit�, et pour permette de bien hi�rarchiser les information, en revanche, la syntaxe est fourbe\SpecialChar \ldots{} N'oubliez pas de virgule ! Toutes les constantes sont d�crites ci-dessous. \end_layout \begin_deeper \begin_layout Description $adminMail\InsetSpace ~ : adresse e-mail de l'administrateur. Affich�e � l'utilisateur lorsque qu'une erreur interne � l'application s'est produite. \end_layout \begin_layout Description $automatedMail\InsetSpace ~ : adresse e-mail de r�ponse des courriels envoy�s automatiquement par l'application. \end_layout \begin_layout Description AUTH\InsetSpace ~ : Param�tres d'authentification \end_layout \begin_deeper \begin_layout Description POP\InsetSpace ~ : Param�tres pour les serveurs mail POP \end_layout \begin_deeper \begin_layout Description SERVERS\InsetSpace ~ : Chaque �l�ment de ce tableau � pour clef le nom de domaine du fournisse ur de service de courriel ( partie suivant le @ dans une adresse e-mail) � pour valeur un tableau associatif de la forme suivante \end_layout \begin_deeper \begin_layout Description subdomain\InsetSpace ~ : adresse complete du serveur offrant le service POP \end_layout \begin_layout Description port\InsetSpace ~ : num�ro de port TCP utilis� pour se connecter au service POP \end_layout \begin_layout Description username_is_full_mail\InsetSpace ~ : Bool�en (true ou false) indicant si le nom d'utilisateur � utiliser pour l'authentification est l'adresse e-mail compl�te. C'est utile pour les serveurs POP g�rant des adresses email sur plusieurs domaines (comme wanadoo / orange au moment o� j'�cris ce document) \end_layout \end_deeper \end_deeper \begin_layout Description bypass_if_local\InsetSpace ~ : Bool�en indiquant si l'authentification doit �tre outrepass�e si la connexion s'effectue depuis le serveur lui-m�me. \end_layout \end_deeper \begin_layout Description CSS\InsetSpace ~ : Param�tres des styles de pages \end_layout \begin_deeper \begin_layout Description CHOOSER_LIST\InsetSpace ~ : Ce tableau associatif contient la liste des styles CSS � utiliser. Les clefs sont les libell�s des th�mes � afficher et les valeurs sont les noms des fichiers CSS correspondants, sans chemin, ni extension. \end_layout \end_deeper \begin_layout Description MAIL\InsetSpace ~ : \end_layout \begin_deeper \begin_layout Description TEMPLATES\InsetSpace ~ : Ce tableau contient des tableaux associatifs dont les clefs seront utilis�es dans les passages de param�tres HTML, et contiennent des sous-tableau x de la forme suivante : \end_layout \begin_deeper \begin_layout Description caption\InsetSpace ~ : Intitul� qui sera affich� � l'utilisateur \end_layout \begin_layout Description tpl_file\InsetSpace ~ : Nom du fichier (avec l'extension PHP) contenant le mod�le. \end_layout \end_deeper \end_deeper \begin_layout Description SUPERUSERS\InsetSpace ~ : Ce tableau contient la liste des login des super-utilisateurs (ceux qui ont le droit de supprimer des r�unions) \end_layout \begin_layout Description UPLOAD\InsetSpace ~ : Param�tres concernant l'attachement de fichiers aux r�unions \end_layout \begin_deeper \begin_layout Description accepted_files\InsetSpace ~ : Tableau des extensions qui sont autoris�es. \end_layout \end_deeper \end_deeper \begin_layout Subsection \begin_inset LatexCommand \label{sub:Initialisation-de-la-bd} \end_inset Initialisation de la base \end_layout \begin_layout Standard Tout les fichiers n�cessaires sont rang�s dans le dossier \begin_inset Quotes fld \end_inset install \begin_inset Quotes frd \end_inset . Vous utiliserez principalement le fichier \begin_inset Quotes fld \end_inset RAZBase.php \begin_inset Quotes frd \end_inset . Appel� au travers du serveur web, il vous permettra automatiquement de mettre en place la structure de la base de donn�es, et optionnellement, d'ins�rer un jeu d'essai pour tester l'application sur votre serveur. Si vous ne souhaitez pas utiliser de compte SQL ayant le droit d'alt�rer la structure des tables de votre base avec ce script php, vous pouvez ex�cuter le script \begin_inset Quotes fld \end_inset base.sql \begin_inset Quotes frd \end_inset avec votre client SQL favori. Le jeu d'essai se trouve dans le fichier \begin_inset Quotes fld \end_inset jeu_essai.sql \begin_inset Quotes frd \end_inset . \end_layout \begin_layout Section Maintenance \end_layout \begin_layout Subsection Visualisation des objets et des fichiers \end_layout \begin_layout Standard Une page d'administration est pr�vue � cet effet, et elle n'est accessible que par un \begin_inset Quotes fld \end_inset super-utilisateur \begin_inset Quotes frd \end_inset , c'est � dire un utilisateur consign� dans le fichier de configuration principal en tant que tel, conf�re \begin_inset LatexCommand \ref{sub:Configuration} \end_inset . \end_layout \begin_layout Subsection Nettoyage de la base \end_layout \begin_layout Standard � partir de la page d'administration d�crite dans le paragraphe pr�c�dent, vous pouvez aussi purger les fichiers attach�s et les objets de la base de donn�es devenus obsol�tes. L'aide contextuelle de cette page vous expliquera comment faire. Il est vivement conseill� de faire une sauvegarde de la base de donn�es et des fichiers joints aux r�unions avant d'utiliser cet outil car l'erreur de manipulation ou de programmation est toujours possible\SpecialChar \ldots{} \end_layout \begin_layout Section Authentification d�di�e - Personnalisation \end_layout \begin_layout Standard AWOR utilise un syst�me d'authentification d�di�e de sorte qu'aucun mot de passe ne soit stock�, et que l'utilisateur n'ait pas besoin d'en retenir un nouveau. Le code d'authentification � �t� �crit de mani�re � �tre mal�able et est extensible. Le coeur du syst�me d'authentification se trouve dans le fichier \begin_inset Quotes fld \end_inset auth_dialog.php \begin_inset Quotes frd \end_inset . Vous y trouverez une section commen�ant par le commentaire ci-dessous. \end_layout \begin_layout LyX-Code \lang english /*************************************************** \end_layout \begin_layout LyX-Code \lang english ** Ajouter d'autres mode d'authentification ici ! ** \end_layout \begin_layout LyX-Code \lang english ***************************************************/ \end_layout \begin_layout Standard Comme l'indique ce commentaire, vous pourrez ajouter � cet endroit une portion de code pour utiliser un autre service d'authentification. La syntaxe est la suivante : \end_layout \begin_layout LyX-Code case '<nom_auth>': \end_layout \begin_layout LyX-Code /* Eventuellement du code pr�l�minaire */ \end_layout \begin_layout LyX-Code \lang english $auth_is_ok=<fonction_ou_variable_authentification>; \end_layout \begin_layout LyX-Code \lang english if ( ! $auth_is_ok ) \end_layout \begin_layout LyX-Code \lang english { // On ex�cute la ligne ci-dessous que si l'authentificaiton � �chou�e \end_layout \begin_layout LyX-Code \lang english $errmsg=<fonction_ou_chaine_explicant_l_erreur_d_authentification>; \end_layout \begin_layout LyX-Code \lang english } \end_layout \begin_layout LyX-Code \lang english break; \end_layout \begin_layout Standard \lang english Il vous suffit de remplacer les �l�ments entre chevrons dans le code ci-dessus et de le coller dans \begin_inset Quotes fld \end_inset auth_dialog.inc.php \begin_inset Quotes frd \end_inset pour pouvoir utiliser un nouveau mode d'authentification. Reste � donner � l'utilisateur la capacit� de l'utiliser. Vous devrez encore, d'une part, ajouter dans la base de donn�es le <nom_auth> � l'�num�ration du champ \begin_inset Quotes fld \end_inset methodeAuth \begin_inset Quotes frd \end_inset de la table \begin_inset Quotes fld \end_inset Personne \begin_inset Quotes frd \end_inset , et d'autre part proposer � l'utilisateur d'utiliser ce mode d'authentification en modifiant la page \begin_inset Quotes fld \end_inset profil.php \begin_inset Quotes frd \end_inset . \end_layout \end_body \end_document