diff options
Diffstat (limited to 'final/install')
-rw-r--r-- | final/install/RAZbase.php | 2 | ||||
-rw-r--r-- | final/install/READ_ME.css | 116 | ||||
-rw-r--r-- | final/install/READ_ME.dvi | bin | 0 -> 38632 bytes | |||
-rw-r--r-- | final/install/READ_ME.html | 447 | ||||
-rw-r--r-- | final/install/READ_ME.lyx | 600 | ||||
-rw-r--r-- | final/install/READ_ME.pdf | bin | 0 -> 88222 bytes | |||
-rw-r--r-- | final/install/READ_ME.ps | 830 | ||||
-rw-r--r-- | final/install/READ_ME.txt | 278 | ||||
-rw-r--r-- | final/install/index.html | 0 | ||||
-rw-r--r-- | final/install/jeu_essai.sql | 116 |
10 files changed, 2386 insertions, 3 deletions
diff --git a/final/install/RAZbase.php b/final/install/RAZbase.php index 9b9fa25..82bdba1 100644 --- a/final/install/RAZbase.php +++ b/final/install/RAZbase.php @@ -125,6 +125,6 @@ if (isset($_POST['confirm']) ) } } ?> - <p><a href="../index.php">Retour à l'index</a></p> + <p><a href="../app/index.php">Retour à l'index</a></p> </body> </html> diff --git a/final/install/READ_ME.css b/final/install/READ_ME.css new file mode 100644 index 0000000..2cfcdd1 --- /dev/null +++ b/final/install/READ_ME.css @@ -0,0 +1,116 @@ + +/* start css.sty */ +.cmmi-10{font-style: italic;} +.ptmr7t-{font-family: monospace;} +.ptmr7t-{font-family: monospace;} +.ptmr7t-{font-family: monospace;} +.ptmr7t-x-x-172{font-size:172%;font-family: monospace;} +.ptmr7t-x-x-172{font-family: monospace;} +.ptmr7t-x-x-172{font-family: monospace;} +.ptmr7t-x-x-120{font-size:120%;font-family: monospace;} +.ptmr7t-x-x-120{font-family: monospace;} +.ptmr7t-x-x-120{font-family: monospace;} +.pcrr7t-{font-family: monospace;} +.ptmb7t-{ font-weight: bold; font-family: monospace;} +p.noindent { text-indent: 0em } +p.nopar { text-indent: 0em; } +p.indent{ text-indent: 1.5em } +@media print {div.crosslinks {visibility:hidden;}} +a img { border-top: 0; border-left: 0; border-right: 0; } +center { margin-top:1em; margin-bottom:1em; } +td center { margin-top:0em; margin-bottom:0em; } +.Canvas { position:relative; } +img.math{vertical-align:middle;} +li p.indent { text-indent: 0em } +.enumerate1 {list-style-type:decimal;} +.enumerate2 {list-style-type:lower-alpha;} +.enumerate3 {list-style-type:lower-roman;} +.enumerate4 {list-style-type:upper-alpha;} +div.newtheorem { margin-bottom: 2em; margin-top: 2em;} +.obeylines-h,.obeylines-v {white-space: nowrap; } +div.obeylines-v p { margin-top:0; margin-bottom:0; } +.overline{ text-decoration:overline; } +.overline img{ border-top: 1px solid black; } +td.displaylines {text-align:center; white-space:nowrap;} +.centerline {text-align:center;} +.rightline {text-align:right;} +div.verbatim {font-family: monospace; white-space: nowrap; } +table.verbatim {width:100%;} +.fbox {padding-left:3.0pt; padding-right:3.0pt; text-indent:0pt; border:solid black 0.4pt; } +div.center div.fbox {text-align:center; clear:both; padding-left:3.0pt; padding-right:3.0pt; text-indent:0pt; border:solid black 0.4pt; } +table.minipage{width:100%;} +div.center, div.center div.center {text-align: center; margin-left:1em; margin-right:1em;} +div.center div {text-align: left;} +div.flushright, div.flushright div.flushright {text-align: right;} +div.flushright div {text-align: left;} +div.flushleft {text-align: left;} +.underline{ text-decoration:underline; } +.underline img{ border-bottom: 1px solid black; margin-bottom:1pt; } +.framebox-c, .framebox-l, .framebox-r { padding-left:3.0pt; padding-right:3.0pt; text-indent:0pt; border:solid black 0.4pt; } +.framebox-c {text-align:center;} +.framebox-l {text-align:left;} +.framebox-r {text-align:right;} +span.thank-mark{ vertical-align: super } +span.footnote-mark sup.textsuperscript, span.footnote-mark a sup.textsuperscript{ font-size:80%; } +div.tabular, div.center div.tabular {text-align: center; margin-top:0.5em; margin-bottom:0.5em; } +table.tabular td p{margin-top:0em;} +table.tabular {margin-left: auto; margin-right: auto;} +div.td00{ margin-left:0pt; margin-right:0pt; } +div.td01{ margin-left:0pt; margin-right:5pt; } +div.td10{ margin-left:5pt; margin-right:0pt; } +div.td11{ margin-left:5pt; margin-right:5pt; } +table[rules] {border-left:solid black 0.4pt; border-right:solid black 0.4pt; } +td.td00{ padding-left:0pt; padding-right:0pt; } +td.td01{ padding-left:0pt; padding-right:5pt; } +td.td10{ padding-left:5pt; padding-right:0pt; } +td.td11{ padding-left:5pt; padding-right:5pt; } +table[rules] {border-left:solid black 0.4pt; border-right:solid black 0.4pt; } +.hline hr, .cline hr{ height : 1px; margin:0px; } +.tabbing-right {text-align:right;} +span.TEX {letter-spacing: -0.125em; } +span.TEX span.E{ position:relative;top:0.5ex;left:-0.0417em;} +a span.TEX span.E {text-decoration: none; } +span.LATEX span.A{ position:relative; top:-0.5ex; left:-0.4em; font-size:85%;} +span.LATEX span.TEX{ position:relative; left: -0.4em; } +div.float img, div.float .caption {text-align:center;} +div.figure img, div.figure .caption {text-align:center;} +.marginpar {width:20%; float:right; text-align:left; margin-left:auto; margin-top:0.5em; font-size:85%; text-decoration:underline;} +.marginpar p{margin-top:0.4em; margin-bottom:0.4em;} +table.equation {width:100%;} +.equation td{text-align:center; } +td.equation { margin-top:1em; margin-bottom:1em; } +td.equation-label { width:5%; text-align:center; } +td.eqnarray4 { width:5%; white-space: normal; } +td.eqnarray2 { width:5%; } +table.eqnarray-star, table.eqnarray {width:100%;} +div.eqnarray{text-align:center;} +div.array {text-align:center;} +div.pmatrix {text-align:center;} +table.pmatrix {width:100%;} +span.pmatrix img{vertical-align:middle;} +div.pmatrix {text-align:center;} +table.pmatrix {width:100%;} +img.cdots{vertical-align:middle;} +.partToc a, .partToc, .likepartToc a, .likepartToc {line-height: 200%; font-weight:bold; font-size:110%;} +.caption td.id{font-weight: bold; white-space: nowrap; } +table.caption {text-align:center;} +h1.partHead{text-align: center} +p.bibitem { text-indent: -2em; margin-left: 2em; margin-top:0.6em; margin-bottom:0.6em; } +p.bibitem-p { text-indent: 0em; margin-left: 2em; margin-top:0.6em; margin-bottom:0.6em; } +.paragraphHead, .likeparagraphHead { margin-top:2em; font-weight: bold;} +.subparagraphHead, .likesubparagraphHead { font-weight: bold;} +.quote {margin-bottom:0.25em; margin-top:0.25em; margin-left:1em; margin-right:1em; text-align:justify;} +.verse{white-space:nowrap; margin-left:2em} +div.maketitle {text-align:center;} +h2.titleHead{text-align:center;} +div.maketitle{ margin-bottom: 2em; } +div.author, div.date {text-align:center;} +div.thanks{text-align:left; margin-left:10%; font-size:85%; font-style:italic; } +div.author{white-space: nowrap;} +.quotation {margin-bottom:0.25em; margin-top:0.25em; margin-left:1em; } +.abstract p {margin-left:5%; margin-right:5%;} +table.abstract {width:100%;} +.frenchb-nbsp{font-size:75%;} +.frenchb-thinspace{font-size:75%;} +/* end css.sty */ + diff --git a/final/install/READ_ME.dvi b/final/install/READ_ME.dvi Binary files differnew file mode 100644 index 0000000..6563125 --- /dev/null +++ b/final/install/READ_ME.dvi diff --git a/final/install/READ_ME.html b/final/install/READ_ME.html new file mode 100644 index 0000000..8a5b4f3 --- /dev/null +++ b/final/install/READ_ME.html @@ -0,0 +1,447 @@ +<!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-17 17:03: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="ptmr7t-x-x-120">17 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. 32--><p class="indent"> + + <h3 class="sectionHead"><span class="titlemark">1 </span> <a + id="x1-20001"></a>Compatibilité</h3> +<!--l. 37--><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. 41--><p class="noindent"><span class="paragraphHead"><a + id="x1-30001"></a><span +class="ptmb7t-">PHP</span></span> + 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 +<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. 51--><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. 57--><p class="noindent"><span class="paragraphHead"><a + id="x1-40001"></a><span +class="ptmb7t-">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. 66--><p class="noindent"> + <h3 class="sectionHead"><span class="titlemark">2 </span> <a + id="x1-50002"></a>Sécurité</h3> +<!--l. 68--><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 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. +<!--l. 87--><p class="noindent"> + <h3 class="sectionHead"><span class="titlemark">3 </span> <a + id="x1-60003"></a>Installation</h3> + +<!--l. 90--><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. 92--><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. 100--><p class="noindent"> + <h4 class="subsectionHead"><span class="titlemark">3.2 </span> <a + id="x1-80003.2"></a>Paramètres de configuration</h4> +<!--l. 102--><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. 106--><p class="indent"> + <dl class="description"><dt class="description"> +<span +class="ptmb7t-">connect.inc.php</span><span class="frenchb-nbsp"> </span><span +class="ptmb7t-">:</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="ptmb7t-">config.inc.php</span><span class="frenchb-nbsp"> </span><span +class="ptmb7t-">:</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. 116--><p class="noindent"> + <dl class="description"><dt class="description"> + <span +class="ptmb7t-">$adminMail</span><span class="frenchb-nbsp"> </span><span +class="ptmb7t-">:</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="ptmb7t-">$automatedMail</span><span class="frenchb-nbsp"> </span><span +class="ptmb7t-">:</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="ptmb7t-">AUTH</span><span class="frenchb-nbsp"> </span><span +class="ptmb7t-">:</span> </dt><dd +class="description">Paramètres d’authentification + <!--l. 124--><p class="noindent"> + <dl class="description"><dt class="description"> + <span +class="ptmb7t-">POP</span><span class="frenchb-nbsp"> </span><span +class="ptmb7t-">:</span> </dt><dd +class="description">Paramètres pour les serveurs mail POP + <!--l. 127--><p class="noindent"> + <dl class="description"><dt class="description"> + <span +class="ptmb7t-">SERVERS</span><span class="frenchb-nbsp"> </span><span +class="ptmb7t-">:</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. 133--><p class="noindent"> + <dl class="description"><dt class="description"> + <span +class="ptmb7t-">subdomain</span><span class="frenchb-nbsp"> </span><span +class="ptmb7t-">:</span> </dt><dd +class="description">adresse complete du serveur offrant le service POP + + </dd><dt class="description"> + <span +class="ptmb7t-">port</span><span class="frenchb-nbsp"> </span><span +class="ptmb7t-">:</span> </dt><dd +class="description">numéro de port TCP utilisé pour se connecter au service + POP + </dd><dt class="description"> + <span +class="ptmb7t-">username</span><span +class="ptmb7t-">_is</span><span +class="ptmb7t-">_full</span><span +class="ptmb7t-">_mail</span><span class="frenchb-nbsp"> </span><span +class="ptmb7t-">:</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="ptmb7t-">bypass</span><span +class="ptmb7t-">_if</span><span +class="ptmb7t-">_local</span><span class="frenchb-nbsp"> </span><span +class="ptmb7t-">:</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="ptmb7t-">CSS</span><span class="frenchb-nbsp"> </span><span +class="ptmb7t-">:</span> </dt><dd +class="description">Paramètres des styles de pages + <!--l. 150--><p class="noindent"> + <dl class="description"><dt class="description"> + <span +class="ptmb7t-">CHOOSER</span><span +class="ptmb7t-">_LIST</span><span class="frenchb-nbsp"> </span><span +class="ptmb7t-">:</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="ptmb7t-">MAIL</span><span class="frenchb-nbsp"> </span><span +class="ptmb7t-">:</span> </dt><dd +class="description">  + <!--l. 158--><p class="noindent"> + <dl class="description"><dt class="description"> + <span +class="ptmb7t-">TEMPLATES</span><span class="frenchb-nbsp"> </span><span +class="ptmb7t-">:</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. 163--><p class="noindent"> + <dl class="description"><dt class="description"> + <span +class="ptmb7t-">caption</span><span class="frenchb-nbsp"> </span><span +class="ptmb7t-">:</span> </dt><dd +class="description">Intitulé qui sera affiché à l’utilisateur + </dd><dt class="description"> + <span +class="ptmb7t-">tpl</span><span +class="ptmb7t-">_file</span><span class="frenchb-nbsp"> </span><span +class="ptmb7t-">:</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="ptmb7t-">SUPERUSERS</span><span class="frenchb-nbsp"> </span><span +class="ptmb7t-">:</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="ptmb7t-">UPLOAD</span><span class="frenchb-nbsp"> </span><span +class="ptmb7t-">:</span> </dt><dd +class="description">Paramètres concernant l’attachement de fichiers aux réunions + <!--l. 174--><p class="noindent"> + <dl class="description"><dt class="description"> + <span +class="ptmb7t-">accepted</span><span +class="ptmb7t-">_files</span><span class="frenchb-nbsp"> </span><span +class="ptmb7t-">:</span> </dt><dd +class="description">Tableau des extensions qui sont autorisées.</dd></dl> + </dd></dl> + </dd></dl> + +<!--l. 180--><p class="noindent"> + <h4 class="subsectionHead"><span class="titlemark">3.3 </span> <a + id="x1-90003.3"></a>Initialisation de la base</h4> +<!--l. 182--><p class="noindent">Tous 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. 192--><p class="indent"> 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 <span +class="lasy-10">﹤﹤</span> RAZBase.php <span +class="lasy-10">﹥﹥</span> pourrait être lancé par n’importe +qui, et les fichiers SQL contienent des informations sensibles. +<!--l. 198--><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. 200--><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. 205--><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 n’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. 213--><p class="noindent"> + <h3 class="sectionHead"><span class="titlemark">4 </span> <a + id="x1-110004"></a>Maintenance</h3> +<!--l. 216--><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. 218--><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. 224--><p class="noindent"> + <h4 class="subsectionHead"><span class="titlemark">4.2 </span> <a + id="x1-130004.2"></a>Nettoyage de la base</h4> +<!--l. 226--><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. 235--><p class="noindent"> + <h3 class="sectionHead"><span class="titlemark">5 </span> <a + id="x1-140005"></a>Authentification dédiée - Personnalisation</h3> +<!--l. 237--><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. 245--><p class="noindent"> + <dl class="list1"><dt class="list"> + </dt><dd +class="list"> + <span +class="pcrr7t-">/⋆⋆⋆⋆⋆⋆⋆⋆⋆⋆⋆⋆⋆⋆⋆⋆⋆⋆⋆⋆⋆⋆⋆⋆⋆⋆⋆⋆⋆⋆⋆⋆⋆⋆⋆⋆⋆⋆⋆⋆⋆⋆⋆⋆⋆⋆⋆⋆⋆⋆⋆</span> + <!--l. 248--><p class="noindent"><span +class="pcrr7t-">⋆⋆</span><span +class="pcrr7t-"> </span><span +class="pcrr7t-">Ajouter</span><span +class="pcrr7t-"> </span><span +class="pcrr7t-">d'autres</span><span +class="pcrr7t-"> </span><span +class="pcrr7t-">mode</span><span +class="pcrr7t-"> </span><span +class="pcrr7t-">d'authentification</span><span +class="pcrr7t-"> </span><span +class="pcrr7t-">ici</span><span +class="pcrr7t-"> </span><span +class="pcrr7t-">!</span><span +class="pcrr7t-"> </span><span +class="pcrr7t-">⋆⋆</span> + <!--l. 250--><p class="noindent"><span +class="pcrr7t-">⋆⋆⋆⋆⋆⋆⋆⋆⋆⋆⋆⋆⋆⋆⋆⋆⋆⋆⋆⋆⋆⋆⋆⋆⋆⋆⋆⋆⋆⋆⋆⋆⋆⋆⋆⋆⋆⋆⋆⋆⋆⋆⋆⋆⋆⋆⋆⋆⋆⋆⋆/</span></dd></dl> +<!--l. 253--><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. 257--><p class="noindent"> + <dl class="list1"><dt class="list"> + </dt><dd +class="list"> + <span +class="pcrr7t-">case</span><span +class="pcrr7t-"> </span><span +class="pcrr7t-">'<nom</span><span +class="pcrr7t-">_auth>'</span><span class="frenchb-nbsp"> </span><span +class="pcrr7t-">:</span> + <!--l. 260--><p class="noindent"><span +class="pcrr7t-">/⋆</span><span +class="pcrr7t-"> </span><span +class="pcrr7t-">Eventuellement</span><span +class="pcrr7t-"> </span><span +class="pcrr7t-">du</span><span +class="pcrr7t-"> </span><span +class="pcrr7t-">code</span><span +class="pcrr7t-"> </span><span +class="pcrr7t-">pr</span><span +class="pcrr7t-">él</span><span +class="pcrr7t-">éminaire</span><span +class="pcrr7t-"> </span><span +class="pcrr7t-">⋆/</span> + <!--l. 263--><p class="noindent"><span +class="pcrr7t-">$auth</span><span +class="pcrr7t-">_is</span><span +class="pcrr7t-">_ok=<fonction</span><span +class="pcrr7t-">_ou</span><span +class="pcrr7t-">_variable</span><span +class="pcrr7t-">_authentification>;</span> + <!--l. 265--><p class="noindent"><span +class="pcrr7t-">if</span><span +class="pcrr7t-"> </span><span +class="pcrr7t-">(</span><span +class="pcrr7t-"> </span><span +class="pcrr7t-">!</span><span +class="pcrr7t-"> </span><span +class="pcrr7t-">$auth</span><span +class="pcrr7t-">_is</span><span +class="pcrr7t-">_ok</span><span +class="pcrr7t-"> </span><span +class="pcrr7t-">)</span> + <!--l. 267--><p class="noindent"><span +class="cmsy-10">{</span><span +class="pcrr7t-"> </span><span +class="pcrr7t-">//</span><span +class="pcrr7t-"> </span><span +class="pcrr7t-">Si</span><span +class="pcrr7t-"> </span><span +class="pcrr7t-">l'authentificaiton</span><span +class="pcrr7t-"> </span><span +class="pcrr7t-">à</span><span +class="pcrr7t-"> </span><span +class="pcrr7t-">échou</span><span +class="pcrr7t-">ée</span> + <!--l. 269--><p class="noindent"><span +class="pcrr7t-">$errmsg=<fonction</span><span +class="pcrr7t-">_ou</span><span +class="pcrr7t-">_chaine</span><span +class="pcrr7t-">_explicant</span><span +class="pcrr7t-">_l</span><span +class="pcrr7t-">_erreur>;</span> + <!--l. 271--><p class="noindent"><span +class="cmsy-10">}</span> + <!--l. 273--><p class="noindent"><span +class="pcrr7t-">break;</span></dd></dl> +<!--l. 275--><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> + + + diff --git a/final/install/READ_ME.lyx b/final/install/READ_ME.lyx new file mode 100644 index 0000000..d9e336e --- /dev/null +++ b/final/install/READ_ME.lyx @@ -0,0 +1,600 @@ +#LyX 1.4.3 created this file. For more info see http://www.lyx.org/ +\lyxformat 245 +\begin_document +\begin_header +\textclass article +\language french +\inputencoding auto +\fontscheme times +\graphics default +\paperfontsize default +\spacing single +\papersize a4paper +\use_geometry false +\use_amsmath 1 +\cite_engine basic +\use_bibtopic false +\paperorientation portrait +\leftmargin 1cm +\topmargin 1cm +\rightmargin 1cm +\bottommargin 1cm +\headheight 1cm +\headsep 0cm +\footskip 1cm +\secnumdepth 3 +\tocdepth 3 +\paragraph_separation indent +\defskip medskip +\quotes_language french +\papercolumns 1 +\papersides 1 +\paperpagestyle default +\tracking_changes false +\output_changes false +\end_header + +\begin_body + +\begin_layout Title +AWOR - Fichier Lisez-moi de l'administrateur +\end_layout + +\begin_layout Standard +\begin_inset LatexCommand \tableofcontents{} + +\end_inset + + +\end_layout + +\begin_layout Standard + +\newpage + +\end_layout + +\begin_layout Section +Compatibilité +\end_layout + +\begin_layout Standard +Cette application peut-être utilisée sur un serveur fonctionnant avec Apache, + MySQL(>=4) et PHP (>=4). + +\end_layout + +\begin_layout Paragraph +PHP +\end_layout + +\begin_layout Standard +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 + +\begin_inset Quotes fld +\end_inset + +E_NOTICE +\begin_inset Quotes frd +\end_inset + + PHP qui surviennent par exemple lors d'une comparaison avec une variable + non-initialisée. +\end_layout + +\begin_layout Standard +Les scripts PHP n'accèdent pas en écriture au système de fichier, sauf pour + l'upload de fichiers. + Le dossier +\begin_inset Quotes fld +\end_inset + +fichiers +\begin_inset Quotes frd +\end_inset + + doit être accessible en écriture par les scripts PHP sans quoi la fonctionnalit +é d'échange de fichier serait inutilisable. +\end_layout + +\begin_layout Paragraph +MySQL +\end_layout + +\begin_layout Standard +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 +\begin_inset LatexCommand \ref{sub:Initialisation-de-la-bd} + +\end_inset + +. +\end_layout + +\begin_layout Section +Sécurité +\end_layout + +\begin_layout Standard +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. +\end_layout + +\begin_layout Section +Installation +\end_layout + +\begin_layout Subsection +Dépaquetage des pages PHP +\end_layout + +\begin_layout Standard +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. +\end_layout + +\begin_layout Subsection +\begin_inset LatexCommand \label{sub:Configuration} + +\end_inset + +Paramètres de configuration +\end_layout + +\begin_layout Standard +Cette application comporte deux fichiers de configuration qui sont dans + le dossier +\begin_inset Quotes fld +\end_inset + +include +\begin_inset Quotes frd +\end_inset + +. + Les fichiers existent dans la version distribuée et ont pour but de servir + de modèle. +\end_layout + +\begin_layout Description +connect.inc.php\InsetSpace ~ +: ce fichier contient les coordonnées du serveur MySQL, de + l'utilisateur SQL et de la base que l'application utilisera. +\end_layout + +\begin_layout Description +config.inc.php\InsetSpace ~ +: ce fichier contient tout le reste de la configuration de l'applica +tion. + 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\SpecialChar \ldots{} + N'oubliez pas de virgule + ! Toutes les constantes sont décrites ci-dessous. +\end_layout + +\begin_deeper +\begin_layout Description +$adminMail\InsetSpace ~ +: adresse e-mail de l'administrateur. + Affichée à l'utilisateur lorsque qu'une erreur interne à l'application + s'est produite. +\end_layout + +\begin_layout Description +$automatedMail\InsetSpace ~ +: adresse e-mail de réponse des courriels envoyés automatiquement + par l'application. +\end_layout + +\begin_layout Description +AUTH\InsetSpace ~ +: Paramètres d'authentification +\end_layout + +\begin_deeper +\begin_layout Description +POP\InsetSpace ~ +: Paramètres pour les serveurs mail POP +\end_layout + +\begin_deeper +\begin_layout Description +SERVERS\InsetSpace ~ +: Chaque élément de ce tableau à pour clef le nom de domaine du fournisse +ur de service de courriel ( partie suivant le @ dans une adresse e-mail) + à pour valeur un tableau associatif de la forme suivante +\end_layout + +\begin_deeper +\begin_layout Description +subdomain\InsetSpace ~ +: adresse complete du serveur offrant le service POP +\end_layout + +\begin_layout Description +port\InsetSpace ~ +: numéro de port TCP utilisé pour se connecter au service POP +\end_layout + +\begin_layout Description +username_is_full_mail\InsetSpace ~ +: 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) +\end_layout + +\end_deeper +\end_deeper +\begin_layout Description +bypass_if_local\InsetSpace ~ +: Booléen indiquant si l'authentification doit être outrepassée + si la connexion s'effectue depuis le serveur lui-même. +\end_layout + +\end_deeper +\begin_layout Description +CSS\InsetSpace ~ +: Paramètres des styles de pages +\end_layout + +\begin_deeper +\begin_layout Description +CHOOSER_LIST\InsetSpace ~ +: 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. +\end_layout + +\end_deeper +\begin_layout Description +MAIL\InsetSpace ~ +: +\end_layout + +\begin_deeper +\begin_layout Description +TEMPLATES\InsetSpace ~ +: Ce tableau contient des tableaux associatifs dont les clefs seront + utilisées dans les passages de paramètres HTML, et contiennent des sous-tableau +x de la forme suivante : +\end_layout + +\begin_deeper +\begin_layout Description +caption\InsetSpace ~ +: Intitulé qui sera affiché à l'utilisateur +\end_layout + +\begin_layout Description +tpl_file\InsetSpace ~ +: Nom du fichier (avec l'extension PHP) contenant le modèle. +\end_layout + +\end_deeper +\end_deeper +\begin_layout Description +SUPERUSERS\InsetSpace ~ +: Ce tableau contient la liste des login des super-utilisateurs + (ceux qui ont le droit de supprimer des réunions) +\end_layout + +\begin_layout Description +UPLOAD\InsetSpace ~ +: Paramètres concernant l'attachement de fichiers aux réunions +\end_layout + +\begin_deeper +\begin_layout Description +accepted_files\InsetSpace ~ +: Tableau des extensions qui sont autorisées. +\end_layout + +\end_deeper +\end_deeper +\begin_layout Subsection +\begin_inset LatexCommand \label{sub:Initialisation-de-la-bd} + +\end_inset + +Initialisation de la base +\end_layout + +\begin_layout Standard +Tous les fichiers nécessaires sont rangés dans le dossier +\begin_inset Quotes fld +\end_inset + +install +\begin_inset Quotes frd +\end_inset + +. + Vous utiliserez principalement le fichier +\begin_inset Quotes fld +\end_inset + +RAZBase.php +\begin_inset Quotes frd +\end_inset + +. + 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 +\begin_inset Quotes fld +\end_inset + +base.sql +\begin_inset Quotes frd +\end_inset + + avec votre client SQL favori. + Le jeu d'essai se trouve dans le fichier +\begin_inset Quotes fld +\end_inset + +jeu_essai.sql +\begin_inset Quotes frd +\end_inset + +. +\end_layout + +\begin_layout Standard +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 +\begin_inset Quotes fld +\end_inset + +RAZBase.php +\begin_inset Quotes frd +\end_inset + + pourrait être lancé par n'importe qui, et les fichiers SQL contienent des + informations sensibles. +\end_layout + +\begin_layout Subsection +Configuration par défaut des comptes +\end_layout + +\begin_layout Standard +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. +\end_layout + +\begin_layout Standard +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 +\begin_inset Quotes fld +\end_inset + +bypass +\begin_inset Quotes frd +\end_inset + +, 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 +\begin_inset Quotes fld +\end_inset + +Mon Profil +\begin_inset Quotes frd +\end_inset + + pour choisir une autre mode d'authentification. +\end_layout + +\begin_layout Section +Maintenance +\end_layout + +\begin_layout Subsection +Visualisation des objets et des fichiers +\end_layout + +\begin_layout Standard +Une page d'administration est prévue à cet effet, et elle n'est accessible + que par un +\begin_inset Quotes fld +\end_inset + +super-utilisateur +\begin_inset Quotes frd +\end_inset + +, c'est à dire un utilisateur consigné dans le fichier de configuration + principal en tant que tel, confère +\begin_inset LatexCommand \ref{sub:Configuration} + +\end_inset + +. +\end_layout + +\begin_layout Subsection +Nettoyage de la base +\end_layout + +\begin_layout Standard +À 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\SpecialChar \ldots{} + +\end_layout + +\begin_layout Section +Authentification dédiée - Personnalisation +\end_layout + +\begin_layout Standard +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 +\begin_inset Quotes fld +\end_inset + +auth_dialog.php +\begin_inset Quotes frd +\end_inset + +. + Vous y trouverez une section commençant par le commentaire ci-dessous. +\end_layout + +\begin_layout LyX-Code + +\lang english +/*************************************************** +\end_layout + +\begin_layout LyX-Code + +\lang english +** Ajouter d'autres mode d'authentification ici ! ** +\end_layout + +\begin_layout LyX-Code + +\lang english +***************************************************/ +\end_layout + +\begin_layout Standard +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 : +\end_layout + +\begin_layout LyX-Code +case '<nom_auth>': +\end_layout + +\begin_layout LyX-Code +/* Eventuellement du code préléminaire */ +\end_layout + +\begin_layout LyX-Code + +\lang english +$auth_is_ok=<fonction_ou_variable_authentification>; +\end_layout + +\begin_layout LyX-Code + +\lang english +if ( ! $auth_is_ok ) +\end_layout + +\begin_layout LyX-Code + +\lang english +{ // Si l'authentificaiton à échouée +\end_layout + +\begin_layout LyX-Code + +\lang english +$errmsg=<fonction_ou_chaine_explicant_l_erreur>; +\end_layout + +\begin_layout LyX-Code + +\lang english +} +\end_layout + +\begin_layout LyX-Code + +\lang english +break; +\end_layout + +\begin_layout Standard + +\lang english +Il vous suffit de remplacer les éléments entre chevrons dans le code ci-dessus + et de le coller dans +\begin_inset Quotes fld +\end_inset + +auth_dialog.inc.php +\begin_inset Quotes frd +\end_inset + + 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 +\begin_inset Quotes fld +\end_inset + +methodeAuth +\begin_inset Quotes frd +\end_inset + + de la table +\begin_inset Quotes fld +\end_inset + +Personne +\begin_inset Quotes frd +\end_inset + +, et d'autre part proposer à l'utilisateur d'utiliser ce mode d'authentification + en modifiant la page +\begin_inset Quotes fld +\end_inset + +profil.php +\begin_inset Quotes frd +\end_inset + +. +\end_layout + +\end_body +\end_document diff --git a/final/install/READ_ME.pdf b/final/install/READ_ME.pdf Binary files differnew file mode 100644 index 0000000..5083d12 --- /dev/null +++ b/final/install/READ_ME.pdf diff --git a/final/install/READ_ME.ps b/final/install/READ_ME.ps new file mode 100644 index 0000000..1eb460b --- /dev/null +++ b/final/install/READ_ME.ps @@ -0,0 +1,830 @@ +%!PS-Adobe-2.0 +%%Creator: dvips(k) 5.95a Copyright 2005 Radical Eye Software +%%Title: READ_ME.dvi +%%Pages: 5 +%%PageOrder: Ascend +%%BoundingBox: 0 0 595 842 +%%DocumentFonts: Times-Roman Times-Bold CMMI10 LASY10 Courier CMSY10 +%%DocumentPaperSizes: a4 +%%EndComments +%DVIPSWebPage: (www.radicaleye.com) +%DVIPSCommandLine: dvips -t a4 -o READ_ME.ps READ_ME.dvi +%DVIPSParameters: dpi=600 +%DVIPSSource: TeX output 2007.03.17:1703 +%%BeginProcSet: tex.pro 0 0 +%! +/TeXDict 300 dict def TeXDict begin/N{def}def/B{bind def}N/S{exch}N/X{S +N}B/A{dup}B/TR{translate}N/isls false N/vsize 11 72 mul N/hsize 8.5 72 +mul N/landplus90{false}def/@rigin{isls{[0 landplus90{1 -1}{-1 1}ifelse 0 +0 0]concat}if 72 Resolution div 72 VResolution div neg scale isls{ +landplus90{VResolution 72 div vsize mul 0 exch}{Resolution -72 div hsize +mul 0}ifelse TR}if Resolution VResolution vsize -72 div 1 add mul TR[ +matrix currentmatrix{A A round sub abs 0.00001 lt{round}if}forall round +exch round exch]setmatrix}N/@landscape{/isls true N}B/@manualfeed{ +statusdict/manualfeed true put}B/@copies{/#copies X}B/FMat[1 0 0 -1 0 0] +N/FBB[0 0 0 0]N/nn 0 N/IEn 0 N/ctr 0 N/df-tail{/nn 8 dict N nn begin +/FontType 3 N/FontMatrix fntrx N/FontBBox FBB N string/base X array +/BitMaps X/BuildChar{CharBuilder}N/Encoding IEn N end A{/foo setfont}2 +array copy cvx N load 0 nn put/ctr 0 N[}B/sf 0 N/df{/sf 1 N/fntrx FMat N +df-tail}B/dfs{div/sf X/fntrx[sf 0 0 sf neg 0 0]N df-tail}B/E{pop nn A +definefont setfont}B/Cw{Cd A length 5 sub get}B/Ch{Cd A length 4 sub get +}B/Cx{128 Cd A length 3 sub get sub}B/Cy{Cd A length 2 sub get 127 sub} +B/Cdx{Cd A length 1 sub get}B/Ci{Cd A type/stringtype ne{ctr get/ctr ctr +1 add N}if}B/CharBuilder{save 3 1 roll S A/base get 2 index get S +/BitMaps get S get/Cd X pop/ctr 0 N Cdx 0 Cx Cy Ch sub Cx Cw add Cy +setcachedevice Cw Ch true[1 0 0 -1 -.1 Cx sub Cy .1 sub]{Ci}imagemask +restore}B/D{/cc X A type/stringtype ne{]}if nn/base get cc ctr put nn +/BitMaps get S ctr S sf 1 ne{A A length 1 sub A 2 index S get sf div put +}if put/ctr ctr 1 add N}B/I{cc 1 add D}B/bop{userdict/bop-hook known{ +bop-hook}if/SI save N @rigin 0 0 moveto/V matrix currentmatrix A 1 get A +mul exch 0 get A mul add .99 lt{/QV}{/RV}ifelse load def pop pop}N/eop{ +SI restore userdict/eop-hook known{eop-hook}if showpage}N/@start{ +userdict/start-hook known{start-hook}if pop/VResolution X/Resolution X +1000 div/DVImag X/IEn 256 array N 2 string 0 1 255{IEn S A 360 add 36 4 +index cvrs cvn put}for pop 65781.76 div/vsize X 65781.76 div/hsize X}N +/p{show}N/RMat[1 0 0 -1 0 0]N/BDot 260 string N/Rx 0 N/Ry 0 N/V{}B/RV/v{ +/Ry X/Rx X V}B statusdict begin/product where{pop false[(Display)(NeXT) +(LaserWriter 16/600)]{A length product length le{A length product exch 0 +exch getinterval eq{pop true exit}if}{pop}ifelse}forall}{false}ifelse +end{{gsave TR -.1 .1 TR 1 1 scale Rx Ry false RMat{BDot}imagemask +grestore}}{{gsave TR -.1 .1 TR Rx Ry scale 1 1 false RMat{BDot} +imagemask grestore}}ifelse B/QV{gsave newpath transform round exch round +exch itransform moveto Rx 0 rlineto 0 Ry neg rlineto Rx neg 0 rlineto +fill grestore}B/a{moveto}B/delta 0 N/tail{A/delta X 0 rmoveto}B/M{S p +delta add tail}B/b{S p tail}B/c{-4 M}B/d{-3 M}B/e{-2 M}B/f{-1 M}B/g{0 M} +B/h{1 M}B/i{2 M}B/j{3 M}B/k{4 M}B/w{0 rmoveto}B/l{p -4 w}B/m{p -3 w}B/n{ +p -2 w}B/o{p -1 w}B/q{p 1 w}B/r{p 2 w}B/s{p 3 w}B/t{p 4 w}B/x{0 S +rmoveto}B/y{3 2 roll p a}B/bos{/SS save N}B/eos{SS restore}B end + +%%EndProcSet +%%BeginProcSet: 8r.enc 0 0 +% File 8r.enc TeX Base 1 Encoding Revision 2.0 2002-10-30 +% +% @@psencodingfile@{ +% author = "S. Rahtz, P. MacKay, Alan Jeffrey, B. Horn, K. Berry, +% W. Schmidt, P. Lehman", +% version = "2.0", +% date = "30 October 2002", +% filename = "8r.enc", +% email = "tex-fonts@@tug.org", +% docstring = "This is the encoding vector for Type1 and TrueType +% fonts to be used with TeX. This file is part of the +% PSNFSS bundle, version 9" +% @} +% +% The idea is to have all the characters normally included in Type 1 fonts +% available for typesetting. This is effectively the characters in Adobe +% Standard encoding, ISO Latin 1, Windows ANSI including the euro symbol, +% MacRoman, and some extra characters from Lucida. +% +% Character code assignments were made as follows: +% +% (1) the Windows ANSI characters are almost all in their Windows ANSI +% positions, because some Windows users cannot easily reencode the +% fonts, and it makes no difference on other systems. The only Windows +% ANSI characters not available are those that make no sense for +% typesetting -- rubout (127 decimal), nobreakspace (160), softhyphen +% (173). quotesingle and grave are moved just because it's such an +% irritation not having them in TeX positions. +% +% (2) Remaining characters are assigned arbitrarily to the lower part +% of the range, avoiding 0, 10 and 13 in case we meet dumb software. +% +% (3) Y&Y Lucida Bright includes some extra text characters; in the +% hopes that other PostScript fonts, perhaps created for public +% consumption, will include them, they are included starting at 0x12. +% These are /dotlessj /ff /ffi /ffl. +% +% (4) hyphen appears twice for compatibility with both ASCII and Windows. +% +% (5) /Euro was assigned to 128, as in Windows ANSI +% +% (6) Missing characters from MacRoman encoding incorporated as follows: +% +% PostScript MacRoman TeXBase1 +% -------------- -------------- -------------- +% /notequal 173 0x16 +% /infinity 176 0x17 +% /lessequal 178 0x18 +% /greaterequal 179 0x19 +% /partialdiff 182 0x1A +% /summation 183 0x1B +% /product 184 0x1C +% /pi 185 0x1D +% /integral 186 0x81 +% /Omega 189 0x8D +% /radical 195 0x8E +% /approxequal 197 0x8F +% /Delta 198 0x9D +% /lozenge 215 0x9E +% +/TeXBase1Encoding [ +% 0x00 + /.notdef /dotaccent /fi /fl + /fraction /hungarumlaut /Lslash /lslash + /ogonek /ring /.notdef /breve + /minus /.notdef /Zcaron /zcaron +% 0x10 + /caron /dotlessi /dotlessj /ff + /ffi /ffl /notequal /infinity + /lessequal /greaterequal /partialdiff /summation + /product /pi /grave /quotesingle +% 0x20 + /space /exclam /quotedbl /numbersign + /dollar /percent /ampersand /quoteright + /parenleft /parenright /asterisk /plus + /comma /hyphen /period /slash +% 0x30 + /zero /one /two /three + /four /five /six /seven + /eight /nine /colon /semicolon + /less /equal /greater /question +% 0x40 + /at /A /B /C + /D /E /F /G + /H /I /J /K + /L /M /N /O +% 0x50 + /P /Q /R /S + /T /U /V /W + /X /Y /Z /bracketleft + /backslash /bracketright /asciicircum /underscore +% 0x60 + /quoteleft /a /b /c + /d /e /f /g + /h /i /j /k + /l /m /n /o +% 0x70 + /p /q /r /s + /t /u /v /w + /x /y /z /braceleft + /bar /braceright /asciitilde /.notdef +% 0x80 + /Euro /integral /quotesinglbase /florin + /quotedblbase /ellipsis /dagger /daggerdbl + /circumflex /perthousand /Scaron /guilsinglleft + /OE /Omega /radical /approxequal +% 0x90 + /.notdef /.notdef /.notdef /quotedblleft + /quotedblright /bullet /endash /emdash + /tilde /trademark /scaron /guilsinglright + /oe /Delta /lozenge /Ydieresis +% 0xA0 + /.notdef /exclamdown /cent /sterling + /currency /yen /brokenbar /section + /dieresis /copyright /ordfeminine /guillemotleft + /logicalnot /hyphen /registered /macron +% 0xD0 + /degree /plusminus /twosuperior /threesuperior + /acute /mu /paragraph /periodcentered + /cedilla /onesuperior /ordmasculine /guillemotright + /onequarter /onehalf /threequarters /questiondown +% 0xC0 + /Agrave /Aacute /Acircumflex /Atilde + /Adieresis /Aring /AE /Ccedilla + /Egrave /Eacute /Ecircumflex /Edieresis + /Igrave /Iacute /Icircumflex /Idieresis +% 0xD0 + /Eth /Ntilde /Ograve /Oacute + /Ocircumflex /Otilde /Odieresis /multiply + /Oslash /Ugrave /Uacute /Ucircumflex + /Udieresis /Yacute /Thorn /germandbls +% 0xE0 + /agrave /aacute /acircumflex /atilde + /adieresis /aring /ae /ccedilla + /egrave /eacute /ecircumflex /edieresis + /igrave /iacute /icircumflex /idieresis +% 0xF0 + /eth /ntilde /ograve /oacute + /ocircumflex /otilde /odieresis /divide + /oslash /ugrave /uacute /ucircumflex + /udieresis /yacute /thorn /ydieresis +] def + + +%%EndProcSet +%%BeginProcSet: texps.pro 0 0 +%! +TeXDict begin/rf{findfont dup length 1 add dict begin{1 index/FID ne 2 +index/UniqueID ne and{def}{pop pop}ifelse}forall[1 index 0 6 -1 roll +exec 0 exch 5 -1 roll VResolution Resolution div mul neg 0 0]FontType 0 +ne{/Metrics exch def dict begin Encoding{exch dup type/integertype ne{ +pop pop 1 sub dup 0 le{pop}{[}ifelse}{FontMatrix 0 get div Metrics 0 get +div def}ifelse}forall Metrics/Metrics currentdict end def}{{1 index type +/nametype eq{exit}if exch pop}loop}ifelse[2 index currentdict end +definefont 3 -1 roll makefont/setfont cvx]cvx def}def/ObliqueSlant{dup +sin S cos div neg}B/SlantFont{4 index mul add}def/ExtendFont{3 -1 roll +mul exch}def/ReEncodeFont{CharStrings rcheck{/Encoding false def dup[ +exch{dup CharStrings exch known not{pop/.notdef/Encoding true def}if} +forall Encoding{]exch pop}{cleartomark}ifelse}if/Encoding exch def}def +end + +%%EndProcSet +%%BeginFont: CMSY10 +%!PS-AdobeFont-1.1: CMSY10 1.0 +%%CreationDate: 1991 Aug 15 07:20:57 +% Copyright (C) 1997 American Mathematical Society. All Rights Reserved. +11 dict begin +/FontInfo 7 dict dup begin +/version (1.0) readonly def +/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def +/FullName (CMSY10) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Medium) readonly def +/ItalicAngle -14.035 def +/isFixedPitch false def +end readonly def +/FontName /CMSY10 def +/PaintType 0 def +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0] readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 102 /braceleft put +dup 103 /braceright put +readonly def +/FontBBox{-29 -960 1116 775}readonly def +currentdict end +currentfile eexec +D9D66F633B846A97B686A97E45A3D0AA052F09F9C8ADE9D907C058B87E9B6964 +7D53359E51216774A4EAA1E2B58EC3176BD1184A633B951372B4198D4E8C5EF4 +A213ACB58AA0A658908035BF2ED8531779838A960DFE2B27EA49C37156989C85 +E21B3ABF72E39A89232CD9F4237FC80C9E64E8425AA3BEF7DED60B122A52922A +221A37D9A807DD01161779DDE7D31FF2B87F97C73D63EECDDA4C49501773468A +27D1663E0B62F461F6E40A5D6676D1D12B51E641C1D4E8E2771864FC104F8CBF +5B78EC1D88228725F1C453A678F58A7E1B7BD7CA700717D288EB8DA1F57C4F09 +0ABF1D42C5DDD0C384C7E22F8F8047BE1D4C1CC8E33368FB1AC82B4E96146730 +DE3302B2E6B819CB6AE455B1AF3187FFE8071AA57EF8A6616B9CB7941D44EC7A +71A7BB3DF755178D7D2E4BB69859EFA4BBC30BD6BB1531133FD4D9438FF99F09 +4ECC068A324D75B5F696B8688EEB2F17E5ED34CCD6D047A4E3806D000C199D7C +515DB70A8D4F6146FE068DC1E5DE8BC57036431151EC603C8BCFE359BBD953AD +5F3D998C69E42AA96AA212AD55B676FA2B4F6B519575404233C09AF99014AB95 +767523D9E1F8806E766AC0DD6D81028C3AA9C7536D88D3C2DB6D9949F844935E +420963F40430452DEAAC1F500BFB1C2473C54B9987BE449F042633C7038D5AEB +7E1E11C50911EBCF0979F8192E056A2B2EE9785EB73B1AB874116AD5AA74F32C +BF57FC28FFED335DFD9261AC7A624EAA93BEBC2C0F8B3F898DDA1490D59C6C4B +A651746C8EAD41BDAA1AF4056AFE98D2D3AE3CCEB9C67FE3A63385470EA42968 +34268684A674675AB9EDBB5BFCA81224B22D4ECF40D1F31A39481AC68A87F252 +F4E7C1C340A26E0D514BACCAA51898758A7E7B63D2E7F34E91554151433F0FD2 +4901D3DE9A5FB9306552DC57EAB729AA07780927E1ECCB5D1F59A09A1E3FFF2D +922B6C9B58CB20D687A72B9C22D4EC926771541EDA3B75559510DB21BA4461EA +960B8E5AF4D31D08E8F235D677A9F6EFDB01926967743942C23955678E438F51 +E5E22E2FA2AA7894755053C32B39277B82C00B3D9BE9957CF3ED626852FFFC31 +6E5F0F7489198136A3284B31CC94299EED05B8FA66B8D33F7C47367790D23CD5 +303B0C8E58B0E51BEA9325282F19A3D361A3BEA6BB0CCD09BE735D810E7E0A79 +D1A9C580CFC8CF9FF685D63ECDCCC024C235448BA632F00C3C5BC0E86F44B90A +293817CC93035E5E18548A7E157C2887309BF84C167D8DBED024BB +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +%%EndFont +%%BeginFont: LASY10 +%!PS-AdobeFont-1.1: LASY10 1.001 +%%CreationDate: 1992 Oct 23 20:19:17 +%%RevisionDate: 2001 Jun 05 20:19:17 +% Copyright (C) 1997, 2001 American Mathematical Society. All Rights Reserved. +11 dict begin +/FontInfo 7 dict dup begin +/version (1.001) readonly def +/Notice (Copyright (C) 1997, 2001 American Mathematical Society. All Rights Reserved) readonly def +/FullName (LASY10) readonly def +/FamilyName (LaTeX) readonly def +/Weight (Medium) readonly def +/ItalicAngle -14.035 def +/isFixedPitch false def +end readonly def +/FontName /LASY10 def +/PaintType 0 def +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0] readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 40 /a40 put +dup 41 /a41 put +readonly def +/FontBBox{-19 -192 944 683}readonly def +currentdict end +currentfile eexec +D9D66F637A9E5292A4933615152D29EEC26E1BED2E48CAB7AC058698EA30B07E +F8BDB66981B14445E1107420FDAF32EDBD5C26E35B334E3AF24373B2A13984D9 +1D56801ACCF98612DE2C19685E0F4D52369AD642D169AB57DAB10665C6C01538 +4E7DF30628B47D6551F93A50553E592B5E1540B411A313F39E4149341C981D3C +705F8AD7782F59531404B3C001D8B882E0C5468D00B26040A352ED823D7C8DF4 +B632A37A034C6304A39F28739AC3D634CDC707B53474E63135975E7F0FFF2458 +99878B3A6D8D7AC6F2A2728768B8C2226075299B8CB08B76AED9A00BF448A646 +87014E8B1C1723204BCBB97BF0F735E436F1805B4026CA792A2464E1FDFC4385 +B407DAC19BC7769BBEA6BDD0EE65133044D18530C5A3915AC9272AA4A7FC35A4 +93A7A0CA8BD1CFA4382085D949EE819A51062591606ECEB5B37419223CC0400E +158F1A0849868CFAE0F71DA6B4FA47A636EDE756530425A6BFE45B8080808B59 +6B886D033437677B151285B047C84C2E2FCB71CCDF34E20E925269E5F1A210F0 +391066823D8F21E03746BF79AAC6FF91517631686722226462D6A9EC5FFCC806 +B959AED95F492481324749E00CA117821C347F9B924BEC8C64C954570252E909 +5C33AC8B1320BB1992A88C619DEA7A8FDDE42390EC82A07BD8BB7F0014A41EC8 +04225B5063D3F04723F51128DE8ADB79F62903E1955A7D49220223CA34FDC3EB +8FB71700EB9CC40DF747C4CC60AD11D3FC038CB2051F7E97CF7C7F7D0F49CA1F +E0FEFCE664544CD1F7C23B05BA649D373539E7BCC761611C17489084912F77C3 +5FB3BC1E91E2B4A47C27BF4989C7703E83C5A505108037DE5006D4F510B8FE1A +570E42E4569FAEBF66058F9D9608A771BEACA2A8AB629DBE939CCBBC116E8BCD +BEC3A33CBF185A68DB60CAC5B21AF4D9B46B3FF4FDFBD6BC3C8101BE15E79245 +F0CF8F670CFA19ABC08C34D85B10C17190497EACEF6E401F322B1E281C1755F0 +BBF9838AF83A0A1601D78E78FD599819762347A77C71374AB428093048E3F1C9 +40CFD63B86C7F70BCD2AC3092DDD3BC91CA714BA28263EB863D5E6E2DBD4FA08 +6B22C1D18B16D7042219B9F0BDF5BF10AADB658CBED51C8B272E4DFA11C5A603 +8B4A437EABAA699B86819EAA072F7D90A9CE1B52287DD3D26C470BE0A8D8ACB0 +5CEF12390D0EDE45B1F5B2FE4ABCA8844F713CB5901221BBEF0144FB694EC8A5 +A5E80F582257A84E0FDB4150D9EA8A82A434C5FC1CB93C7F457B95A68E52F916 +2B90E294A0C787EDA95A4EB1F978ABC0A8E1FC9128E7605D591F601BE0B37F6E +E1786F2302F2783D5CDC07AA5F3A20101D527E22B8D689A3A60B5993894A7038 +E068BE74CA3F9CD7A33223131E6149FC75A1FFE4E1A12553A8B8DA3AA19DF672 +D355FC0E824840735280F6D4BE31FE762B5027E292F82AF13EF5CBB0633E66A0 +950CE5EA51EF5C6C7FD1599353416342E89607998DAD7D6A8FC650ED12369274 +4E9BF9AFEA1822896412672B1F9EFA94BB86BEB37F2926B7BC7E032C71572F05 +C203EB5E44E55504D98264D3CF7A77F62C183F65364525AE9E84511F4BB67ABC +164068BA9321842E23882000D27069B07181EADBDAF4374F7FE019BD6D9C88E2 +793462102092A647D903EDE28729B02369DF181C898DEDEBCACB047E79B284F8 +CABFDC5B460D9CD7C3D0A7422E6268DC3CB573DFF7304841C3557355B620DEA6 +74A36D5AA575719613 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +%%EndFont +%%BeginFont: CMMI10 +%!PS-AdobeFont-1.1: CMMI10 1.100 +%%CreationDate: 1996 Jul 23 07:53:57 +% Copyright (C) 1997 American Mathematical Society. All Rights Reserved. +11 dict begin +/FontInfo 7 dict dup begin +/version (1.100) readonly def +/Notice (Copyright (C) 1997 American Mathematical Society. All Rights Reserved) readonly def +/FullName (CMMI10) readonly def +/FamilyName (Computer Modern) readonly def +/Weight (Medium) readonly def +/ItalicAngle -14.04 def +/isFixedPitch false def +end readonly def +/FontName /CMMI10 def +/PaintType 0 def +/FontType 1 def +/FontMatrix [0.001 0 0 0.001 0 0] readonly def +/Encoding 256 array +0 1 255 {1 index exch /.notdef put} for +dup 60 /less put +dup 62 /greater put +readonly def +/FontBBox{-32 -250 1048 750}readonly def +currentdict end +currentfile eexec +D9D66F633B846A97B686A97E45A3D0AA0529731C99A784CCBE85B4993B2EEBDE +3B12D472B7CF54651EF21185116A69AB1096ED4BAD2F646635E019B6417CC77B +532F85D811C70D1429A19A5307EF63EB5C5E02C89FC6C20F6D9D89E7D91FE470 +B72BEFDA23F5DF76BE05AF4CE93137A219ED8A04A9D7D6FDF37E6B7FCDE0D90B +986423E5960A5D9FBB4C956556E8DF90CBFAEC476FA36FD9A5C8175C9AF513FE +D919C2DDD26BDC0D99398B9F4D03D5993DFC0930297866E1CD0A319B6B1FD958 +9E394A533A081C36D456A09920001A3D2199583EB9B84B4DEE08E3D12939E321 +990CD249827D9648574955F61BAAA11263A91B6C3D47A5190165B0C25ABF6D3E +6EC187E4B05182126BB0D0323D943170B795255260F9FD25F2248D04F45DFBFB +DEF7FF8B19BFEF637B210018AE02572B389B3F76282BEB29CC301905D388C721 +59616893E774413F48DE0B408BC66DCE3FE17CB9F84D205839D58014D6A88823 +D9320AE93AF96D97A02C4D5A2BB2B8C7925C4578003959C46E3CE1A2F0EAC4BF +8B9B325E46435BDE60BC54D72BC8ACB5C0A34413AC87045DC7B84646A324B808 +6FD8E34217213E131C3B1510415CE45420688ED9C1D27890EC68BD7C1235FAF9 +1DAB3A369DD2FC3BE5CF9655C7B7EDA7361D7E05E5831B6B8E2EEC542A7B38EE +03BE4BAC6079D038ACB3C7C916279764547C2D51976BABA94BA9866D79F13909 +95AA39B0F03103A07CBDF441B8C5669F729020AF284B7FF52A29C6255FCAACF1 +74109050FBA2602E72593FBCBFC26E726EE4AEF97B7632BC4F5F353B5C67FED2 +3EA752A4A57B8F7FEFF1D7341D895F0A3A0BE1D8E3391970457A967EFF84F6D8 +47750B1145B8CC5BD96EE7AA99DDC9E06939E383BDA41175233D58AD263EBF19 +AFC0E2F840512D321166547B306C592B8A01E1FA2564B9A26DAC14256414E4C8 +42616728D918C74D13C349F4186EC7B9708B86467425A6FDB3A396562F7EE4D8 +40B43621744CF8A23A6E532649B66C2A0002DD04F8F39618E4F572819DD34837 +B5A08E643FDCA1505AF6A1FA3DDFD1FA758013CAED8ACDDBBB334D664DFF5B53 +95601766777978D01677B8D19E1B10A078432D2884BB4F7B8C3293B68BB78100 +16724E495064BA0168CC86D413CB48560D6D318357397832F7A858CD82030C7D +8A4A1919716E8B26AFF8789AAF489EE4E0A88DC477551A87C7DF2856189E4596 +FE015956AFE5CC019F5CA6323A12B763B7B08B92C1A2940D3C566C43729E5482 +63C6DC5E834AEB4DAFB5AE8F0B8931A4687C94D11587B9071C8D81DA14F12776 +53A1985A3EBE37827656BD4635E03F09C3231F906874645E7DB3E59045A59D67 +E745D8487CF73FC50F64060544F624F357BC998A87FBE468DEBB38A09449EBCA +D041D7C29225ACD16CB8A59E87924D15A9125F064710A6CCCA3AD3103D8FCC94 +CC3571C6F9192774FCFE5BB42A14B27960903144D28BF047BF4C77646EA7BF6F +440D4EDEB712C63F2E8080419E42D1D58EED685EB5CDD49F80DB6E5553B519FA +C6A39A093155802F3EC607721F390307E91ECB597ABA60A537E3F8C045BF5DD3 +D88CF6518D37FCD95D2F295D902D617440D23516D962F47750A682A319ACE1 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +0000000000000000000000000000000000000000000000000000000000000000 +cleartomark +%%EndFont +TeXDict begin 39139632 55387786 1000 600 600 (READ_ME.dvi) +@start /Fa 152[42 42 102[{}2 83.022 /CMSY10 rf /Fb 75[50 +59[50 1[50 50 50 50 50 1[50 50 50 50 50 50 50 50 50 50 +50 50 50 50 50 50 13[50 13[50 3[50 2[50 50 50 50 50 10[50 +4[50 50 50 50 2[50 2[50 2[50 30[{TeXBase1Encoding ReEncodeFont}39 +83.022 /Courier rf /Fc 75[33 58[50 3[55 33 39 44 55 55 +50 55 83 28 1[33 28 55 50 33 44 55 44 55 50 10[72 5[61 +1[72 4[39 78 3[72 72 14[50 50 50 50 2[25 15[33 27[55 +2[{TeXBase1Encoding ReEncodeFont}36 99.6264 /Times-Bold +rf /Fd 214[28 28 40[{}2 83.022 /LASY10 rf /Fe 193[65 +1[65 60[{}2 83.022 /CMMI10 rf /Ff 71[28 3[28 43[28 13[37 +42 42 60 42 42 23 32 28 42 42 42 42 65 23 42 23 23 42 +42 28 37 42 37 42 37 6[51 2[78 60 60 51 46 55 60 46 60 +60 74 51 2[28 60 2[51 60 55 55 60 76 2[47 2[23 4[42 42 +42 42 42 1[23 21 28 21 2[28 28 28 5[28 2[28 27[46 2[{ +TeXBase1Encoding ReEncodeFont}67 83.022 /Times-Roman +rf /Fg 75[28 58[42 3[46 28 32 37 1[46 42 46 69 23 2[23 +46 42 28 37 46 37 46 42 10[60 60 55 46 60 65 51 65 1[78 +55 2[32 65 2[55 60 60 1[60 6[28 4[42 42 42 42 42 2[21 +28 8[42 33[46 2[{TeXBase1Encoding ReEncodeFont}46 83.022 +/Times-Bold rf /Fh 75[40 62[66 40 47 53 1[66 60 66 100 +33 2[33 66 2[53 66 53 66 60 12[80 66 2[73 2[113 3[47 +5[86 1[86 11[60 60 60 60 60 3[40 14[40 27[66 2[{ +TeXBase1Encoding ReEncodeFont}32 119.552 /Times-Bold +rf /Fi 140[39 33 4[78 11[44 41[50 4[50 50 50 48[{ +TeXBase1Encoding ReEncodeFont}8 99.6264 /Times-Roman +rf /Fj 133[64 4[72 40 56 48 2[72 72 112 40 2[40 72 2[64 +72 64 1[64 9[135 4[96 2[104 2[88 5[80 4[104 19[48 5[48 +39[{TeXBase1Encoding ReEncodeFont}23 143.462 /Times-Roman +rf end +%%EndProlog +%%BeginSetup +%%Feature: *Resolution 600dpi +TeXDict begin +%%BeginPaperSize: a4 +a4 +%%EndPaperSize + end +%%EndSetup +%%Page: 1 1 +TeXDict begin 1 0 bop 527 880 a Fj(A)-13 b(W)o(OR)34 +b(-)i(Fichier)e(Lisez-moi)g(de)h(l'administrateur)1601 +1315 y Fi(17)24 b(mars)h(2007)440 1678 y Fh(T)-11 b(able)30 +b(des)g(mati)1187 1677 y(\036)1180 1678 y(er)n(es)440 +1864 y Fg(1)83 b(Compatibilit)1023 1863 y(\264)1018 1864 +y(e)2208 b(2)440 2046 y(2)83 b(S)616 2045 y(\264)611 +2046 y(ecurit)824 2045 y(\264)819 2046 y(e)2407 b(2)440 +2229 y(3)83 b(Installation)2291 b(2)565 2329 y Ff(3.1)86 +b(D)5 b(\264)-33 b(epaquetage)18 b(des)i(pages)g(PHP)65 +b(.)42 b(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.) +f(.)g(.)g(.)h(.)f(.)166 b(2)565 2428 y(3.2)86 b(P)o(aram)5 +b(\036)-33 b(etres)19 b(de)h(con\002guration)79 b(.)42 +b(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g +(.)g(.)h(.)f(.)166 b(3)565 2528 y(3.3)86 b(Initialisation)19 +b(de)h(la)h(base)58 b(.)41 b(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.) +h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)166 +b(4)565 2628 y(3.4)86 b(Con\002guration)18 b(par)h(d)5 +b(\264)-33 b(ef)o(aut)20 b(des)g(comptes)79 b(.)41 b(.)g(.)g(.)h(.)f(.) +g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)166 b(4)440 +2810 y Fg(4)83 b(Maintenance)2236 b(4)565 2910 y Ff(4.1)86 +b(V)-5 b(isualisation)19 b(des)i(objets)f(et)h(des)f(\002chiers)63 +b(.)41 b(.)g(.)g(.)h(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.) +166 b(4)565 3009 y(4.2)86 b(Netto)o(yage)19 b(de)h(la)g(base)75 +b(.)42 b(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)h(.) +f(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)166 b(4)440 3192 +y Fg(5)83 b(A)l(uthenti\002cation)19 b(d)1209 3191 y(\264)1204 +3192 y(edi)1315 3191 y(\264)1310 3192 y(ee)h(-)h(P)n(ersonnalisation) +1220 b(5)1851 5662 y Ff(1)p eop end +%%Page: 2 2 +TeXDict begin 2 1 bop 440 535 a Fh(1)119 b(Compatibilit)1276 +534 y(\264)1269 535 y(e)565 721 y Ff(Cette)16 b(application)d(peut-)5 +b(\210)-33 b(etre)14 b(utilis)5 b(\264)-33 b(ee)16 b(sur)f(un)g(serv)o +(eur)f(fonctionnant)e(a)n(v)o(ec)j(Apache,)f(MySQL\()p +Fe(>)p Ff(=4\))440 820 y(et)21 b(PHP)g(\()p Fe(>)p Ff(=4\).)440 +1041 y Fg(PHP)82 b Ff(L)-8 b('application)20 b(ne)j(n)5 +b(\264)-33 b(ecessite)22 b(pas)g(de)h(con\002guration)c(de)j(PHP)h +(particuli)5 b(\036)-33 b(ere.)21 b(Elle)h(fonc-)440 +1141 y(tionne)h(quelle)h(que)f(soit)i(la)g(v)n(aleur)e(du)g(param)5 +b(\036)-33 b(etre)23 b(de)h(con\002guration)d(re)o(gister)p +2792 1141 25 4 v 29 w(globals,)i(utilise)440 1240 y(les)29 +b(sessions)h(via)e(les)i(fonctions)d(introduites)g(en)i(PHP4.)f(L)-8 +b('application)27 b(fonctionne)f(quelque)440 1340 y(soit)e(la)h(v)o +(erbosit)5 b(\264)-33 b(e)22 b(des)i(af)n(\002chages)f(d'erreur)f(et)i +(de)g(w)o(arning)f(PHP)-9 b(,)24 b(car)g(nous)f(a)n(v)n(ons)h(tra)n(v)n +(aill)5 b(\264)-33 b(e)28 b(\036)-33 b(a)445 1440 y(\264)g(eliminer)18 +b(tous)g(les)i(messages)e Fd(\()-17 b(\()15 b Ff(E)p +1447 1440 V 30 w(NO)m(TICE)f Fd(\))-17 b(\))19 b Ff(PHP)g(qui)f +(surviennent)f(par)h(e)o(x)o(emple)f(lors)h(d'une)440 +1539 y(comparaison)g(a)n(v)o(ec)i(une)g(v)n(ariable)f(non-initialis)5 +b(\264)-33 b(ee.)565 1639 y(Les)17 b(scripts)g(PHP)h(n'acc)5 +b(\036)-33 b(edent)15 b(pas)i(en)22 b(\264)-33 b(ecriture)16 +b(au)h(syst)5 b(\036)-33 b(eme)17 b(de)g(\002chier)m(,)f(sauf)h(pour)f +(l'upload)440 1739 y(de)26 b(\002chiers.)g(Le)h(dossier)f +Fd(\()-17 b(\()18 b Ff(\002chiers)g Fd(\))-17 b(\))27 +b Ff(doit)j(\210)-32 b(etre)26 b(accessible)h(en)j(\264)-32 +b(ecriture)25 b(par)h(les)h(scripts)g(PHP)440 1838 y(sans)21 +b(quoi)e(la)i(fonctionnalit)5 b(\264)-33 b(e)18 b(d')5 +b(\264)-33 b(echange)18 b(de)i(\002chier)g(serait)g(inutilisable.)440 +2059 y Fg(MySQL)83 b Ff(Les)16 b(scripts)f(PHP)h(ne)f(modi\002ent)f +(pas)i(structurellement)d(la)j(base)f(de)g(donn)5 b(\264)-33 +b(ee)14 b(MySQL,)440 2159 y(il)30 b(suf)n(\002t)g(donc)f(d'un)f(compte) +h(permettant)f(les)i(instructions)f(SELECT)-6 b(,)29 +b(INSER)-5 b(T)f(,)30 b(UPD)m(A)-9 b(TE,)440 2259 y(DELETE)32 +b(sur)h(les)g(tables)g(de)g(l'application.)e(Pour)h(indiquer)k(\036)-33 +b(a)33 b(l'application)f(quel)g(compte)440 2358 y(MySQL)20 +b(utiliser)m(,)g(v)o(euillez)f(v)n(ous)h(reporter)j(\036)-32 +b(a)20 b(la)h(section)f(3.3.)440 2638 y Fh(2)119 b(S)692 +2637 y(\264)685 2638 y(ecurit)990 2637 y(\264)983 2638 +y(e)565 2824 y Ff(Cette)34 b(application)e(a)39 b(\264)-33 +b(et)5 b(\264)-33 b(e)34 b(d)5 b(\264)-33 b(ev)o(elopp)5 +b(\264)-33 b(ee)31 b(en)j(gardant)d(toujours)37 b(\036)-32 +b(a)34 b(l'esprit)f(les)h(probl)5 b(\036)-33 b(emes)440 +2924 y(de)26 b(s)5 b(\264)-33 b(ecurit)5 b(\264)-33 b(es.)26 +b(Nous)g(ne)g(pouv)n(ons)j(\264)-33 b(evidemment)24 b(pas)j(la)f +(garantir)f(f)o(ailles)h(ni)g(b)n(ugs,)g(mais)g(nous)440 +3023 y(sommes)j(\002x)5 b(\264)-33 b(e)30 b(des)g(r)5 +b(\036)-33 b(egles)30 b(de)f(programmation)e(pour)33 +b(\264)-33 b(eviter)29 b(les)i(f)o(ailles)f(les)h(plus)e(courantes.)440 +3123 y(T)-7 b(outes)15 b(les)h(donn)5 b(\264)-33 b(ees)14 +b(issues)i(de)f(l'utilisateur)g(lors)g(des)h(traitements)e(des)i(pages) +f(web)g(sont)g(trait)5 b(\264)-33 b(ees)440 3222 y(pour)29 +b(\264)-33 b(eviter)25 b(des)h(probl)5 b(\036)-33 b(emes)24 +b(d'insertion)g(de)i(code)e(dans)i(les)g(requetes)f(SQL.)h(L)-8 +b('authenti\002ca-)440 3322 y(tion)25 b(des)g(utilisateurs)f(est)i +(syst)5 b(\264)-33 b(ematique,)24 b(v)5 b(\264)-33 b(eri\002)5 +b(\264)-33 b(ee)29 b(\036)-33 b(a)25 b(chaque)f(page)g(et)h(repose)g +(sur)f(le)i(syst)5 b(\036)-33 b(eme)440 3422 y(des)24 +b(sessions)g(PHP)-9 b(.)23 b(En)g(re)n(v)n(anche,)f(il)i(f)o(aut)f +(noter)f(que)h(le)h(formulaire)d(d'authenti\002cation)g(n'est)440 +3521 y(pas)27 b(prot)5 b(\264)-33 b(eg)5 b(\264)-33 b(e)25 +b(contre)h(l'usurpation)f(de)i(mots)f(de)h(passe)g(car)g(les)h +(contraintes)d(donn)5 b(\264)-33 b(ees)26 b(dans)g(le)440 +3621 y(cahier)h(des)h(char)o(ges)e(ne)h(le)i(permettent)d(pas,)h(d)7 +b(\210)-35 b(u)28 b(moins,)e(il)j(n'est)e(pas)h(possible)f(d'utiliser)g +(un)440 3721 y(cryptage)22 b(ef)n(\002cace)i(\(assym)5 +b(\264)-33 b(etrique\))22 b(sans)i(modi\002er)f(le)i(syst)5 +b(\036)-33 b(eme)24 b(d'authenti\002cation)d(d)5 b(\264)-33 +b(el)5 b(\264)-33 b(egu)5 b(\264)-33 b(ee)440 3820 y(et)19 +b(sans)g(utiliser)f(une)g(con\002guration)d(de)j(serv)o(eur)f(W)-7 +b(eb)19 b(sp)5 b(\264)-33 b(eci\002que.)17 b(Consid)5 +b(\264)-33 b(erez,)17 b(pour)g(r)5 b(\264)-33 b(esoudre)440 +3920 y(ce)24 b(probl)5 b(\036)-33 b(eme,)21 b(l'emploi)h(sur)h(serv)o +(eur)f(web)h(s)5 b(\264)-33 b(ecuris)5 b(\264)-33 b(e)24 +b(\(HTTPS\))e(et)i(l'utilisation)f(d'une)f(liaison)440 +4019 y(entre)16 b(le)i(serv)o(eur)d(web)i(et)g(le)g(serv)o(eur)f +(d'authenti\002cation)e(au)i(tra)n(v)o(ers)h(d'un)e(r)5 +b(\264)-33 b(eseau)17 b(de)f(con\002ance.)440 4300 y +Fh(3)119 b(Installation)440 4502 y Fc(3.1)99 b(D)742 +4501 y(\264)736 4502 y(epaquetage)27 b(des)e(pages)g(PHP)565 +4657 y Ff(L)-8 b('application)26 b(est)i(li)n(vr)5 b(\264)-33 +b(ee)28 b(dans)g(une)f(archi)n(v)o(e)f(de)i(type)g(tarball)f(compress)5 +b(\264)-33 b(ee)27 b(qui)h(contient)440 4757 y(toute)k(l'arborescence)e +(et)i(les)h(\002chiers)f(PHP)h(n)5 b(\264)-33 b(ecessaires.)32 +b(Il)h(suf)n(\002t)f(de)g(d)5 b(\264)-33 b(ecompresser)31 +b(cette)440 4857 y(archi)n(v)o(e)16 b(en)i(conserv)n(ant)e +(l'arborescence)f(dans)j(un)f(dossier)h(publi)5 b(\264)-33 +b(e)17 b(par)g(v)n(otre)g(serv)o(eur)g(W)-7 b(eb)m(.)17 +b(Les)440 4956 y(\002chiers)24 b(de)g(con\002gurations)d(sont)j(pr)5 +b(\264)-33 b(esent)24 b(et)g(contiennent)e(des)i(v)n(aleurs)f(d'e)o(x)o +(emple)f(que)h(v)n(ous)440 5056 y(pourrez)18 b(adapter)24 +b(\036)-33 b(a)21 b(v)n(otre)f(situation.)1851 5662 y(2)p +eop end +%%Page: 3 3 +TeXDict begin 3 2 bop 440 531 a Fc(3.2)99 b(P)o(aram)957 +530 y(\036)951 531 y(etr)n(es)26 b(de)f(con\002guration)565 +687 y Ff(Cette)f(application)e(comporte)f(deux)h(\002chiers)i(de)f +(con\002guration)e(qui)i(sont)g(dans)g(le)h(dossier)440 +787 y Fd(\()-17 b(\()17 b Ff(include)e Fd(\))-17 b(\))p +Ff(.)23 b(Les)f(\002chiers)g(e)o(xistent)g(dans)g(la)g(v)o(ersion)f +(distrib)n(u)5 b(\264)-33 b(ee)21 b(et)i(ont)e(pour)g(b)n(ut)h(de)g +(servir)g(de)440 886 y(mod)5 b(\036)-33 b(ele.)440 1031 +y Fg(connect.inc.php)20 b(:)41 b Ff(ce)19 b(\002chier)f(contient)g(les) +h(coordonn)5 b(\264)-33 b(ees)16 b(du)i(serv)o(eur)f(MySQL,)h(de)h +(l'utilisa-)648 1130 y(teur)g(SQL)i(et)g(de)f(la)h(base)f(que)f +(l'application)g(utilisera.)440 1260 y Fg(con\002g)o(.inc.php)h(:)41 +b Ff(ce)17 b(\002chier)f(contient)g(tout)h(le)g(reste)g(de)g(la)g +(con\002guration)d(de)j(l'application.)e(Le)648 1359 +y(\002chier)k(est)h(un)f(script)h(PHP)h(qui)e(initialise)h(un)f +(tableau)g(multi-dimentionnel.)d(Ce)21 b(choix)i(\036)-33 +b(a)652 1459 y(\264)h(et)5 b(\264)-33 b(e)20 b(f)o(ait)h(par)f +(commodit)5 b(\264)-33 b(e,)18 b(et)j(pour)e(permette)g(de)i(bien)e(hi) +5 b(\264)-33 b(erarchiser)19 b(les)i(information,)d(en)648 +1559 y(re)n(v)n(anche,)13 b(la)j(syntax)o(e)f(est)h(fourbe.)c(.)g(.)i +(N'oubliez)h(pas)g(de)h(vir)o(gule)c(!)j(T)-7 b(outes)16 +b(les)g(constantes)648 1658 y(sont)k(d)5 b(\264)-33 b(ecrites)20 +b(ci-dessous.)648 1818 y Fg($adminMail)g(:)41 b Ff(adresse)15 +b(e-mail)g(de)g(l'administrateur)-5 b(.)14 b(Af)n(\002ch)5 +b(\264)-33 b(ee)19 b(\036)-33 b(a)16 b(l'utilisateur)e(lorsque)830 +1917 y(qu'une)19 b(erreur)f(interne)24 b(\036)-32 b(a)20 +b(l'application)f(s'est)i(produite.)648 2047 y Fg($automatedMail)d(:)41 +b Ff(adresse)28 b(e-mail)g(de)h(r)5 b(\264)-33 b(eponse)27 +b(des)h(courriels)g(en)m(v)n(o)o(y)5 b(\264)-33 b(es)27 +b(automati-)830 2147 y(quement)19 b(par)h(l'application.)648 +2276 y Fg(A)l(UTH)g(:)41 b Ff(P)o(aram)5 b(\036)-33 b(etres)20 +b(d'authenti\002cation)830 2435 y Fg(POP)g(:)41 b Ff(P)o(aram)5 +b(\036)-33 b(etres)20 b(pour)e(les)j(serv)o(eurs)f(mail)g(POP)985 +2595 y Fg(SER)-5 b(VERS)23 b(:)41 b Ff(Chaque)24 b(\264)-33 +b(el)5 b(\264)-33 b(ement)20 b(de)h(ce)g(tableau)j(\036)-32 +b(a)21 b(pour)e(clef)h(le)h(nom)f(de)h(do-)1127 2694 +y(maine)j(du)g(fournisseur)f(de)i(service)g(de)f(courriel)g(\()h +(partie)f(sui)n(v)n(ant)g(le)i(@)1127 2794 y(dans)c(une)g(adresse)g +(e-mail\))k(\036)-32 b(a)22 b(pour)f(v)n(aleur)h(un)g(tableau)g +(associatif)g(de)g(la)1127 2894 y(forme)d(sui)n(v)n(ante)1127 +3053 y Fg(subdomain)i(:)41 b Ff(adresse)20 b(complete)f(du)h(serv)o +(eur)f(of)n(frant)f(le)j(service)f(POP)1127 3183 y Fg(port)g(:)41 +b Ff(num)5 b(\264)-33 b(ero)26 b(de)i(port)f(TCP)i(utilis)5 +b(\264)-33 b(e)28 b(pour)f(se)i(connecter)d(au)i(service)1210 +3282 y(POP)1127 3412 y Fg(user)o(name)p 1477 3412 25 +4 v 29 w(is)p 1561 3412 V 30 w(full)p 1711 3412 V 30 +w(mail)21 b(:)41 b Ff(Bool)5 b(\264)-33 b(een)14 b(\(true)h(ou)g(f)o +(alse\))g(indicant)f(si)j(le)e(nom)1210 3511 y(d'utilisateur)39 +b(\036)-33 b(a)36 b(utiliser)g(pour)f(l'authenti\002cation)f(est)i +(l'adresse)g(e-)1210 3611 y(mail)e(compl)5 b(\036)-33 +b(ete.)32 b(C'est)j(utile)e(pour)g(les)i(serv)o(eurs)d(POP)j(g)5 +b(\264)-33 b(erant)33 b(des)1210 3711 y(adresses)15 b(email)g(sur)h +(plusieurs)e(domaines)g(\(comme)g(w)o(anadoo)g(/)h(orange)1210 +3810 y(au)20 b(moment)f(o)7 b(\036)-35 b(u)19 b(j')5 +b(\264)-33 b(ecris)21 b(ce)f(document\))830 3970 y Fg(bypass)p +1075 3970 V 30 w(if)p 1156 3970 V 30 w(local)f(:)42 b +Ff(Bool)5 b(\264)-33 b(een)32 b(indiquant)g(si)i(l'authenti\002cation)d +(doit)37 b(\210)-32 b(etre)33 b(outre-)985 4069 y(pass)5 +b(\264)-33 b(ee)21 b(si)g(la)g(conne)o(xion)c(s'ef)n(fectue)i(depuis)h +(le)g(serv)o(eur)f(lui-m)5 b(\210)-33 b(eme.)648 4229 +y Fg(CSS)21 b(:)41 b Ff(P)o(aram)5 b(\036)-33 b(etres)19 +b(des)i(styles)f(de)h(pages)830 4388 y Fg(CHOOSER)p 1251 +4388 V 29 w(LIST)h(:)41 b Ff(Ce)25 b(tableau)d(associatif)i(contient)e +(la)i(liste)g(des)g(styles)g(CSS)990 4488 y(\036)-33 +b(a)31 b(utiliser)-5 b(.)30 b(Les)h(clefs)f(sont)g(les)h(libell)5 +b(\264)-33 b(es)30 b(des)h(th)5 b(\036)-33 b(emes)34 +b(\036)-33 b(a)31 b(af)n(\002cher)e(et)i(les)f(v)n(a-)985 +4587 y(leurs)25 b(sont)f(les)h(noms)f(des)g(\002chiers)g(CSS)i +(correspondants,)21 b(sans)k(chemin,)e(ni)985 4687 y(e)o(xtension.)648 +4846 y Fg(MAIL)e(:)830 5006 y(TEMPLA)-8 b(TES)23 b(:)41 +b Ff(Ce)19 b(tableau)e(contient)g(des)h(tableaux)e(associatifs)i(dont)f +(les)i(clefs)985 5105 y(seront)e(utilis)5 b(\264)-33 +b(ees)19 b(dans)e(les)h(passages)g(de)f(param)5 b(\036)-33 +b(etres)17 b(HTML,)g(et)h(contiennent)985 5205 y(des)j(sous-tableaux)d +(de)i(la)h(forme)e(sui)n(v)n(ante)g(:)985 5364 y Fg(caption)h(:)41 +b Ff(Intitul)5 b(\264)-33 b(e)20 b(qui)g(sera)g(af)n(\002ch)5 +b(\264)-33 b(e)24 b(\036)-32 b(a)20 b(l'utilisateur)1851 +5662 y(3)p eop end +%%Page: 4 4 +TeXDict begin 4 3 bop 985 531 a Fg(tpl)p 1087 531 25 +4 v 30 w(\002le)21 b(:)41 b Ff(Nom)20 b(du)f(\002chier)g(\(a)n(v)o(ec)h +(l'e)o(xtension)e(PHP\))i(contenant)e(le)i(mod)5 b(\036)-33 +b(ele.)648 691 y Fg(SUPER)n(USERS)21 b(:)41 b Ff(Ce)34 +b(tableau)e(contient)g(la)i(liste)g(des)f(login)g(des)g(super)n +(-utilisateurs)830 790 y(\(ceux)19 b(qui)h(ont)g(le)h(droit)e(de)h +(supprimer)f(des)h(r)5 b(\264)-33 b(eunions\))648 920 +y Fg(UPLO)m(AD)20 b(:)41 b Ff(P)o(aram)5 b(\036)-33 b(etres)19 +b(concernant)f(l'attachement)h(de)h(\002chiers)g(aux)g(r)5 +b(\264)-33 b(eunions)830 1079 y Fg(accepted)p 1145 1079 +V 29 w(\002les)21 b(:)41 b Ff(T)-7 b(ableau)20 b(des)g(e)o(xtensions)f +(qui)h(sont)g(autoris)5 b(\264)-33 b(ees.)440 1317 y +Fc(3.3)99 b(Initialisation)24 b(de)h(la)g(base)565 1473 +y Ff(T)-7 b(ous)23 b(les)h(\002chiers)f(n)5 b(\264)-33 +b(ecessaires)24 b(sont)f(rang)5 b(\264)-33 b(es)22 b(dans)h(le)h +(dossier)f Fd(\()-17 b(\()18 b Ff(install)f Fd(\))-17 +b(\))p Ff(.)23 b(V)-11 b(ous)24 b(utiliserez)440 1572 +y(principalement)d(le)i(\002chier)g Fd(\()-17 b(\()17 +b Ff(RAZBase.php)g Fd(\))-17 b(\))o Ff(.)24 b(Appel)5 +b(\264)-33 b(e)22 b(au)h(tra)n(v)o(ers)g(du)g(serv)o(eur)f(web,)g(il)i +(v)n(ous)440 1672 y(permettra)i(automatiquement)e(de)j(mettre)f(en)h +(place)g(la)g(structure)g(de)f(la)i(base)f(de)g(donn)5 +b(\264)-33 b(ees,)25 b(et)440 1771 y(optionnellement,)19 +b(d'ins)5 b(\264)-33 b(erer)20 b(un)h(jeu)g(d'essai)h(pour)e(tester)i +(l'application)e(sur)i(v)n(otre)f(serv)o(eur)-5 b(.)20 +b(Si)440 1871 y(v)n(ous)25 b(ne)g(souhaitez)f(pas)h(utiliser)g(de)g +(compte)f(SQL)h(ayant)g(le)g(droit)f(d'alt)5 b(\264)-33 +b(erer)24 b(la)i(structure)e(des)440 1971 y(tables)c(de)f(v)n(otre)g +(base)h(a)n(v)o(ec)f(ce)h(script)f(php,)g(v)n(ous)g(pouv)o(ez)f(e)o(x)5 +b(\264)-33 b(ecuter)18 b(le)i(script)f Fd(\()-17 b(\()16 +b Ff(base.sql)f Fd(\))-17 b(\))20 b Ff(a)n(v)o(ec)440 +2070 y(v)n(otre)g(client)g(SQL)h(f)o(a)n(v)n(ori.)e(Le)h(jeu)h(d'essai) +f(se)h(trouv)o(e)e(dans)g(le)i(\002chier)f Fd(\()-17 +b(\()16 b Ff(jeu)p 2700 2070 V 30 w(essai.sql)g Fd(\))-17 +b(\))p Ff(.)565 2170 y(V)-11 b(ous)19 b(de)n(vriez)f(supprimer)f(ce)i +(r)5 b(\264)-33 b(epertoire)17 b(d)5 b(\036)-33 b(es)20 +b(que)e(l'installation)g(sera)i(termin)5 b(\264)-33 b(ee)18 +b(car)h(il)g(peut)440 2270 y(poser)i(des)h(probl)5 b(\036)-33 +b(emes)20 b(de)h(s)5 b(\264)-33 b(ecurit)5 b(\264)-33 +b(e)21 b(car)h(le)g(\002chier)f Fd(\()-17 b(\()17 b Ff(RAZBase.php)f +Fd(\))-17 b(\))21 b Ff(pourrait)k(\210)-33 b(etre)22 +b(lanc)5 b(\264)-33 b(e)21 b(par)440 2369 y(n'importe)d(qui,)i(et)h +(les)g(\002chiers)f(SQL)g(contienent)f(des)h(informations)e(sensibles.) +440 2607 y Fc(3.4)99 b(Con\002guration)26 b(par)f(d)1522 +2606 y(\264)1516 2607 y(efaut)h(des)g(comptes)565 2763 +y Ff(Dans)15 b(le)h(\002chier)f(de)g(con\002guration)d(mod)5 +b(\036)-33 b(ele,)14 b(un)h(super)n(-utilisateur)f(est)i(con\002gur)5 +b(\264)-33 b(e)13 b(:)j(inglebert@iut-)440 2862 y(blagnac.fr)k(et)j(le) +g(jeu)f(d'essai)h(propos)5 b(\264)-33 b(e)21 b(au)h(paragraphe)e(pr)5 +b(\264)-33 b(ec)5 b(\264)-33 b(edent)20 b(permet)i(de)g(cr)5 +b(\264)-33 b(eer)22 b(des)h(utili-)440 2962 y(sateurs,)d(et)h(en)f +(particulier)f(inglebert@iut-blagnac.fr)-5 b(.)565 3061 +y(P)o(ar)30 b(d)5 b(\264)-33 b(ef)o(aut,)29 b(v)n(ous)h(pourrez)e(donc) +h(v)n(ous)h(connecter)f(en)h(tant)g(qu'administrateur)e(a)n(v)o(ec)i +(ce)440 3161 y(compte.)18 b(Le)h(jeu)g(d'essai)h(met)f(ce)h(compte)e(a) +n(v)o(ec)h(comme)f(mode)g(d'authenti\002cation)e Fd(\()-17 +b(\()16 b Ff(bypass)f Fd(\))-17 b(\))p Ff(,)440 3261 +y(ce)27 b(qui)f(signi\002e)h(qu'aucun)d(mot)i(de)h(passe)g(n'est)f(n)5 +b(\264)-33 b(ecessaire.)27 b(Pour)f(utiliser)g(un)h(vrai)f(syst)5 +b(\036)-33 b(eme)440 3360 y(d'authenti\002cation,)18 +b(connectez-v)n(ous)g(a)n(v)o(ec)j(ce)h(compte)e(et)h(allez)g(dans)g +(la)h(page)e Fd(\()-17 b(\()17 b Ff(Mon)j(Pro\002l)d +Fd(\))-17 b(\))440 3460 y Ff(pour)19 b(choisir)h(une)f(autre)h(mode)f +(d'authenti\002cation.)440 3740 y Fh(4)119 b(Maintenance)440 +3942 y Fc(4.1)99 b(V)l(isualisation)24 b(des)h(objets)h(et)f(des)g +(\002chiers)565 4098 y Ff(Une)19 b(page)h(d'administration)d(est)k(pr)5 +b(\264)-33 b(evue)23 b(\036)-33 b(a)20 b(cet)h(ef)n(fet,)e(et)h(elle)h +(n'est)e(accessible)h(que)g(par)f(un)440 4198 y Fd(\()-17 +b(\()16 b Ff(super)n(-utilisateur)d Fd(\))-17 b(\))p +Ff(,)20 b(c'est)k(\036)-33 b(a)20 b(dire)f(un)g(utilisateur)g(consign)5 +b(\264)-33 b(e)18 b(dans)h(le)g(\002chier)g(de)h(con\002guration)440 +4297 y(principal)f(en)h(tant)g(que)g(tel,)g(conf)5 b(\036)-33 +b(ere)19 b(3.2.)440 4535 y Fc(4.2)99 b(Nettoyage)25 b(de)h(la)e(base) +581 4672 y Ff(\036)565 4691 y(A)31 b(partir)g(de)g(la)h(page)f +(d'administration)d(d)5 b(\264)-33 b(ecrite)31 b(dans)g(le)h +(paragraphe)d(pr)5 b(\264)-33 b(ec)5 b(\264)-33 b(edent,)29 +b(v)n(ous)440 4790 y(pouv)o(ez)c(aussi)j(pur)o(ger)c(les)k(\002chiers)f +(attach)5 b(\264)-33 b(es)27 b(et)g(les)h(objets)f(de)g(la)g(base)g(de) +g(donn)5 b(\264)-33 b(ees)26 b(de)n(v)o(enus)440 4890 +y(obsol)5 b(\036)-33 b(etes.)18 b(L)-8 b('aide)19 b(conte)o(xtuelle)e +(de)i(cette)g(page)f(v)n(ous)h(e)o(xpliquera)d(comment)i(f)o(aire.)g +(Il)h(est)h(vi)n(v)o(e-)440 4989 y(ment)h(conseill)5 +b(\264)-33 b(e)21 b(de)g(f)o(aire)g(une)g(sauv)o(e)o(garde)d(de)j(la)h +(base)f(de)h(donn)5 b(\264)-33 b(ees)20 b(et)h(des)h(\002chiers)f +(joints)g(aux)440 5089 y(r)5 b(\264)-33 b(eunions)16 +b(a)n(v)n(ant)i(d'utiliser)f(cet)h(outil)g(car)g(l'erreur)e(de)i +(manipulation)d(ou)j(de)g(programmation)c(est)440 5189 +y(toujours)19 b(possible.)12 b(.)g(.)1851 5662 y(4)p +eop end +%%Page: 5 5 +TeXDict begin 5 4 bop 440 535 a Fh(5)119 b(A)-6 b(uthenti\002cation)33 +b(d)1547 534 y(\264)1540 535 y(edi)1699 534 y(\264)1692 +535 y(ee)e(-)f(P)n(ersonnalisation)565 721 y Ff(A)-7 +b(W)o(OR)18 b(utilise)h(un)e(syst)5 b(\036)-33 b(eme)18 +b(d'authenti\002cation)d(d)5 b(\264)-33 b(edi)5 b(\264)-33 +b(ee)17 b(de)h(sorte)g(qu'aucun)d(mot)j(de)f(passe)440 +820 y(ne)28 b(soit)g(stock)5 b(\264)-33 b(e,)28 b(et)g(que)f +(l'utilisateur)h(n'ait)f(pas)h(besoin)g(d'en)f(retenir)g(un)g(nouv)o +(eau.)e(Le)k(code)440 920 y(d'authenti\002cation)c(\036)-33 +b(a)28 b(\264)-33 b(et)5 b(\264)-33 b(e)28 b(\264)-32 +b(ecrit)22 b(de)h(mani)5 b(\036)-33 b(ere)27 b(\036)-33 +b(a)28 b(\210)-33 b(etre)23 b(mal)5 b(\264)-33 b(eable)22 +b(et)h(est)h(e)o(xtensible.)e(Le)g(coeur)g(du)440 1019 +y(syst)5 b(\036)-33 b(eme)20 b(d'authenti\002cation)d(se)k(trouv)o(e)d +(dans)i(le)h(\002chier)e Fd(\()-17 b(\()16 b Ff(auth)p +2345 1019 25 4 v 29 w(dialog.php)e Fd(\))-17 b(\))o Ff(.)21 +b(V)-11 b(ous)20 b(y)g(trouv)o(e-)440 1119 y(rez)g(une)g(section)g +(commenc)-32 b(\270)r(ant)20 b(par)f(le)i(commentaire)d(ci-dessous.)648 +1401 y Fb(/)698 1416 y(********************************)o(*****)o +(******)o(*****)o(***)648 1516 y(**)797 1501 y(Ajouter)49 +b(d'autres)f(mode)h(d'authentification)d(ici)k(!)3138 +1516 y(**)648 1616 y(*********************************)o(*****)o +(******)o(*****)o(**)3194 1601 y(/)440 1783 y Ff(Comme)26 +b(l'indique)f(ce)i(commentaire,)e(v)n(ous)h(pourrez)f(ajouter)31 +b(\036)-33 b(a)27 b(cet)g(endroit)f(une)g(portion)f(de)440 +1883 y(code)20 b(pour)e(utiliser)j(un)f(autre)f(service)h +(d'authenti\002cation.)d(La)k(syntax)o(e)e(est)i(la)g(sui)n(v)n(ante)e +(:)648 2027 y Fb(case)49 b('<nom)p 1152 2027 V 29 w(auth>')f(:)648 +2127 y(/)698 2142 y(*)797 2127 y(Eventuellement)f(du)j(code)f(pr)2043 +2126 y(\264)2043 2127 y(el)2143 2126 y(\264)2143 2127 +y(eminaire)2590 2142 y(*)2640 2127 y(/)648 2227 y($auth)p +903 2227 V 29 w(is)p 1032 2227 V 29 w(ok=<fonction)p +1661 2227 V 28 w(ou)p 1789 2227 V 29 w(variable)p 2218 +2227 V 29 w(authentification>;)648 2326 y(if)g(\()h(!)f($auth)p +1251 2326 V 29 w(is)p 1380 2326 V 30 w(ok)g(\))648 2426 +y Fa(f)g Fb(//)g(Si)h(l'authentificaiton)1984 2425 y(\036)1984 +2426 y(a)2084 2425 y(\264)2084 2426 y(echou)2334 2425 +y(\264)2334 2426 y(ee)648 2525 y($errmsg=<fonction)p +1503 2525 V 26 w(ou)p 1629 2525 V 30 w(chaine)p 1959 +2525 V 29 w(explicant)p 2438 2525 V 28 w(l)p 2516 2525 +V 29 w(erreur>;)648 2625 y Fa(g)648 2725 y Fb(break;)440 +2869 y Ff(Il)30 b(v)n(ous)e(suf)n(\002t)i(de)f(remplacer)f(les)34 +b(\264)-32 b(el)5 b(\264)-33 b(ements)29 b(entre)f(che)n(vrons)g(dans)h +(le)h(code)e(ci-dessus)h(et)h(de)440 2969 y(le)23 b(coller)g(dans)f +Fd(\()-17 b(\()p Ff(auth)p 1099 2969 V 29 w(dialog.inc.php)p +Fd(\))g(\))19 b Ff(pour)i(pouv)n(oir)g(utiliser)i(un)f(nouv)o(eau)e +(mode)i(d'authen-)440 3068 y(ti\002cation.)28 b(Reste)33 +b(\036)-32 b(a)28 b(donner)j(\036)-33 b(a)29 b(l'utilisateur)e(la)i +(capacit)5 b(\264)-33 b(e)27 b(de)h(l'utiliser)-5 b(.)28 +b(V)-11 b(ous)28 b(de)n(vrez)f(encore,)440 3168 y(d'une)19 +b(part,)g(ajouter)g(dans)h(la)h(base)f(de)g(donn)5 b(\264)-33 +b(ees)19 b(le)h Fe(<)p Ff(nom)p 2184 3168 V 28 w(auth)p +Fe(>)k Ff(\036)-33 b(a)21 b(l')5 b(\264)-33 b(enum)5 +b(\264)-33 b(eration)17 b(du)j(champ)440 3268 y Fd(\()-17 +b(\()p Ff(methodeAuth)p Fd(\))g(\))15 b Ff(de)i(la)h(table)f +Fd(\()-17 b(\()p Ff(Personne)p Fd(\))g(\))n Ff(,)18 b(et)g(d'autre)e +(part)h(proposer)j(\036)-32 b(a)18 b(l'utilisateur)e(d'utiliser)440 +3367 y(ce)k(mode)g(d'authenti\002cation)d(en)j(modi\002ant)f(la)i(page) +f Fd(\()-17 b(\()o Ff(pro\002l.php)p Fd(\))g(\))m Ff(.)1851 +5662 y(5)p eop end +%%Trailer + +userdict /end-hook known{end-hook}if +%%EOF diff --git a/final/install/READ_ME.txt b/final/install/READ_ME.txt new file mode 100644 index 0000000..34046ad --- /dev/null +++ b/final/install/READ_ME.txt @@ -0,0 +1,278 @@ + + +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". diff --git a/final/install/index.html b/final/install/index.html new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/final/install/index.html diff --git a/final/install/jeu_essai.sql b/final/install/jeu_essai.sql index 889d4f6..7723733 100644 --- a/final/install/jeu_essai.sql +++ b/final/install/jeu_essai.sql @@ -1,2 +1,114 @@ --- phpMyAdmin SQL Dump --- TODO !! +-- +-- Base de données: `awor` +-- + +-- -------------------------------------------------------- +-- +-- Contenu de la table `AWOR_Appartenir` +-- +DELETE FROM `AWOR_Appartenir`; +INSERT INTO `AWOR_Appartenir` (`idL`, `idP`) VALUES (1, 2), +(1, 3), +(1, 4), +(1, 5), +(2, 1), +(2, 2), +(2, 4), +(2, 5), +(3, 1), +(3, 2), +(3, 3), +(4, 1), +(4, 4), +(4, 5), +(5, 1), +(5, 4), +(5, 5), +(6, 1), +(6, 2), +(6, 3), +(8, 1), +(8, 2), +(8, 3), +(8, 4); + +-- -------------------------------------------------------- +-- +-- Contenu de la table `AWOR_Choisir` +-- +DELETE FROM `AWOR_Choisir`; +INSERT INTO `AWOR_Choisir` (`idC`, `idP`, `estDispo`) VALUES (1, 3, 'oui'), +(6, 1, 'oui'), +(7, 1, 'non'), +(1, 2, 'oui'), +(2, 2, 'non'), +(3, 2, 'oui'), +(4, 2, 'non'), +(5, 2, 'oui'); + +-- -------------------------------------------------------- +-- +-- Contenu de la table `AWOR_Creneau` +-- +DELETE FROM `AWOR_Creneau`; +INSERT INTO `AWOR_Creneau` (`idC`, `dateHeure`, `duree`, `idR`) VALUES (1, '2007-04-01 07:45:00', 645, 1), +(2, '2007-04-03 09:15:00', 75, 1), +(3, '2007-04-10 09:15:00', 75, 1), +(4, '2007-04-17 09:15:00', 75, 1), +(5, '2007-04-24 09:15:00', 75, 1), +(6, '2007-06-20 10:10:00', 80, 2), +(7, '2007-06-25 12:00:00', 30, 2), +(8, '2007-04-25 00:00:00', 0, 4); + +-- -------------------------------------------------------- +-- +-- Contenu de la table `AWOR_Fichier` +-- +DELETE FROM `AWOR_Fichier`; +INSERT INTO `AWOR_Fichier` (`idFic`, `nomFic`, `idR`) VALUES (1, 'r1_READ_ME.pdf', 1), +(2, 'r2_IUP MER.txt', 2); + +-- -------------------------------------------------------- +-- +-- Contenu de la table `AWOR_Liste` +-- +DELETE FROM `AWOR_Liste`; +INSERT INTO `AWOR_Liste` (`idL`, `libelleL`, `estPrivee`, `idP_Createur`) VALUES (1, 'interne_idR_1', 'oui', NULL), +(2, 'interne_idR_2', 'oui', NULL), +(3, 'Amis', 'oui', 3), +(4, 'interne_idR_3', 'oui', NULL), +(5, 'interne_idR_4', 'oui', NULL), +(6, 'Créateurs d''AWOR', 'oui', 1), +(7, 'interne_idR_5', 'oui', NULL), +(8, 'MaListePerso', 'oui', 2); + +-- -------------------------------------------------------- +-- +-- Contenu de la table `AWOR_Personne` +-- +DELETE FROM `AWOR_Personne`; +INSERT INTO `AWOR_Personne` (`idP`, `courrielP`, `loginP`, `nomP`, `prenomP`, `estAdmin`, `methodeAuth`) VALUES (1, 'lpouzenc@wanadoo.fr', 'lpouzenc', 'Pouzenc', 'Ludovic', 'oui', 'pop'), +(2, 'jeremie.denoyer@etu.iut-blagnac.fr', 'jeremie.denoyer', 'jeremie', 'denoyer', 'non', 'pop'), +(3, 'julien.sere@free.fr', 'julien.sere', 'Julien', 'Sere', 'non', 'pop'), +(4, 'soule@iut-blagnac.fr', 'soule@iut-blagnac.fr', 'Soulé', 'Geneviève', 'non', 'pop'), +(5, 'inglebert@iut-blagnac.fr', 'inglebert@iut-blagnac.fr', 'Inglebert', 'Jean-Michel', 'non', 'bypass'); + +-- -------------------------------------------------------- +-- +-- Contenu de la table `AWOR_Repondre` +-- +DELETE FROM `AWOR_Repondre`; +INSERT INTO `AWOR_Repondre` (`idR`, `idP`, `commentaireReponse`) VALUES (1, 1, 'Test de commentaire un peu long...Test de commentaire un peu long...Test de commentaire un peu long...Test de commentaire un peu long...Test de commentaire un peu long...Test de commentaire un peu long...Test de commentaire un peu long...Test de commentaire un peu long...'), +(1, 3, 'Un commentaire à [ | ) @ {[| @#~{[#`|['), +(3, 1, 'Réunion juste pour le test...'); + +-- -------------------------------------------------------- +-- +-- Contenu de la table `AWOR_Reunion` +-- +DELETE FROM `AWOR_Reunion`; +INSERT INTO `AWOR_Reunion` (`idR`, `objetR`, `ordreJourR`, `lieuR`, `remarquesR`, `montrerDispoR`, `estAnnulee`, `idP_Orga`, `idC_Fixe`, `idL`) VALUES (1, 'Recette du projet tuteuré', 'Recette de cette magnifique application :-)', 'Salle 219', 'Aucune', 'non', 'non', 1, NULL, 1), +(2, 'Renseignez', NULL, NULL, NULL, 'non', 'non', 3, NULL, 2), +(3, 'Réunion annulée - essais', '', 'Nullepart', '', 'oui', 'oui', 1, NULL, 4), +(4, 'Réunion fixée pour tester', '', '', '', 'non', 'non', 1, 8, 5), +(5, 'Renseignez', NULL, NULL, NULL, 'non', 'non', 2, NULL, 7); |