diff options
Diffstat (limited to 'beta_accents/doc/READ_ME.html')
-rw-r--r-- | beta_accents/doc/READ_ME.html | 469 |
1 files changed, 469 insertions, 0 deletions
diff --git a/beta_accents/doc/READ_ME.html b/beta_accents/doc/READ_ME.html new file mode 100644 index 0000000..fd0333a --- /dev/null +++ b/beta_accents/doc/READ_ME.html @@ -0,0 +1,469 @@ +<!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> + + + |