-
Notifications
You must be signed in to change notification settings - Fork 1
Home
LibellID est un projet d'application mobile (iOS et Android) qui a pour but de faire découvrir les libellules de Genève et de Suisse romande au grand public. Les fonctionnalités principales sont les suivantes :
- Affichage de fiches infos sur les libellules
- Itinéraires de promenades libellules
- Identification des libellules grâce à une clé
- Saisie des observations

- npm installé
- ionic 2 installé
- cordova installé
Une promenade est stockée aux trois endroits suivants :
- src/assets/data/libellID.json : informations sur la promenade
- src/assets/data/walks/nomPromenade.kml : le chemin de la promenade
- src/assets/data/walks/nomPromenadePoints.kml : les points d'intérêts de la promenade
Pour ajouter une nouvelle promenade il faut donc :
- ajouter une promenade au fichier libellID.json dans le tableau
walks -
{ "id": 1, "name": "Jardin botanique", "duration": "1h", "diversity": 2, "difficulty": 1, "length": 5.3, "description": "Lorem ipsum blabla bla blabla blablabla bla", "species": [ { "name": "Anax empereur", "flyFrom": 4, "flyTo": 10 }, { "name": "Agrion porte-coupe", "flyFrom": 4, "flyTo": 10 }, { "name": "Agrion jouvencelle", "flyFrom": 4, "flyTo": 9 }, { "name": "Agrion élégant", "flyFrom": 4, "flyTo": 9 }, { "name": "Naïade au corps vert", "flyFrom": 5, "flyTo": 9 } ], "pictures":[ "photo1.jpg", "photo2.jpg" ], "pathKML": "jardinBotanique.kml", "pointsKML": "jardinBotaniquePoints.kml", "coords": [46.224421, 6.147599] } - ajouter le nom des fichiers kml (chemin et points) dans les attributs
pathKMLetpointsKML - créer deux fichiers kml qui contiennent le chemin et les points d'intérêt
- pour créer ces fichiers : http://share.mapbbcode.org/
- une fois les fichiers créés, les renommer
nomPromenade.kmletnomPromenadePoints.kmlet les placer dans src/assets/data/walk - éditer le fichier
nomPromenadePoints.kmlpour que tous les points d'intérêts soient sous cette forme : -
`
<Placemark> <name>Etangs</name> <description> <![CDATA[ <p>Trouverez-vous l’Anax empereur, la plus grande libellule d’Europe?</p> <img src="assets/img/walk1pic3.jpg"> ]]> </description> <Point> <coordinates>6.14702,46.22506</coordinates> </Point>
Les libellules sont stockées dans le fichier src/assets/data/libellID.json dans le tableau dragonflies
Pour ajouter une libellule, ajouter un objet à ce tableau (enlever les commentaires si copier-coller)
-
{ "commonName": "Aeshne affine", "latinName": "Aeshna affinis", "headerPicture": "photo.png", "criteria": [ //référence au tableau `criteria` du même fichier [0], [1], [1], [1], [2,5,7], [4], [1], [1], [1], [1,2], [0], [0,1], [0,1] ], "pictures": [ //fichiers à placer dans `src/assets/img` "photo1.jpg", "photo2.jpg" ], "description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc mollis, turpis non sodales accumsan, felis erat cursus lorem, ornare vulputate risus enim vel orci. Praesent vel tortor volutpat, rhoncus sem lobortis, dapibus nisi. Integer id porttitor justo. Mauris fringilla ipsum blandit libero eleifend, in auctor lectus posuere. Duis felis tortor", "habitats": [ "pounds-1", //1 si habitat possible, 0 sinon "rivers-1", "peatbog-1", "ditch-1", "temp-environment-0", "lake-0" ], "behavior": "Lorem Ipsum blabla bla blablabla bla bla blabla", "flyPeriod": [ //[mars - octobre] 0.3, 0.6, 1, 1, 1, 1, 0.6, 0.3 ], "anecdote": "Lorem Ipsum blabla bla blablabla bla blabla", "threat": "Menacé, ou pas", "links":[ { "link": "http://www.google.ch", "value": "Google" }, { "link": "http://www.wikipedia.org", "value": "Wikipedia" } ], "distributionMap": "carte.png" //fichier à placer dans `src/assets/img` }
Les critères se trouvent à la fin du fichier src/assets/data/libellID.json
Pour ajouter un nouveau critère, ajouter un nouvel objet au tableau criteria
-
{ "name": "Taille du milieu aquatique", "values":[ { "name": "Une voiture ou moins", "icon": "icon.png" }, { "name": "Plus grand qu'une voiture", "icon": "icon.png" } ] }
Pour ajouter une nouvelle valeur à un critère, ajouter un nouvel objet au tableau values du critère concerné
-
{ "name": "Une voiture ou moins", "icon": "icon.png" }
Installer les logicielles suivants.
- NodeJS
- Git Bash
- Python
Aller sur le lien suivant et le téléchargement se lancera automatiquement.
https://github.com/jcavat/LibellID/archive/master.zip
Ensuite, il faut extraire le fichier . « .zip » sur le bureau.
Dans Rechercher, lancez une recherche et sélectionnez : Système (Panneau de configuration)
Cliquez sur le lien Paramètres système avancés.
Cliquez sur Variables d'environnement. Dans la section Variables utilisateur cliquez sur Path comme ci-dessous.

Ensuite, cliquez sur nouveau et entrer le chemin où se situe le dossier python que vous avez installé, le chemin devrait s'ajouter comme ci-dessous, puis cliquez sur ok.

Aller sur le menu démarrer et rechercher le programme « Node.js command prompt » et lancer le.
Il faut que l'on se situe dans le fichier courrant de LibellID, pour cela il faut tapper la commande suivante dans Node.js command prompt :
cd Desktop/LibellId-master
Normalement il devrait êtres écrit : C:\Users\VOTRE_USERNAME\Desktop\LibellID-master>
Il faut ensuite taper la commande suivante :
npm install
Pour exécuter le parser à n'importe quel moment il faut exécuter la commande suivante dans le chemin courant du projet avec Node.js command prompt.
npm run parser
/ ! \ Si vous êtes plus dans le chemin courant, il faut reprendre à partir de l'étape 4.
- S'il y a pas d'erreur dans le fichier «.json » on aura une erreur qui ressemble à l'image ci-dessous

- S'il y a une erreur dans le fichier «.json » on aura une erreur qui ressemble à l'image ci-dessous

Pour que le contrôle du fichier libellID.json se fasse, il faut faire la ligne suivante sur le fichier courant du projet.
Execute le parser
npm run-script parser
Execute le parser avant ionic serve
npm run-script parser_serve
Execute le parser avant ionic run ou ionic build with android
npm run-script parser_run android
npm run-script parser_build android
Execute le parser avant ionic run ou ionic build with IOS
npm run-script parser_run ios
npm run-script parser_build ios