Subversion Repositories eFlore/Applications.cel

Compare Revisions

No changes between revisions

Ignore whitespace Rev 2028 → Rev 2029

/tags/v1.9-echenilloir/widget/generateur.html
New file
0,0 → 1,221
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Générateur de widgets</title>
<script type="text/javascript" src="http://www.tela-botanica.org/commun/jquery/1.6.2/jquery-1.6.2.min.js"></script>
<script type="text/javascript">
//<![CDATA[
var url_base_widget = 'http://localhost/widget:cel:';
var timer = null;
var criteresPourWidget = new Object();
criteresPourWidget['carto'] = new Array('utilisateur', 'dept', 'commune', 'projet', 'taxon');
criteresPourWidget['cartoPoint'] = new Array('utilisateur', 'dept', 'commune', 'projet', 'taxon', 'titre', 'logo', 'url_site','image', 'photos');
criteresPourWidget['observation'] = new Array('utilisateur', 'dept', 'commune', 'projet', 'taxon');
criteresPourWidget['photo'] = new Array('utilisateur', 'dept', 'commune', 'projet', 'taxon', 'titre');
$(document).ready(function() {
$('#mise_a_jour_auto').change(function() {
if($('#mise_a_jour_auto').val() == 'on') {
activerTimerMaj();
} else {
desactiverTimerMaj();
}
});
$('#mise_a_jour').click(function(event) {
mettreAjourApercu();
});
$("#formulaire_widget_carto_point input").keypress(function (event) {
if (event.which == 13) {
mettreAjourApercu();
}
});
$('input[name=type_widget]').change(function(event){
afficherCriteresPourWidget();
mettreAjourApercu();
});
$('#options').hide();
$('#options_secondaires').hide();
});
function htmlEncode(value){
if (value) {
return jQuery('<div />').text(value).html();
} else {
return '';
}
}
Object.size = function(obj) {
var size = 0, key;
for (key in obj) {
if (obj.hasOwnProperty(key)) size++;
}
return size;
};
 
function genererIFrame(url, hauteur, largeur) {
return '<iframe src="'+url+'" width="'+largeur+'" height="'+hauteur+'">';
}
function afficherCriteresPourWidget() {
var type_widget = $('input[name=type_widget]:checked').val();
$('#options .critere').each(function() {
var nom = $(this).find('.modificateur').attr("name");
if(critereExistePourWidget(type_widget, nom)) {
$(this).fadeIn();
} else {
$(this).fadeOut();
}
});
$('#options').show();
$('#options_secondaires').show();
}
function critereExistePourWidget(type_widget, nom) {
var champsAffiches = criteresPourWidget[type_widget];
return (champsAffiches.indexOf(nom) != -1);
}
function activerTimerMaj() {
$('.modificateur').change(function(event) {
if(timer != null) {
clearTimeout(timer);
}
timer = setTimeout(function(){mettreAjourApercu();},500);
});
}
function desactiverTimerMaj() {
if(timer != null) {
clearTimeout(timer);
}
$('.modificateur').unbind('change');
}
function mettreAjourApercu() {
var valeurs_form = new Object();
var type_widget = $('input[name=type_widget]:checked').val();
$('#options .critere').each(function() {
var nom = $(this).find('.modificateur').attr("name");
var valeur = $(this).find('.modificateur').val();
if(critereExistePourWidget(type_widget, nom) && valeur != "") {
valeurs_form[nom] = valeur;
};
});
 
var url_widget = url_base_widget+type_widget;
if(Object.keys(valeurs_form).length > 0) {
params_iframe = $.param(valeurs_form);
url_widget += "?"+params_iframe;
}
var hauteur = $('#hauteur').val();
var largeur = $('#largeur').val();
var lien_widget = '<a href="'+url_widget+'">'+url_widget+'</a>';
$('#code_widget').html("Vous pouvez voir ce widget en plein écran en cliquant sur ce lien "+lien_widget);
$('#code_widget').show();
var code_widget_apercu = genererIFrame(url_widget, hauteur, largeur);
$('#apercu').html(code_widget_apercu);
$('#apercu').show();
var code_widget_inclure = genererIFrame(url_widget, hauteur, largeur);
$('#code_widget').html("Copiez-collez ce code pour inclure le widget sur votre site "+"<pre>"+htmlEncode(code_widget_inclure)+"</pre>");
$('#code_widget').show();
}
//]]>
</script>
<style>
#formulaire_widget_carto_point {
padding:10px;
border:1px solid grey;
width: 30%;
float:left;
}
.critere {
padding:5px;
}
.modificateur.droite {
float: right;
width: 420px;
}
#url_widget {
border: 1px solid grey;
background-color : #F5F5F5;
padding: 10px;
display: none;
}
#apercu {
border: 1px solid grey;
background-color : #F5F5F5;
padding: 10px;
display: none;
float: right;
width: 60%;
}
#contenu_widget_apercu {
width: 100%;
}
.nettoyage {
visibility: hidden;
clear: both;
}
</style>
</head>
<body>
<div id="formulaire_widget_carto_point">
<div class="critere"><label for="utilisateur">Type de widget : </label><br />
<input autocomplete="off" class="modificateur" type="radio" name="type_widget" value="carto">Carto à la commune<br />
<input autocomplete="off" class="modificateur" type="radio" name="type_widget" value="cartoPoint">Carto au point précis <br />
<input autocomplete="off" class="modificateur" type="radio" name="type_widget" value="observation">Observations <br />
<input autocomplete="off" class="modificateur" type="radio" name="type_widget" value="photo">Photos <br />
</div>
<div id="options">
<div class="critere"><label for="utilisateur">Utilisateur : </label><input class="modificateur droite" type="text" name="utilisateur" id="utilisateur" /></div>
<div class="critere"><label for="dept">Département : </label><input type="text" class="modificateur droite" name="dept" id="dept" /></div>
<div class="critere"><label for="commune">Commune : </label><input type="text" class="modificateur droite" name="commune" id="commune" /></div>
<div class="critere"><label for="projet">Projet : </label><input type="text" class="modificateur droite" name="projet" id="projet" /></div>
<div class="critere"><label for="taxon">Taxon : </label><input type="text" class="modificateur droite" name="taxon" id="taxon" /></div>
<div class="critere"><label for="titre">Titre : </label><input type="text" class="modificateur droite" name="titre" id="titre" /></div>
<div class="critere"><label for="logo">Url du logo : </label><input type="text" class="modificateur droite" name="logo" id="logo" /></div>
<div class="critere"><label for="image">Url de l'image : </label><input type="text" class="modificateur droite" name="image" id="image" /></div>
<div class="critere"><label for="url_site">Url du site : </label><input type="text" class="modificateur droite" name="url_site" id="url_site" /></div>
<div class="critere"><label for="photos">Présence de photos : </label>
<select class="modificateur" name="photos" id="photos">
<option selected="selected" value="">Toutes les observations</option>
<option value="1">Uniquement avec photos</option>
</select>
</div>
</div>
<div id="options_secondaires">
<div class="critere"><label for="largeur">Largeur : </label>
<input type="text" class="modificateur" size="10" name="largeur" id="largeur" value="700"/>
<label for="hauteur">Hauteur : </label>
<input type="text" class="modificateur" size="10" name="hauteur" id="hauteur" value="700"/>
</div>
<div>
<label for="mise_a_jour_auto">Maj auto de la carte à chaque changement : </label>
<input type="checkbox" id="mise_a_jour_auto" name="mise_a_jour_auto" />
</div>
</div>
<button id="mise_a_jour" name="mise_a_jour">Rafraichir</button>
</div>
<div id="apercu">Aperçu en temps réel
<div id="contenu_widget_apercu"></div>
</div>
<hr class="nettoyage" />
<div id="code_widget"></div>
</body>
</html>
/tags/v1.9-echenilloir/widget/modules/rss2.tpl.xml
New file
0,0 → 1,25
<?php echo '<?xml version="1.0" encoding="UTF-8"?>'."\n";?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title><?=$titre?></title>
<link><?=$lien_cel?></link>
<atom:link href="<?=$lien_service?>" rel="self" type="application/rss+xml" />
<description><?=$description?></description>
<?php if (isset($items)) : ?>
<?php foreach ($items as $item) : ?>
<item>
<guid><?=$item['guid']?></guid>
<title><?=$item['titre']?></title>
<? if (isset($item['lien'])) : ?>
<link><?=$item['lien']?></link>
<? endif; ?>
<description><?=$item['description_encodee']?></description>
<category><?= $item['categorie'] ?></category>
<pubDate><?=$item['date_maj_RSS']?></pubDate>
</item>
<?php endforeach; ?>
<?php endif; ?>
</channel>
</rss>
/tags/v1.9-echenilloir/widget/modules/mobile/css/mobile.css
New file
0,0 → 1,62
@CHARSET "UTF-8";
/*+--------------------------------------------------------------------------------------------------------+*/
/* Balises */
.center {
text-align: center;
}
#recherche-popup-popup {
height: 80%;
width: 100%;
}
#liste-noms-latins {
height: 280px;
margin: 10px 0px;
background: white;
overflow: scroll;
}
#menu .ui-listview {
padding-top: 2px;
background: url(tela.png) no-repeat;
background-size: contain;
}
 
/*+--------------------------------------------------------------------------------------------------------+*/
/* Générique */
.ui-icon-pencil{
background:url(http://www.tela-botanica.org/commun/icones/glyphish/187-pencil-white.png) no-repeat;
}
.ui-icon-notepad{
background:url(http://www.tela-botanica.org/commun/icones/glyphish/179-notepad-white.png) no-repeat;
}
.ui-icon-cloud{
background:url(http://www.tela-botanica.org/commun/icones/glyphish/56-cloud-white.png) no-repeat;
}.ui-icon-cloud-black{
background:url(http://www.tela-botanica.org/commun/icones/glyphish/56-cloud.png) no-repeat;
}
.ui-icon-radar{
background:url(http://www.tela-botanica.org/commun/icones/glyphish/73-radar-white.png) no-repeat;
}
/*+--------------------------------------------------------------------------------------------------------+*/
.ui-header, .ui-footer, .ui-navbar .ui-btn-inner {
border: 1px solid #90B83B;
background: #90B83B;
}
.ui-content {
padding-top: 2px;
}
 
/* Formulaire à l'application */
#conteneur_reponse{
display:none;
}
.reponse{
background-color:#D5F2B6;
padding:20px;
text-align:center;
font-size:1.2 em;
font-weight:bold;
}
 
.hidden {
visibility: hidden;
}
/tags/v1.9-echenilloir/widget/modules/mobile/css/tela.png
Cannot display: file marked as a binary type.
svn:mime-type = image/png
/tags/v1.9-echenilloir/widget/modules/mobile/css/tela.png
New file
Property changes:
Added: svn:mime-type
+image/png
\ No newline at end of property
/tags/v1.9-echenilloir/widget/modules/mobile/mobile.appcache
New file
0,0 → 1,25
CACHE MANIFEST
# version 1.0.07 - 2013-08-28
# Fichier Manifest pour le cache du widget Mobile.
 
js/bdtfx.js
js/mobile.js
css/mobile.css
css/tela.png
http://www.tela-botanica.org/favicon.ico
http://www.tela-botanica.org/commun/jquery/1.7.1/jquery-1.7.1.min.js
http://www.tela-botanica.org/commun/jquery/mobile/1.3.1/jquery.mobile-1.3.1.min.js
http://www.tela-botanica.org/commun/jquery/mobile/1.3.1/jquery.mobile-1.3.1.min.css
 
NETWORK:
*
 
CACHE:
#http://www.tela-botanica.org/commun/jquery/mobile/1.3.1/images/*
http://www.tela-botanica.org/commun/icones/glyphish/187-pencil.png
http://www.tela-botanica.org/commun/icones/glyphish/179-notepad.png
http://www.tela-botanica.org/commun/icones/glyphish/56-cloud.png
http://www.tela-botanica.org/commun/icones/glyphish/73-radar-white.png
http://www.tela-botanica.org/commun/icones/glyphish/187-pencil-white.png
http://www.tela-botanica.org/commun/icones/glyphish/179-notepad-white.png
http://www.tela-botanica.org/commun/icones/glyphish/56-cloud-white.png
/tags/v1.9-echenilloir/widget/modules/mobile/mobile.html
New file
0,0 → 1,348
<!DOCTYPE html>
<html lang="fr" manifest="mobile.appcache">
<head>
<base href="http://www.tela-botanica.org/eflore/cel/widget/modules/mobile/"/>
<title>CEL Mobile</title>
<meta http-equiv="content-type" content="text/html; charset=UTF-8"/>
<meta http-equiv="Content-style-type" content="text/css" />
<meta http-equiv="Content-script-type" content="text/javascript" />
<meta http-equiv="Content-language" content="fr" />
<meta name="revisit-after" content="15 days" />
<meta name="robots" content="index,follow" />
<meta name="author" content="Jean-Pascal MILCENT, Isabelle NEMBROT" />
<meta name="keywords" content="Tela Botanica, CEL, mobile" />
<meta name="description" content="Widget de saisie du CEL pour smartphone" />
<!-- Favicones -->
<link rel="shortcut icon" type="image/x-icon" href="http://www.tela-botanica.org/favicon.ico" />
<!-- Viewport -->
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="apple-mobile-web-app-capable" content="yes" />
<meta name="apple-mobile-web-app-status-bar-style" content="black">
<!-- CSS -->
<link rel="stylesheet" href="http://www.tela-botanica.org/commun/jquery/mobile/1.3.1/jquery.mobile-1.3.1.min.css" />
<link href="css/mobile.css" rel="stylesheet" type="text/css" media="screen" />
<!-- Javascript -->
<script src="http://www.tela-botanica.org/commun/jquery/1.7.1/jquery-1.7.1.min.js"></script>
<!-- Javascript : appli saisie -->
<script type="text/javascript">
//<![CDATA[
// Nombre d'observations max autorisé avant transmission
var OBS_MAX_NBRE = 10;
// Délai d'attente avant de lancer la recherche des noms latins en ms
var DELAI_RECHERCHE = 500;
// Mot-clé du widget/projet
var TAG_PROJET = "WidgetSaisie";
// URL du web service réalisant l'insertion des données dans la base du CEL.
var SERVICE_SAISIE_URL = "http://www.tela-botanica.org/service:cel:CelWidgetSaisie";
//var SERVICE_SAISIE_URL = "http://www.tela-botanica.org/eflore-test/cel/jrest/CelWidgetSaisie";
// URL du web service annuaire des membres du réseau.
var SERVICE_ANNUAIRE = "http://www.tela-botanica.org/client/annuaire_nouveau/actuelle/jrest/utilisateur/identite-par-courriel/";
// Squelette d'URL du web service d'eFlore fournissant les noms de communes.
var SERVICE_NOM_COMMUNE_URL = "http://www.tela-botanica.org/service:eflore:0.1/osm/nom-commune?lon={lon}&lat={lat}";
// Texte en absence de connexion
var TEXTE_HORS_LIGNE = 'Aucune connexion.';
// Texte en absence de compte
var TEXTE_NON_COMPTE = 'Aucun compte enregistré.';
// Texte en presence de compte
var TEXTE_OUI_COMPTE = 'Ajouter au compte ';
// Texte d'identification des observations
var TEXTE_OBS = 'obsId';
// Texte d'identification des photos
var TEXTE_PHOTO = 'photoId';
//]]>
</script>
<script type="text/javascript" src="js/mobile.js"></script>
<script type="text/javascript" src="js/bdtfx.js"></script>
<!-- Javascript : Jquery Mobile -->
<script src="http://www.tela-botanica.org/commun/jquery/mobile/1.3.1/jquery.mobile-1.3.1.min.js"></script>
</head>
<body data-theme="b">
<div id="menu" data-role="page"> <!--data-add-back-btn="true" data-back-btn-text="Retour"-->
<div data-role="header">
<h1>Accueil</h1>
<a href="#infos" data-icon="info" data-iconpos="notext" class="ui-btn-right">Infos</a>
</div>
<div data-role="content" data-theme="g">
<p class="center">
Bienvenue sur le Carnet En Ligne mobile ! <br />
</p>
<ul data-role="listview">
<li>
<img src="http://www.tela-botanica.org/commun/icones/glyphish/187-pencil.png" class="ui-li-icon"/>
<a href="#saisie" class="saisie" data-role="button">1 - Saisir une observation</a>
</li>
<li>
<img src="http://www.tela-botanica.org/commun/icones/glyphish/179-notepad.png" class="ui-li-icon"/>
<a href="#liste" data-role="button">2 - Voir mes observations</a>
</li>
<li>
<img src="http://www.tela-botanica.org/commun/icones/glyphish/56-cloud.png" class="ui-li-icon"/>
<a href="#transmission" data-role="button">3 - Transmettre mes observations</a>
</li>
<li></li>
</ul>
</div>
<div data-role="footer" data-position="fixed"></div>
</div>
 
<div id="saisie" data-role="page">
<div data-role="header" data-position="inline">
<a href="#menu" data-icon="home" data-iconpos="notext" data-direction="reverse">Accueil</a>
<h1>Saisie</h1>
<a href="#infos" data-icon="info" data-iconpos="notext" class="ui-btn-right">Infos</a>
</div>
<form id="form-saisie-observation" method="post" action="#">
<div data-role="content">
<div id="obs-saisie-infos"></div>
<div data-role="fieldcontain">
<label for="nom">Espèce : </label>
<span id="nom"></span>
<br />
<a href="#saisie-popup" id="saisie-popup-btn"
data-role="button" data-icon="search" data-iconpos="right"
data-rel="dialog" data-transition="pop" data-theme="b">
Changer l'espèce
</a>
<hr />
 
<label for="date">
Date :
<span id="date"></span>
</label>
<hr />
<button id="geolocaliser"
data-role="button" data-icon="refresh" data-iconpos="" data-ajax="false">
Recalculer ma position
</button>
<label for="lat">
Latitude :
<span id="lat"></span>
</label>
<br />
<label for="lng">
Longitude :
<span id="lng"></span>
</label>
<br />
<label for="location">
Commune :
<span id="location"></span>
<input id="code-insee" type="hidden" name="code-insee" />
</label>
<br />
<hr />
<button id="sauver-obs" data-role="button" data-icon="check">Sauver</button>
<input id="referentiel" type="hidden" name="referentiel" />
<input id="nom-sci-select" type="hidden" name="nom-sci-select" />
<input id="num-nom-select" type="hidden" name="num-nom-select" />
</div>
</div>
<div data-role="footer" data-position="fixed">
<div data-role="navbar">
<ul>
<li><a href="#liste" data-role="button" data-icon="notepad" data-iconpos="notext">Liste de mes obs.</a></li>
<li><a href="#transmission" data-role="button" data-icon="cloud" data-iconpos="notext">Transmission</a></li>
</ul>
</div>
</div>
</form>
</div>
<div id="saisie-popup" data-role="page" data-history="false" data-close-btn="right">
<div data-role="header">
<h1></h1>
</div>
<div data-role="content">
<ul id="liste-noms-latins" data-role="listview"
data-inset="true" data-filter="true" data-filter-reveal="true"
data-filter-placeholder="Trouver une espèce...">
</ul>
<div class="hidden">
<button id="recherche-chargement" data-theme="a" data-textonly="true" data-textvisible="true" data-msgtext="Chargement des résultats..." ></button>
</div>
</div>
</div>
<div id="liste" data-role="page">
<div data-role="header" data-position="inline">
<a href="#menu" data-icon="home" data-iconpos="notext" data-direction="reverse">Accueil</a>
<h1>Observations</h1>
<a href="#infos" data-icon="info" data-iconpos="notext" class="ui-btn-right">Infos</a>
</div>
<div data-role="content">
<div id="obs-suppression-infos"></div>
<ul id="liste-obs" data-role="listview" data-split-icon="delete" data-split-theme="g" data-theme="g" data-inset="true"></ul>
</div>
<div data-role="footer" data-position="fixed">
<div data-role="navbar">
<ul>
<li><a href="#saisie" class="saisie" data-role="button" data-icon="pencil" data-iconpos="notext">Saisie</a></li>
<li><a href="#transmission" data-role="button" data-icon="cloud" data-iconpos="notext">Transmission</a></li>
</ul>
</div>
</div>
</div>
<div id="observation" data-role="page">
<div data-role="header" data-position="inline">
<a href="#menu" data-icon="home" data-iconpos="notext" data-direction="reverse">Accueil</a>
<h1>Détails de l'observation</h1>
<a href="#liste" data-icon="notepad" data-iconpos="notext" ></a>
</div>
<div data-role="content">
<label for="id-obs">Identifiant :</label> <span id="id-obs"></span>
<div id="details-obs"></div>
<input type="file" id="pic" name="photos-obs[]" accept="image/*" multiple>
<button id="valider-photos"
data-role="button" data-icon="search" data-iconpos="" data-ajax="false">
Ajouter les images sélectionnées
</button>
 
<div data-role="popup" id="cache-plein" class="ui-content" data-position-to="#valider-photos">
<a href="#" data-rel="back" data-role="button" data-theme="a" data-icon="delete" data-iconpos="notext" class="ui-btn-right">Close</a>
<p>
La mémoire de cette application est pleine. <br />
Veuillez supprimer des images ou transmettre vos observations.
</p>
</div>
<div data-role="popup" id="photo-zoom" class="ui-content">
<span id="photo-zoom-infos"></span>
<button data-role="button" data-theme="a" onclick="$('#photo-zoom').popup('close');">
Fermer cet aperçu
</button>
</div>
<div id="photo-suppression-infos"></div>
<ul id="photos-obs" data-role="listview" data-inset="true"></ul>
</div>
<div data-role="footer" data-position="fixed">
<div data-role="navbar">
<ul>
<li><a href="#saisie" class="saisie" data-role="button" data-icon="pencil" data-iconpos="notext">Saisie</a></li>
<li><a href="#liste" data-role="button" data-icon="notepad" data-iconpos="notext">Liste de mes obs.</a></li>
</ul>
</div>
</div>
</div>
<div id="transmission" data-role="page">
<div data-role="header">
<a href="#menu" data-icon="home" data-iconpos="notext" data-direction="reverse">Accueil</a>
<h1>Transmission</h1>
<a href="#infos" data-icon="info" data-iconpos="notext" class="ui-btn-right">Infos</a>
</div>
<div data-role="content" data-theme="d">
<p>
<span id="identification-texte">
Ajouter au compte
</span>
<strong><span id="utilisateur-compte"></span></strong>
</p>
<a href="#identification-popup" id="identification-btn"
data-role="button" data-icon="grid" data-iconpos="right"
data-rel="dialog" data-transition="pop" data-theme="b">
Modifier le compte
</a>
<div id="identification-infos"></div>
<hr />
<button data-role="button" data-icon="cloud-black" id="transmettre-obs" >
Transmettre
</button>
</div>
<div data-role="footer" data-position="fixed">
<div data-role="navbar">
<ul>
<li><a href="#saisie" class="saisie" data-role="button" data-icon="pencil" data-iconpos="notext">Saisie</a></li>
<li><a href="#liste" data-role="button" data-icon="notepad" data-iconpos="notext">Liste de mes obs.</a></li>
</ul>
</div>
</div>
</div>
<div id="identification-popup" data-role="page" data-history="false" data-close-btn="right">
<div data-role="header">
<h1>Compte Tela Botanica</h1>
</div>
<form id="form-transmission" method="post" action="#">
<div data-role="content">
<div data-role="fieldcontain">
<label for="courriel">Courriel * :</label>
<input id="courriel" type="email" name="courriel"/>
<input id="id-utilisateur" name="id-utilisateur" type="hidden"/>
<button id="valider-courriel" data-role="button"
data-icon="forward" data-iconpos="">
Vérifier ce compte Tela
</button>
</div>
<div id="zone-courriel-confirmation" data-role="fieldcontain" class="hidden">
<label for="courriel-confirmation">
<strong class="obligatoire">*</strong> Courriel (confirmation) :
</label>
<input id="courriel-confirmation" name="courriel-confirmation" type="text"/>
</div>
<div id="zone-prenom-nom" data-role="fieldcontain" class="hidden">
<div>
<label for="nom">Nom :</label>
<input id="nom-utilisateur" name="nom" type="text"/>
</div>
<div>
<label for="prenom">Prénom :</label>
<input id="prenom-utilisateur" name="prenom" type="text"/>
</div>
</div>
<input type="checkbox" name="courriel-memoire" id="courriel-memoire" checked="checked">
<label for="courriel-memoire">Se souvenir de moi</label>
<button id="valider-identification" data-role="button"
data-icon="check" data-iconpos="right" data-theme="b">
Valider le formulaire
</button>
</div>
</form>
<div data-role="footer"></div>
</div><!-- /page popup -->
<div id="infos" data-role="page" data-add-back-btn="true" data-back-btn-text="Retour">
<div data-role="header">
<h1>Infos</h1>
</div>
<div data-role="content">
<p>
Développement :
<ul>
<li>Jean-Pascal MILCENT</li>
<li>Isabelle NEMBROT</li>
</ul>
sur une idée originale de Aurélien PERONNET.
</p>
</div>
<div data-role="footer" data-position="fixed">
<p class="center">
Icônes par <a href="http://glyphish.com">Joseph Wain - Glyphish</a>. <br />
© Copyright <span id="annee"></span> - <a href="http://www.tela-botanica.org/site:accueil">Tela Botanica</a>
</p>
</div>
</div>
</body>
</html>