Subversion Repositories eFlore/Applications.cel

Rev

Rev 1221 | Rev 1235 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
1210 jpm 1
<!DOCTYPE html>
2
<html>
3
	<head>
4
		<title>Saisie simplifiée du CEL</title>
5
 
6
		<meta http-equiv="content-type" content="text/html; charset=UTF-8"/>
7
		<meta http-equiv="Content-style-type" content="text/css" />
8
		<meta http-equiv="Content-script-type" content="text/javascript" />
9
		<meta http-equiv="Content-language" content="fr" />
10
 
11
		<meta name="revisit-after" content="15 days" />
12
        <meta name="robots" content="index,follow" />
13
        <meta name="author" content="Jean-Pascal MILCENT" />
14
        <meta name="keywords" content="Tela Botanica, CEL" />
15
        <meta name="description" content="Widget de saisie simplifiée pour le CEL" />
16
 
17
		<!-- Viewport Mobile -->
18
		<meta name="viewport" content="width=device-width, initial-scale=1.0">
19
 
20
		<!-- Favicones -->
21
		<link rel="shortcut icon" type="image/x-icon" href="<?=$url_base?>/modules/saisie/squelettes/defaut/img/favicon.ico" />
22
 
23
		<!-- Javascript : bibliothèques -->
24
		<!-- Google Map v3 -->
25
		<!--<script type="text/javascript" src="https://getfirebug.com/firebug-lite.js"></script>-->
26
		<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=true&amp;language=fr&amp;region=FR"></script>
27
 
28
		<!-- Jquery -->
1220 jpm 29
		<script type="text/javascript" src="http://www.tela-botanica.org/commun/jquery/1.7.1/jquery-1.7.1.js"></script>
1221 jpm 30
		<!-- Jquery UI : nécessaire pour le minicalendrier et l'auto-complétion -->
1232 jpm 31
		<script type="text/javascript" src="http://www.tela-botanica.org/commun/jquery/jquery-ui/1.8.18/js/jquery-ui-1.8.18.custom.min.js"></script>
32
		<script type="text/javascript" src="http://www.tela-botanica.org/commun/jquery/jquery-ui/1.8.18/js/jquery.ui.datepicker-fr.js"></script>
1210 jpm 33
		<!-- Jquery Plugins -->
1221 jpm 34
		<!-- Jquery Validate : nécessaire pour la validation des formulaires -->
1211 jpm 35
		<script type="text/javascript" src="http://www.tela-botanica.org/commun/bootstrap/2.0.1/js/validate/1.9.0/jquery.validate.min.js"></script>
1210 jpm 36
		<script type="text/javascript" src="http://www.tela-botanica.org/commun/jquery/validate/1.9.0/messages_fr.js"></script>
1221 jpm 37
		<!-- Jquery Form :nécessaire pour l'upload des images -->
1210 jpm 38
		<script type="text/javascript" src="http://www.tela-botanica.org/commun/jquery/form/2.95/jquery.form.min.js"></script>
39
 
40
		<!-- Bootstrap -->
1218 jpm 41
		<script type="text/javascript" src="http://www.tela-botanica.org/commun/bootstrap/2.0.1/js/bootstrap.min.js"></script>
1210 jpm 42
 
43
		<!-- Javascript : appli saisie -->
44
		<script type="text/javascript">
45
		//<![CDATA[
46
			// La présence du parametre 'debug' dans l'URL enclenche le dégogage
47
			var DEBUG = <?=isset($_GET['debug']) ? 'true' : 'false'?>;
48
			// La présence du parametre 'html5' dans l'URL enclenche les fonctions avancées HTML5
49
			var HTML5 = <?=isset($_GET['html5']) ? 'true' : 'false'?>;
1215 jpm 50
			// La présence du parametre 'html5' dans l'URL enclenche les fonctions avancées HTML5
51
			var PROJET_TAG = "<?=isset($_GET['tag-obs']) ? $_GET['tag-obs'] : 'WidgetSaisie'?>";
1210 jpm 52
			// URL du web service réalisant l'insertion des données dans la base du CEL.
53
			var SERVICE_SAISIE_URL = "<?=$url_ws_saisie?>";
1215 jpm 54
			// Code du référentiel utilisé pour les nom scientifiques.
55
			var NOM_SCI_REFERENTIEL = "<?=$ns_referentiel?>";
56
			// Code de la version du référentiel utilisé pour les nom scientifiques.
57
			var NOM_SCI_VERSION = "<?=$ns_version?>";
58
			// Nombre d'élément dans les listes d'auto-complétion
59
			var AUTOCOMPLETION_ELEMENTS_NBRE = 20;
1210 jpm 60
			// URL du web service permettant l'auto-complétion des noms scientifiques.
61
			var SERVICE_AUTOCOMPLETION_NOM_SCI_URL = "<?=$url_ws_autocompletion_ns?>?"+
62
					"masque={masque}&"+
63
					"recherche=etendue&"+
1218 jpm 64
					"retour.champs=famille,nom_retenu,num_taxonomique,nom_retenu.id&"+
1215 jpm 65
					"version.projet="+NOM_SCI_VERSION+"&"+
1232 jpm 66
					"ns.structure=au"+"&"+
1215 jpm 67
					"navigation.limite="+AUTOCOMPLETION_ELEMENTS_NBRE;
68
			console.log(SERVICE_AUTOCOMPLETION_NOM_SCI_URL);
1210 jpm 69
			// Squelette d'URL du web service d'eFlore fournissant les noms de communes.
70
			var SERVICE_NOM_COMMUNE_URL = "http://www.tela-botanica.org/service:eflore:osm/0.1/nom-commune?lon={lon}&lat={lat}";
71
			// URL du marqueur à utiliser dans la carte Google Map
72
			var GOOGLE_MAP_MARQUEUR_URL = "<?=$url_base?>modules/saisie/squelettes/defaut/img/marqueurs/epingle.png";
73
			// URL de l'icône du bouton supprimer
74
			var SUPPRIMER_ICONE_URL = "<?=$url_base?>modules/saisie/squelettes/defaut/img/icones/supprimer.png";
75
			// URL de l'icône du chargement en cours
76
			var CHARGEMENT_ICONE_URL = "<?=$url_base?>modules/saisie/squelettes/defaut/img/icones/chargement.gif";
77
			// URL de l'icône du calendrier
78
			var CALENDRIER_ICONE_URL = "<?=$url_base?>modules/saisie/squelettes/defaut/img/icones/calendrier.png";
79
		//]]>
80
		</script>
81
		<script type="text/javascript" src="<?=$url_base?>modules/saisie/squelettes/defaut/js/defaut.js"></script>
82
 
83
		<!-- CSS -->
1232 jpm 84
		<link href="http://www.tela-botanica.org/commun/jquery/jquery-ui/1.8.18/css/smoothness/jquery-ui-1.8.18.custom.css" rel="stylesheet" type="text/css" media="screen" />
1211 jpm 85
		<link href="http://www.tela-botanica.org/commun/bootstrap/2.0.1/css/bootstrap.min.css" rel="stylesheet" type="text/css" media="screen" />
1214 jpm 86
		<link href="http://www.tela-botanica.org/commun/bootstrap/2.0.1/css/bootstrap-responsive.min.css" rel="stylesheet" type="text/css" media="screen" />
1210 jpm 87
		<link href="<?=$url_base?>modules/saisie/squelettes/defaut/css/<?=isset($_GET['style']) ? $_GET['style'] : 'defaut'?>.css" rel="stylesheet" type="text/css" media="screen" />
88
	</head>
89
 
90
	<body>
91
		<div class="container">
92
			<div class="row-fluid">
93
				<div class="span6 page-header">
94
					<div class="row">
95
						<img class="span2" src="<?=$url_base?>/modules/saisie/squelettes/defaut/img/logos/tela_botanica.png" alt="Tela Botanica" />
96
						<h1 class="span4">Saisie simplifiée des observations</h1>
97
					</div>
98
				</div>
1218 jpm 99
 
100
				<div class="span6">
1210 jpm 101
					<div class="well">
102
						<h2>Observateur</h2>
1218 jpm 103
						<form id="form-observateur" class="" action="#" autocomplete="on">
104
							<div class="row-fluid">
105
								<div class="span6">
106
									<label for="prenom">Prénom</label>
107
									<div>
108
										<input id="prenom" name="prenom" type="text" value=""/>
109
									</div>
1214 jpm 110
								</div>
1218 jpm 111
								<div class="span6">
112
									<label for="nom">Nom</label>
113
									<div>
114
										<input id="nom" name="nom" type="text" value=""/>
115
									</div>
116
								</div>
1210 jpm 117
							</div>
1218 jpm 118
							<div class="row-fluid">
119
								<div class="span6">
120
									<label for="courriel"
121
										title="Veuillez saisir votre adresse courriel.">
122
										<strong class="obligatoire">*</strong> Courriel
123
									</label>
124
									<div class="input-prepend">
125
										<span class="add-on">
126
											<i class="icon-envelope"></i>
127
										</span>
128
										<input id="courriel" name="courriel" type="text" value=""/>
129
									</div>
1214 jpm 130
								</div>
1218 jpm 131
								<div class="span6">
132
									<label for="courriel_confirmation" title="Veuillez saisir confirmer votre adresse courriel.">
133
										<strong class="obligatoire">*</strong> Courriel (confirmation)
134
									</label>
135
									<div class="input-prepend">
136
										<span class="add-on">
137
											<i class="icon-envelope"></i>
138
										</span>
139
										<input id="courriel_confirmation" name="courriel_confirmation" type="text" value=""/>
140
									</div>
141
								</div>
1210 jpm 142
							</div>
1218 jpm 143
						</form>
1210 jpm 144
						<div class="row-fluid">
145
							<div class="span6">
1218 jpm 146
								<button id="btn-aide" class="btn btn-mini btn-warning">
147
									<span class="icon-question-sign icon-white"></span>
148
									<span id="btn-aide-txt" >Activer l'aide</span>
149
								</button>
1210 jpm 150
							</div>
151
						</div>
152
					</div>
1218 jpm 153
				</div>
1210 jpm 154
			</div>
1220 jpm 155
			<!-- Messages d'erreur du formulaire-->
156
			<div class="row">
157
				<div class="zone-alerte span6 offset3">
158
					<div id="dialogue-bloquer-copier-coller" class="alert alert-info alert-block" style="display: none;" title="">
159
						<a class="close">×</a>
160
						<h4 class="alert-heading">Information : copier/coller</h4>
161
						<p>
162
							Merci de ne pas copier/coller votre courriel.<br/>
163
							La double saisie permet de vérifier l'absence d'erreurs.
164
						</p>
165
					</div>
166
				</div>
167
			</div>
1232 jpm 168
			<div class="row-fluid well">
1210 jpm 169
				<div class="span6">
1216 jpm 170
					<div class="well">
1210 jpm 171
						<div class="row-fluid">
172
							<div class="span12">
1216 jpm 173
								<h2>Lieu du relevé</h2>
174
							</div>
175
						</div>
176
						<div class="row-fluid">
177
							<div class="span4">
1210 jpm 178
								<label for="map_canvas" title="Veuillez localiser l'observation">
179
									<strong class="obligatoire">*</strong>
180
									Géolocalisation
181
								</label>
1216 jpm 182
							</div>
183
							<div class="span8 droite">
184
								<form id="form-carte-recherche" class="form-search form-horizontal" action="#" >
185
									<div class="control-group">
186
										<label for="carte-recherche">Rechercher</label>
187
										<input id="carte-recherche" class="search-query" type="text" value=""
1218 jpm 188
											rel="tooltip"
189
											title="Permet de centrer la carte sur le lieu recherché."
1216 jpm 190
											placeholder="Centrer la carte sur un lieu..."/>
191
									</div>
192
								</form>
193
							</div>
194
						</div>
195
						<div class="row-fluid">
196
							<div class="span12">
1210 jpm 197
								<div id="map-canvas"></div>
198
							</div>
199
						</div>
200
						<div class="row-fluid">
201
							<label for="coordonnees-geo" class="span7">
202
								<a href="#" class="afficher-coord">Afficher</a>
203
								<a href="#" class="afficher-coord" style="display:none;">Cacher</a>
1218 jpm 204
								les coordonnées géographiques
1210 jpm 205
								<span id="lat-lon-info" class="info"
1218 jpm 206
									rel="tooltip"
1210 jpm 207
									title="Système géodésique mondial, révision de 1984 - Coordonnées non projetées">
208
									(WGS84)
209
								</span>
210
							</label>
211
							<div id="info-commune" class="span5">
212
					    		<span for="marqueur-commune">Commune : </span>
213
					    		<span id="marqueur-commune">
214
					    			<span id="commune-nom" class="commune-info"></span>
1218 jpm 215
					    			(<span id="commune-code-insee" class="commune-info"
216
					    				rel="tooltip"
217
					    				title="Code INSEE de la commune"></span>)
1210 jpm 218
					    		</span>
219
				    		</div>
220
						</div>
1216 jpm 221
						<form id="form-station" class="control-group" action="#" enctype="multipart/form-data" autocomplete="on">
222
							<div id="coordonnees-geo" class="well" style="display:none;">
223
								<div class="row-fluid form-inline">
224
									<div id="coord-lat" class="span4">
225
										<label for="latitude">Latitude</label>
226
										<div>
227
											<input id="latitude" class="input-mini" name="latitude" type="text" value=""/>
228
										</div>
229
									</div>
230
									<div id="coord-lng" class="span4">
231
										<label for="longitude">Longitude</label>
232
										<div>
233
											<input id="longitude" class="input-mini" name="longitude" type="text" value=""/>
234
										</div>
235
									</div>
236
									<div class="span1">
237
										<div>
1218 jpm 238
											<input id="geolocaliser" type="button" value="Voir sur la carte"
239
												rel="tooltip"
240
												title="Centre la carte sur les coordonnées de latitude et longitude saisies."/>
1216 jpm 241
										</div>
242
									</div>
243
						    	</div>
244
							</div>
245
							<div class="row-fluid">
246
								<div class="span4">
247
									<label for="lieudit">
248
										Lieu-dit
249
									</label>
1214 jpm 250
									<div>
1216 jpm 251
										<input type="text" id="lieudit" class="input-medium" name="lieudit" value="" />
1214 jpm 252
									</div>
1210 jpm 253
								</div>
1216 jpm 254
								<div class="span4">
255
									<label for="station">
256
										Station
257
									</label>
1214 jpm 258
									<div>
1216 jpm 259
										<input type="text" id="station" class="input-medium" name="station" value="" />
1214 jpm 260
									</div>
1210 jpm 261
								</div>
1216 jpm 262
								<div class="span4">
263
									<label for="milieux">
264
										Milieu
265
									</label>
1214 jpm 266
									<div>
1216 jpm 267
										<input type="text" id="milieu" class="input-medium" name="milieu" value="" />
1214 jpm 268
									</div>
1210 jpm 269
								</div>
270
							</div>
1216 jpm 271
						</form>
272
					</div>
1210 jpm 273
				</div>
274
				<div class="span6">
275
					<div class="well">
1218 jpm 276
						<form id="form-obs" action="#" autocomplete="on">
1210 jpm 277
							<h2>Observations</h2>
278
							<div class="row-fluid">
279
								<div class="span4">
280
									<label for="date" title="Veuillez indiquer la date du relevé au format jj/mm/aaaa">
281
										<strong class="obligatoire">*</strong> Date du relevé
282
									</label>
283
									<div class="input-prepend">
284
										<span id="date-icone" class="add-on"></span>
285
										<input id="date" class="input-small" name="date" type="text" value=""
1221 jpm 286
											placeholder="jj/mm/aaaa"
287
											rel="tooltip"
288
											data-original-title="Vous pouvez cliquer sur l'icône de calendrier pour sélectionner un date dans un calendrier."/>
1210 jpm 289
									</div>
290
								</div>
1214 jpm 291
								<div id="taxon-input-groupe" class="span8">
1210 jpm 292
									<label for="taxon" title="Choisissez une espèce">
293
										<strong class="obligatoire">*</strong>
294
										Espèce
295
									</label>
296
									<div class="input-prepend">
297
										<span class="add-on">
298
											<i class="icon-leaf"></i>
299
										</span>
300
										<input type="text" id="taxon" name="taxon" value="" />
301
									</div>
302
								</div>
303
							</div>
304
							<div class="row-fluid">
305
								<div class="span12">
306
									<label for="notes">Notes</label>
1216 jpm 307
									<div>
308
										<textarea id="notes" class="span5" rows="7" name="notes"
309
											placeholder="Vous pouvez éventuellement ajouter une note sur votre observation..."
310
										></textarea>
311
									</div>
1210 jpm 312
								</div>
313
							</div>
314
						</form>
315
						<form id="form-upload" class="well form-horizontal" action="<?=$url_base?>saisie?projet=sauvages&amp;service=upload-image"
316
							method="post" enctype="multipart/form-data">
317
							<label>Photo</label>
318
							<input type="file" id="fichier" name="fichier" accept="image/jpeg"/>
319
							<input type="hidden" name="MAX_FILE_SIZE" value="5242880"/>
320
							<p id="miniature-info" class="discretion help-inline">La photo doit être au format JPEG et ne doit pas excéder 5Mo.</p>
321
							<div id="miniature"></div>
322
							<button id="effacer-miniature" type="button" style="display:none;">Effacer</button>
323
							<p id="miniature-msg" class="span12">&nbsp;</p>
324
						</form>
325
					</div>
1232 jpm 326
				</div>
327
				<div class="row-fluid">
328
					<div class="span12 centre">
329
						<button id="ajouter-obs" class="btn btn-primary btn-large" type="button"
330
							title="Ajoute l'observation courante à la liste ci-dessous.">
331
							Créer
332
						</button>
333
					</div>
334
				</div>
1210 jpm 335
			</div>
336
			<!-- Affiche le tableau récapitualif des observations ajoutées -->
337
			<div id="zone-liste-obs" class="row-fluid">
338
				<form action="#" class="well form-horizontal">
339
					<div class="row-fluid">
1232 jpm 340
						<h2>Observations à transmettre : <span class="obs-nbre">0</span></h2>
1215 jpm 341
						<table id="liste-obs" class="table table-bordered table-condensed">
1210 jpm 342
							<thead>
343
								<tr>
1215 jpm 344
									<th rowspan="3">Photo</th>
1210 jpm 345
									<th><i class="icon-leaf illustration">&nbsp;</i>Nom</th>
1215 jpm 346
									<th colspan="2">Commune (code INSEE) [<span title="Latitude / Longitude"><i class="icon-map-marker">&nbsp;</i>Lat./Long.</span>]</th>
347
									<th rowspan="3">Notes</th>
348
									<th rowspan="3"><i class="icon-trash icone">&nbsp;</i>Action</th>
349
								</tr>
350
								<tr>
351
									<!-- Photo -->
352
									<th rowspan="2"><i class="icon-calendar illustration">&nbsp;</i>Date</th>
1210 jpm 353
									<th>Lieu-dit</th>
354
									<th>Station</th>
1215 jpm 355
									<!-- Notes -->
356
									<!-- Action -->
1210 jpm 357
								</tr>
1215 jpm 358
								<tr>
359
									<!-- N° -->
360
									<!-- Photo -->
361
									<!-- Nom scientifique & Date -->
362
									<th colspan="2">Milieu</th>
363
									<!-- Notes -->
364
									<!-- Action -->
365
								</tr>
1210 jpm 366
							</thead>
367
							<tbody></tbody>
368
						</table>
369
					</div>
1220 jpm 370
					<div class="row">
371
						<div class="zone-alerte span6 offset3">
372
							<div id="dialogue-zero-obs" class="alert alert-block" style="display: none;">
373
								<a class="close">×</a>
374
								<h4 class="alert-heading">Attention : aucune observation</h4>
375
								<p>Veuillez saisir des observations pour les transmettres.</p>
376
							</div>
377
 
378
							<div id="dialogue-obs-transaction" class="alert alert-success alert-block" style="display: none;"">
379
								<a class="close">×</a>
380
								<h4 class="alert-heading">Information : transmission des observations</h4>
381
								<div class="alert-txt"></div>
382
							</div>
383
 
384
							<div id="dialogue-erreur" class="alert alert-error alert-block" style="display: none;">
385
								<a class="close">×</a>
386
								<h4 class="alert-heading">Erreur : transmission des observations</h4>
387
								<div class="alert-txt"></div>
388
							</div>
389
						</div>
390
					</div>
1210 jpm 391
					<div class="row-fluid">
392
						<div class="span12 droite">
393
							<button id="transmettre-obs" class="btn btn-primary btn-large" type="button"
394
								title="Ajoute les observations à votre Carnet en Ligne et les rend publiques.">
395
								Transmettre
396
							</button>
397
						</div>
398
					</div>
399
				</form>
400
			</div>
401
 
402
			<footer class="row-fluid">
403
				<p class="span12">&copy; Tela Botanica 2012</p>
404
			</footer>
405
		</div>
406
 
1220 jpm 407
		<!-- Fenêtres modales -->
1210 jpm 408
		<div id="chargement" style="position:fixed;z-index:1000;top:0;left:0;height:100%;width:100%;background:#777;background:rgba(90,86,93,0.7);text-align:center;display:none;">
409
			<div id="chargement-centrage" style="position:relative;width:30%;margin:0 auto;top:30%;">
1232 jpm 410
				<img id="chargement-img" src="<?=$url_base?>modules/saisie/squelettes/sauvages/images/chargement_arbre.gif" alt="Transfert en cours..."/>
1210 jpm 411
				<p id="chargement-txt" style="color:white;font-size:1.5em;">
412
					Transfert des observations en cours...<br />
413
					Cela peut prendre plusieurs minutes en fonction de la taille des images et du nombre d'observation à transférer.
414
				</p>
415
			</div>
416
		</div>
417
 
418
		<!-- Stats : Google Analytics-->
419
		<script type="text/javascript">
420
			//<![CDATA[
421
			var _gaq = _gaq || [];
422
			_gaq.push(['_setAccount', 'UA-20092557-1']);
423
			_gaq.push(['_trackPageview']);
424
 
425
			(function() {
426
			  var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
427
			  ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
428
			  var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
429
			})();
430
			//]]>
431
		</script>
432
	</body>
433
</html>