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¶
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¶
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 naissancesexe
: M ou F
valeur_prop
: valeur selonnom_prop
:couleurD
oucouleurG
: 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¶
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.