summaryrefslogtreecommitdiff
path: root/final/install/READ_ME.txt
blob: 34046adecc870b86c4220c233ddfa34166dc8c9e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
AWOR - Fichier Lisez-moi de l'administrateur

Table des Matières

    1 Compatibilit�
    2 S�curit�
    3 Installation
        3.1 D�paquetage des pages PHP
        3.2 Param�tres de configuration
        3.3 Initialisation de la base
        3.4 Configuration par d�faut des comptes
    4 Maintenance
        4.1 Visualisation des objets et des fichiers
        4.2 Nettoyage de la base
    5 Authentification d�di�e - Personnalisation






1 Compatibilit�

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 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 "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 [sub:Initialisation-de-la-bd].

2 S�curit�

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.

3 Installation

3.1 D�paquetage des pages PHP

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.

3.2 <sub:Configuration>Param�tres de configuration

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.

  connect.inc.php : ce fichier contient les coordonn�es 
  du serveur MySQL, de l'utilisateur SQL et de la base 
  que l'application utilisera.

  config.inc.php : 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 ! Toutes les constantes sont 
  d�crites ci-dessous.

  $adminMail : adresse e-mail de l'administrateur. 
    Affich�e � l'utilisateur lorsque qu'une erreur 
    interne � l'application s'est produite.

  $automatedMail : adresse e-mail de r�ponse des 
    courriels envoy�s automatiquement par l'application.

  AUTH : Param�tres d'authentification

    POP : Param�tres pour les serveurs mail POP

      SERVERS : 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

        subdomain : adresse complete du serveur offrant 
          le service POP

        port : num�ro de port TCP utilis� pour se 
          connecter au service POP

        username_is_full_mail : 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)

    bypass_if_local : Bool�en indiquant si 
      l'authentification doit �tre outrepass�e si la 
      connexion s'effectue depuis le serveur lui-m�me.

  CSS : Param�tres des styles de pages

    CHOOSER_LIST : 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.

  MAIL :

    TEMPLATES : 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 :

      caption : Intitul� qui sera affich� � l'utilisateur

      tpl_file : Nom du fichier (avec l'extension PHP) 
        contenant le mod�le.

  SUPERUSERS : Ce tableau contient la liste des login 
    des super-utilisateurs (ceux qui ont le droit de 
    supprimer des r�unions)

  UPLOAD : Param�tres concernant l'attachement de 
    fichiers aux r�unions

    accepted_files : Tableau des extensions qui sont autoris�es.

3.3 <sub:Initialisation-de-la-bd>Initialisation de la base

Tous 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".

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 "RAZBase.php" 
pourrait �tre lanc� par n'importe qui, et les fichiers 
SQL contienent des informations sensibles.

3.4 Configuration par d�faut des comptes

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 n'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.

4 Maintenance

4.1 Visualisation des objets et des fichiers

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 [sub:Configuration].

4.2 Nettoyage de la base

� 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...

5 Authentification d�di�e - Personnalisation

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 :

case '<nom_auth>':

/* Eventuellement du code pr�l�minaire */

$auth_is_ok=<fonction_ou_variable_authentification>;

if ( ! $auth_is_ok )

{ // Si l'authentificaiton � �chou�e

$errmsg=<fonction_ou_chaine_explicant_l_erreur>;

}

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".