diff options
Diffstat (limited to 'final/doc/READ_ME.html')
-rw-r--r-- | final/doc/READ_ME.html | 469 |
1 files changed, 0 insertions, 469 deletions
diff --git a/final/doc/READ_ME.html b/final/doc/READ_ME.html deleted file mode 100644 index fd0333a..0000000 --- a/final/doc/READ_ME.html +++ /dev/null @@ -1,469 +0,0 @@ -<!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="READ_ME.tex"> -<meta name="date" content="2007-03-13 12:30:00"> -<link rel="stylesheet" type="text/css" href="READ_ME.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">13 mars 2007</span></div> - </div> - <h3 class="likesectionHead"><a - id="x1-1000"></a>Table des matières</h3> - <div class="tableofcontents"> - <span class="sectionToc">1 <a -href="#x1-20001" id="QQ2-1-2">Compatibilité</a></span> -<br /> <span class="sectionToc">2 <a -href="#x1-50002" id="QQ2-1-5">Sécurité</a></span> -<br /> <span class="sectionToc">3 <a -href="#x1-60003" id="QQ2-1-6">Installation</a></span> -<br />  <span class="subsectionToc">3.1 <a -href="#x1-70003.1" id="QQ2-1-7">Dépaquetage des pages PHP</a></span> -<br />  <span class="subsectionToc">3.2 <a -href="#x1-80003.2" id="QQ2-1-8">Paramètres de configuration</a></span> -<br />  <span class="subsectionToc">3.3 <a -href="#x1-90003.3" id="QQ2-1-9">Initialisation de la base</a></span> -<br />  <span class="subsectionToc">3.4 <a -href="#x1-100003.4" id="QQ2-1-10">Configuration par défaut des comptes</a></span> -<br /> <span class="sectionToc">4 <a -href="#x1-110004" id="QQ2-1-11">Maintenance</a></span> -<br />  <span class="subsectionToc">4.1 <a -href="#x1-120004.1" id="QQ2-1-12">Visualisation des objets et des fichiers</a></span> -<br />  <span class="subsectionToc">4.2 <a -href="#x1-130004.2" id="QQ2-1-13">Nettoyage de la base</a></span> -<br /> <span class="sectionToc">5 <a -href="#x1-140005" id="QQ2-1-14">Authentification dédiée - Personnalisation</a></span> - </div> -<!--l. 31--><p class="indent"> - - <h3 class="sectionHead"><span class="titlemark">1 </span> <a - id="x1-20001"></a>Compatibilité</h3> -<!--l. 36--><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. 40--><p class="noindent"><span class="paragraphHead"><a - id="x1-30001"></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. 50--><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. 56--><p class="noindent"><span class="paragraphHead"><a - id="x1-40001"></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-90003.3">3.3<!--tex4ht:ref: sub:Initialisation-de-la-bd --></a>. -<!--l. 65--><p class="noindent"> - <h3 class="sectionHead"><span class="titlemark">2 </span> <a - id="x1-50002"></a>Sécurité</h3> -<!--l. 67--><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. 86--><p class="noindent"> - <h3 class="sectionHead"><span class="titlemark">3 </span> <a - id="x1-60003"></a>Installation</h3> -<!--l. 89--><p class="noindent"> - <h4 class="subsectionHead"><span class="titlemark">3.1 </span> <a - id="x1-70003.1"></a>Dépaquetage des pages PHP</h4> -<!--l. 91--><p class="noindent">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. -<!--l. 101--><p class="noindent"> - <h4 class="subsectionHead"><span class="titlemark">3.2 </span> <a - id="x1-80003.2"></a>Paramètres de configuration</h4> -<!--l. 103--><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. 107--><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. 117--><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. 125--><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. 128--><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. 134--><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. 151--><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. 159--><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. 164--><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. 175--><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. 181--><p class="noindent"> - <h4 class="subsectionHead"><span class="titlemark">3.3 </span> <a - id="x1-90003.3"></a>Initialisation de la base</h4> -<!--l. 183--><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. 194--><p class="noindent"> - <h4 class="subsectionHead"><span class="titlemark">3.4 </span> <a - id="x1-100003.4"></a>Configuration par défaut des comptes</h4> -<!--l. 196--><p class="noindent">Dans le fichier de configuration modèle, un super-utilisateur est configuré<span class="frenchb-nbsp"> </span>: -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. -<!--l. 201--><p class="indent"> 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 <span -class="lasy-10">﹤﹤</span> bypass <span -class="lasy-10">﹥﹥</span>, -ce qui signifie qu’aucun mot de passe est nécessaire. Pour utiliser un vrai système -d’authentification, connectez-vous avec ce compte et allez dans la page <span -class="lasy-10">﹤﹤</span> Mon Profil <span -class="lasy-10">﹥﹥</span> -pour choisir une autre mode d’authentification. -<!--l. 209--><p class="noindent"> - <h3 class="sectionHead"><span class="titlemark">4 </span> <a - id="x1-110004"></a>Maintenance</h3> - -<!--l. 212--><p class="noindent"> - <h4 class="subsectionHead"><span class="titlemark">4.1 </span> <a - id="x1-120004.1"></a>Visualisation des objets et des fichiers</h4> -<!--l. 214--><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-80003.2">3.2<!--tex4ht:ref: sub:Configuration --></a>. -<!--l. 220--><p class="noindent"> - <h4 class="subsectionHead"><span class="titlemark">4.2 </span> <a - id="x1-130004.2"></a>Nettoyage de la base</h4> -<!--l. 222--><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. 231--><p class="noindent"> - <h3 class="sectionHead"><span class="titlemark">5 </span> <a - id="x1-140005"></a>Authentification dédiée - Personnalisation</h3> -<!--l. 233--><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. 241--><p class="noindent"> - <dl class="list1"><dt class="list"> - </dt><dd -class="list"> - <span -class="cmtt-10">/***************************************************</span> - <!--l. 244--><p class="noindent"><span -class="cmtt-10">**</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. 246--><p class="noindent"><span -class="cmtt-10">***************************************************/</span></dd></dl> -<!--l. 249--><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. 253--><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. 256--><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. 259--><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. 261--><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. 263--><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. 265--><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. 267--><p class="noindent"><span -class="cmsy-10">}</span> - <!--l. 269--><p class="noindent"><span -class="cmtt-10">break;</span></dd></dl> -<!--l. 271--><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> - - - |