Bienvenue dans la doc de FollowDem¶

FollowDem est une application web cartographique permettant de suivre le dĂ©placement d’objets Ă©quipĂ©s d’un GPS.

Utilisée pour le suivi GPS des bouquetins du Parc national des Ecrins : http://bouquetins.ecrins-parcnational.fr

Contenu:

SERVEUR¶

http://geonature.fr/img/logo-pne.jpg

Pré-requis¶

Vous devez disposer d’un serveur ou d’un hĂ©bergement mutualisĂ© avec MySQL, PHP 5 et Apache2.

Si vous avez la main sur le serveur, cette documentation vous aidera Ă  sa mise en place.

Si vous disposez d’un hĂ©bergement mutualisĂ©, le serveur doit ĂȘtre prĂȘt Ă  l’utilisation (avec MySQL, PHP 5.4 et Apache2), passez alors directement Ă  la rubrique INSTALLATION.

  • Ressources minimales du serveur :

Un serveur disposant d’au moins de 1 Go RAM et de 10 Go d’espace disque.

  • Disposer d’un utilisateur linux (nommĂ© followdem dans cette exemple et dont le rĂ©pertoire est ainsi dans /home/followdem/)

    sudo adduser --home /home/followdem followdem
    

Installation et configuration du serveur¶

Installation pour Ubuntu.

notes:Cette documentation concerne une installation sur Ubuntu 12.04 LTS. Elle devrait ĂȘtre valide sur Debian ou une version plus rĂ©cente d’Ubuntu. Pour tout autre environemment les commandes sont Ă  adapter.

.

notes:L’utilisateur followdem est Ă  remplacer par le nom de votre utilisateur linux si vous en avez choisi un diffĂ©rent.
  • Assignez le rĂŽle d’administrateur Ă  l’utilisateur followdem :

    sudo usermod -g www-data followdem
    sudo usermod -a -G root followdem
    sudo adduser followdem sudo
    exit
    

Fermer la console et la réouvrir pour que les modifications soient prises en compte.

  • Mise Ă  jour des sources applicatives :

    sudo apt-get update
    
  • Installer Apache :

    sudo apt-get install apache2
    
  • Activer le mod_rewrite et redĂ©marrer Apache :

    sudo a2enmod rewrite
    sudo apache2ctl restart
    

Installation de PHP et ses librairies¶

sudo apt-get install php5-common libapache2-mod-php5 php5-cli
sudo apt-get install php5-mysql php5-curl
sudo apt-get install php5-imap
sudo php5enmod imap
sudo service apache2 restart

Installation et configuration de MYSQL¶

  • Installation de MySQL et crĂ©ation de l’utilisateur root avec le mot Ă  passe Ă  remplacer :

    apt-get install mysql-server mysql-client libmysqlclient15-dev mysql-common
    sudo mysqladmin -u root password Nouveau_mot_de_passe -p ""
    
  • Ouvrir le fichier de configuration de MySQL pour le modifier :

    sudo vi /etc/mysql/my.cnf
    

Dans le fichier my.cnf, modifier les lignes de la façon suivante :

language = /usr/share/mysql/french
key_buffer = 32M
query_cache_limit = 2M
#log_bin = /var/log/mysql/mysql-bin.log
#expire_logs_days = 10
log_slow_queries = /var/log/mysql/mysql-slow.log
long_query_time = 2
default-character-set = utf8
default-collation = utf8_general_ci
default-character-set = utf8
  • Rechargez ensuite le serveur :

    /etc/init.d/mysql reload
    
  • CrĂ©ation d’un utilisateur MySQL (nom et mot de passe Ă  replacer par vos valeurs) :

    CREATE USER "nom_utilisateur"@"localhost";
    SET password FOR "nom_utilisateur"@"localhost" = password('mot_de_passe');
    
  • CrĂ©ation d’une base de donnĂ©ees MySQL (nom Ă  remplacer) :

    CREATE DATABASE nom_de_la_base;
    
  • Pour se placer dans la base, tapez dans MySQL :

    USE nom_de_la_base;
    
  • Attribution des droits Ă  l’utilisateur MySQL :

    GRANT ALL ON nom_de_la_base.* TO "nom_utilisateur"@"localhost";
    

INSTALLATION¶

http://geonature.fr/img/logo-pne.jpg

Création des tables de la base de données MySQL¶

Avec phpMyAdmin¶

Se placer dans la BDD de FollowDem puis dans l’onglet Importer de phpMyAdmin.

Cliquez sur Choisissez un fichier et sélectionner le fichier data/FollowDem_DataBase.sql qui est le script de création des tables.

Ensuite sĂ©lectionnez utf-8 comme Jeu de caractĂšres du fichier, autorisez l’importation partielle, sĂ©lectionnez SQL comme Format.

Enfin, cliquez sur Exécuter

Votre base de données est maintenant opérationnelle et sans données.

Vous pouvez aussi importer un jeu de donnĂ©es exemple en effectuant les mĂȘmes Ă©tapes que ci-dessus, mais en sĂ©lectionnant le fichier data/FollowDem_DataSet.sql.

En ligne de commande¶

Se placer dans le rĂ©pertoire data de l’application (en remplacant followdem par le nom de votre utilisateur Linux et monprojet par le rĂ©pertoire oĂč vous avez placer l’application FollowDem) :

cd /home/followdem/monprojet/data

CrĂ©er la BDD MySQL (en remplacant par vos valeurs d’utilisateur MySQL et de nom de BDD) :

mysql -unomUtilisateur -pmotDePasse
use nomDeLaBase;
source FollowDem_DataBase.sql;

Comme sur phpMyAdmin, si vous souhaitez ajouter le jeu de donnĂ©es d’exemple, saisissez en plus la commande suivante :

source FollowDem_DataSet.sql;

Installation du rĂ©pertoire de l’application¶

Avec un logiciel FTP ou SSH (WinSCP, Filezilla
)¶

  • RĂ©cupĂ©rez le ZIP de la version souhaitĂ©e de l’application sur le Github du projet FollowDem (https://github.com/PnEcrins/FollowDem/releases)
  • Extraire le contenu dans un rĂ©pertoire au nom de votre projet Ă  la racine du rĂ©pertoire de publication web d’Apache du serveur.

En ligne de commande¶

  • RĂ©cupĂ©rer le zip de l’application sur le Github du projet (X.Y.Z Ă  remplacer par le numĂ©ro de version souhaitĂ©) et dĂ©zippez le dans le rĂ©pertoire de l’utilisateur linux :

    cd /home/followdem
    wget https://github.com/PnEcrins/FollowDem/archive/X.Y.Z.zip
    unzip X.Y.Z.zip
    cd FollowDem-X.Y.Z/
    

Vous pouvez renommer le rĂ©pertoire de l’application si vous souhaitez.

Configuration Apache¶

CrĂ©ez un virtualhost pour l’application :

sudo nano /etc/apache2/sites-available/followdem.conf

Intégrez-y ces lignes en les adaptant à votre serveur :

<VirtualHost *:80>
   ServerName URLServeur
   Alias / "repertoire de l'appli"
   <Directory "repertoire de l'appli">
       Options Indexes FollowSymLinks
       AllowOverride All
       Require all granted
   </Directory>
</VirtualHost>

Activez le virtualhost puis redémarrez Apache :

sudo a2ensite followdem
sudo apachectl restart

Configuration de l’application¶

CrĂ©er le rĂ©pertoire /csv Ă  la racine de l’application, crĂ©er le fichier tracked_objects.csv Ă  l’intĂ©rieur de ce rĂ©pertoire. Ensuite, crĂ©er le rĂ©pertoire /csv dans le rĂ©pertoire /tmp (ce sera ce rĂ©pertoire qui recevra les fichiers txt contenus dans les piĂšces jointes des emails envoyĂ©s par le satellite).

Exécutez le script install.sh qui va copier les différents fichiers exemples :

cd /home/followdem/monprojet
.install.sh

Editer alors le fichier config/config.php pour définir les paramÚtres de connexion à votre base de données, ainsi que tous les paramÚtres utiles à une personnalisation de votre application.

Voir la rubrique CONFIGURATION pour le détail des paramÚtres.

Fonds cartographiques¶

3 types de fonds cartographiques peuvent ĂȘtre utilisĂ©s dans l’application :

  • Fonds IGN en utilisant l’API du Geoportail.
  • Fonds OpenStreetMap.
  • Fonds Google Maps.

La configuration des fonds à utiliser se fait dans le fichier /config/config.php à partir de la ligne 323. Voir rubrique CONFIGURATION pour le détail des paramÚtres.

Vous avez la possibilitĂ© d’ajouter un fond cartographique en respectant la nomenclature utilisĂ©e au dessus.

Vous pouvez aussi définir le fond vous souhaitez utiliser par défaut, en modifiant la ligne suivante du fichier /config/config.php :

$config['leaflet_fonds_carte_defaut'] = "OSM";

Vous avez aussi la possibilitĂ© d’utiliser les fonds de carte Google Maps avec le paramĂštre ligne 393 du fichier /config/config.php.

Fonds IGN Geoportail¶

Commencez par commander une clĂ© IGN. Si vous ĂȘtes un Ă©tablissement public, vous disposez de la licence gĂ©oservices IGN pour usage grand public - gratuite

Nous conseillons les couches suivantes :

  • WMTS-GĂ©oportail - Cartes IGN
  • WMTS-GĂ©oportail - Scan IGN
  • WMTS-GĂ©oportail - Orthophoto IGN

Pour cela, il faut que vous disposiez d’un compte IGN pro. (http://professionnels.ign.fr) Une fois connectĂ© au site:

  • aller dans Nouvelle commande
  • choisir GĂ©oservices IGN : Pour le web dans la rubrique « LES GÉOSERVICES EN LIGNE Â»
  • cocher l’option « Pour un site internet grand public Â»
  • cocher l’option « Licence gĂ©oservices IGN pour usage grand public - gratuite Â»
  • saisir votre url. Attention, l’adresse doit ĂȘtre prĂ©cĂ©dĂ©e de http://
  • Finir votre commande en selectionnant les couches souhaitĂ©es et en acceptant les diffĂ©rentes licences.

Une fois que votre commande est prĂšte, saisissez la valeur de la clĂ© IGN reçue dans le fichier config/config.php : remplacer la chaine maCleIgn dans le paramĂštre $config['leaflet_fonds_carte'] dans l’URL des fonds IGN Geoportail.

Cache serveur¶

Smarty s’occupe de sauvegarder le cache sur le serveur et garde ce cache pendant deux heures (durĂ©e paramĂ©trable avec $config['smarty_cache_lifetime'] dans le fichier config/config.php).

Le cache est sauvegardé dans deux dossiers différents : /templates_c et /cache.

Lorsque vous effectuez des modifications dans l’application, il se peut que les changements ne se soient pas enregistrĂ©s dans les dossiers de cache. Pour voir ces modifications appliquĂ©es, il vous faudra vider les dossiers /templates_c et /cache.

Gestion des droits¶

Si vous rencontrez des problĂšmes lors de l’exĂ©cution du script d’import des csv (cf configuration.rst), ceci vient des droits sur le fichier tracked_objects.csv.

Il faut que vous exécutiez la commande suivante :

chmod 664 -R csv/

GESTION DES DONNEES¶

AprĂšs avoir installĂ© et configurĂ© l’application, vous devez crĂ©er vos objets suivis dans la base de donnĂ©es.

Une interface d’administration est en cours de dĂ©veloppement (dans le rĂ©pertoire _admin, accessible Ă  l’adresse http://mondomaine.com/_admin). Elle permet actuellement de lister les objets de la BDD mais pas encore de les Ă©diter. Ainsi ces opĂ©rations de gestion des donnĂ©es doivent pour le moment ĂȘtre faites directement dans la BDD.

Tout d’abord, sĂ©lectionnez la BDD de votre application dans phpMyAdmin.

CAS n°1 : Ajouter un objet dont l’émetteur GPS n’a jamais Ă©tĂ© utilisé¶

Insérez une nouvelle ligne dans la table tracked_objects :

  • id : correspond Ă  l’identifiant numĂ©rique de l’émetteur GPS.
  • nom : nom de l’objet.
  • date_creation : date du jour ou laisser vide.
  • date_maj : laisser vide (renseignĂ© automatiquement Ă  chaque import de donnĂ©es).
  • active : dĂ©sactive l’affichage d’un objet qui ne renvoie pas de donnĂ©es GPS.

Attention mettre 0 dans le champs active ne signifie pas que l’objet sera dĂ©sactivĂ© du site pour toujours mais qu’il n’y apparaĂźt plus tant que de nouvelles donnĂ©es satellites ne sont pas disponibles.

Si des donnĂ©es correspondantes Ă  l’émetteur GPS sont de nouveau transmises l’objet sera rĂ©activĂ© automatiquement.

Ensuite, insérez 4 nouvelles entrées dans la table objects_features (une entrée par champ nom_prop) :

  • id_tracked_objects : correspond Ă  l’identifiant numĂ©rique de l’émetteur GPS (sans le T5HS- devant)

  • nom_prop : peut avoir 4 valeurs diffĂ©rentes :

    • couleurD : couleur de la boucle sur l’oreille droite,
    • couleurG : couleur de la boucle sur l’oreille gauche,
    • naissance : annĂ©e de naissance
    • sexe : M ou F
  • valeur_prop : valeur selon nom_prop :

    • couleurD ou couleurG : couleur hĂ©xadecimale prĂ©cĂ©dĂ©e de # (ex : #FF4574)
    • naissance : annĂ©e au format numĂ©rique (ex : 2010)
    • sexe : F ou M

Il ne reste plus qu’à lancer un import des donnĂ©es existantes si des donnĂ©es ont dĂ©jĂ  Ă©tĂ© transmises aprĂšs la pose de l’émetteur GPS sur l’objet traquĂ©.

Ces données se trouvent dans les fichiers TXT du répertoire /tmp/csv.

Il faut donc exĂ©cuter le script http://mon-domaine.com/controler/import_imap_csv. Les donnĂ©es sont intĂ©grĂ©es dans la table gps_data. Voir rubrique PRINCIPES DE L’APPLICATION dans la documentation CONFIGURATION.

Il se peut que le fichier contienne des donnĂ©es de test avant la pose de l’émetteur GPS, il faut donc Ă©xecuter la requĂȘte suivante dans la BDD pour les supprimer (en remplacant id_emetteurGPS par la valeur numĂ©rique souhaitĂ©e) :

DELETE FROM `gps_data` WHERE `id_tracked_objects` = 'id_emetteurGPS' AND `dateheure` > 'date_de_pose';

CAS n°2 : Ajout d’un nouvel objet dont l’émetteur GPS a dĂ©jĂ  Ă©tĂ© utilisĂ© sur un autre objet¶

Si l’émetteur GPS a dĂ©jĂ  Ă©tĂ© utilisĂ© il convient de supprimer toutes les donnĂ©es antĂ©rieures Ă  la nouvelle date de pose de l’émetteur GPS (en remplacant id_emetteurGPS par la valeur numĂ©rique souhaitĂ©e).

DELETE FROM `gps_data` WHERE `id_tracked_objects` = 'id_emetteurGPS' AND `dateheure` > 'date_de_pose';

Si vous souhaitez conserver les donnĂ©es de l’ancien objet, vous pouvez effectuer la requĂȘte suivante pour renommer son identifiant (O pour OLD) :

UPDATE `gps_data` SET `id_tracked_objects` = 'id_objet_O' WHERE `id_tracked_objects` = 'id_objet';

Ensuite reprenez les étapes du cas n°1.

CAS n°3 : Un objet change d’émetteur GPS¶

Modifiez l’identifiant de l’émetteur GPS dans la table tracked_objects, pour ceci vous avez juste Ă  modifier la ligne avec l’id souhaitĂ©.

Par la suite, modifiez l’identifiant de l’émetteur GPS dans la table objects_features, vous devez modifier 4 lignes comme dans le cas n°1.

Sinon, tapez la requĂȘte suivante (en remplacant id_ancien_emetteurGPS et id_nouvel_emetteurGPS par les id souhaitĂ©s) :

UPDATE `objects_features` SET `id_tracked_objects` = 'id_ancien_emetteurGPS' WHERE `id_tracked_objects` = 'id_nouvel_emetteurGPS';

Enfin, supprimez les donnĂ©es datant d’avant la pose de l’émetteur GPS (en remplacant id_emetteurGPS) :

DELETE FROM `gps_data` WHERE `id_tracked_objects` = 'id_emetteurGPS' AND `dateheure` > 'date_de_pose';

TrĂšs important, si vous souhaitez conserver les anciennes donnĂ©es de l’objet, tapez la requĂȘte suivante (en remplacant id_ancien_emetteurGPS et id_nouvel_emetteurGPS) :

UPDATE `gps_data` SET `id_tracked_objects` = 'id_ancien_emetteurGPS' WHERE `id_tracked_objects` = 'id_nouvel_emetteurGPS';

Mais si vous souhaitez les supprimer, privilĂ©giez plutĂŽt la requĂȘte suivante (en remplacant id_ancien_emetteurGPS) :

DELETE FROM `gps_data` WHERE `id_tracked_objects` = 'id_ancien_emetteurGPS';

Tout comme dans le cas n°1, si vous voulez importer des données existantes, exécutez le script suivant : http://mon-domaine.com/controler/import_imap_csv.

CAS n°4 : Ne plus afficher un objet¶

2 solutions s’offrent à vous :

  • Vous voulez conserver les anciennes donnĂ©es :

Il suffit pour cela de renommer l’identifiant dans la table tracked_objects.

Et aprĂšs il faut mettre le champ active Ă  0.

  • Vous souhaitez supprimer dĂ©finitivement les donnĂ©es :

ExĂ©cutez les requĂȘtes suivantes (en remplacant id_emetteurGPS) :

DELETE FROM `tracked_objects` WHERE `id` = 'id_emetteurGPS';
DELETE FROM `objects_features` WHERE `id_tracked_objects` = 'id_emetteurGPS';
DELETE FROM `gps_data` WHERE `id_tracked_objects` = 'id_emetteurGPS';

CONFIGURATION¶

Principe de l’application¶

Principe général :

L’application permet de suivre la position et le dĂ©lacement de plusieurs objets Ă©quipĂ©s d’un GPS.

Les objets ont chacun un identifiant. Ils transmettent tous leur position GPS à un satellite à intervalles réguliers.

Il faut ensuite récupérer ces positions GPS des objets pour les intégrer dans la base de données MySQL. Pour cela un fichier TXT par position et par objet est envoyé à une boite email.

Le fichier TXT (nommĂ© T5HS-4183_2014-07-31_185705.txt oĂč 4183 est l’identifiant de l’objet et les chiffres suivants sont la date et l’heure) est construit de la sorte :

2014-07-31  20:57:05+0      44.989867       6.022400        (-)0

Date        Time    TTF     Lat     Long    SATÂŽs   2D/3D   Alt     H-DOP   Temp    X       Y
2014-07-31  18:57:00        100     44.9901367       6.0225950      6       3D        2547  3.5      14      46      29

Dans cet exemple, le fichier contient :

  • la date et l’heure du relevĂ© GPS
  • le TTF (Time To First Fix, temps mis pour obtenir la position GPS de l’objet)
  • la latitude et longitude en WGS84
  • le nombre de satellites qui ont permis de dĂ©finir la position
  • si la position a Ă©tĂ© fournie en 2D ou en 3D
  • l’altitude de la position
  • le H-DOP (Dilution Of Precision, coefficient de prĂ©cision de la position)
  • la tempĂ©rature (fournie par le GPS)
  • X et Y (non utilisĂ©es)

Une tĂąche (import_imap_csv dans le fichier /classes/controler/controler.class.php) permet de :

  • Se connecter Ă  cette boite email et d’en extraire les fichiers TXT en piĂšce-jointe des emails
  • Copier ces fichiers TXT dans le rĂ©pertoire tmp/csv
  • Supprimer les emails une fois les fichiers TXT copiĂ©s sur le serveur
  • Importer les nouvelles positions des diffĂ©rents objets (si ceux-ci existent dans la BDD avec un identifiant commun) dans un fichier CSV (/csv/tracked_objects.csv)
  • Supprimer les fichiers TXT temporaires une fois qu’ils ont Ă©tĂ© traitĂ©s
  • Importer les nouvelles positions dans la BDD MySQL depuis le fichier /csv/tracked_objects.csv
  • Vider le fichier /csv/tracked_objects.csv

Cette tache peut ĂȘtre lancĂ©e manuellement (url/controler/import_imap_csv) ou par un CRON lancĂ© autmatiquement Ă  intervalle rĂ©gulier.

Pour mettre en place le CRON qui va lancer cette tache toutes les heures, Ă©ditez la liste des CRON du serveur :

crontab -e

Ajouter cette ligne dans le fichier (en remplacant URL_FollowDem par l’URL de votre application) :

#BOUQUETINS Import des donnees toutes les heures
0 */1 * * * wget http://URL_FollowDem/controler/import_imap_csv -O - >> /var/www/followdem/logs/imports.log

Les résultats de la tache lancée automatiquement toutes les heures seront écrits dans le fichier de log /logs/imports.log.

D’autres maniĂšres de remplir ce CSV pourraient ĂȘtre envisagĂ©es :

  • Remplir directement le fichier CSV automatiquement ou Ă  la main
  • Importer les fichiers TXT dans le rĂ©pertoire tmp/csv sans passer par une connexion Ă  une boite email.

Ainsi une autre tache est disponible sans se connecter Ă  une boite email, ni passer par des fichiers TXT : url/controler/import_csv

  • Elle recherche le fichier : csv/tracked_objects.csv
  • Puis importe selon la dĂ©finition du tableau associatif $config['csv_colonne'] (nom_donnee => index CSV)

Dans notre cas, le fichier CSV est constitué des colonnes :

  • Id de l’objet.
  • Nom de l’objet.
  • Date de l’envoi des donnĂ©es au satellite.
  • Heure de l’envoi des donnĂ©es au satellite.
  • TTF (pas utilisĂ©)
  • Latitude.
  • Longitude.
  • Nombre de satellites.
  • 3D ou 2D. (si c’est on 3D on a l’altitude)
  • Altitude de l’objet.
  • H-DOP. (permet de connaĂźtre la fiabilitĂ© de la position)
  • TempĂ©rature.
  • X (pas utilisĂ©)
  • Y (pas utilisĂ©)

Les colonnes et leur ordre dans le CSV sont configurables dans le paramÚtre $config['csv_colonne'] du fichier /config/config.php Il est possible de définir des seuils de valeur pour lesquelles on ne souhaite pas intégrer les positions dans la BDD (Nombre de satellites trop faible, H-DOP trop élevé, latitude, longitude ou altitude incohérentes,
) avec le paramÚtre $config['csv_condition'] dans le fichier /config/config.php.

Configurer l’application¶

Rendez vous dans le fichier /config/config.php, c’est ce fichier qui est la base de la configuration de l’application.

Modifier nom de domaine de l’application

$config['url'] = 'http://mon-domaine.com';

Changer le titre de l’application

$config['titre_application'] = 'FollowDem';

Modifier l’URL vers un formulaire de contact

$config['emailContact'] = 'http://mon-domaine.com/nous-contacter';

Définir les langues disponibles (complétez le array en suivant la logique ci-dessous)

$config['langue_dispo'] = array('fr_FR'=>'fr','us_US'=>'us');

Définir une langue par défaut

$config['langue_defaut'] = 'fr';

Choisir un fuseau horaire

$config['fuseau'] = 'Europe/Paris';

Modifier l’encodage de l’application par dĂ©faut

$config['encodage'] = 'UTF-8';

Changer l’encodage de la date de sortie

$config['datesortie'] = '%a %e %b %Y - %H:%M';

DĂ©finir la durĂ©e en jours minimale de non mise-Ă -jour des donnĂ©es (un objet est dĂ©sactivĂ© si il n’a pas reçu de donnĂ©es pendant cette durĂ©e)

$config['date_data_valide'] = 150;

Changer la pĂ©riode minimale de suivi d’un objet (en jours)

$config['periode_min'] = 15;

Changer la pĂ©riode maximale de suivi d’un objet

$config['periode_max'] = 360;

Modifier les pĂ©riodes possibles pour le suivi d’un objet (affichĂ© sous forme de liste dĂ©roulante)

$config['periode_valeurs'] = array(3,15,30,60,90,120,150,180,210,240,270,300,330,360);

SĂ©lectionner un sĂ©parateur pour le chemin du rĂ©pertoire de l’application

$config['system_separateur'] = '/';

Modifier le rĂ©pertoire de l’application

$config['rep_appli'] = '/var/www/followdem';

Définir le séparateur dans les fichiers CSV

$config['csv_separateur'] = ',';

DĂ©finir le paramĂštre d’exclusion de caractĂšres spĂ©ciaux

$config['csv_enclosure'] = '"';

Modifier le nom du fichier CSV contenant les données à importer dans la BDD

$config['csv_name'] = 'tracked_objects.csv';

Modifier le répertoire qui contient ce fichier CSV

$config['csv_repertoire'] = 'csv';

DĂ©finir les colonnes du fichier CSV que vous voulez utiliser

$config['csv_colonne'] = array('id'=>0,'nom'=>1,'date'=>2,'heure'=>3,'latitude'=>5,'longitude'=>6,'temperature'=>11,'nb_satellites'=>7,'altitude'=>9);

Affecter l’Id d’un objet à un nom d’objet

$config['csv_nom_tracked_objects'] = array();

Changer l’email de rĂ©ception des erreurs de traitement des fichiers CSV

$config['csv_email_error_nom'] = array('monPrenom'=>'exemple@domaine.com');

Choisir si la transmission d’email d’erreur lors de l’import est autorisĂ©e

$config['csv_email_error'] = false;

Récupérer des propriétés supplémentaires dans le CSV

$config['csv_colonne_objects_features'] = array();

Modifier le format de date du fichier CSV

$config['csv_date_format'] = 'Y-m-d';

Modifier le format de l’heure du fichier CSV

$config['csv_heure_format'] = 'H:i:s';

Changer les restrictions d’import de certaines donnĂ©es dans le fichier CSV

$config['csv_condition'] = array(array(5,'>0'),array(6,'>0'),array(9,'>1000'),array(9,'<4102'));
$config['csv_condition_type'] = array(5=>'numeric',6=>'numeric',9=>'numeric');

Modifier les paramÚtres de connexion à la base de données

$config['db_host']              =       'localhost';
$config['db_name']              =       'dbname';
$config['db_user']              =       'dbuser';
$config['db_password']  =       'monpassachanger';
$config['db_prefixe']   =       '';
$config['db_type']              =       'mysql';
$config['db_encodage']  =       'UTF8';

Modifier les paramùtres d’envoi d’email

$config['email_smtp']                   =       'smtp.domaine.com';
$config['email_user']                   =       'exemple@domaine.com';
$config['email_password']               =       'monpassachanger';
$config['email_port']                   =       465;
$config['email_SMTPAuth']               =       true; //true - false
$config['email_SMTPSecure']     =       'ssl'; //ssl - tls
$config['email_Charset']                =       'UTF-8';
$config['email_From']                   =       'exemple@domaine.com';
$config['email_FromName']               =       'FollowDem';

Choisir si le debug dans Smarty est autorisé

$config['smarty_debugging'] = false;

Choisir si le cache serveur dans Smarty est autorisé

$config['smarty_caching'] = true;

Définir la durée de vie du cache serveur Smarty

$config['smarty_cache_lifetime'] = 120;

ParamĂ©trer les fonds de carte utilisĂ©s par l’application.

Si vous utilisez les fonds de cartes IGN, pensez Ă  remplacer la valeur de maCleIgn dans url.

$config['leaflet_fonds_carte'] = array(
                "IGNCARTE"=>array(
                        'name'=>'Carte IGN',
                        'url'=>'http://gpp3-wxs.ign.fr/maCleIgn/geoportail/wmts?LAYER=GEOGRAPHICALGRIDSYSTEMS.MAPS.SCAN-EXPRESS.STANDARD&EXCEPTIONS=text/xml&FORMAT=image/jpeg&SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE=normal&TILEMATRIXSET=PM&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}',
                        'attribution'=>'IGN',
                        'maxZoom'=>17,
                        'subdomains'=>''
                ),
                "IGNPHOTO"=>array(
                        'name'=>'Photo aérienne IGN',
                        'url'=>'http://gpp3-wxs.ign.fr/maCleIgn/geoportail/wmts?LAYER=ORTHOIMAGERY.ORTHOPHOTOS&EXCEPTIONS=text/xml&FORMAT=image/jpeg&SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE=normal&TILEMATRIXSET=PM&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}',
                        'attribution'=>'IGN',
                        'maxZoom'=>19,
                        'subdomains'=>''
                ),
                "IGNCARTEDET"=>array(
                        'name'=>'Carte détaillée IGN',
                        'url'=>'http://gpp3-wxs.ign.fr/maCleIgn/geoportail/wmts?LAYER=GEOGRAPHICALGRIDSYSTEMS.MAPS&EXCEPTIONS=text/xml&FORMAT=image/jpeg&SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&STYLE=normal&TILEMATRIXSET=PM&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}',
                        'attribution'=>'IGN',
                        'maxZoom'=>17,
                        'subdomains'=>''
                ),
                "OSM"=>array(
                        'name'=>'OpenStreetMap',
                        'url'=>'http://{s}.mqcdn.com/tiles/1.0.0/osm/{z}/{x}/{y}.png',
                        'attribution'=>'Tiles courtesy of <a href="http://www.mapquest.com/" target="_blank">MapQuest</a>. Map data (c) <a href="http://www.openstreetmap.org/" target="_blank">OpenStreetMap</a> contributors, CC-BY-SA.',
                        'maxZoom'=>19,
                        'subdomains'=>array("otile1", "otile2", "otile3", "otile4")
                )
        );

Choisir le fond de carte par dĂ©faut sur l’application

$config['leaflet_fonds_carte_defaut'] = "OSM";

Changer les pictogrammes utilisés par Leaflet

$config['leaflet_pictos'] = array('position'=>
        array(
                'iconUrl'=>'images/marker-icon.png',
                'iconRetinaUrl'=>'images/marker-icon-2x',
                'iconSize'=>array(25, 41),
                'iconAnchor'=>array(13, 20),
                'popupAnchor'=>array(0, 0),
                'shadowUrl'=>'images/marker-shadow.png',
                'shadowRetinaUrl'=>'images/marker-shadow.png',
                'shadowSize'=>array(41, 41),
                'shadowAnchor'=>array(13, 20)
        )
);

Choisir la position de centrage initial sur la carte

$config['leaflet_centrage_initiale'] = array('44.845159','6.310043');

DĂ©finir le zoom initial sur la carte

$config['leaflet_zoom_initial'] = 11;

DĂ©finir le zoom maximal sur la carte

$config['leaflet_zoom_max'] = 17;

DĂ©finir la position des icĂŽnes de zoom sur la carte

$config['leaflet_position_zoom'] = 'topright';

Choisir si le fond Google Maps sur la carte est autorisé

$config['leaflet_gmap'] = false;

Choisir un style par défaut pour les tracés

$config['lefleat_style_trace'] = array('color'=>"#000","fillColor"=>"#FFF","Opacity"=>1,"fillOpacity"=>1,"weight"=>3);

Choisir un style par défaut pour les flÚches de direction

$config['lefleat_style_direction'] = array('color'=>"#7F2B7F","Opacity"=>1,"weight"=>3);

Modifier la distance d’affichage des flĂšches directionnelles sur les tracĂ©s

$config['lefleat_repeat_direction'] = '50';

Choisir un style par défaut des derniers points de suivi des objets

$config['lefleat_style_point_defaut'] = array('color'=>"#A60000","fillColor"=>"#f03","Opacity"=>1,"fillOpacity"=>0.9,"weight"=>5);

Modifier le style des derniers points en fonction des paramÚtres contenus dans la base de données

$config['lefleat_style_point_surcharge'] = array('color'=>"couleurD","fillColor"=>"couleurG","Opacity"=>1,"fillOpacity"=>0.9,"weight"=>5);

ParamĂ©trer le suivi statistique de l’application (Google Analytics dans cet exemple avec ID Ă  remplacer par le votre)

$config['active_tracking_stats'] = 'true';
$config['tracking_stats'] = "
<script type='text/javascript'>
        var _gaq = _gaq || [];
        _gaq.push(['_setAccount', 'ID_GOOGLE_ANALYTICS_A_MODIFIER']);
        _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>";

Choisir si la rĂ©cupĂ©ration de la couleur dans le nom de l’objet est autorisĂ©e

$config['recupe_couleur_name_tracked_objects'] = true;

Choisir si l’affichage des messages d’erreurs et des exceptions est autorisĂ©

$config['debug']=true;

Choisir si l’enregistrement des logs dans la base de donnĂ©es est autorisĂ©

$config['log']=false;

AUTEURS¶

Parc national des Ecrins¶

  • Fabien Selles
  • Thibault Romanin
  • Gil Deluermoz
  • Camille Monchicourt
http://geonature.fr/img/logo-pne.jpg

CHANGELOG¶

0.4.0 (unreleased)¶

0.3.1 (2018-04-24)¶

New features

  • US language file added
  • Generic favicon

Documentation

  • Update data management documentation
  • Several additional information in installation documentation

0.3.0 (2015-06-26)¶

Nouvelles fonctionnalités

  • GĂ©nĂ©ricitĂ© des pages d’info de l’application (dans /template/pages/fr/)
  • Documentation de la Gestion des donnĂ©es
  • Evolution des dĂ©veloppements sur l’administration (formulaire LOGIN, connexion Ă  la BDD, composants JQUERY UI
)

0.2.0 (2015-06-22)¶

Nouvelles fonctionnalités

  • Premiers dĂ©veloppements de l’interface d’administration des donnĂ©es
  • Documentation de la possibilitĂ© d’importer des donnĂ©es directement depuis le CSV avec la tache url/controler/import_csv (sans passer par la connexion email et les fichiers TXT)

Corrections de bug

  • Erreur de nom de variable dans api.class.php
  • Suppression de 2 fichiers inutiles dans /config/
  • Nettoyage des commentaires

0.1.0 (2015-06-18)¶

PremiĂšre version gĂ©nĂ©rique de l’application

A partir de l’application BOUQUETINS DU PARC NATIONAL DES ECRINS (http://bouquetins.ecrins-parcnatonal.fr) dĂ©veloppĂ©e de maniĂšre gĂ©nĂ©rique par @nienfba en 2013, @romthi38 a finalisĂ© la dĂ©personnalisation en juin 2015 pour qu’elle puisse ĂȘtre publiĂ©e et ainsi ĂȘtre utilisĂ©e par d’autres structures, potentiellement dans des contextes diffĂ©rents (suivi GPS de rapaces ou de tout autre animal ou objet Ă©quipĂ© d’un Ă©metteur GPS).

Fonctionnalités

  • Retrait de toutes les spĂ©cificitĂ©s de l’application initiale « BOUQUETINS du PNE Â»
  • IntĂ©gration de tous les fichiers de l’application
  • IntĂ©gration d’un script de crĂ©ation de la BDD et d’intĂ©gration optionnelle d’un jeu de donnĂ©es d’exemple
  • RĂ©alisation d’une documentation complĂšte (http://followdem.rtfd.org) pour l’installation du serveur, de l’application et de la BDD ainsi que la configuration de l’application.