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 quelque soit la valeur du paramètre de configuration register_globals, utilise les sessions via les fonctions introduites en PHP4. L’application fonctionne quelque soit la verbosité des affichages d’erreur et de warning PHP, car nous avons travaillé à éliminer tous les messages ﹤﹤ 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 3.3.
Cette application a été développée en gardant toujours à l’esprit les problèmes de sécurités. Nous ne pouvons évidemment pas la garantir failles ni bugs, mais nous sommes fixé des règles de programmation pour éviter les failles les plus courantes. Toutes les données issue de l’utilisateur lors des traitements des pages web sont traitées pour éviter des problèmes d’insertion de code dans les requetes SQL. L’authentification des utilisateurs est systématique, vérifiée à chaque page et repose sur le système des sessions PHP. En revanche, il faut noter que le formulaire d’authentification n’est pas protégé contre l’usurpation de mots de passe car les contraintes données dans le cahier des charges ne le permettent pas, dû moins, il n’est pas possible d’utiliser un cryptage efficace (assymétrique) sans modifier le système d’authentification déléguée et sans utiliser une configuration de serveur Web spécifique. Considérez, pour résoudre ce problème, l’emploi sur serveur web sécurisé (HTTPS) et l’utilisation d’une liaison entre le serveur web et le serveur d’authentification au travers d’un réseau de confiance.
L’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.
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.
Tout 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 ﹥﹥.
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 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.
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 3.2.
À 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...
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 :
/* Eventuellement du code préléminaire */
$auth_is_ok=<fonction_ou_variable_authentification>;
if ( ! $auth_is_ok )
{ // On exécute la ligne ci-dessous que si l’authentificaiton à échouée
$errmsg=<fonction_ou_chaine_explicant_l_erreur_d_authentification>;
}
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﹥﹥.