Subversion Repositories eFlore/Applications.cel

Rev

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