Subversion Repositories Applications.annuaire

Rev

Rev 5 | Rev 11 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 5 Rev 7
Line 11... Line 11...
11
* @link      /doc/annuaire/
11
* @link      /doc/annuaire/
12
*/
12
*/
Line 13... Line 13...
13
 
13
 
Line -... Line 14...
-
 
14
class AnnuaireControleur extends Controleur {
14
class AnnuaireControleur extends Controleur {
15
 
15
 
16
 
16
	/**
17
	/**
17
	 * (fonction héritée de la classe Controleur)
18
	 * (fonction héritée de la classe Controleur)
18
	 * Avant chaque chargement de vue, on ajoute l'url de la page dans
19
	 * Avant chaque chargement de vue, on ajoute l'url de la page dans
Line 29... Line 30...
29
	 * Fonction affichant la vue par défaut, ici le menu principal
30
	 * Fonction affichant la vue par défaut, ici le menu principal
30
	 * @return String la vue contenant le menu
31
	 * @return String la vue contenant le menu
31
	 */
32
	 */
32
	public function index() {
33
	public function index() {
33
		$data = array();
34
		$data = array();
34
		$this->chargerVue('index_annuaire', $data);
35
		$index_annuaire = $this->getVue('index_annuaire', $data);
Line 35... Line 36...
35
 
36
 
36
		return $this->index_annuaire;
37
		return $index_annuaire;
Line 37... Line 38...
37
	}
38
	}
Line 38... Line 39...
38
 
39
 
Line 44... Line 45...
44
	 */
45
	 */
45
	public function chargerListeAnnuaire() {
46
	public function chargerListeAnnuaire() {
46
		$this->chargerModele('AnnuaireModele');
47
		$this->chargerModele('AnnuaireModele');
47
		$data['erreurs'] = null;
48
		$data['erreurs'] = null;
48
		$data['annuaires'] = $this->AnnuaireModele->chargerListeAnnuaire();
49
		$data['annuaires'] = $this->AnnuaireModele->chargerListeAnnuaire();
49
		$this->chargerVue('liste_annu', $data);
50
		$liste_annu = $this->getVue(config::get('chemin_squelettes_annuaires').'liste_annu', $data);
Line 50... Line 51...
50
 
51
 
51
		return $this->liste_annu;
52
		return $liste_annu;
Line 52... Line 53...
52
	}
53
	}
53
 
54
 
54
	/**
55
	/**
Line 60... Line 61...
60
		$this->chargerModele('AnnuaireModele');
61
		$this->chargerModele('AnnuaireModele');
61
		$this->chargerModele('MetadonneeModele');
62
		$this->chargerModele('MetadonneeModele');
62
		$data['erreurs'] = array();
63
		$data['erreurs'] = array();
63
		$data['annuaire'] = $this->AnnuaireModele->chargerAnnuaire($id, true);
64
		$data['annuaire'] = $this->AnnuaireModele->chargerAnnuaire($id, true);
64
		$data['metadonnees'] = $this->MetadonneeModele->chargerListeMetadonneeAnnuaire($id);
65
		$data['metadonnees'] = $this->MetadonneeModele->chargerListeMetadonneeAnnuaire($id);
65
		$this->chargerVue('annuaire', $data);
66
		$annuaire = $this->getVue(config::get('chemin_squelettes_annuaires').'annuaire', $data);
Line 66... Line 67...
66
 
67
 
67
		return $this->annuaire;
68
		return $annuaire;
Line 68... Line 69...
68
	}
69
	}
69
 
70
 
70
	/**
71
	/**
71
	 * Charge et affiche la liste des inscrits à un annuaire donné en paramètre
72
	 * Charge et affiche la liste des inscrits à un annuaire donné en paramètre
72
	 * @param $id int l'identifiant de l'annuaire
73
	 * @param $id int l'identifiant de l'annuaire
73
	 * @return string la vue contenant les inscrits à l'annuaire
74
	 * @return string la vue contenant les inscrits à l'annuaire
Line 74... Line 75...
74
	 */
75
	 */
75
	public function chargerAnnuaireListeInscrits($id) {
76
	public function chargerAnnuaireListeInscrits($id, $numero_page = 1, $taille_page = 50) {
76
 
77
 
77
		$this->chargerModele('AnnuaireModele');
78
		$this->chargerModele('AnnuaireModele');
-
 
79
		$data['erreurs'] = array();
-
 
80
		$data['champs'] = $this->obtenirChampsMappageAnnuaire($id);
78
		$data['erreurs'] = array();
81
		$data['annuaire'] = $this->AnnuaireModele->chargerAnnuaireListeInscrits($id, $data['champs'][0], $numero_page, $taille_page);
Line 79... Line 82...
79
		$champs = $this->obtenirChampsMappageAnnuaire($id);
82
		$data['pagination'] = array('numero_page' => $numero_page, 'taille_page' => $taille_page);
80
		$data['annuaire'] = $this->AnnuaireModele->chargerAnnuaireListeInscrits($id, $champs[0], 1);
83
 
Line 81... Line 84...
81
		$this->chargerVue('annuaire_inscrits', $data);
84
		$annuaires_inscrits = $this->getVue(config::get('chemin_squelettes_annuaires').'annuaire_inscrits', $data);
Line 82... Line 85...
82
 
85
 
Line 109... Line 112...
109
			$donnees['champs'][$nom_champ] = $this->afficherFormulaireChampMetadonnees($id_champ,$metadonnee);
112
			$donnees['champs'][$nom_champ] = $this->afficherFormulaireChampMetadonnees($id_champ,$metadonnee);
110
		}
113
		}
Line 111... Line 114...
111
 
114
 
112
		// le nom du formulaire d'inscription est le même que le code de l'annuaire
115
		// le nom du formulaire d'inscription est le même que le code de l'annuaire
-
 
116
		// TODO: réfléchir à une meilleure manière de stocker ça
113
		// TODO: réfléchir à une meilleure manière de stocker ça
117
		// Générer un fichier s'il n'existe pas ? et ensuite le lire ?
-
 
118
		if(!$this->formulaireExiste($annuaire['informations']['aa_code'])) {
114
		$this->ChargerVue($annuaire['informations']['aa_code'].'_inscription',$donnees);
119
			$formulaire_inscription = $this->genererFormulaireInscription($donnees);
115
 
120
		} else {
-
 
121
			$formulaire_inscription = $this->GetVue(config::get('chemin_squelettes_formulaires').$annuaire['informations']['aa_code'].'_inscription',$donnees);
Line 116... Line 122...
116
		$formulaire_inscription = $annuaire['informations']['aa_code'].'_inscription';
122
		}
117
 
123
 
Line 118... Line 124...
118
		return $this->$formulaire_inscription;
124
		return $formulaire_inscription;
119
	}
125
	}
120
 
126
 
Line 131... Line 137...
131
				$donnees['liste_valeurs'] = $this->OntologieModele->chargerListeOntologie($donnees['amc_ce_ontologie']);
137
				$donnees['liste_valeurs'] = $this->OntologieModele->chargerListeOntologie($donnees['amc_ce_ontologie']);
132
		}
138
		}
133
		$donnees['amc_id_champ'] = $id_champ;
139
		$donnees['amc_id_champ'] = $id_champ;
134
		$this->chargerModele('MetadonneeModele');
140
		$this->chargerModele('MetadonneeModele');
135
		$nom__type_champ = $this->MetadonneeModele->renvoyerCorrespondanceNomTemplateChamp($donnees['amc_ce_type_affichage']);
141
		$nom__type_champ = $this->MetadonneeModele->renvoyerCorrespondanceNomTemplateChamp($donnees['amc_ce_type_affichage']);
136
		return $this->getVue($nom__type_champ,$donnees);
142
		return $this->getVue(config::get('chemin_squelettes_champs').$nom__type_champ,$donnees);
137
	}
143
	}
Line 138... Line 144...
138
 
144
 
Line 139... Line 145...
139
/**-------- Fonctions d'inscription -------------------------------------------------------------------------------*/
145
/**-------- Fonctions d'inscription -------------------------------------------------------------------------------*/
140
 
146
 
141
	/**
147
	/**
142
	 * Lors d'une tentative d'inscription, ajoute une les infos dans la tables d'inscription
148
	 * Lors d'une tentative d'inscription, ajoute les infos dans la table d'inscription
143
	 * temporaire et envoie le mail contenant le lien de confirmation si tout s'est bien passé
149
	 * temporaire et envoie le mail contenant le lien de confirmation si tout s'est bien passé
144
	 * @param Array $valeurs les valeurs à ajouter
150
	 * @param Array $valeurs les valeurs à ajouter
145
	 * @return string la vue contenant la confirmation de l'inscription
151
	 * @return string la vue contenant la confirmation de l'inscription
Line 146... Line 152...
146
	 */
152
	 */
147
	public function ajouterInscriptionTemporaire($valeurs) {
153
	public function ajouterInscriptionTemporaire($valeurs) {
-
 
154
 
Line 148... Line 155...
148
 
155
		$this->chargerModele('MetadonneeModele');
149
		$this->chargerModele('MetadonneeModele');
156
		$id_annuaire = $valeurs['aa_id_annuaire'];
Line 150... Line 157...
150
		$id_annuaire = $valeurs['aa_id_annuaire'];
157
		unset($valeurs['aa_id_annuaire']);
151
 
158
 
-
 
159
		$tableau_mappage = $this->obtenirChampsMappageAnnuaire($id_annuaire);
-
 
160
		$valeurs_mappees = array();
152
		$tableau_mappage = $this->obtenirChampsMappageAnnuaire($id_annuaire);
161
 
153
		$valeurs_mappees = array();
162
		// on itère sur le tableau de valeur pour récupérer les champs de mappage;
154
 
163
		foreach($valeurs as $nom_champ => $valeur) {
-
 
164
 
-
 
165
 
-
 
166
			// pour chaque valeur
-
 
167
			// on extrait l'id du champ
-
 
168
			$ids_champ = mb_split("_",$nom_champ, 3);
-
 
169
 
-
 
170
			if(count($ids_champ) == 3) {
-
 
171
 
-
 
172
				$type = $ids_champ[0];
-
 
173
				$id_champ = $ids_champ[2];
155
		// on itère sur le tableau de valeur pour récupérer les champs de mappage;
174
				$confirmation = $valeurs[$type.'_'.$id_champ];
-
 
175
 
-
 
176
			} else {
-
 
177
				$type = $ids_champ[0];
-
 
178
				$confirmation = false;
Line 156... Line 179...
156
		foreach($valeurs as $nom_champ => $valeur) {
179
				$id_champ = $ids_champ[1];
157
			// pour chaque valeur
180
			}
Line 158... Line 181...
158
			// on extrait l'id du champ
181
 
159
			$ids_champ = mb_split("_",$nom_champ);
182
			// on fait des vérifications et des remplacements sur certaines valeurs
160
			$id_champ = $ids_champ[count($ids_champ) - 1];
183
			$valeurs[$nom_champ] = $this->verifierEtRemplacerValeurChamp($type,$valeur,$confirmation);
161
 
184
 
162
			// Si le champ fait partie des champs mappés
185
			// Si le champ fait partie des champs mappés
163
			$cle_champ = array_search($id_champ, $tableau_mappage[1]);
186
			$cle_champ = array_search($id_champ, $tableau_mappage[1]);
Line 164... Line 187...
164
 
187
 
165
			if($cle_champ) {
188
			if($cle_champ) {
166
				// on ajoute sa clé correspondante dans le tableau des champs mappés
189
				// on ajoute sa clé correspondante dans le tableau des champs mappés
167
				// qui sont les champs à vérifier
190
				// qui sont les champs à vérifier
168
				$valeurs_mappees[$ids_champ] = $valeur;
191
				$valeurs_mappees[$cle_champ] = $valeur;
169
			}
192
			}
Line 170... Line 193...
170
		}
193
		}
Line 171... Line 194...
171
 
194
 
172
		// vérification des champs minimaux : nom, prénom, mail, mot de passe
195
		// vérification des champs minimaux : nom, prénom, mail, mot de passe
173
		// TODO: des champs minimaux différents pour chaque annuaire ? comment les stocke t'on ?
196
		// TODO: des champs minimaux différents pour chaque annuaire ? comment les stocke t'on ?
174
		/*if($erreurs = $this->verifierErreursChamps($id_annuaire,$valeurs_mappees, $tableau_mappage)) {
197
		if($erreurs = $this->verifierErreursChamps($id_annuaire,$valeurs_mappees, $tableau_mappage)) {
175
			$valeurs['erreurs'] = $erreurs;
198
			$valeurs['erreurs'] = $erreurs;
176
			return $this->afficherFormulaireInscription($id_annuaire, $valeurs);
199
			return $this->afficherFormulaireInscription($id_annuaire, $valeurs);
177
		}*/
200
		}
Line 178... Line 201...
178
 
201
 
179
		$code_confirmation = $this->InsererDansTableTemporaireEtcreerCodeConfirmationInscription($valeurs);
202
		$code_confirmation = $this->InsererDansTableTemporaireEtCreerCodeConfirmationInscription($valeurs);
180
 
203
 
Line 203... Line 226...
203
 
226
 
204
		$id_annuaire = $valeurs['aa_id_annuaire'];
227
		$id_annuaire = $valeurs['aa_id_annuaire'];
Line 205... Line 228...
205
		unset($valeurs['aa_id_annuaire']);
228
		unset($valeurs['aa_id_annuaire']);
206
 
-
 
207
		$this->chargerModele('MetadonneeModele');
-
 
-
 
229
 
208
		// TODO: faire un tri par l'id ou selon autre critère pour séparer champs
230
		$this->chargerModele('MetadonneeModele');
Line 209... Line 231...
209
		// normaux des meta champs
231
 
Line 210... Line 232...
210
		$tableau_mappage = $this->obtenirChampsMappageAnnuaire($id_annuaire);
232
		$tableau_mappage = $this->obtenirChampsMappageAnnuaire($id_annuaire);
Line 296... Line 318...
296
			$valeur = $tableau_valeurs[$nom_champ] ;
318
			$valeur = $tableau_valeurs[$nom_champ] ;
297
			$tableau_valeurs[$cle] = $valeur;
319
			$tableau_valeurs[$cle] = $valeur;
298
			unset($tableau_valeurs[$nom_champ]);
320
			unset($tableau_valeurs[$nom_champ]);
299
		}
321
		}
Line 300... Line -...
300
 
-
 
301
		//print_r($tableau_valeurs);
-
 
302
 
322
 
303
		$this->chargerModele('MetadonneeModele');
323
		$this->chargerModele('MetadonneeModele');
Line 304... Line 324...
304
		$champs_metadonnees= $this->MetadonneeModele->chargerListeValeursMetadonneesUtilisateur($id_annuaire, $id_utilisateur);
324
		$champs_metadonnees= $this->MetadonneeModele->chargerListeValeursMetadonneesUtilisateur($id_annuaire, $id_utilisateur);
305
 
-
 
Line -... Line 325...
-
 
325
 
-
 
326
		$donnees['champs'] =  array_merge($tableau_valeurs, $champs_metadonnees);
306
		$donnees['champs'] =  array_merge($tableau_valeurs, $champs_metadonnees);
327
 
307
		$this->chargerVue('annuaire_tela_inscrits_fiche',$donnees);
328
		$annuaire_inscrits = $this->getVue(config::get('chemin_squelettes_fiches').'annuaire_tela_inscrits_fiche',$donnees);
Line 308... Line 329...
308
 
329
 
309
		return $this->annuaire_tela_inscrits_fiche;
330
		return $annuaire_inscrits;
310
	}
331
	}
Line 324... Line 345...
324
 
345
 
325
		$base_url->setVariableRequete('m','annuaire_inscription_confirmation');
346
		$base_url->setVariableRequete('m','annuaire_inscription_confirmation');
Line 326... Line 347...
326
		$base_url->setVariableRequete('id',$code_confirmation_inscription);
347
		$base_url->setVariableRequete('id',$code_confirmation_inscription);
327
 
348
 
Line -... Line 349...
-
 
349
		$donnees = array('nom' => $nom, 'prenom' => $prenom, 'lien_confirmation_inscription' => $base_url->getURL());
-
 
350
		$contenu_mail = $this->getVue(config::get('chemin_squelettes_mails').'mail_confirmation_inscription',$donnees);
-
 
351
 
-
 
352
		 // Pour envoyer un mail HTML, l'en-tête Content-type doit être défini
-
 
353
	     $entetes  = 'MIME-Version: 1.0' . "\r\n";
-
 
354
	     $entetes .= 'Content-type: text/html; charset='.Config::get('appli_encodage'). "\r\n";
-
 
355
	     // En-têtes additionnels
328
		$donnees = array('nom' => $nom, 'prenom' => $prenom, 'lien_confirmation_inscription' => $base_url->getURL());
356
	     $entetes .= 'To: '.$adresse_mail."\r\n";
Line 329... Line 357...
329
		$contenu_mail = $this->getVue('mail_confirmation_inscription',$donnees);
357
	     $entetes .= 'From: '.Config::get('adresse_mail_annuaire')."\r\n";
Line 330... Line 358...
330
 
358
 
331
		return mail($adresse_mail,'Inscription au site Tela Botanica',$contenu_mail);
359
		return mail($adresse_mail,'Inscription au site Tela Botanica',$contenu_mail, $entetes);
332
 
360
 
333
	}
361
	}
334
 
362
 
335
	/**
363
	/**
336
	 * Insère les données dans la table d'inscription temporaire et crée un code de confirmation (à insérer dans le mail)
364
	 * Insère les données dans la table d'inscription temporaire et crée un code de confirmation (à insérer dans le mail)
Line 337... Line 365...
337
	 * @param Array $valeurs les valeurs à insérer
365
	 * @param Array $valeurs les valeurs à insérer
Line 387... Line 415...
387
	 */
415
	 */
388
	private function verifierErreursChamps($id_annuaire, $valeurs, $tableau_mappage) {
416
	private function verifierErreursChamps($id_annuaire, $valeurs, $tableau_mappage) {
Line 389... Line 417...
389
 
417
 
Line 390... Line -...
390
		$erreurs = false;
-
 
391
 
-
 
392
		$champ_mail = '16';
-
 
393
		$champ_prenom = '7';
-
 
Line 394... Line 418...
394
		$champ_nom = '1';
418
		$erreurs = false;
395
		$champ_pass = '11';
419
 
396
 
420
 
Line 397... Line 421...
397
		if(!$this->mailValide($valeurs[$tableau_mappage[0]['champ_mail']])) {
421
		if(!$this->mailValide($valeurs['champ_mail'])) {
398
			$erreurs['text_'.$tableau_mappage[1]['champ_mail']] = 'mail invalide';
-
 
399
		}
-
 
400
 
422
			$erreurs['text_'.$tableau_mappage[1]['champ_mail']] = 'mail invalide';
401
		if(trim($valeurs['pass_'.$tableau_mappage[0]['champ_mail']]) != ''
423
		}
402
		|| trim($valeurs['pass_conf'.$tableau_mappage[1]['champ_mail']]) != '') {
-
 
403
 
-
 
404
			if($valeurs['pass_'.$champ_pass] =! $valeurs['pass_conf_'.$champ_pass]) {
424
 
Line 405... Line 425...
405
				$erreurs['pass_'.$tableau_mappage[1]['champ_mail']] = 'mot de passe invalide';
425
		if(trim($valeurs['pass']) == ''
406
			}
426
		|| $valeurs['pass_conf'] != $valeurs['pass']) {
407
 
427
				$erreurs['pass_'.$tableau_mappage[1]['champ_pass']] = 'mot de passe invalide';
Line 408... Line 428...
408
		}
428
		}
409
 
429
 
410
		if(trim($valeurs['text_'.$tableau_mappage[0]['champ_mail']]) == '') {
430
		if(trim($valeurs['champ_nom']) == '') {
Line 411... Line 431...
411
			$erreurs['text_'.$tableau_mappage[1]['champ_mail']] = 'le nom est obligatoire';
431
			$erreurs['text_'.$tableau_mappage[1]['champ_prenom']] = 'le nom est obligatoire';
412
		}
432
		}
Line -... Line 433...
-
 
433
 
-
 
434
		if(trim($valeurs['champ_prenom']) == '') {
-
 
435
			$erreurs['text_'.$tableau_mappage[1]['champ_nom']] = 'le prénom est obligatoire';
-
 
436
		}
-
 
437
 
-
 
438
		return $erreurs;
-
 
439
	}
-
 
440
 
-
 
441
	private function verifierEtRemplacerValeurChamp($type, $valeur) {
-
 
442
 
-
 
443
		$valeur_modifiee = $valeur;
-
 
444
 
-
 
445
		switch($type) {
-
 
446
 
-
 
447
			// cas du champ texte, à priori, rien de particulier
-
 
448
			case 'text':
-
 
449
				$valeur_modifiee = $valeur;
-
 
450
			break;
-
 
451
 
-
 
452
			// cas du champ password : on le crypte
-
 
453
			case 'password':
-
 
454
				$valeur_modifiee = $this->encrypterMotDePasse($valeur);
-
 
455
			break;
-
 
456
 
-
 
457
			// cas du champ checkbox
-
 
458
			case 'checkbox':
-
 
459
				// Si c'est un groupe checkbox, alors c'est une liste de checkbox liée à une ontologie
-
 
460
				if(is_array($valeur)) {
-
 
461
					// on stocke les valeurs d'ontologies liées au cases cochées
-
 
462
					$valeur_modifiee = implode(Config::get('separateur_metadonnee'), array_keys($valeur));
-
 
463
				} else {
-
 
464
					// sinon on stocke 1 pour indique que la case est cochée (cas de la checkbox oui/non)
-
 
465
					$valeur_modifiee = 1;
-
 
466
				}
-
 
467
			break;
-
 
468
 
413
 
469
			default:
414
		if(trim($valeurs['text_'.$tableau_mappage[0]['champ_mail']]) == '') {
470
				$valeur_modifiee = $valeur;
415
			$erreurs['text_'.$tableau_mappage[1]['champ_mail']] = 'le prénom est obligatoire';
471
			break;
416
		}
472
		}
417
 
473
 
418
		return $erreurs;
474
		return $valeur_modifiee;
419
	}
475
	}
Line 420... Line 476...
420
 
476
 
421
	/**
477
	/**
-
 
478
	 * Renvoie vrai ou faux suivant qu'un mail donné en paramètre est syntaxiquement valide (ne vérifie pas l'existence
-
 
479
	 * de l'adresse)
-
 
480
	 * @param string $mail le mail à tester
-
 
481
	 * @return boolean vrai ou faux suivant que le mail est valide ou non
-
 
482
	 */
-
 
483
	private function mailValide($mail) {
-
 
484
 
-
 
485
		$regexp_mail = '/^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$/';
-
 
486
		return preg_match($regexp_mail, $mail);
-
 
487
 
-
 
488
	}
-
 
489
 
-
 
490
	/**
-
 
491
	 * Renvoie un mot de passe crypté selon la fonction d'encryptage définie dans le fichier de configuration
-
 
492
	 * (si celle-ci n'existe pas on utilise une fonction par défaut)
-
 
493
	 * @param string $pass le mot de passe à encrypter
-
 
494
	 * @return string le mot de passe encrypté
-
 
495
	 */
-
 
496
	private function encrypterMotDePasse($pass) {
-
 
497
 
-
 
498
		$fonction = Config::get('pass_crypt_fonct');
-
 
499
 
-
 
500
		if(function_exists($fonction)) {
-
 
501
			return $fonction($pass);
-
 
502
		} else {
-
 
503
			return md5($pass);
-
 
504
		}
-
 
505
	}
-
 
506
 
-
 
507
	/**
-
 
508
	 * Renvoie le formulaire demandé s'il existe, sinon faux
-
 
509
	 * @param string $nom_formulaire le nom du formulaire demandé (qui est normalement le code d'un annuaire)
-
 
510
	 * @return boolean true si le formulaire existe, false sinon
-
 
511
	 */
-
 
512
	private function formulaireExiste($nom_formulaire) {
-
 
513
 
-
 
514
	  //echo Config::get('chemin_squelettes_formulaires').$nom_formulaire.'_inscription.tpl.html';
-
 
515
		return file_exists(Config::get('chemin_squelettes').Config::get('chemin_squelettes_formulaires').$nom_formulaire.'_inscription.tpl.html');
-
 
516
	}
-
 
517
 
-
 
518
	/**
-
 
519
	 * Renvoie un formulaire d'inscription minimal auto-généré
-
 
520
	 * @param string $donnees les donnée à inclure dans le formulaire
-
 
521
	 * @return string la vue contenant le formulaire généré
-
 
522
	 */
Line -... Line 523...
-
 
523
	private function GenererFormulaireInscription($donnees) {
422
	 * Renvoie vrai ou faux suivant qu'un mail donné en paramètre est syntaxiquement valide (ne vérifie pas l'existence
524
 
423
	 * de l'adresse)
525
		$formulaire_modele = $this->getVue(config::get('chemin_squelettes_formulaires').'inscription',$donnees);
424
	 * @param string $mail le mail à tester
526