summaryrefslogtreecommitdiff
path: root/appli_3_alpha_old/doc/README.lyx
diff options
context:
space:
mode:
Diffstat (limited to 'appli_3_alpha_old/doc/README.lyx')
-rw-r--r--appli_3_alpha_old/doc/README.lyx521
1 files changed, 521 insertions, 0 deletions
diff --git a/appli_3_alpha_old/doc/README.lyx b/appli_3_alpha_old/doc/README.lyx
new file mode 100644
index 0000000..e1efc97
--- /dev/null
+++ b/appli_3_alpha_old/doc/README.lyx
@@ -0,0 +1,521 @@
+#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 default
+\graphics default
+\paperfontsize default
+\spacing single
+\papersize default
+\use_geometry false
+\use_amsmath 1
+\cite_engine basic
+\use_bibtopic false
+\paperorientation portrait
+\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 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 quelque soit la valeur du paramètre de configuration register_g
+lobals, 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 issue de l'utilisateur lors des traitements des pages
+ web sont traitées pour éviter des problèmes d'insertion de code dans les
+ requetes SQL.
+ L'authentification des utilisateurs est systématique, vérifiée à chaque
+ page et repose sur le système des sessions PHP.
+ En revanche, il faut noter que le formulaire d'authentification n'est pas
+ protégé contre l'usurpation de mots de passe car les contraintes données
+ dans le cahier des charges ne le permettent pas, dû moins, il n'est pas
+ possible d'utiliser un cryptage efficace (assymétrique) sans modifier le
+ système d'authentification déléguée et sans utiliser une configuration
+ de serveur Web spécifique.
+ Considérez, pour résoudre ce problème, l'emploi sur serveur web sécurisé
+ (HTTPS) et l'utilisation d'une liaison entre le serveur web et le serveur
+ d'authentification au travers d'un réseau de confiance.
+\end_layout
+
+\begin_layout Section
+Installation
+\end_layout
+
+\begin_layout Standard
+
+\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
+Tout 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 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
+{ // On exécute la ligne ci-dessous que si l'authentificaiton à échouée
+\end_layout
+
+\begin_layout LyX-Code
+
+\lang english
+$errmsg=<fonction_ou_chaine_explicant_l_erreur_d_authentification>;
+\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