<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"  
  "http://www.w3.org/TR/html4/loose.dtd">  
<html lang="fr" > 
<head><title>AWOR - Fichier Lisez-moi de l&#8217;administrateur</title> 
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> 
<meta name="generator" content="TeX4ht (http://www.cse.ohio-state.edu/~gurari/TeX4ht/mn.html)"> 
<meta name="originator" content="TeX4ht (http://www.cse.ohio-state.edu/~gurari/TeX4ht/mn.html)"> 
<!-- html --> 
<meta name="src" content="README.tex"> 
<meta name="date" content="2007-03-11 15:56:00"> 
<link rel="stylesheet" type="text/css" href="README.css"> 
</head><body 
>
   <div class="maketitle">



<h2 class="titleHead">AWOR - Fichier Lisez-moi de l&#8217;administrateur</h2>
<div class="author" ></div><br />
<div class="date" ><span 
class="cmr-12">11 mars 2007</span></div>
   </div>
   <h3 class="sectionHead"><span class="titlemark">1   </span> <a 
 id="x1-10001"></a>Compatibilit�</h3>
<!--l. 32--><p class="noindent">Cette application peut-�tre utilis�e sur un serveur fonctionnant avec Apache,
MySQL(<span 
class="cmmi-10">&#x003E;</span>=4) et PHP (<span 
class="cmmi-10">&#x003E;</span>=4).
<!--l. 36--><p class="noindent"><span class="paragraphHead"><a 
 id="x1-20001"></a><span 
class="cmbx-10">PHP</span></span>
   L&#8217;application ne n�cessite pas de configuration de PHP particuli�re. Elle
fonctionne quelque soit la valeur du param�tre de configuration register_globals,
utilise les sessions via les fonctions introduites en PHP4. L&#8217;application fonctionne
quelque soit la verbosit� des affichages d&#8217;erreur et de warning PHP, car nous avons
travaill� � �liminer tous les messages <span 
class="lasy-10">&#xFE64;&#xFE64;</span> E_NOTICE <span 
class="lasy-10">&#xFE65;&#xFE65;</span> PHP qui surviennent par
exemple lors d&#8217;une comparaison avec une variable non-initialis�e.
<!--l. 46--><p class="indent">   Les scripts PHP n&#8217;acc�dent pas en �criture au syst�me de fichier, sauf pour
l&#8217;upload de fichiers. Le dossier <span 
class="lasy-10">&#xFE64;&#xFE64;</span> fichiers <span 
class="lasy-10">&#xFE65;&#xFE65;</span> doit �tre accessible en �criture
par les scripts PHP sans quoi la fonctionnalit� d&#8217;�change de fichier serait
inutilisable.
<!--l. 52--><p class="noindent"><span class="paragraphHead"><a 
 id="x1-30001"></a><span 
class="cmbx-10">MySQL</span></span>
   Les scripts PHP ne modifient pas structurellement la base de donn�e
MySQL, il suffit donc d&#8217;un compte permettant les instructions SELECT,
INSERT, UPDATE, DELETE sur les tables de l&#8217;application. Pour indiquer �
l&#8217;application quel compte MySQL utiliser, veuillez vous reporter � la section
<a 
href="#x1-70003.2">3.2<!--tex4ht:ref: sub:Initialisation-de-la-bd --></a>.

<!--l. 61--><p class="noindent">
   <h3 class="sectionHead"><span class="titlemark">2   </span> <a 
 id="x1-40002"></a>S�curit�</h3>
<!--l. 63--><p class="noindent">Cette application a �t� d�velopp�e en gardant toujours � l&#8217;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&#8217;utilisateur lors des traitements des pages web sont
trait�es pour �viter des probl�mes d&#8217;insertion de code dans les requetes SQL.
L&#8217;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&#8217;authentification n&#8217;est pas prot�g� contre l&#8217;usurpation de mots de passe car les
contraintes donn�es dans le cahier des charges ne le permettent pas, d�
moins, il n&#8217;est pas possible d&#8217;utiliser un cryptage efficace (assym�trique)
sans modifier le syst�me d&#8217;authentification d�l�gu�e et sans utiliser une
configuration de serveur Web sp�cifique. Consid�rez, pour r�soudre ce probl�me,
l&#8217;emploi sur serveur web s�curis� (HTTPS) et l&#8217;utilisation d&#8217;une liaison entre
le serveur web et le serveur d&#8217;authentification au travers d&#8217;un r�seau de
confiance.
<!--l. 82--><p class="noindent">
   <h3 class="sectionHead"><span class="titlemark">3   </span> <a 
 id="x1-50003"></a>Installation</h3>
<!--l. 87--><p class="noindent">
   <h4 class="subsectionHead"><span class="titlemark">3.1   </span> <a 
 id="x1-60003.1"></a>Param�tres de configuration</h4>
<!--l. 89--><p class="noindent">Cette application comporte deux fichiers de configuration qui sont dans le dossier
<span 
class="lasy-10">&#xFE64;&#xFE64;</span>include <span 
class="lasy-10">&#xFE65;&#xFE65;</span>. Les fichiers existent dans la version distribu�e et ont pour but de servir
de mod�le.
<!--l. 93--><p class="indent">
     <dl class="description"><dt class="description">
<span 
class="cmbx-10">connect.inc.php</span><span class="frenchb-nbsp">&nbsp;</span><span 
class="cmbx-10">:</span>  </dt><dd 
class="description">ce fichier contient les coordonn�es du serveur MySQL, de
     l&#8217;utilisateur SQL et de la base que l&#8217;application utilisera.
     </dd><dt class="description">
<span 
class="cmbx-10">config.inc.php</span><span class="frenchb-nbsp">&nbsp;</span><span 
class="cmbx-10">:</span>  </dt><dd 
class="description">ce  fichier  contient  tout  le  reste  de  la  configuration  de
     l&#8217;application.  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...
     N&#8217;oubliez pas de virgule<span class="frenchb-thinspace">&nbsp;</span>! Toutes les constantes sont d�crites ci-dessous.
     <!--l. 103--><p class="noindent">
         <dl class="description"><dt class="description">
     <span 
class="cmbx-10">$adminMail</span><span class="frenchb-nbsp">&nbsp;</span><span 
class="cmbx-10">:</span>  </dt><dd 
class="description">adresse e-mail de l&#8217;administrateur. Affich�e � l&#8217;utilisateur
         lorsque qu&#8217;une erreur interne � l&#8217;application s&#8217;est produite.

         </dd><dt class="description">
     <span 
class="cmbx-10">$automatedMail</span><span class="frenchb-nbsp">&nbsp;</span><span 
class="cmbx-10">:</span>  </dt><dd 
class="description">adresse  e-mail  de  r�ponse  des  courriels  envoy�s
         automatiquement par l&#8217;application.
         </dd><dt class="description">
     <span 
class="cmbx-10">AUTH</span><span class="frenchb-nbsp">&nbsp;</span><span 
class="cmbx-10">:</span>  </dt><dd 
class="description">Param�tres d&#8217;authentification
         <!--l. 111--><p class="noindent">
             <dl class="description"><dt class="description">
         <span 
class="cmbx-10">POP</span><span class="frenchb-nbsp">&nbsp;</span><span 
class="cmbx-10">:</span>  </dt><dd 
class="description">Param�tres pour les serveurs mail POP
             <!--l. 114--><p class="noindent">
                <dl class="description"><dt class="description">
             <span 
class="cmbx-10">SERVERS</span><span class="frenchb-nbsp">&nbsp;</span><span 
class="cmbx-10">:</span>  </dt><dd 
class="description">Chaque �l�ment de ce tableau � pour clef le nom
                de  domaine  du  fournisseur  de  service  de  courriel  (  partie
                suivant  le  @  dans  une  adresse  e-mail)  �  pour  valeur  un
                tableau associatif de la forme suivante
                <!--l. 120--><p class="noindent">
                  <dl class="description"><dt class="description">
                <span 
class="cmbx-10">subdomain</span><span class="frenchb-nbsp">&nbsp;</span><span 
class="cmbx-10">:</span>  </dt><dd 
class="description">adresse complete du serveur offrant le service
                  POP
                  </dd><dt class="description">
                <span 
class="cmbx-10">port</span><span class="frenchb-nbsp">&nbsp;</span><span 
class="cmbx-10">:</span>  </dt><dd 
class="description">num�ro de port TCP utilis� pour se connecter au
                  service POP
                  </dd><dt class="description">
                <span 
class="cmbx-10">username</span><span 
class="cmbx-10">_is</span><span 
class="cmbx-10">_full</span><span 
class="cmbx-10">_mail</span><span class="frenchb-nbsp">&nbsp;</span><span 
class="cmbx-10">:</span>  </dt><dd 
class="description">Bool�en (true ou false) indicant
                  si  le  nom  d&#8217;utilisateur  �  utiliser  pour  l&#8217;authentification
                  est l&#8217;adresse e-mail compl�te. C&#8217;est utile pour les serveurs
                  POP  g�rant  des  adresses  email  sur  plusieurs  domaines
                  (comme  wanadoo  /  orange  au  moment  o�  j&#8217;�cris  ce
                  document)</dd></dl>
                </dd></dl>
             </dd><dt class="description">
         <span 
class="cmbx-10">bypass</span><span 
class="cmbx-10">_if</span><span 
class="cmbx-10">_local</span><span class="frenchb-nbsp">&nbsp;</span><span 
class="cmbx-10">:</span>  </dt><dd 
class="description">Bool�en indiquant si l&#8217;authentification doit
             �tre outrepass�e si la connexion s&#8217;effectue depuis le serveur
             lui-m�me.</dd></dl>
         </dd><dt class="description">
     <span 
class="cmbx-10">CSS</span><span class="frenchb-nbsp">&nbsp;</span><span 
class="cmbx-10">:</span>  </dt><dd 
class="description">Param�tres des styles de pages
         <!--l. 137--><p class="noindent">
             <dl class="description"><dt class="description">
         <span 
class="cmbx-10">CHOOSER</span><span 
class="cmbx-10">_LIST</span><span class="frenchb-nbsp">&nbsp;</span><span 
class="cmbx-10">:</span>  </dt><dd 
class="description">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.</dd></dl>
         </dd><dt class="description">
     <span 
class="cmbx-10">MAIL</span><span class="frenchb-nbsp">&nbsp;</span><span 
class="cmbx-10">:</span>  </dt><dd 
class="description">&#x00A0;
         <!--l. 145--><p class="noindent">

             <dl class="description"><dt class="description">
         <span 
class="cmbx-10">TEMPLATES</span><span class="frenchb-nbsp">&nbsp;</span><span 
class="cmbx-10">:</span>  </dt><dd 
class="description">Ce tableau contient des tableaux associatifs dont
             les clefs seront utilis�es dans les passages de param�tres HTML,
             et contiennent des sous-tableaux de la forme suivante<span class="frenchb-nbsp">&nbsp;</span>:
             <!--l. 150--><p class="noindent">
                <dl class="description"><dt class="description">
             <span 
class="cmbx-10">caption</span><span class="frenchb-nbsp">&nbsp;</span><span 
class="cmbx-10">:</span>  </dt><dd 
class="description">Intitul� qui sera affich� � l&#8217;utilisateur
                </dd><dt class="description">
             <span 
class="cmbx-10">tpl</span><span 
class="cmbx-10">_file</span><span class="frenchb-nbsp">&nbsp;</span><span 
class="cmbx-10">:</span>  </dt><dd 
class="description">Nom du fichier (avec l&#8217;extension PHP) contenant le
                mod�le.</dd></dl>
             </dd></dl>
         </dd><dt class="description">
     <span 
class="cmbx-10">SUPERUSERS</span><span class="frenchb-nbsp">&nbsp;</span><span 
class="cmbx-10">:</span>  </dt><dd 
class="description">Ce tableau contient la liste des login des super-utilisateurs
         (ceux qui ont le droit de supprimer des r�unions)
         </dd><dt class="description">
     <span 
class="cmbx-10">UPLOAD</span><span class="frenchb-nbsp">&nbsp;</span><span 
class="cmbx-10">:</span>  </dt><dd 
class="description">Param�tres concernant l&#8217;attachement de fichiers aux
         r�unions
         <!--l. 161--><p class="noindent">
             <dl class="description"><dt class="description">
         <span 
class="cmbx-10">accepted</span><span 
class="cmbx-10">_files</span><span class="frenchb-nbsp">&nbsp;</span><span 
class="cmbx-10">:</span>  </dt><dd 
class="description">Tableau des extensions qui sont autoris�es.</dd></dl>
         </dd></dl>
     </dd></dl>
<!--l. 167--><p class="noindent">
   <h4 class="subsectionHead"><span class="titlemark">3.2   </span> <a 
 id="x1-70003.2"></a>Initialisation de la base</h4>
<!--l. 169--><p class="noindent">Tout les fichiers n�cessaires sont rang�s dans le dossier <span 
class="lasy-10">&#xFE64;&#xFE64;</span> install <span 
class="lasy-10">&#xFE65;&#xFE65;</span>. Vous utiliserez
principalement le fichier <span 
class="lasy-10">&#xFE64;&#xFE64;</span> RAZBase.php <span 
class="lasy-10">&#xFE65;&#xFE65;</span>. 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&#8217;ins�rer un jeu d&#8217;essai pour tester l&#8217;application sur votre serveur. Si
vous ne souhaitez pas utiliser de compte SQL ayant le droit d&#8217;alt�rer la structure
des tables de votre base avec ce script php, vous pouvez ex�cuter le script
<span 
class="lasy-10">&#xFE64;&#xFE64;</span> base.sql <span 
class="lasy-10">&#xFE65;&#xFE65;</span> avec votre client SQL favori. Le jeu d&#8217;essai se trouve dans le fichier
<span 
class="lasy-10">&#xFE64;&#xFE64;</span> jeu_essai.sql <span 
class="lasy-10">&#xFE65;&#xFE65;</span>.
<!--l. 180--><p class="noindent">
   <h3 class="sectionHead"><span class="titlemark">4   </span> <a 
 id="x1-80004"></a>Maintenance</h3>

<!--l. 183--><p class="noindent">
   <h4 class="subsectionHead"><span class="titlemark">4.1   </span> <a 
 id="x1-90004.1"></a>Visualisation des objets et des fichiers</h4>
<!--l. 185--><p class="noindent">Une page d&#8217;administration est pr�vue � cet effet, et elle n&#8217;est accessible que par un
<span 
class="lasy-10">&#xFE64;&#xFE64;</span> super-utilisateur <span 
class="lasy-10">&#xFE65;&#xFE65;</span>, c&#8217;est � dire un utilisateur consign� dans le fichier de
configuration principal en tant que tel, conf�re <a 
href="#x1-60003.1">3.1<!--tex4ht:ref: sub:Configuration --></a>.
<!--l. 191--><p class="noindent">
   <h4 class="subsectionHead"><span class="titlemark">4.2   </span> <a 
 id="x1-100004.2"></a>Nettoyage de la base</h4>
<!--l. 193--><p class="noindent">� partir de la page d&#8217;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&#8217;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&#8217;utiliser cet outil car l&#8217;erreur de manipulation ou de
programmation est toujours possible...
<!--l. 202--><p class="noindent">
   <h3 class="sectionHead"><span class="titlemark">5   </span> <a 
 id="x1-110005"></a>Authentification d�di�e - Personnalisation</h3>
<!--l. 204--><p class="noindent">AWOR utilise un syst�me d&#8217;authentification d�di�e de sorte qu&#8217;aucun mot de passe
ne soit stock�, et que l&#8217;utilisateur n&#8217;ait pas besoin d&#8217;en retenir un nouveau.
Le code d&#8217;authentification � �t� �crit de mani�re � �tre mal�able et est
extensible. Le coeur du syst�me d&#8217;authentification se trouve dans le fichier
<span 
class="lasy-10">&#xFE64;&#xFE64;</span>auth_dialog.php <span 
class="lasy-10">&#xFE65;&#xFE65;</span>. Vous y trouverez une section commen�ant par le commentaire
ci-dessous.
<!--l. 212--><p class="noindent">
     <dl class="list1"><dt class="list">
     </dt><dd 
class="list">
     <span 
class="cmtt-10">/***************************************************************</span>
     <!--l. 215--><p class="noindent"><span 
class="cmtt-10">**</span><span 
class="cmtt-10">&#x00A0;</span><span 
class="cmtt-10">Vous</span><span 
class="cmtt-10">&#x00A0;</span><span 
class="cmtt-10">pouvez</span><span 
class="cmtt-10">&#x00A0;</span><span 
class="cmtt-10">ajouter</span><span 
class="cmtt-10">&#x00A0;</span><span 
class="cmtt-10">d&#8217;autres</span><span 
class="cmtt-10">&#x00A0;</span><span 
class="cmtt-10">mode</span><span 
class="cmtt-10">&#x00A0;</span><span 
class="cmtt-10">d&#8217;authentification</span><span 
class="cmtt-10">&#x00A0;</span><span 
class="cmtt-10">ici</span><span 
class="cmtt-10">&#x00A0;</span><span 
class="cmtt-10">!</span><span 
class="cmtt-10">&#x00A0;</span><span 
class="cmtt-10">**</span>
     <!--l. 217--><p class="noindent"><span 
class="cmtt-10">***************************************************************/</span></dd></dl>
<!--l. 220--><p class="noindent">Comme l&#8217;indique ce commentaire, vous pourrez ajouter � cet endroit une portion
de code pour utiliser un autre service d&#8217;authentification. La syntaxe est la
suivante<span class="frenchb-nbsp">&nbsp;</span>:
<!--l. 224--><p class="noindent">
     <dl class="list1"><dt class="list">
     </dt><dd 
class="list">
     <span 
class="cmtt-10">case</span><span 
class="cmtt-10">&#x00A0;</span><span 
class="cmtt-10">&#8217;&#x003C;nom</span><span 
class="cmtt-10">_auth&#x003E;&#8217;</span><span class="frenchb-nbsp">&nbsp;</span><span 
class="cmtt-10">:</span>
     <!--l. 227--><p class="noindent"><span 
class="cmtt-10">/*</span><span 
class="cmtt-10">&#x00A0;</span><span 
class="cmtt-10">Eventuellement</span><span 
class="cmtt-10">&#x00A0;</span><span 
class="cmtt-10">du</span><span 
class="cmtt-10">&#x00A0;</span><span 
class="cmtt-10">code</span><span 
class="cmtt-10">&#x00A0;</span><span 
class="cmtt-10">pr</span><span 
class="cmtt-10">�l</span><span 
class="cmtt-10">�minaire</span><span 
class="cmtt-10">&#x00A0;</span><span 
class="cmtt-10">*/</span>
     <!--l. 230--><p class="noindent"><span 
class="cmtt-10">$auth</span><span 
class="cmtt-10">_is</span><span 
class="cmtt-10">_ok=&#x003C;fonction</span><span 
class="cmtt-10">_ou</span><span 
class="cmtt-10">_variable</span><span 
class="cmtt-10">_authentification&#x003E;;</span>
     <!--l. 232--><p class="noindent"><span 
class="cmtt-10">if</span><span 
class="cmtt-10">&#x00A0;</span><span 
class="cmtt-10">(</span><span 
class="cmtt-10">&#x00A0;</span><span 
class="cmtt-10">!</span><span 
class="cmtt-10">&#x00A0;</span><span 
class="cmtt-10">$auth</span><span 
class="cmtt-10">_is</span><span 
class="cmtt-10">_ok</span><span 
class="cmtt-10">&#x00A0;</span><span 
class="cmtt-10">)</span>

     <!--l. 234--><p class="noindent"><span 
class="cmsy-10">{</span><span 
class="cmtt-10">&#x00A0;</span><span 
class="cmtt-10">//</span><span 
class="cmtt-10">&#x00A0;</span><span 
class="cmtt-10">On</span><span 
class="cmtt-10">&#x00A0;</span><span 
class="cmtt-10">ex</span><span 
class="cmtt-10">�cute</span><span 
class="cmtt-10">&#x00A0;</span><span 
class="cmtt-10">la</span><span 
class="cmtt-10">&#x00A0;</span><span 
class="cmtt-10">ligne</span><span 
class="cmtt-10">&#x00A0;</span><span 
class="cmtt-10">ci-dessous</span><span 
class="cmtt-10">&#x00A0;</span><span 
class="cmtt-10">que</span><span 
class="cmtt-10">&#x00A0;</span><span 
class="cmtt-10">si</span><span 
class="cmtt-10">&#x00A0;</span><span 
class="cmtt-10">l&#8217;authentificaiton</span><span 
class="cmtt-10">&#x00A0;</span><span 
class="cmtt-10">�</span><span 
class="cmtt-10">&#x00A0;</span><span 
class="cmtt-10">�chou</span><span 
class="cmtt-10">�e</span>
     <!--l. 236--><p class="noindent"><span 
class="cmtt-10">$errmsg=&#x003C;fonction</span><span 
class="cmtt-10">_ou</span><span 
class="cmtt-10">_chaine</span><span 
class="cmtt-10">_explicant</span><span 
class="cmtt-10">_l</span><span 
class="cmtt-10">_erreur</span><span 
class="cmtt-10">_d</span><span 
class="cmtt-10">_authentification&#x003E;;</span>
     <!--l. 238--><p class="noindent"><span 
class="cmsy-10">}</span>
     <!--l. 240--><p class="noindent"><span 
class="cmtt-10">break;</span></dd></dl>
<!--l. 242--><p class="noindent">Il vous suffit de remplacer les �l�ments entre chevrons dans le code ci-dessus et de le
coller dans <span 
class="lasy-10">&#xFE64;&#xFE64;</span>auth_dialog.inc.php<span 
class="lasy-10">&#xFE65;&#xFE65;</span> pour pouvoir utiliser un nouveau mode
d&#8217;authentification. Reste � donner � l&#8217;utilisateur la capacit� de l&#8217;utiliser. Vous
devrez encore, d&#8217;une part, ajouter dans la base de donn�es le <span 
class="cmmi-10">&#x003C;</span>nom_auth<span 
class="cmmi-10">&#x003E; </span>�
l&#8217;�num�ration du champ <span 
class="lasy-10">&#xFE64;&#xFE64;</span>methodeAuth<span 
class="lasy-10">&#xFE65;&#xFE65;</span> de la table <span 
class="lasy-10">&#xFE64;&#xFE64;</span>Personne<span 
class="lasy-10">&#xFE65;&#xFE65;</span>, et d&#8217;autre part
proposer � l&#8217;utilisateur d&#8217;utiliser ce mode d&#8217;authentification en modifiant la page
<span 
class="lasy-10">&#xFE64;&#xFE64;</span>profil.php<span 
class="lasy-10">&#xFE65;&#xFE65;</span>.
    
</body></html>