Next Previous Contents

2. Architecture du site

2.1 Organisation des répertoires

Les répertoires dans Mmmm !!! correspondent à un découpage logique de l'application. On trouve dans les répertoires nommés scripts les fichiers php3. Les répertoires icones contiennent les fichiers images (gif, jpeg, png) et les répertoires cfg sont réservés aux fichiers de configuration (en php3). Dans la sous-arborescence admin on trouvera les fichiers html et les scripts php3 relatifs à l'administration du site par le Web. Le répertoire css contient les feuilles de style HTML utilisées par les pages du site.

2.2 Types de fichiers

Tous les fichiers php3 contenant des classes (une classe par fichier) ont le préfixe class_. Ex : class_bd.php3 contient la classe BD qui regroupe toutes les instructions relatives à l'utilisation de la base de données.

Les fichiers qui contiennent des fonctions en vrac (sans formalisme objet) ont un nom commençant par lib_. Ex : lib_misc.php3 contient des fonctions faisant des choses diverses et variées.

Tous les fichiers qui font de l'affichage HTML ont un nom commençant par script_. Ex : script_search_resto.php3 pour la page de recherche des restos suivant différents critères.

Sécurité...

L'administration du site (ajout, suppression de restos, correction des informations, ...) se fait via le web sur une partie protégée du site. Le répertoire contenant les scripts utiles à l'administrateur est protégé par le mécanisme d'authentification du serveur Apache.

Un fichier .htaccess placé dans le répertoire indique au serveur de demander un login et mot de passe pour entrer dans cette zone. Le couple (login - mot de passe) est ensuite comparé un à un aux logins - mots de passe valides contenus dans le fichier passwd.list du répertoire admin/passwd.

Le fichier .htaccess contient :


PerlSetVar AuthFile /admin/passwd/passwd.list
AuthName "Acces Restreint"
AuthType Basic

<Limit GET POST>
require valid-user
</Limit>

Le fichier passwd.list contient un couple login/mot de passe par ligne séparé par un signe ``:''. Ex :
admin:system
scott:tiger

Avec ce principe, pas de gestion personnalisée de profil ou de session. On différencie uniquement l'utilisateur lambda et l'administrateur.


Next Previous Contents