#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