Skip to content
Salvatore Cicciu edited this page Nov 15, 2017 · 19 revisions

LibellID

Projet

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

Conception

Maquettes de l'application

Maquettes LibellID

Installation

Prérequis

  • npm installé
  • ionic 2 installé
  • cordova installé

Ajout de promenades

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 pathKML et pointsKML
  • 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.kml et nomPromenadePoints.kml et les placer dans src/assets/data/walk
  • éditer le fichier nomPromenadePoints.kml pour 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>
    
    `

Ajout de libellules

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`
    }
    

Ajout de critères

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"
      }
    

Exécution du parser sur Windows

1. Installation

Installer les logicielles suivants.

  • NodeJS
  • Git Bash
  • Python

2. Téléchargement du projet

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.

3. Ajouter la variable d'environnement python pour Windows 10 et Windows 8

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.

EnvVar1 LibellID

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.

EnvVar2 LibellID

4. Ouvrir Node.js command prompt

Aller sur le menu démarrer et rechercher le programme « Node.js command prompt » et lancer le.

5. Naviguer dans Node.js command prompt

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>

6. Installer les nodes modules

Il faut ensuite taper la commande suivante :

npm install

7. Execution du parser

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

ParserNoError

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

ParserError

Différentes commandes pour la vérification de libellID.json

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