# [i]Géo-Poppy[/i], un serveur web SIG portable pour le recueil de données terrain

Julien Ancelin, Jean Francois Odoux, Olivier Schmit, Audrey Caille

► To cite this version:

Julien Ancelin, Jean Francois Odoux, Olivier Schmit, Audrey Caille. [i]Géo-Poppy[/i], un serveur web SIG portable pour le recueil de données terrain. Géomatique Expert, 2016, 109, pp.42-48. hal-01354212

HAL Id: hal-01354212

https://hal.science/hal-01354212v1

Submitted on 27 May 2020

HAL is a multi-disciplinary open access
archive for the deposit and dissemination of sci-
entific research documents, whether they are pub-
lished or not. The documents may come from
teaching and research institutions in France or
abroad, or from public or private research centers.

L'archive ouverte pluridisciplinaire HAL, est
destinée au dépôt et à la diffusion de documents
scientifiques de niveau recherche, publiés ou non,
émanant des établissements d'enseignement et de
recherche français ou étrangers, des laboratoires
publics ou privés.

<figure><img src="image_1.png" /></figure>

Distributed under a Creative Commons CC BY-SA 4.0 - Attribution - ShareAlike - International
License
<figure><img src="image_2.png" /></figure>

Géo-Poppy,
un serveur
web SIG portable
pour le recueil
de données terrain

Spatialisation d'un patch de coquelicot.
<figure><img src="image_3.png" /></figure>

## Introduction

L'INRA est un organisme de recherche appliquée. Les expérimentations qu'il mène, à l'interface entre agriculture et environnement, génèrent une quantité importante de données. Les mesures expérimentales sont réalisées en laboratoire, mais aussi « au champ » et parfois sur de vastes territoires. Les données produites sont numériques et de plus en plus géo-localisées ; elles sont centralisées et disponibles sur le web et les scientifiques se servent de logiciels SIG (Système d'Information Géographique) pour visualiser et analyser l'information.

C'est le cas des recherches menées par l'Unité expérimentale Entomologie qui est située sur le site INRA du Magneraud en Charente-Maritime. Elle participe à un programme scientifique qui vise à comprendre les relations entre abeilles et plantes messicoles sur un territoire vaste de 450 km² à proximité de Niort (Deux-Sèvres).

Pour réaliser un inventaire complet des bleuets et coquelicots de cette zone atelier, notre équipe informatique a développé un outil autonome et simple d'utilisation. Géo-Poppy permet la saisie de données spatialisées « au champ » dans des zones qui ne sont pas toujours couvertes par une connexion web (gsm/wifi). La synchronisation des données à notre système d'information centralisé est ensuite réalisée « au bureau » de retour de campagne d'inventaire.

Notre besoin était de concevoir un système qui simplifie et fiabilise l'intégration des données de terrain. Géo-Poppy s'appuie sur deux composantes. L'une est matérielle et utilise des nano-ordinateurs peu onéreux, nommés « Raspberry Pi™ ». La seconde est logicielle, embarquant sur ces machines les SIG qui sont déjà en production pour l'Unité Entomologie. Dans cet article, nous détaillons les éléments techniques nécessaires à la mise en œuvre de ce système.

## Contexte expérimental

L'utilisation d'un tel outil est très utile dans le domaine de l'écologie de l'abeille domestique, où le rapport à l'espace réside dans les interactions avec les ressources alimentaires. Cet insecte, qui vit en colonie, a une particularité peu commune : au cours des saisons, il module sa population en fonction des ressources disponibles et rassemble des réserves de miel pour l'hiver. À cette fin, les butineuses explorent l'ensemble du territoire au fur et à mesure des floraisons disponibles et concentrent dans la ruche leur butin de nectars et pollens. En milieu agricole céréalier, cette exploitation des ressources florales pose question, car elle est sujette à des variations spatio-temporelles conséquentes qui se traduisent par de fortes contraintes sur l'activité de butinage. Il se trouve

<figure><img src="image_4.png" /></figure>

Géo POPPY

Julien Ancelin, Jean-François Odoux, Olivier Schmit, Audrey Caille
UE ENTOMOLOGIE, UE SLP - INRA.
<figure><img src="image_5.png" /></figure>

qu'en fin de printemps les fleurs de coquelicots se sont révélées très attractives pour les abeilles par le pollen qu'elles offrent en abondance.

Géo-Poppy permet de répondre à la question de la distribution spatiale de cette espèce de fleur. Il aide à comprendre si cette nourriture est ramassée faute de mieux à proximité de la ruche ou bien si elle est spécifiquement recherchée pour

s'inspire de SIGMA (Système d'Information Géographique en Marais) qui a été développé pour l'Unité expérimentale INRA de St Laurent de la Prée. Les services déployés s'insèrent dans une architecture 3-tiers.

Côté serveur, ils sont composés d'un ensemble de logiciels orientés SIG et de bases de données spatiales. Celles-ci sont adaptées à chaque expérimentation. L'ensemble de la bibliothèque

de données, ainsi qu'à un portail cartographique adapté à son besoin. Les utilisateurs sont formés aux méthodes de saisie informatiques et géographiques simples, évitant ainsi la manipulation de logiciels SIG complexes demandant une formation approfondie en géomatique. Les analystes, quant à eux, peuvent utiliser des logiciels comme QGis ou R en accédant à la base centrale afin de lancer des géo-traitements.

Lors de la préparation du projet Géo-Poppy, nous avons estimé qu'il n'était pas judicieux de modifier les habitudes de travail des utilisateurs. Nous avons donc choisi d'utiliser les mêmes outils au bureau et sur le terrain : le Raspberry Pi™ nous a permis d'embarquer l'ensemble de nos applications serveur pour une utilisation extérieure.

<figure><img src="image_6.png" /><figcaption>Jusqu'à 80 % des pollens ramenés à la ruche peuvent être issus des coquelicots (Feuillet et al., 2008).</figcaption></figure>

ses propriétés nutritionnelles bienfaisantes. Par ailleurs, cette étude s'intègre totalement dans la compréhension du rôle de la biodiversité pour la survie de l'abeille et des pollinisateurs.

## Contexte informatique

Les agents de l'Unité expérimentale Entomologie disposent depuis début 2015 d'un webSIG nommé ApiBee. Il leur permet de saisir, consulter, extraire et analyser des données issues de leurs expérimentations sans avoir nécessairement de compétence en informatique. ApiBee a pour objectif de centraliser et de fiabiliser la chaîne d'acquisition des données expérimentales. Ce projet

logicielle est Open Source. À l'inverse des logiciels propriétaires, le code est maniable, ce qui facilite l'adaptation des applications à un besoin spécifique. Ces solutions présentent des avantages en termes de coût et elles correspondent au modèle économique des organismes publics. Enfin, elles permettent la mise à disposition du code auprès d'une communauté élargie, ce qui répond à une des finalités de la recherche publique : partager le savoir.

Côté utilisateur, chacun dispose d'un compte personnel sécurisé. En fonction de son rôle dans l'expérimentation, il lui permet d'accéder à des interfaces web de type formulaires et grilles

## Méthode et matériel

La création de ce nouveau système d'acquisition portable est un projet complexe. Les outils déployés sont très proches de ceux qui existent sur serveur et les fonctionnalités « au champ » doivent être simples d'utilisation et adaptées à chacun. Il s'agissait notamment de rendre possible la saisie en édition auto-incrémentée, la géolocalisation ou encore l'interprétation spatiale au champ.

Les outils informatiques répondant à notre besoin sont PostGreSQL/PostGIS pour les bases de données spatiales et l'association QGis-server/Lizmap pour l'édition des données cartographiques. Les utilisateurs accèdent à tous les services via un navigateur Internet, alors que l'administrateur SIG travaille avec QGis et PgAdmin3.
<figure><img src="image_7.png" /><figcaption>Schéma de fonctionnement de Géo-Poppy.</figcaption></figure>

Côté matériel, il était essentiel de trouver un ordinateur léger et autonome, pouvant se porter facilement sur soi. Pour des raisons de compatibilité, il était également indispensable que l'outil puisse disposer de versions de logiciels similaires au serveur central. Nous avons choisi le *Raspberry Pi™*, un nano-ordinateur monocarte de la taille d'une carte de crédit. Cet ordinateur est destiné à encourager l'apprentissage de la programmation informatique. Il permet l'exécution de plusieurs variantes du système d'exploitation GNU/Linux et de logiciels compatibles. Il est fourni nu, carte mère seule, sans boîtier ni alimentation dans l'optique de diminuer les coûts et permettre l'utilisation de matériel de récupération (écran, souris et clavier). Nous avons choisi une batterie exteme de 10 000 mAh dont l'encombrement est identique au *Raspberry* et dont l'autonomie permet plusieurs jours d'utilisation.

Il dispose d'une puce 900 MHz quadri-coeur ARM cortex-A7 et de 1 Go de mémoire, ce qui

le rend proche en puissance des smartphones de dernière génération. Il est utilisé par une grande communauté de développeurs et les versions de logiciel que l'on peut y installer sont très proches de celle existant sur PC et serveur. Une carte micro-SD permet le stockage du système. On retrouve couramment ce type de carte mémoire sur les matériels mobiles, car elles permettent un faible encombrement. Plusieurs modèles sont disponibles avec des performances plus ou moins élevées de lecture et d'écriture de données. Nous avons choisi des cartes de 16 GiO UHS Classe 3 permettant de gérer un volume important de données (rasters) et disposant d'un débit de transfert très rapide. Le *Raspberry Pi™* et la machine de l'utilisateur communiquent en WiFi, solution qui permet de connecter plusieurs tablettes et de travailler sans fil à une distance de dix mètres autour du porteur du *Raspberry Pi™*. De retour au bureau, la communication entre le serveur central et le *Raspberry Pi™* s'effectue dès que celui-ci est connecté au réseau via le port Ethernet.

## Système d'exploitation

Géo-Poppy est développé pour fonctionner sous *Linux Raspbian*, cette dénomination particulière est la fusion des mots « *Raspberry Pi* » et « *Debian* ». Il s'agit d'une adaptation de *Debian* pour les puces de type ARM. L'intérêt de ce système est qu'une bonne partie des logiciels dont nous avons besoin ont été compilés pour cette distribution.

Côté utilisateur, il était important de permettre l'utilisation de Géo-Poppy sans contraintes vis-à-vis de la multitude des systèmes d'exploitation disponibles sur le marché. Géo-Poppy se veut donc multi-plate-forme, car nous n'utilisons qu'un simple navigateur Internet pour accéder aux outils informatiques.

## « Conteneurisation » de logiciel

Le déploiement et la maintenance d'une flotte de Géo-Poppy entraîne une augmentation significative de la charge de travail, les montées de versions
<figure><img src="image_8.png" /></figure>

<figure><img src="image_9.png" /></figure>

Usine logicielle pour Géo-Poppy.

ou les corrections de bugs devant être répercutées sur chaque terminal. Pour pallier ce problème, nous avons mis en place des LXC (Linux Containers). Les conteneurs partagent le même noyau que l'hôte et font fonctionner des environnements Linux isolés les uns des autres. Le conteneur apporte une virtualisation de l'environnement d'exécution (processeur, mémoire vive, réseau, système de fichier...) en opposition à la virtualisation de la machine. Pour cette raison, on parle de conteneur en place de machine virtuelle.

Docker est un logiciel libre qui automatise le déploiement de logiciel dans des conteneurs : il peut empaqueter une application et ses dépendances, qui pourront être exécutées sur n'importe quel serveur Linux. Ceci permet d'étendre la flexibilité et la portabilité d'exécution d'une application hors d'une seule machine en offrant une résilience des services lors d'un incident.

Nous avons développé plusieurs conteneurs Docker répondant à nos besoins. Ils sont disponibles librement sur github à l'adresse

https://github.com/jancelin. Ces derniers s'inspirent de projets déjà en production sur nos serveurs centralisés, mais avec une adaptation au Raspberry Pi™ pour le passage de processeur X86-64 à ARM :

## docker-PostGIS-rpi

Ce conteneur contient le moteur de la base de données PostGreSQL/PostGIS et place les bases dans des répertoires permanents. Cette méthode permet de relancer un conteneur sur une autre machine avec les mêmes données et la même configuration.

## rpi-docker-lizmap

Celui-ci contient le moteur cartographique QGis-server et LizMap qui est une solution complète de publication de cartes QGis sur Internet. Les fichiers de projets cartographiques et de paramétrage sont persistants, comme dans le cas du conteneur PostGreSQL.

Docker, grâce à son orchestrateur « Compose », reconstitue un environnement

d'exécution complet et autonome sur le Raspberry Pi™ par assemblage d'applications dockerisées. Cet outil permet de configurer les conteneurs via un fichier « yml ». Cela évite d'avoir à écrire des lignes de commande très longues et entraîne un partage plus aisé d'une configuration basée sur plusieurs conteneurs.

En résumé, pour l'administrateur, l'installation ou la mise à jour des conteneurs logiciels est automatique. Il faut connecter le Raspberry Pi™ à Internet via le port Ethernet, se connecter en « ssh » à la machine puis lancer la commande « docker-compose up -d ». Docker vérifie ensuite les images logicielles par rapport au dépôt github, puis télécharge l'image ou ses mises à jour si elles existent. Enfin, il redémarre les services avec les données persistantes.

## Données

Les données, ainsi que la configuration sont ensuite transférées et stockées sur clé USB plutôt que sur la carte SD. Ce choix permet de laisser le système sur la carte micro-SD du Raspberry Pi™ et de pallier la perte de données inhérente à un crash système ou à l'altération de la carte par écriture répétée.

Le deuxième avantage est de pouvoir faire fonctionner la base de données sur un autre support que le Raspberry Pi™, comme un PC par exemple, en utilisant un conteneur logiciel adapté.

## Base de données

L'intérêt premier de Géo-Poppy est de disposer d'une ou de plusieurs bases de données personnalisées, adaptées à notre
propre besoin et interopérables avec une base centralisée.

Lors de la première installation, les modèles, ainsi qu'une base de données `PostGreSQL/PostGIS`, sont déployés. C'est alors à l'administrateur SIG de `dumper` ou de construire une ou plusieurs bases adaptées à son besoin de stockage. Cette action est possible avec `pgsql` sur le `Raspberry` (via une connexion `ssh` via `Ethernet/WiFi` depuis un PC tiers) ou en passant par un outil graphique comme `PgAdmin3`.

`PostGreSQL 9.4` gère le service de synchronisation du `Raspberry Pi™` vers une base centralisée esclave de façon native. La réplication `Master/Slave` s'effectue de manière asynchrone. Elle consiste à mettre en place un `PostGreSQL` maître qui gère l'ensemble des demandes d'écriture et plusieurs esclaves, qui eux, ne gèrent que les requêtes de lecture.

En pratique, dès que `Géo-Poppy` est connecté au réseau de retour du terrain, `PostGreSQL` envoie les données vers la base centrale esclave.

Prochainement, il est prévu d'utiliser `PostGreSQL 9.5`. Nous disposerons alors de la résolution des conflits d'écriture grâce à la commande `INSERT ON CONFLICT UPDATE` dans le cas d'un déploiement multi-utilisateurs.

## Conception des projets cartographiques et affichage/édition des données

Comme cité précédemment, le triptyque `QGis`, `QGis server` et `Lizmap` est utilisé pour éditer et

consulter des entités géographiques ou non. Cette association permet de créer simplement ses projets géographiques connectés à une base de données et de les paramétrer graphiquement pour son utilisation sur le web (lecture, écriture). Elle offre un service `webSIG` utilisable par des non géomaticiens à la manière de `Google Maps` ou `Open Street Map`.

### QGis

Lorsqu'une base de données est déployée sur le `Raspberry Pi™`, il est alors possible de créer un projet dans `QGis` et d'importer des couches et vues de `PostGreSQL/PostGIS`. Le travail de construction de la cartographie se mène sur un ordinateur avec le logiciel `QGis` dans sa version bureautique : chargement des couches, création de la carte, organisation et mise en forme des données. Le projet, alors, est compatible et compréhensible sur `Géo-Poppy`, car `QGis server` et

`QGis desktop` partagent le même moteur de rendu.

## Lizmap plug-in

Le plug-in Lizmap fait partie des dépôts officiels du projet `QGis`. Pour pouvoir mettre sa carte en ligne, l'utilisateur configure les options de publication (échelles, fonds de carte, métadonnées) du plug-in Lizmap dans son application `QGis`.

Les fichiers `.qgs` et `.cfg.ggs` générés par `QGis` et le plug-in Lizmap peuvent alors être synchronisés vers le `Raspberry Pi™`.

Dans une perspective de test, il est également possible de travailler directement ses projets sur `Géo-Poppy` en `WiFi`. Ainsi, il sera possible d'évaluer rapidement la pertinence de la configuration en termes de performance de calcul de sorte à fluidifier la navigation pour l'utilisateur.

<figure><img src="image_10.png" /><figcaption>Conception de carte éditable avec QGis.</figcaption></figure>
<figure><img src="image_11.png" /></figure>

<figure><img src="image_12.png" /><figcaption>Visualisation et intégration web sur tablette grâce à PostGIS, QGis server et Lizmap.</figcaption></figure>

## Lizmap Web Client

Une fois ces étapes réalisées, la carte QGis est alors accessible sur le Raspberry Pi™ via les principaux navigateurs web (Firefox, Safari, Chrome, Internet Explorer). Elle est consultable grâce à l'application Lizmap Web Client. L'interface a été optimisée pour une navigation performante sur tout type de support. Elle s'adapte notamment à la taille de l'écran et permet la navigation au doigt pour tablette et smartphone.

## Mise en œuvre par l'utilisateur

Côté utilisateur, il est nécessaire de brancher le Raspberry Pi™ à une source de courant (batterie USB, prise allume-cigare) et de patienter une à deux minutes le temps que le serveur charge tous les services. Les utilisateurs activent ensuite leurs tablettes, smartphones ou PC au réseau WiFi dénommé « GeoPoppy ». Ils se connectent via un navigateur à l'adresse web du service (http://10.10.0.29/websig/lizmap/www) afin d'accéder au portail cartographique pour éditer ou consulter les données.

L'activation du GPS interne de la tablette permet de se géolocaliser et donc de se positionner automatiquement au centre de la carte, même lors des déplacements en voiture.

## Résultats et perspectives

Géo-Poppy répond clairement à la problématique technique et scientifique de l'acquisition de données de terrain pour l'Unité expérimentale Entomologie. Deux personnes ont recensé et caractérisé 6 500 patchs de coquelicots en quelques jours sur un territoire de 450 km². À partir de ces saisies, il a été possible de réaliser des cartographies de densités de fleurs. Elles seront utiles à l'étude du butinage des coquelicots par les abeilles.

Pendant l'acquisition de données, aucune latence n'a été observée, même à 40 km/h en voiture avec affichage de raster (BD Ortho™ IGN avec un pixel de 1,5 m). La formation des utilisateurs n'a duré que quelques minutes. En effet, les projets QGis ont été créés en accordant une attention particulière aux demandes des utilisateurs. Ils ont été optimisés en

tenant compte des contraintes de terrain. Cela s'est traduit par des formulaires de saisie pré-remplis ou encore la géolocalisation par le GPS de la tablette.

## Conclusion

Géo-Poppy a fiabilisé la chaîne d'acquisition des données terrain de l'Unité d'Entomologie. Il permet ainsi de gagner un temps précieux et d'offrir des jeux de données interopérables de qualité.

Les habitudes de travail des agents ont été conservées et le resteront, malgré l'évolution des outils d'inventaire « au champ ». Sa capacité d'adaptation lui confère une grande souplesse d'utilisation. Elle permettra de faire face aux évolutions annuelles des protocoles expérimentaux.

L'architecture logicielle géo-open-source permet d'offrir une souplesse d'administration tout en offrant les mêmes services qu'un serveur centralisé. L'empaquetage des services webSIG dans des conteneurs facilite la gestion d'une flotte de Géo-Poppy. Il allège l'installation et le paramétrage des systèmes SIG serveur.

Grâce à l'ouverture du système d'exploitation Raspbian, les perspectives de valorisation de Géo-Poppy sont importantes. Nous étudions, par exemple, la possibilité de réaliser des mesures géographiques avec une précision centimétrique grâce à la cinématique en temps réel.

Toutes les informations concernant l'installation de Géo-Poppy et la fabrication des images pour la construction des conteneurs sont disponibles via github à cette adresse : https://github.com/jancelin/geo-poppy