Subversion Repositories eFlore/Applications.cel

Rev

Rev 1894 | Rev 1922 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed

<!DOCTYPE html>
<html lang="fr">
        <head>
                <title>Sauvages de ma rue</title>
                <meta charset="utf-8">
                
                <meta name="author" content="Jean-Pascal MILCENT, Aurélien PERONNET, Céline VIDAL" />
                <meta name="keywords" content="Sauvages de ma rue, CEL, Tela Botanica, Natural Solutions, MNHN" />
                <meta name="description" content="Widget de saisie pour le projet Sauvages de ma rue" />
                
                <!-- Viewport Mobile -->
                <meta name="viewport" content="width=device-width, initial-scale=1.0">
                
                <!-- Favicones -->
                <link rel="shortcut icon" type="image/x-icon" href="<?=$url_base?>/modules/saisie/squelettes/sauvages/img/favicon.ico" />
                
                <!-- Javascript : bibliothèques -->
                <!-- Google Map v3 -->
                <!--<script type="text/javascript" src="https://getfirebug.com/firebug-lite.js"></script>-->
                <script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=true&amp;language=fr&amp;region=FR"></script>     
                
                <!-- Jquery -->
                <script type="text/javascript" src="http://www.tela-botanica.org/commun/jquery/1.7.1/jquery-1.7.1.min.js"></script>
                
                <!-- Jquery UI : nécessaire pour le minicalendrier et l'auto-complétion -->
                <script type="text/javascript" src="http://www.tela-botanica.org/commun/jquery/jquery-ui/1.10.2/js/jquery-ui-1.10.2.custom.min.js"></script>
                <script type="text/javascript" src="http://www.tela-botanica.org/commun/jquery/jquery-ui/1.10.2/js/jquery.ui.datepicker-fr.min.js"></script>
                <!-- Jquery Plugins -->
                <!-- Jquery Validate : nécessaire pour la validation des formulaires -->
                <script type="text/javascript" src="http://www.tela-botanica.org/commun/jquery/validate/1.11.1/jquery.validate.min.js"></script>
                <script type="text/javascript" src="http://www.tela-botanica.org/commun/jquery/validate/1.11.1/additional-methods.min.js"></script>
                <script type="text/javascript" src="http://www.tela-botanica.org/commun/jquery/validate/1.11.1/messages_fr.js"></script>
                <!-- Jquery Form :nécessaire pour l'upload des images -->
                <script type="text/javascript" src="http://www.tela-botanica.org/commun/jquery/form/3.32/jquery.form.min.js"></script>
                
                <!-- Bootstrap -->
                <script type="text/javascript" src="http://www.tela-botanica.org/commun/bootstrap/2.3.2/js/bootstrap.min.js"></script>
                
                <!-- Javascript : appli saisie -->
                <script src="<?=$url_base?>saisie?projet=sauvages&amp;service=taxons" type="text/javascript"></script>
                <script type="text/javascript">
                //<![CDATA[
                        // La présence du parametre 'debug' dans l'URL enclenche le dégogage
                        var DEBUG = <?=isset($_GET['debug']) ? 'true' : 'false'?>;
                        // La présence du parametre 'html5' dans l'URL enclenche les fonctions avancées HTML5
                        var HTML5 = <?=isset($_GET['html5']) ? 'true' : 'false'?>;
                        
                        // La présence du parametre 'ville' dans l'URL géolocalise
                        var VILLE = "<?=isset($_GET['ville']) ? $_GET['ville'] : ''?>";
                        VILLE = <?= isset($_GET['commune']) ? "'".$_GET['commune']."'" : 'VILLE' ?>;
                        
                        // Mot-clé du widget/projet
                        var TAG_PROJET = "WidgetSauvages,Sauvages";
                        
                        // Mots-clés à ajouter aux images
                        var TAG_IMG = "<?=isset($_GET['tag-img']) ? $_GET['tag-img'] : ''?>";
                        var SEPARATION_TAG_IMG = "<?= isset($_GET['motcle']) && isset($_GET['tag-img']) ? ',' : '' ?>";
                        TAG_IMG = <?=isset($_GET['motcle']) ? "'".$_GET['motcle']."' + SEPARATION_TAG_IMG + TAG_IMG" : 'TAG_IMG' ?>;
                        // Mots-clés à ajouter aux observations
                        var TAG_OBS = "<?=isset($_GET['tag-obs']) ? $_GET['tag-obs'] : ''?>";
                        var SEPARATION_TAG_OBS = "<?= isset($_GET['projet']) && isset($_GET['tag-obs']) ? ',' : '' ?>";
                        TAG_OBS = <?=isset($_GET['projet']) ? "'".$_GET['projet']."' + SEPARATION_TAG_OBS + TAG_OBS" : 'TAG_OBS' ?>;
                        
                        // URL du web service réalisant l'insertion des données dans la base du CEL.
                        var SERVICE_SAISIE_URL = "<?=$url_ws_saisie?>";
                        // URL du web service permettant de récupérer les infos d'une observation du CEL.
                        var SERVICE_OBS_URL = "<?=$url_ws_obs?>";
                        // Code du référentiel utilisé pour les nom scientifiques (de la forme nom:code).
                        var NOM_SCI_REFERENTIEL = "<?=$ns_referentiel?>";
                        // Nom du référentiel utilisé pour les nom scientifiques.
                        var NOM_SCI_PROJET = "<?=$ns_projet?>";
                        // Code de la version du référentiel utilisé pour les nom scientifiques.
                        var NOM_SCI_VERSION = "<?=$ns_version?>";
                        // Indication de la présence d'une espèce imposée
                        var ESPECE_IMPOSEE = "<?=$espece_imposee; ?>";
                        // Tableau d'informations sur l'espèce imposée
                        var INFOS_ESPECE_IMPOSEE = <?=$infos_espece; ?>;
                        // Nombre d'élément dans les listes d'auto-complétion
                        var AUTOCOMPLETION_ELEMENTS_NBRE = 20;
                        // Indication de la présence d'un référentiel imposé
                        var REFERENTIEL_IMPOSE = "<?=$referentiel_impose; ?>";
                        // Indication des version utilisées de chaque référentiel
                        var PROJETS_VERSIONS = <?=json_encode($projets_versions)?>;
                        // URL du web service permettant l'auto-complétion des noms scientifiques.
                        var SERVICE_AUTOCOMPLETION_NOM_SCI_URL = "<?=$url_ws_autocompletion_ns?>?"+
                                        "masque={masque}&"+
                                        "recherche=etendue&"+
                                        "retour.champs=famille,nom_retenu,nom_retenu_complet,num_taxonomique,nom_retenu.id&"+
                                        //"version.projet="+NOM_SCI_VERSION+"&"+
                                        "ns.structure=au"+"&"+
                                        "navigation.limite="+AUTOCOMPLETION_ELEMENTS_NBRE;
                        // URL du web service permettant l'auto-complétion des noms scientifiques.
                        var SERVICE_AUTOCOMPLETION_NOM_SCI_URL_TPL = "<?=$url_ws_autocompletion_ns_tpl?>?"+
                                        "masque={masque}&"+
                                        "recherche=etendue&"+
                                        "retour.champs=famille,nom_retenu,nom_retenu_complet,num_taxonomique,nom_retenu.id&"+
                                        //"version.projet="+NOM_SCI_VERSION+"&"+
                                        "ns.structure=au"+"&"+
                                        "navigation.limite="+AUTOCOMPLETION_ELEMENTS_NBRE;
                        // Nombre d'observations max autorisé avant transmission
                        var OBS_MAX_NBRE = 10;
                        // Durée d'affichage en milliseconde des messages d'informations
                        var DUREE_MESSAGE = 15000;
                        // Squelette d'URL du web service de l'annuaire.
                        var SERVICE_ANNUAIRE_ID_URL = "<?=$url_ws_annuaire?>";
                        // 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}";
                        // Squelette d'URL du web service d'eFlore fournissant les noms de communes hors de France (localisation approximative).
                        var SERVICE_NOM_COMMUNE_URL_ALT = "http://www.tela-botanica.org/service:eflore:0.1/wikipedia/nom-commune?lon={lon}&lat={lat}&nbre=1";
                        // URL du marqueur à utiliser dans la carte Google Map
                        var GOOGLE_MAP_MARQUEUR_DEBUT_URL = "<?=$url_base?>/modules/saisie/squelettes/sauvages/img/marqueurs/debut.png";
                        // URL de l'icône de fin de rue
                        var GOOGLE_MAP_MARQUEUR_FIN_URL = "<?=$url_base?>/modules/saisie/squelettes/sauvages/img/marqueurs/fin.png";
                        // URL de l'icône du chargement en cours
                        var CHARGEMENT_ICONE_URL = "<?=$url_base?>modules/saisie/squelettes/sauvages/img/icones/chargement.gif";
                        // URL de l'icône du chargement en cours d'une image
                        var CHARGEMENT_IMAGE_URL = "<?=$url_base?>modules/saisie/squelettes/sauvages/img/icones/chargement-image.gif";
                        // URL de l'icône du calendrier
                        var CALENDRIER_ICONE_URL = "<?=$url_base?>modules/saisie/squelettes/sauvages/img/icones/calendrier.png";
                        // URL de l'icône du calendrier
                        var PAS_DE_PHOTO_ICONE_URL = "<?=$url_base?>modules/saisie/squelettes/sauvages/img/icones/pas_de_photo.png";
                        
                        // URL de l'icône du bouton supprimer
                        var SUPPRIMER_ICONE_URL = "<?=$url_base?>/modules/saisie/squelettes/sauvages/img/icones/supprimer.png";
                //]]>
                </script>
                
                <script type="text/javascript" src="<?=$url_base?>modules/saisie/squelettes/sauvages/js/sauvages.js"></script>
                
                <!-- CSS -->
                <link href="http://www.tela-botanica.org/commun/jquery/jquery-ui/1.10.2/css/smoothness/jquery-ui-1.10.2.custom.css" rel="stylesheet" type="text/css" media="screen" />
                <link href="http://www.tela-botanica.org/commun/bootstrap/2.3.2/css/bootstrap.min.css" rel="stylesheet" type="text/css" media="screen" />
                <link href="http://www.tela-botanica.org/commun/bootstrap/2.3.2/css/bootstrap-responsive.min.css" rel="stylesheet" type="text/css" media="screen" />
                <link href="<?=$url_base?>modules/saisie/squelettes/sauvages/css/<?=isset($_GET['style']) ? $_GET['style'] : 'sauvages'?>.css" rel="stylesheet" type="text/css" media="screen" />
        </head>

        <body data-spy="scroll">
                <div id="zone-appli" class="container">
                        <?php if ($titre == 'defaut' ) : ?>
                                <h1 id="widget-titre"><img src="<?=$url_base?>/modules/saisie/squelettes/sauvages/img/logos/sdmr.png" alt="Sauvages de ma rue : Saisie des observations"/></h1>
                        <?php else: ?>
                                <h1 id="widget-titre"><?= $titre ?></h1>
                        <?php endif; ?>
                        
                        <h2>Observateur</h2>
                        <form id="form-observateur" action="#" autocomplete="on">
                                <fieldset id="partie-identification">
                                        <div class="row-fluid">
                                                <div class="span6 control-group has-tooltip" data-placement="bottom"
                                                        title="Saisissez le courriel avec lequel vous être inscrit à Tela Botanica.
                                                                Si vous n'êtes pas inscrit, ce n'est pas grave, vous pourrez le faire 
                                                                ultérieurement. Des informations complémentaires vont vous être 
                                                                demandées : prénom et nom.">
                                                                <label class="control-label" for="courriel">
                                                                        <strong class="obligatoire">*</strong> 
                                                                        Courriel
                                                                </label>
                                                                <div class="controls">
                                                                        <div class="input-prepend">
                                                                                <span class="add-on">
                                                                                        <i class="icon-envelope"></i>
                                                                                </span>
                                                                                <input id="courriel" name="courriel" class="span11" type="text"/>
                                                                                <input id="id_utilisateur" name="id_utilisateur" type="hidden"/>
                                                                        </div>
                                                                </div>
                                                        
                                                </div>
                                                <div id="zone-courriel-confirmation" class="span6 hidden control-group has-tooltip"
                                                        data-placement="bottom" 
                                                        title="Saisissez à nouveau votre courriel afin de le confirmer. Le 
                                                                copier/coller est désactivé pour éviter les erreurs.">
                                                        <label class="control-label" for="courriel_confirmation">
                                                                <strong class="obligatoire">*</strong>
                                                                Courriel (confirmation)
                                                        </label>
                                                        <div class="controls">
                                                                <div class="input-prepend">
                                                                        <span class="add-on">
                                                                                <i class="icon-envelope"></i>
                                                                        </span>
                                                                        <input id="courriel_confirmation" name="courriel_confirmation" 
                                                                                class="span11" type="text"/>
                                                                </div>
                                                        </div>
                                                </div>
                                        </div>
                                        <div id="zone-prenom-nom" class="row-fluid hidden">
                                                <div class="span6 control-group">
                                                        <label for="prenom" class="control-label">
                                                                <strong class="obligatoire">*</strong>
                                                                Prénom
                                                        </label>
                                                        <input id="prenom" name="prenom" class="span12" type="text"/>
                                                </div>
                                                <div class="span6 control-group">
                                                        <label for="nom" class="control-label">
                                                                <strong class="obligatoire">*</strong>
                                                                Nom
                                                        </label>
                                                        <div class="controls">
                                                                <input id="nom" name="nom"  class="span12" type="text"/>
                                                        </div>
                                                </div>
                                        </div>
                                </fieldset>
                        </form>
                        
                        <form id="form-obs" action="#" autocomplete="on">
                                <h2>Fiche de terrain</h2>
                                <div id="zone-fiche-terrain">
                                        <fieldset id="partie-date">
                                                <legend>Date du relevé</legend> 
                                                <ul>
                                                        <li>
                                                                <label for="date" title="Indiquez la date de votre relevé (au format jj/mm/aaaa) ou utilisez le calendrier">
                                                                        <strong class="obligatoire">*</strong> Date du relevé
                                                                </label>
                                                                <input id="date" name="date" type="text" value="" />
                                                        </li>
                                                </ul>
                                        </fieldset>
                                        <fieldset id="partie-station">
                                                <legend>Lieu du relevé</legend>
                                                <ul>
                                                        <li>
                                                                <label id="label_map_canvas" for="map_canvas" class="oblig" title="Sur la carte ci-dessous, retracez le parcours étudié, en placant d'abord le point de début de la rue, puis le point de fin">
                                                                        <strong class="obligatoire">*</strong> Localisation de la rue étudiée
                                                                </label>
                                                        </li>
                                                        <li>
                                                                <ul class="liste_indication_geolocalisation">
                                                                        <li class="indication_geolocalisation">1ere étape : Entrez le nom de la rue et de la ville dans l'espace de recherche ci-dessous</li>
                                                                        <li class="indication_geolocalisation">2eme étape : Placez le drapeau vert au début de la portion de rue étudiée</li>
                                                                        <li class="indication_geolocalisation">3eme étape : Placez le drapeau rouge à la fin de la portion de rue étudiée, si vous vous êtes trompé,
                                                                                                                                                        vous pouvez redéplacer le drapeau vert</li>
                                                                        <li class="indication_geolocalisation">4eme étape : Voilà ! Votre zone d'étude est localisée ! Vous pouvez passer à la saisie de l'observation.</li>
                                                                </ul>
                                                                <input id="rue" name="rue" type="text" placeholder="Entrez un nom de ville, de lieu ou de rue..." value="" />
                                                        </li>
                                                        <li id="map-canvas"></li>
                                                        <li>
                                                                <label for="coordonnees-geo">
                                                                        <a href="#" class="afficher-coord">Afficher</a>
                                                                        <a href="#" class="afficher-coord" style="display:none;">Cacher</a>
                                                                        Les coordonnées géographiques
                                                                        <span id="lat-lon-info" class="info" 
                                                                                title="Système géodésique mondial, révision de 1984 - Coordonnées non projetées">
                                                                                (WGS84)
                                                                        </span>
                                                                </label>
                                                                <ul id="coordonnees-geo" style="display:none;">
                                                                        <li id="coord-lat">                                             
                                                                                <label for="latitude">Latitude</label>
                                                                                <input id="latitude" name="latitude" type="text" value=""/>
                                                                        </li>
                                                                        <li id="coord-lng">
                                                                                <label for="longitude">Longitude</label>
                                                                                <input id="longitude" name="longitude" type="text" value=""/>
                                                                        </li>
                                                                        <li id="info-commune">
                                                                                <label for="marqueur-commune">Commune</label><br />
                                                                                <span id="marqueur-commune">
                                                                                        <span id="commune-nom" class="commune-info"></span>
                                                                                        (<span id="commune-code-insee" class="commune-info" title="Code INSEE de la commune"></span>)
                                                                                </span>
                                                                        </li>
                                                                        <li>
                                                                                <input id="geolocaliser" type="button" value="Voir sur la carte"/>
                                                                        </li>
                                                                </ul>
                                                        </li>
                                                        <li>
                                                                <hr class="nettoyage" />
                                                        </li>
                                                        <li>
                                                                <ul>
                                                                        <li>
                                                                                <label for="rue_cote" title="Choisissez le (ou les) côté(s) de la rue que vous avez étudié">
                                                                                        <strong class="obligatoire">*</strong> 
                                                                                        Côté de la rue
                                                                                </label>
                                                                                <select id="rue_cote" name="rue_cote">
                                                                                        <option value="">Sélectionner un type de côté</option>
                                                                                        <option value="pair">Pair</option>
                                                                                        <option value="impair">Impair</option>
                                                                                        <option value="2cotes">Les deux</option>
                                                                                </select> 
                                                                        </li>
                                                                </ul>
                                                        </li>
                                                </ul>
                                        </fieldset>
                                        <fieldset id="partie-observation">
                                                <legend>Observations</legend> 
                                                <ul>
                                                        <li>
                                                                <label for="taxon" title="Choisissez une espèce rencontrée. Si vous avez trouvé d'autres espèces non listées, n'hésitez pas à le signaler dans les notes">
                                                                        <strong class="obligatoire">*</strong> 
                                                                        Espèce
                                                                </label>
                                                                <select id="taxon" name="taxon">
                                                                        <option value="">Sélectionner une espèce</option>
                                                                        <?php foreach ($taxons as $taxon) :?>
                                                                                <option <?= $taxon['nom_ret']== $taxon['nom_fr'] ? 'style="font-style:italic;"' : '' ?> value="<?=$taxon['num_nom_sel']?>" 
                                                                                        title="<?=$taxon['nom_ret'].($taxon['nom_fr_autre'] != '' ? ' - '.$taxon['nom_fr_autre'] : '' )?>">
                                                                                        <?=$taxon['nom_fr']?>
                                                                                </option>
                                                                        <?php endforeach; ?> 
                                                                </select> 
                                                        </li>
                                                        <li>
                                                                <label for="liste-milieux" title="Indiquez le (ou les) milieu(x) dans lequel (lesquels) vous avez rencontré cette espèce">
                                                                        <strong class="obligatoire">*</strong> 
                                                                        Milieu
                                                                </label>
                                                                <ul id="liste-milieux">
                                                                        <?php foreach ($milieux as $milieu => $description) : ?>
                                                                        <li>
                                                                                <input type="checkbox" class="milieu" name="milieu[]" value="<?=$milieu?>" 
                                                                                        <?=($description != '') ? 'title="'.$description.'"': '' ?>/>
                                                                                <?=$milieu?>
                                                                        </li>
                                                                        <?php endforeach; ?>
                                                                </ul>
                                                                <hr class="nettoyage" />
                                                        </li>
                                                        <li>
                                                                <label for="notes">Notes</label>
                                                                <textarea id="notes" name="notes" rows="3" cols="4" placeholder="Indiquez nous en particulier le ou les outils d'identification que vous avez utilisé, et toute autre information concernant le milieu ou l'espèce" ></textarea>
                                                        </li>
                                                </ul>
                                        </fieldset>
                                </div><!-- zone-fiche-terrain-->
                        </form>
                        
                        <div id="zone-fiche-terrain-photo">
                                <form id="form-upload"  action="<?= $url_ws_upload ?>?projet=sauvages" 
                                        method="post" enctype="multipart/form-data">
                                        <fieldset id="partie-photo">
                                                <legend>Ajouter une photo</legend>
                                                <p id="miniature-info" class="discretion">Vous pouvez ajouter une photo correspondant à cette espèce. La photo doit être au format JPEG et ne doit pas excéder 5Mo.</p>                                     
                                                <input type="file" id="fichier" name="fichier" accept="image/jpeg"/>
                                                <input type="hidden" name="MAX_FILE_SIZE" value="5242880"/>
                                                <p id="miniature-msg">&nbsp;</p>
                                                <div id="miniature"></div>
                                                <button id="effacer-miniature" type="button" style="display:none;">Effacer</button>
                                        </fieldset>
                                </form>
                                
                                <div>
                                        <button id="ajouter-obs" type="button">Ajouter</button>
                                </div>
                        </div><!-- zone-fiche-terrain-photo -->
                                
                        <!-- Affiche le tableau récapitualif des observations ajoutées -->
                        <div id="zone-liste-obs">
                                <form action="#" >
                                        <fieldset id="partie-preview">
                                                <legend>Liste des observations à transmettre</legend>
                                                <table id="liste-obs">
                                                        <thead>
                                                                <tr>
                                                                        <th>N&deg;</th>
                                                                        <th>Date</th>
                                                                        <th>Adresse</th>
                                                                        <th>Nom</th>
                                                                        <th>Milieu(x)</th>
                                                                        <th title="Latitude / Longitude">Lat./Long.</th>
                                                                        <th>Photo</th>
                                                                        <th>Notes</th>
                                                                        <th></th>
                                                                </tr>
                                                        </thead>
                                                        <tbody></tbody>
                                                </table>
                                                <button id="transmettre-obs" type="button">Transmettre</button>
                                        </fieldset>
                                </form>
                        </div> <!-- zone-liste-obs : wrap3 -->
                </div>
                
                <!-- Messages d'erreur du formulaire-->
                <div id="dialogue-bloquer-copier-coller" style="display: none;" title="Information copier/coller">
                        <p>
                                Merci de ne pas copier/coller votre courriel.<br/>
                                La double saisie permet de vérifier l'absence d'erreurs.
                        </p>
                </div>
                <div id="dialogue-zero-obs" style="display: none;" title="Information aucune observation">
                        <p>Veuillez saisir des observations pour les transmettres.</p>
                </div>
                <div id="dialogue-form-invalide" style="display: none;" title="Validation du formulaire">
                        <p>Certains champs n'ont pas été saisis correctement, veuillez vérifier les champs saisis.</p>
                </div>
                
                <div id="dialogue-obs-transaction" style="display: none;" title="Transmission des observations"></div>
                
                <div id="dialogue-google-map" style="display: none;" title="Information sur Google Map"></div>
                
                <div id="dialogue-erreur" style="display: none;" title="Erreur"></div>
                
                <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;">                     
                        <div id="chargement-centrage" style="position:relative;width:30%;margin:0 auto;top:30%;">
                                <img id="chargement-img" src="<?=$url_base?>modules/saisie/squelettes/sauvages/img/chargement_arbre.gif" alt="Transfert en cours..."/>
                                <p id="chargement-txt" style="color:white;font-size:1.5em;">
                                        Transfert des observations en cours...<br />
                                        Cela peut prendre plusieurs minutes en fonction de la taille des images et du nombre d'observation à transférer.
                                </p>
                        </div>
                </div>
                
                <!-- Stats : Google Analytics-->
                <script type="text/javascript">
                        //<![CDATA[
                        var _gaq = _gaq || [];
                        _gaq.push(['_setAccount', 'UA-20092557-1']);
                        _gaq.push(['_trackPageview']);
                        
                        (function() {
                          var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
                          ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
                          var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
                        })();
                        //]]>
                </script>
        </body>
</html>