diff options
Diffstat (limited to 'beta_old1/doc/README.html')
-rw-r--r-- | beta_old1/doc/README.html | 422 |
1 files changed, 422 insertions, 0 deletions
diff --git a/beta_old1/doc/README.html b/beta_old1/doc/README.html new file mode 100644 index 0000000..476a176 --- /dev/null +++ b/beta_old1/doc/README.html @@ -0,0 +1,422 @@ +<!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’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’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">></span>=4) et PHP (<span +class="cmmi-10">></span>=4). +<!--l. 36--><p class="noindent"><span class="paragraphHead"><a + id="x1-20001"></a><span +class="cmbx-10">PHP</span></span> + L’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’application fonctionne +quelque soit la verbosité des affichages d’erreur et de warning PHP, car nous avons +travaillé à éliminer tous les messages <span +class="lasy-10">﹤﹤</span> E_NOTICE <span +class="lasy-10">﹥﹥</span> PHP qui surviennent par +exemple lors d’une comparaison avec une variable non-initialisée. +<!--l. 46--><p class="indent"> Les scripts PHP n’accèdent pas en écriture au système de fichier, sauf pour +l’upload de fichiers. Le dossier <span +class="lasy-10">﹤﹤</span> fichiers <span +class="lasy-10">﹥﹥</span> doit être accessible en écriture +par les scripts PHP sans quoi la fonctionnalité d’é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’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 +<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’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. +<!--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">﹤﹤</span>include <span +class="lasy-10">﹥﹥</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"> </span><span +class="cmbx-10">:</span> </dt><dd +class="description">ce fichier contient les coordonnées du serveur MySQL, de + l’utilisateur SQL et de la base que l’application utilisera. + </dd><dt class="description"> +<span +class="cmbx-10">config.inc.php</span><span class="frenchb-nbsp"> </span><span +class="cmbx-10">:</span> </dt><dd +class="description">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<span class="frenchb-thinspace"> </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"> </span><span +class="cmbx-10">:</span> </dt><dd +class="description">adresse e-mail de l’administrateur. Affichée à l’utilisateur + lorsque qu’une erreur interne à l’application s’est produite. + + </dd><dt class="description"> + <span +class="cmbx-10">$automatedMail</span><span class="frenchb-nbsp"> </span><span +class="cmbx-10">:</span> </dt><dd +class="description">adresse e-mail de réponse des courriels envoyés + automatiquement par l’application. + </dd><dt class="description"> + <span +class="cmbx-10">AUTH</span><span class="frenchb-nbsp"> </span><span +class="cmbx-10">:</span> </dt><dd +class="description">Paramètres d’authentification + <!--l. 111--><p class="noindent"> + <dl class="description"><dt class="description"> + <span +class="cmbx-10">POP</span><span class="frenchb-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"> </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"> </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"> </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"> </span><span +class="cmbx-10">:</span> </dt><dd +class="description">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)</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"> </span><span +class="cmbx-10">:</span> </dt><dd +class="description">Booléen indiquant si l’authentification doit + être outrepassée si la connexion s’effectue depuis le serveur + lui-même.</dd></dl> + </dd><dt class="description"> + <span +class="cmbx-10">CSS</span><span class="frenchb-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"> </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"> </span><span +class="cmbx-10">:</span> </dt><dd +class="description">  + <!--l. 145--><p class="noindent"> + + <dl class="description"><dt class="description"> + <span +class="cmbx-10">TEMPLATES</span><span class="frenchb-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"> </span>: + <!--l. 150--><p class="noindent"> + <dl class="description"><dt class="description"> + <span +class="cmbx-10">caption</span><span class="frenchb-nbsp"> </span><span +class="cmbx-10">:</span> </dt><dd +class="description">Intitulé qui sera affiché à l’utilisateur + </dd><dt class="description"> + <span +class="cmbx-10">tpl</span><span +class="cmbx-10">_file</span><span class="frenchb-nbsp"> </span><span +class="cmbx-10">:</span> </dt><dd +class="description">Nom du fichier (avec l’extension PHP) contenant le + modèle.</dd></dl> + </dd></dl> + </dd><dt class="description"> + <span +class="cmbx-10">SUPERUSERS</span><span class="frenchb-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"> </span><span +class="cmbx-10">:</span> </dt><dd +class="description">Paramètres concernant l’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"> </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">﹤﹤</span> install <span +class="lasy-10">﹥﹥</span>. Vous utiliserez +principalement le fichier <span +class="lasy-10">﹤﹤</span> RAZBase.php <span +class="lasy-10">﹥﹥</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’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 +<span +class="lasy-10">﹤﹤</span> base.sql <span +class="lasy-10">﹥﹥</span> avec votre client SQL favori. Le jeu d’essai se trouve dans le fichier +<span +class="lasy-10">﹤﹤</span> jeu_essai.sql <span +class="lasy-10">﹥﹥</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’administration est prévue à cet effet, et elle n’est accessible que par un +<span +class="lasy-10">﹤﹤</span> super-utilisateur <span +class="lasy-10">﹥﹥</span>, c’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’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... +<!--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’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 +<span +class="lasy-10">﹤﹤</span>auth_dialog.php <span +class="lasy-10">﹥﹥</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"> </span><span +class="cmtt-10">Vous</span><span +class="cmtt-10"> </span><span +class="cmtt-10">pouvez</span><span +class="cmtt-10"> </span><span +class="cmtt-10">ajouter</span><span +class="cmtt-10"> </span><span +class="cmtt-10">d’autres</span><span +class="cmtt-10"> </span><span +class="cmtt-10">mode</span><span +class="cmtt-10"> </span><span +class="cmtt-10">d’authentification</span><span +class="cmtt-10"> </span><span +class="cmtt-10">ici</span><span +class="cmtt-10"> </span><span +class="cmtt-10">!</span><span +class="cmtt-10"> </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’indique ce commentaire, vous pourrez ajouter à cet endroit une portion +de code pour utiliser un autre service d’authentification. La syntaxe est la +suivante<span class="frenchb-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"> </span><span +class="cmtt-10">’<nom</span><span +class="cmtt-10">_auth>’</span><span class="frenchb-nbsp"> </span><span +class="cmtt-10">:</span> + <!--l. 227--><p class="noindent"><span +class="cmtt-10">/*</span><span +class="cmtt-10"> </span><span +class="cmtt-10">Eventuellement</span><span +class="cmtt-10"> </span><span +class="cmtt-10">du</span><span +class="cmtt-10"> </span><span +class="cmtt-10">code</span><span +class="cmtt-10"> </span><span +class="cmtt-10">pr</span><span +class="cmtt-10">él</span><span +class="cmtt-10">éminaire</span><span +class="cmtt-10"> </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=<fonction</span><span +class="cmtt-10">_ou</span><span +class="cmtt-10">_variable</span><span +class="cmtt-10">_authentification>;</span> + <!--l. 232--><p class="noindent"><span +class="cmtt-10">if</span><span +class="cmtt-10"> </span><span +class="cmtt-10">(</span><span +class="cmtt-10"> </span><span +class="cmtt-10">!</span><span +class="cmtt-10"> </span><span +class="cmtt-10">$auth</span><span +class="cmtt-10">_is</span><span +class="cmtt-10">_ok</span><span +class="cmtt-10"> </span><span +class="cmtt-10">)</span> + + <!--l. 234--><p class="noindent"><span +class="cmsy-10">{</span><span +class="cmtt-10"> </span><span +class="cmtt-10">//</span><span +class="cmtt-10"> </span><span +class="cmtt-10">On</span><span +class="cmtt-10"> </span><span +class="cmtt-10">ex</span><span +class="cmtt-10">écute</span><span +class="cmtt-10"> </span><span +class="cmtt-10">la</span><span +class="cmtt-10"> </span><span +class="cmtt-10">ligne</span><span +class="cmtt-10"> </span><span +class="cmtt-10">ci-dessous</span><span +class="cmtt-10"> </span><span +class="cmtt-10">que</span><span +class="cmtt-10"> </span><span +class="cmtt-10">si</span><span +class="cmtt-10"> </span><span +class="cmtt-10">l’authentificaiton</span><span +class="cmtt-10"> </span><span +class="cmtt-10">à</span><span +class="cmtt-10"> </span><span +class="cmtt-10">échou</span><span +class="cmtt-10">ée</span> + <!--l. 236--><p class="noindent"><span +class="cmtt-10">$errmsg=<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>;</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">﹤﹤</span>auth_dialog.inc.php<span +class="lasy-10">﹥﹥</span> 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 <span +class="cmmi-10"><</span>nom_auth<span +class="cmmi-10">> </span>à +l’énumération du champ <span +class="lasy-10">﹤﹤</span>methodeAuth<span +class="lasy-10">﹥﹥</span> de la table <span +class="lasy-10">﹤﹤</span>Personne<span +class="lasy-10">﹥﹥</span>, et d’autre part +proposer à l’utilisateur d’utiliser ce mode d’authentification en modifiant la page +<span +class="lasy-10">﹤﹤</span>profil.php<span +class="lasy-10">﹥﹥</span>. + +</body></html> + + + |