summaryrefslogtreecommitdiff
path: root/appli_3_alpha_old/doc/README.txt
blob: b82577d2f8f1c99b3a74c8e23687c383588b45fc (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
AWOR - Fichier Lisez-moi de l'administrateur

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

3 Installation



3.1 <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.2 <sub:Initialisation-de-la-bd>Initialisation de la base

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

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 )

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