#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 '': \end_layout \begin_layout LyX-Code /* Eventuellement du code préléminaire */ \end_layout \begin_layout LyX-Code \lang english $auth_is_ok=; \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=; \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 à 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