Subversion Repositories eFlore/Archives.cel-v2

Rev

Rev 9 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 9 Rev 49
Line 1... Line 1...
1
package org.tela_botanica.client.observation;
1
package org.tela_botanica.client.observation;
Line 2... Line -...
2
 
-
 
3
 
-
 
-
 
2
 
4
 
3
 
5
 
4
import java.util.Iterator;
-
 
5
import org.tela_botanica.client.CarnetEnLigneMediateur;
6
import org.tela_botanica.client.CarnetEnLigneMediateur;
6
import org.tela_botanica.client.interfaces.FournisseurListe;
7
import org.tela_botanica.client.interfaces.iMediateur;
7
import org.tela_botanica.client.interfaces.Rafraichissable;
-
 
8
import org.tela_botanica.client.modeles.ListeObservation;
-
 
9
import org.tela_botanica.client.modeles.Observation;
Line -... Line 10...
-
 
10
import org.tela_botanica.client.vues.FormulaireSaisieObservationVue;
8
import org.tela_botanica.client.interfaces.iRetourObservation;
11
import org.tela_botanica.client.vues.ListeObservationVue;
-
 
12
 
9
import org.tela_botanica.client.modeles.Observation;
13
import com.gwtext.client.data.ArrayReader;
-
 
14
import com.gwtext.client.data.FieldDef;
-
 
15
import com.gwtext.client.data.MemoryProxy;
10
 
16
import com.gwtext.client.data.RecordDef;
11
import com.google.gwt.user.client.Window;
-
 
12
import com.google.gwt.user.client.ui.RootPanel;
17
import com.gwtext.client.data.Store;
13
import com.google.gwt.user.client.ui.VerticalPanel;
-
 
Line -... Line 18...
-
 
18
import com.gwtext.client.data.StringFieldDef;
-
 
19
import com.gwtext.client.widgets.Panel;
-
 
20
import com.gwtext.client.widgets.TabPanel;
-
 
21
 
-
 
22
/**
-
 
23
 * Mediateur gérant les interactions entre vues et les echanges de données
-
 
24
 * C'est un singleton. 
-
 
25
 * @author aurelien
-
 
26
 *
-
 
27
 */
-
 
28
public class ObservationMediateur implements Rafraichissable {
-
 
29
	
-
 
30
	/**
-
 
31
	 * booleen qui verifie l'unicite de l'instance (donc static)
-
 
32
	 */
-
 
33
	private static boolean estInstancie = false ;  
-
 
34
	
-
 
35
	/** Mediateur general de l'application carnet en ligne
-
 
36
	 * 
-
 
37
	 * 
-
 
38
	 */
-
 
39
	
14
 
40
	private CarnetEnLigneMediateur carnetEnLigneMediateur = null ;
-
 
41
	
-
 
42
	
-
 
43
	/**
-
 
44
	 * modele de données
-
 
45
	 */
-
 
46
	private ObservationModele observationModele = null ;
-
 
47
	
-
 
48
	
-
 
49
	/**
-
 
50
	 * panneau principal des Observation (onglet "observation")
-
 
51
	 */
-
 
52
	private final Panel panneauPrincipalObservation = new Panel("Observation");
-
 
53
	
-
 
54
	/**
-
 
55
	 * panneau a onglet pour la liste
-
 
56
	 */ 
-
 
57
	private TabPanel ongletsObservation = null ;
-
 
58
	
-
 
59
	/**
-
 
60
	 * conteneur du panneau a onglets
-
 
61
	 */
-
 
62
	private Panel panneauMenuEtOngletsObservation = null ;
15
public class ObservationMediateur implements iMediateur{
63
	
-
 
64
	/**
-
 
65
	 * liste détaillée des Observations
-
 
66
	 */
-
 
67
	private ListeObservationVue listeObservation = null ;
16
 
68
	
-
 
69
	/**
-
 
70
	 * Saisie des Observations
17
 
71
	 */
-
 
72
	
-
 
73
	private FormulaireSaisieObservationVue formulaireSaisieObservationVue=null;
-
 
74
	/**
-
 
75
	 * l'indice du dernier onglet sélectionné
-
 
76
	 */
-
 
77
	private int dernierIndexOnglet = 0 ; 
-
 
78
	
Line 18... Line -...
18
	// Evenenements
-
 
19
	final static public  int NOMBRE_OBSERVATION=1;
-
 
20
 
-
 
21
	final static public  int LISTE_OBSERVATION=2;
-
 
22
	
-
 
23
	
-
 
24
	private CarnetEnLigneMediateur carnetEnLigneMediateur=null;  // Mediateur General
-
 
Line -... Line 79...
-
 
79
	/**
-
 
80
	 * booleen explicitant s'il y a une selection en cours
-
 
81
	 */
-
 
82
	private boolean selection = false ;
-
 
83
	
-
 
84
	
25
	private final ObservationModele observationModele=new ObservationModele();
85
 
-
 
86
	/**
-
 
87
	 * 
-
 
88
	 * Numéro de page en cours
-
 
89
	 */
-
 
90
	private int pageEncours = 0 ;
-
 
91
	/**
-
 
92
	 * Nombre de pages totales
-
 
93
	 */
-
 
94
	private int pageMax = 1 ;
-
 
95
	/**
-
 
96
	 * Taille de page (par défaut 20)
-
 
97
	 */
-
 
98
	private int taillePage = 20 ;
-
 
99
	/**
-
 
100
	 * Nombre d'éléments total correspondant à la requete
-
 
101
	 */
Line -... Line 102...
-
 
102
	private int nbElements = 0 ;
-
 
103
	
-
 
104
	
-
 
105
	/**
26
 
106
	 * Le store contenant les données à afficher, que le modèle transmet au médiateur quand il le demande
-
 
107
	 */
-
 
108
	private Store st = null ;
27
	private Observation observation=null; 
109
	
-
 
110
	
-
 
111
	
-
 
112
	
-
 
113
	/**
-
 
114
	 * La liste des observations affichées en cours (verifier utilité)
-
 
115
	 */
-
 
116
	
-
 
117
	private ListeObservation cacheObservation = new ListeObservation(0) ;
-
 
118
	/**
28
 
119
	
-
 
120
	
-
 
121
	
-
 
122
	/**
-
 
123
	 * constructeur privé (on accède a la classe par la méthode getInstance
-
 
124
	 */
-
 
125
	
-
 
126
	
Line 29... Line -...
29
	// Variable interne 
-
 
Line -... Line 127...
-
 
127
	private ObservationMediateur(CarnetEnLigneMediateur carnetEnLigneMediateur )
-
 
128
	{
-
 
129
		this.carnetEnLigneMediateur=carnetEnLigneMediateur;
30
	private final String texteDeconnexion="Utilisez ce carnet en ligne pour saisir vos observations, <u>identifiez-vous</u> pour les transmettre à Tela Botanica"; 
130
	
-
 
131
	
-
 
132
		
-
 
133
		// Demande d'identification
-
 
134
//		afficherMenuId() ;
-
 
135
 
-
 
136
		
-
 
137
		// on crée un modèle
-
 
138
		observationModele = ObservationModele.Instance(this);
-
 
139
		
-
 
140
		
-
 
141
		// on gère la mise en page du panneau principal
-
 
142
		//panneauPrincipalObservation.setLayout(new BorderLayout());
-
 
143
		
-
 
144
		// on crée le panneau qui contient les differentes onglets ainsi que le menu supérieur
-
 
145
	//	panneauMenuEtOngletsObservation = new Panel("gg") ;
31
 
146
	//	panneauMenuEtOngletsObservation.setLayout(new BorderLayout()) ;
Line -... Line 147...
-
 
147
		
-
 
148
		// le panneau à onglet qui contient la vue
-
 
149
		//ongletsObservation = new TabPanel();
-
 
150
		
Line 32... Line -...
32
	// Composants graphiques
-
 
Line -... Line 151...
-
 
151
		
33
	
152
		// la liste des observations
-
 
153
		
-
 
154
		//Panel panneauListeObservation = new Panel("Liste");
-
 
155
		
-
 
156
		listeObservation = new ListeObservationVue(this);
34
	private EtatConnexionVue etatConnexionVue=null; // Vue Etat de la connexion utilisateur
157
		
-
 
158
		
-
 
159
		// Le formulaire de saisie / modification d'observation
-
 
160
		
-
 
161
		formulaireSaisieObservationVue = new FormulaireSaisieObservationVue(this);
Line -... Line 162...
-
 
162
 
-
 
163
		
-
 
164
		//panneauListeObservation.setLayout(new FitLayout());
-
 
165
		//panneauListeObservation.setSize(600,600);
-
 
166
		//panneauListeObservation.add(listeObservation);
35
	private FormulaireDeConnexionVue formulaireDeConnexionVue=null; // Formulaire de connexion utilisateur
167
		
Line 36... Line -...
36
	private ListeObservationsVue listeObservationsVue = null;  // Liste de releves
-
 
Line 37... Line -...
37
 
-
 
Line 38... Line -...
38
    // 
-
 
39
		
-
 
40
	
-
 
41
	public ObservationMediateur(CarnetEnLigneMediateur carnetEnLigneMediateur) {
-
 
42
		
168
		
Line 43... Line -...
43
 
-
 
44
		this.carnetEnLigneMediateur=carnetEnLigneMediateur;
-
 
Line 45... Line 169...
45
		
169
		// on ajoute les panneaux au panneau à onglets
46
		etatConnexionVue=new EtatConnexionVue(this);
-
 
-
 
170
		//ongletsObservation.add(panneauListeObservation);
47
		listeObservationsVue=new ListeObservationsVue(this);
171
		
48
		
-
 
49
		VerticalPanel panel=new VerticalPanel();
172
		
-
 
173
		// les onglets au centre
-
 
174
//		panneauMenuEtOngletsObservation.add(ongletsObservation,regionCentre);
-
 
175
		
-
 
176
		// on ajoute le panneau qui contient le menu et les onglets d'images au centre
-
 
177
		//panneauPrincipalObservation.add(panneauMenuEtOngletsObservation,regionCentre);
-
 
178
		
-
 
179
		panneauPrincipalObservation.add(formulaireSaisieObservationVue);
-
 
180
	
-
 
181
		panneauPrincipalObservation.add(listeObservation);
-
 
182
		
-
 
183
	
-
 
184
	
-
 
185
 
Line 50... Line -...
50
		
-
 
Line -... Line 186...
-
 
186
	}
51
		panel.add(etatConnexionVue);
187
 
-
 
188
 
-
 
189
	/**
-
 
190
	 * Retourne une instance de manière unique
52
	
191
	 * @return l'instance unique du médiateur
Line -... Line 192...
-
 
192
	 */
-
 
193
	public static ObservationMediateur Instance(CarnetEnLigneMediateur carnetEnLigneMediateur)
-
 
194
	{
53
		panel.add(listeObservationsVue);
195
			if(!estInstancie)
Line 54... Line -...
54
	
-
 
55
 
-
 
56
		RootPanel.get().add(panel);
196
			{
57
		
197
				estInstancie = true ;
58
		onInitialisation();
198
				return new ObservationMediateur(carnetEnLigneMediateur) ;
59
		
-
 
60
	}
-
 
Line 61... Line -...
61
 
-
 
62
	
-
 
63
	/// Methodes privees 
-
 
64
 
-
 
65
	/**
-
 
Line 66... Line -...
66
	 * 
-
 
67
	 * Initialisations
199
			}
-
 
200
			else
Line -... Line 201...
-
 
201
			{
Line 68... Line 202...
68
	 * 
202
				return null ;
69
	 */
-
 
70
	
-
 
Line 71... Line -...
71
	private void onInitialisation() {
-
 
72
	
203
				
Line 73... Line 204...
73
	
204
			}
-
 
205
	}
74
		afficheEtatConnexion();
206
	
-
 
207
	
75
		onFiltrageListeObservation("all","all","all");
208
	
76
		
-
 
77
	
-
 
78
	}
209
	/**
79
	
-
 
80
	// Filtre  selection lieu
-
 
81
	
210
	 * envoie au modèle une demande de mise a jour
82
	/**
-
 
83
	 * Action sur selection d'un lieu : affichage de la liste des taxons correspondants au filtrage
211
	 */
84
	 */
-
 
Line -... Line 212...
-
 
212
 
-
 
213
 
85
	
214
	public void obtenirNombreObservation() {
Line -... Line 215...
-
 
215
		
-
 
216
	
-
 
217
			listeObservation.masquerChargement();
-
 
218
		    observationModele.obtenirNombreObservation(this) ;
Line 86... Line 219...
86
	public void onFiltrageListeObservation(String id_loc, String loc,String lieu) {
219
		
-
 
220
	}
87
 
221
	
-
 
222
	/**
88
		// Positionnement Filtre affichage
223
	 * envoie au modèle une demande de mise a jour
89
		listeObservationsVue.setIdLocation(id_loc);
224
	 */
90
		listeObservationsVue.setLocalite(loc);
-
 
Line -... Line 225...
-
 
225
 
-
 
226
 
-
 
227
	public void obtenirListeObservation() {
-
 
228
		
91
		listeObservationsVue.setLieudit(lieu);
229
 
-
 
230
			observationModele.obtenirListeObservation(this, taillePage, pageEncours) ;
-
 
231
		
-
 
232
	}
-
 
233
 
-
 
234
 
-
 
235
	
-
 
236
		
-
 
237
	
-
 
238
	/**
-
 
239
	 * C'est dans cette fonction que doivent être renvoyé les valeurs des filtres
-
 
240
	 * sous forme de tableau [nom, valeur]
-
 
241
	 * @return Les noms et valeurs des filtres
-
 
242
	 */
-
 
243
	public String[][] renvoyerFiltres()
-
 
244
	{
-
 
245
		String[][] valeursFiltres = { {"location","Saint-Martin-de-Londres"} } ;
-
 
246
		
-
 
247
		
-
 
248
		return valeursFiltres ;
-
 
249
	}
-
 
250
 
-
 
251
 
-
 
252
	public String getIdentifiant() {
-
 
253
		
-
 
254
		return carnetEnLigneMediateur.getUtilisateur().getIdentifiant();
-
 
255
	
-
 
256
	}
-
 
257
 
-
 
258
 
-
 
259
	public Panel getPanneauPrincipalObservation() {
-
 
260
		return panneauPrincipalObservation;
-
 
261
	}
-
 
262
	
-
 
263
	
-
 
264
	
Line 92... Line 265...
92
		listeObservationsVue.initialiser();
265
	// TODO : plutot dans la listevu non ?
-
 
266
 
-
 
267
	public void rafraichir(Object nouvelleDonnees, boolean repandreRafraichissement) {
-
 
268
	
-
 
269
		
93
 
270
		
-
 
271
//		 si l'on a reçu une liste d'observation
-
 
272
		if(nouvelleDonnees instanceof ListeObservation)
-
 
273
		{
-
 
274
			
Line 94... Line 275...
94
		// Affichage des filtres
275
				ListeObservation data = (ListeObservation) nouvelleDonnees ;
95
		listeObservationsVue.displayFilter();
276
				Object[][] observationData = new Object[data.size()][8];
-
 
277
				int i = 0 ;
96
 
278
				
-
 
279
				if(data.size() == 0)
97
		
280
				{
98
	}
281
					pageEncours = 0 ;
Line -... Line 282...
-
 
282
				}
-
 
283
				
-
 
284
				// on la parse et on récupère les informations quiç nous interessent
-
 
285
				for (Iterator it = data.keySet().iterator(); it.hasNext();) 
-
 
286
				{
99
	
287
					
-
 
288
					Observation obs=(Observation) data.get(it.next());
-
 
289
					
Line -... Line 290...
-
 
290
					observationData[i][0]= obs.getTransmis();
-
 
291
					observationData[i][1]= obs.getNomSaisi();
-
 
292
					observationData[i][2]= obs.getNomRetenu();
-
 
293
					observationData[i][3]= obs.getLieudit();
-
 
294
					observationData[i][4]= obs.getDate();
-
 
295
					observationData[i][5]= obs.getNumeroOrdre();
-
 
296
					
-
 
297
					
-
 
298
 
-
 
299
					
-
 
300
										
-
 
301
					i++ ;
-
 
302
				}
-
 
303
		
-
 
304
				// creation du store qui les contient
-
 
305
				
-
 
306
				FieldDef defEtatObservation = new StringFieldDef("etat_observation");
-
 
307
				FieldDef defNomSaisiObservation = new StringFieldDef("nomSaisi_observation");
-
 
308
				FieldDef defNomRetenuObservation = new StringFieldDef("nomRetenu_observation");
-
 
309
				FieldDef defLieuObservation = new StringFieldDef("lieu_observation");
-
 
310
				FieldDef defDateObservation = new StringFieldDef("date_observation");
-
 
311
				FieldDef defOrdreObservation = new StringFieldDef("ordre_observation");
-
 
312
				
-
 
313
				// on associe le store
-
 
314
 
-
 
315
				FieldDef[] defTab = { defEtatObservation, defNomSaisiObservation, defNomRetenuObservation,
-
 
316
						defLieuObservation, defDateObservation, defOrdreObservation };
Line 100... Line 317...
100
 
317
				
-
 
318
				RecordDef rd = new RecordDef(defTab);
-
 
319
				
101
 
320
				final MemoryProxy dataProxy = new MemoryProxy(observationData);
-
 
321
				final ArrayReader reader = new ArrayReader(rd);
-
 
322
		
102
 
323
				final Store observationStore = new Store(dataProxy, reader);
-
 
324
				
-
 
325
				
103
	
326
				st = observationStore ;
-
 
327
				st.load() ;
104
	/// UTILISATEUR
328
				
Line 105... Line -...
105
 
-
 
106
	
-
 
-
 
329
				// par défaut le store est trié sur l'ordre d'observations
Line -... Line 330...
-
 
330
				st.sort("ordre_observation") ;
-
 
331
 
-
 
332
			
-
 
333
				// si on doit répandre les données, on notifie le médiateur qui les distribuera à son tour
-
 
334
				if(repandreRafraichissement)
-
 
335
				{
-
 
336
					listeObservation.rafraichir(st, false) ;					
-
 
337
				}
-
 
338
				
-
 
339
		}
-
 
340
		
-
 
341
		
-
 
342
		// Si on reçoit un tableau d'entiers
-
 
343
		// c'est un tableau d'un seul entier qui est le nombre d'observation correspondant aux critères
-
 
344
		if(nouvelleDonnees instanceof int[])
-
 
345
		{
-
 
346
			int[] pages = (int[])nouvelleDonnees ;
-
 
347
			
-
 
348
			// on calcule le nombre de pages nécessaires et on les met à jour dans le modèle
-
 
349
			pageMax  = calculerNbPages(pages[0]) ;
107
	/**
350
			nbElements = pages[0] ;
Line 108... Line 351...
108
	 *  Affichage etat de la connexion
351
			
109
	 */
352
			// et on notifie de le mediateur du changement des valeurs
110
	
353
			changerPageMaxEtCourante(pageMax,pageEncours,taillePage,pages[0]) ;
111
	
354
			
112
	private void afficheEtatConnexion() {
355
			obtenirListeObservation();
113
		 if (!carnetEnLigneMediateur.getUtilisateur().isIdentifie()) {
356
		}
-
 
357
	}
114
			    etatConnexionVue.setEtat(texteDeconnexion,false);
358
	
-
 
359
	
-
 
360
	/**
-
 
361
	 * Met à jour les barre d'outils avec des nouvelles valeurs
-
 
362
	 * @param pageMax le nombre de pages
115
		 }
363
	 * @param pageEncours la page en cours
-
 
364
	 * @param taillePage la taille de page
116
		 else {
365
	 * @param nbElement le nombre d'élements par page
-
 
366
	 */
Line 117... Line 367...
117
		    etatConnexionVue.setEtat(carnetEnLigneMediateur.getUtilisateur().getIdentifiant()+ " (deconnexion)",true);
367
	public void changerPageMaxEtCourante(int pageMax, int pageEncours, int taillePage, int nbElement) 
118
		 }
368
	{
119
		
-
 
120
	}
369
				
121
 
-
 
122
	
370
		int[] pages = {pageMax,pageEncours, taillePage, nbElement} ;
Line -... Line 371...
-
 
371
		listeObservation.getToolBarVue().rafraichir(pages, false) ;
-
 
372
		
-
 
373
	}
-
 
374
	
-
 
375
	
-
 
376
	
-
 
377
	/**
-
 
378
	 * Calcule le nombre de pages nécessaires pour afficher un nombre d'élements donnés en fonction de la taille de page
-
 
379
	 * en cours
-
 
380
	 * @param nbElements le nombre d'élements total
-
 
381
	 * @return le nombre de pages 
123
	/**
382
	 */
-
 
383
	public int calculerNbPages(int nbElements)
-
 
384
	{
-
 
385
		// A cause de la betise de java pour les conversion implicite on fait quelques conversions manuellement
-
 
386
		// pour eviter qu'il arrondisse mal la division
-
 
387
		// nombre de pages = (nombre d'element / taille de la page) arrondie à l'entier superieur
Line 124... Line 388...
124
	 * 
388
		
125
	 * Affichage boite de connexion
389
		double nPage = (1.0*nbElements)/(1.0*taillePage) ; 
126
	 *
-
 
-
 
390
		double nPageRound = Math.ceil(nPage) ;
127
	 */
391
		Double nPageInt = new Double(nPageRound) ;
Line -... Line 392...
-
 
392
		
-
 
393
		// on convertit en entier
Line -... Line 394...
-
 
394
		return nPageInt.intValue() ; 
128
	
395
	}
129
	public void afficherDialogueConnexion() {
-
 
Line 130... Line 396...
130
		
396
 
131
		  // TODO : singleton ? 
397
	
132
		  formulaireDeConnexionVue = new FormulaireDeConnexionVue(this);
-
 
133
 
-
 
134
		  // Position it roughly in the middle of the screen.
-
 
135
		  int left = (Window.getClientWidth() - 512) / 2;
-
 
136
		  int top = (Window.getClientHeight() - 256) / 2;
398
	/**
137
		  formulaireDeConnexionVue.setPopupPosition(left, top);
399
	 * Recalcule la page en cours lors du changement du nombre d'élements
-
 
400
	 * @param nbElements le nombre d'élements total
138
		  formulaireDeConnexionVue.show();
401
	 * @return la nouvelle page encours
139
		
-
 
140
	}
-
 
Line 141... Line -...
141
 
-
 
142
	
402
	 */
Line 143... Line -...
143
	/**
-
 
144
	 * Deconnexion de l'utilisateur en cours 
-
 
145
	 */
-
 
146
	
-
 
147
	public void deconnecterUtilisateur() {
-
 
148
		
-
 
149
	//	carnetEnLigneMediateur.addListener(CarnetEnLigneMediateur.DECONNEXION,this);
-
 
150
		carnetEnLigneMediateur.deconnecterUtilisateur();
-
 
151
	
-
 
152
	}
-
 
153
 
-
 
154
 
-
 
155
	/**
-
 
156
	 * Tentative de connexion utilisateur
-
 
157
	 * @param login
-
 
158
	 * @param password
-
 
Line -... Line 403...
-
 
403
	public int calculerPageCourante(int nbElements)
-
 
404
	{
-
 
405
		// on calcule le nombre de page
-
 
406
		int nouvelNbPages = calculerNbPages(nbElements) ;
-
 
407
		// la nouvelle page en cours
Line 159... Line 408...
159
	 */
408
		double nPageCourante = (1.0*pageEncours)/(1.0*pageMax) * (1.0*nouvelNbPages) ;
160
	
-
 
161
	
-
 
162
	public void connecterUtilisateur(String login, String password) {
409
		
Line 163... Line -...
163
		
-
 
Line 164... Line -...
164
	//	carnetEnLigneMediateur.addListener(CarnetEnLigneMediateur.CONNEXION,this);
-
 
165
		carnetEnLigneMediateur.connecterUtilisateur(login, password);
-
 
166
 
-
 
167
	}
-
 
168
 
-
 
169
 
-
 
170
 
-
 
171
	/// OBSERVATION
-
 
172
	
-
 
173
	/**
-
 
174
	 * Recherche nombre d'enregistrement pour l'utilisateur et la localite en cours
-
 
175
	 * 
-
 
176
	 */
-
 
177
	
-
 
178
	
-
 
179
	public void getNombreObservation (String identifiantLocalite, String localite, String annee,  String mois,  String jour, String lieudit, String rechercheLibre ) {
-
 
180
		
-
 
181
 
-
 
182
		observationModele.getNombreObservation(
-
 
183
				new iRetourObservation() {
-
 
184
					public void onRetour(Observation obs) {
-
 
185
						observation=obs;
-
 
186
						//fireEvent(NOMBRE_OBSERVATION); 
-
 
187
					}
-
 
188
 
410
		// on arrondit au supérieur
189
					
-
 
190
				}, carnetEnLigneMediateur.getUtilisateur().getIdentifiant(), identifiantLocalite, localite , annee, mois, jour, lieudit ,rechercheLibre
-
 
191
				
-
 
192
		);
-
 
193
		
-
 
194
		
411
		double nPageRound = Math.ceil(nPageCourante) ;