AWOR - Fichier Lisez-moi de l'administrateur

Table des Matières

    1 Compatibilit�
    2 S�curit�
    3 Installation
        3.1 D�paquetage des pages PHP
        3.2 Param�tres de configuration
        3.3 Initialisation de la base
        3.4 Configuration par d�faut des comptes
    4 Maintenance
        4.1 Visualisation des objets et des fichiers
        4.2 Nettoyage de la base
    5 Authentification d�di�e - Personnalisation






1 Compatibilit�

Cette application peut-�tre utilis�e sur un serveur 
fonctionnant avec Apache, MySQL(>=4) et PHP (>=4). 

  PHP

L'application ne n�cessite pas de configuration de PHP 
particuli�re. Elle fonctionne quelle que soit la valeur 
du param�tre de configuration register_globals, 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 "E_NOTICE" PHP qui 
surviennent par exemple lors d'une comparaison avec une 
variable non-initialis�e.

Les scripts PHP n'acc�dent pas en �criture au syst�me 
de fichier, sauf pour l'upload de fichiers. Le dossier "fichiers"
 doit �tre accessible en �criture par les scripts PHP 
sans quoi la fonctionnalit� d'�change de fichier serait 
inutilisable.

  MySQL

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 [sub:Initialisation-de-la-bd].

2 S�curit�

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 issues 
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.

3 Installation

3.1 D�paquetage des pages PHP

L'application est livr�e dans une archive de type 
tarball compress�e qui contient toute l'arborescence et 
les fichiers PHP n�cessaires. Il suffit de d�compresser 
cette archive en conservant l'arborescence dans un 
dossier publi� par votre serveur Web. Les fichiers de 
configurations sont pr�sent et contiennent des valeurs 
d'exemple que vous pourrez adapter � votre situation.

3.2 <sub:Configuration>Param�tres de configuration

Cette application comporte deux fichiers de 
configuration qui sont dans le dossier "include". Les 
fichiers existent dans la version distribu�e et ont 
pour but de servir de mod�le.

  connect.inc.php : ce fichier contient les coordonn�es 
  du serveur MySQL, de l'utilisateur SQL et de la base 
  que l'application utilisera.

  config.inc.php : ce fichier contient tout le reste de 
  la configuration de l'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'oubliez pas de virgule ! Toutes les constantes sont 
  d�crites ci-dessous.

  $adminMail : adresse e-mail de l'administrateur. 
    Affich�e � l'utilisateur lorsque qu'une erreur 
    interne � l'application s'est produite.

  $automatedMail : adresse e-mail de r�ponse des 
    courriels envoy�s automatiquement par l'application.

  AUTH : Param�tres d'authentification

    POP : Param�tres pour les serveurs mail POP

      SERVERS : 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

        subdomain : adresse complete du serveur offrant 
          le service POP

        port : num�ro de port TCP utilis� pour se 
          connecter au service POP

        username_is_full_mail : 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)

    bypass_if_local : Bool�en indiquant si 
      l'authentification doit �tre outrepass�e si la 
      connexion s'effectue depuis le serveur lui-m�me.

  CSS : Param�tres des styles de pages

    CHOOSER_LIST : 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.

  MAIL :

    TEMPLATES : 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 :

      caption : Intitul� qui sera affich� � l'utilisateur

      tpl_file : Nom du fichier (avec l'extension PHP) 
        contenant le mod�le.

  SUPERUSERS : Ce tableau contient la liste des login 
    des super-utilisateurs (ceux qui ont le droit de 
    supprimer des r�unions)

  UPLOAD : Param�tres concernant l'attachement de 
    fichiers aux r�unions

    accepted_files : Tableau des extensions qui sont autoris�es.

3.3 <sub:Initialisation-de-la-bd>Initialisation de la base

Tous les fichiers n�cessaires sont rang�s dans le 
dossier "install". Vous utiliserez principalement le 
fichier "RAZBase.php". 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 "base.sql" avec votre client SQL 
favori. Le jeu d'essai se trouve dans le fichier "jeu_essai.sql".

Vous devriez supprimer ce r�pertoire d�s que 
l'installation sera termin�e car il peut poser des 
probl�mes de s�curit� car le fichier "RAZBase.php" 
pourrait �tre lanc� par n'importe qui, et les fichiers 
SQL contienent des informations sensibles.

3.4 Configuration par d�faut des comptes

Dans le fichier de configuration mod�le, un 
super-utilisateur est configur� : 
inglebert@iut-blagnac.fr et le jeu d'essai propos� au 
paragraphe pr�c�dent permet de cr�er des utilisateurs, 
et en particulier inglebert@iut-blagnac.fr.

Par d�faut, vous pourrez donc vous connecter en tant 
qu'administrateur avec ce compte. Le jeu d'essai met ce 
compte avec comme mode d'authentification "bypass", ce 
qui signifie qu'aucun mot de passe n'est n�cessaire. 
Pour utiliser un vrai syst�me d'authentification, 
connectez-vous avec ce compte et allez dans la page "Mon Profil"
 pour choisir une autre mode d'authentification.

4 Maintenance

4.1 Visualisation des objets et des fichiers

Une page d'administration est pr�vue � cet effet, et 
elle n'est accessible que par un "super-utilisateur", 
c'est � dire un utilisateur consign� dans le fichier de 
configuration principal en tant que tel, conf�re [sub:Configuration].

4.2 Nettoyage de la base

� 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...

5 Authentification d�di�e - Personnalisation

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 "auth_dialog.php"
. Vous y trouverez une section commen�ant par le 
commentaire ci-dessous.

/***************************************************

** Ajouter d'autres mode d'authentification ici ! **

***************************************************/

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 :

case '<nom_auth>':

/* Eventuellement du code pr�l�minaire */

$auth_is_ok=<fonction_ou_variable_authentification>;

if ( ! $auth_is_ok )

{ // Si l'authentificaiton � �chou�e

$errmsg=<fonction_ou_chaine_explicant_l_erreur>;

}

break;

Il vous suffit de remplacer les �l�ments entre chevrons 
dans le code ci-dessus et de le coller dans "auth_dialog.inc.php"
 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 "methodeAuth" de la table "Personne"
, et d'autre part proposer � l'utilisateur d'utiliser 
ce mode d'authentification en modifiant la page "profil.php".