diff options
Diffstat (limited to 'final/install/READ_ME.html')
-rw-r--r-- | final/install/READ_ME.html | 447 |
1 files changed, 447 insertions, 0 deletions
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> + + + |