Académique Documents
Professionnel Documents
Culture Documents
En vue de l’obtention de la
Les ressources naturelles, notamment les ressources minières et énergétiques, sont de plus en
plus l’objet de travaux géographiques. Elles continuent de jouer un rôle très important dans
l’économie et sont considérées avec les populations et les territoires, comme un des enjeux
principaux du pouvoir d’un Etat. Leur gestion devient donc primordiale. De nos jours, de
nombreuses ressources naturelles sont exploitées de manière illicite. Pour préserver
l’environnement tout en répondant aux besoins des habitants de la planète, il est crucial
d’améliorer la prise des décisions, ce qui est possible quand on dispose d’informations
actualisées. En ce sens, la collecte d’informations précises et les plus récentes possibles est l’un
des plus grands défis auxquels se heurtent les gouvernements et organisations. Il se pose le
problème de la localisation en temps réel des ressources naturelles, ceci en vue de leur
protection et exploitation future pour le développement des Etats, en particulier, ceux en voie
de développement tels que le Cameroun. Ce projet vise à élaborer une application de
géolocalisation des ressources naturelles des Etats, plus précisément, les ressources les plus
rares telles que les ressources minières.
i
ABSTRACT
ii
related impacts such as sea-level rise, geolocalization technology can help guide adaptation
measures to minimize the impacts on natural resources and human populations.
iii
MOTS CLES
✓ Portail web
✓ Unité de recherche académique
✓ Conception, réalisation
✓ Architecture de site
✓ Plateforme de développement web
✓ Gestion de contenu
✓ Navigation
✓ Expérience utilisateur
✓ Système de gestion de contenu
✓ Communication en ligne
✓ Visibilité
✓ Recherche scientifique.
iv
ETAT DE L’ART
L'état de l'art pour une application de géolocalisation des ressources naturelles est assez vaste
et diversifié, avec de nombreuses applications et technologies existantes.
Voici quelques exemples :
1- ArcGIS
ArcGIS est une plateforme de cartographie et d'analyse géospatiale très populaire utilisée
dans le monde entier pour cartographier et gérer les ressources naturelles. Elle offre une large
gamme d'outils de visualisation, d'analyse et de partage de données géospatiales.
Google Earth Engine est une plateforme de traitement et d'analyse de données géospatiales
qui utilise des images satellites pour cartographier les ressources naturelles et surveiller
l'environnement. Elle offre des fonctionnalités telles que la détection des changements dans la
végétation, la cartographie de la déforestation, la surveillance des ressources en eau, etc.
3- QGIS
QGIS est un système d'information géographique open source qui peut être utilisé pour
cartographier et analyser les ressources naturelles. Il offre des fonctionnalités telles que
l'analyse des réseaux hydrographiques, la cartographie des gisements minéraux, la
surveillance des habitats naturels, etc.
4- ENVI
1
ENVI est un logiciel de traitement d'images géospatiales utilisé pour cartographier et
analyser les ressources naturelles. Il offre des fonctionnalités telles que la classification
d'images satellites, la détection des changements, la cartographie des habitats naturels, etc.
5- Planet
Planet est une entreprise de technologie spatiale qui utilise des images satellites pour
surveiller l'environnement et cartographier les ressources naturelles. Elle offre des solutions
de cartographie pour l'agriculture de précision, la gestion des ressources en eau, la détection
de la déforestation, etc.
EROS est un centre de recherche de la NASA qui utilise des images satellites pour
surveiller l'environnement et cartographier les ressources naturelles. Il offre des données
géospatiales pour l'agriculture, la foresterie, les ressources en eau, la géologie, etc.
A nos jours, de nombreuses technologies existent pour la géolocalisation. On peut citer entre
autres :
2
application est qu’elle ne met pas en exergue à proprement parler les ressources
naturelles
❖ QGIS : C’est une application permettant de visualiser, gérer, éditer, analyser des
données et composer des cartes à imprimer. Elle est open source.
Limite : Elle peut être difficile à utiliser pour des débutants, fonctionnalités limitées, sécurité
❖ GPS Waypoints : Cette application collecte des points et des séquences de points
pour la géolocalisation et des activités de . Les séquences de points permettent
de mesurer des distances, et aussi des superficies et périmètres. Cette application
fournit des détails sur les satellites actifs et visibles, elle permet de partager des
données avec d’autres applications.
❖ OpenStreetMap : C’est un projet collaboratif de cartographie en ligne qui vise à
constituer une base de données géographiques libre du monde, en utilisant le
GPS et d’autres données libres. Il donne la possibilité aux utilisateurs de
l’améliorer et de créer des cartes personnalisées
KML est un langage fondé sur le formalisme XML et destiné à la gestion de l'affichage de
données géospatiales dans les logiciels de SIG. Les fichiers KML spécifie un ensemble de
caractéristiques tel que (lieu des marques, des images, des polygones, des modèles 3D,
des descriptions textuelles, etc.) pour affichage de données dans les logiciels comme
Google Earth, Google Maps etc.
L’API de Cartographie
a. Open Layer
Open Layer est un logiciel libre qui constitue des bibliothèques de fonctions JavaScript assurant
un noyau de fonctionnalités orienté vers la mise en place d'applications clientes Web
cartographiques fluides. Open Layer prend en charge les données GeoRSS, KML (Keyhole
Markup Language), GML (Geography Markup Language), GeoJSON et les données
cartographiques de toute source utilisant les normes OGC comme Web Map Service
(WMS) ou Web Feature Service (WFS).
b. Leaflet
3
Leaflet est une bibliothèque JavaScript libre de cartographie en ligne. La bibliothèque est
utilisée sur les sites cartographiques OpenStreetMap (bibliothèque par défaut), Flickr,
Wikipédia (greffon de cartographie et application mobile), Foursquare, craigslist, Institut
national de l'information géographique et forestière, Washington Post, le Wall Street Journal,
Geocaching.com, City-Data.com, StreetEasy, Nestoria, Skobbler et d'autres.
4
GPX (GPS eXchange format):
GPX Est un format de fichier permettant l’échange de coordonnées GPS. Il permet de décrire
une collection de points utilisables sous forme de points de cheminement (waypoints), traces
(tracks) ou itinéraires (routes).
La version du format GPX la plus utilisée est le format GPX v 1.1 mais il existe encore des
logiciels comme ITN Converter qui utilisent la version 1.0.
La plupart des applications ou les appareils GPS utilisent le format GPX comme le ou l’un
des formats d’échange avec d’autres applications ou appareils GPS, en import ou en export.
Le protocole de communication à l’appareil GPS peut être standard, de type RMC, ou
propriétaire.
o un nom ( <name> )
o l'auteur du fichier ( <author> ) comprenant son nom, une adresse mail et un lien vers
o un ou plusieurs liens ( <link> ) vers des informations additionnelles (page web, photo,
vidéo, etc.)
o la date et l'heure de création du fichier ( <time> )
o un ou plusieurs mots-clés
5
o les frontières couvertes par le fichiers GPX (latitudes et longitudes minimum et
maximum)
o Optionnellement, des extensions ( <extensions> ) permettant d'ajouter librement des
éléments XML définis dans un autre espace de noms (namespace) afin d'étendre les
capacités du fichier
• Une liste de points de cheminement ou waypoint ( <wpt> ), chacun étant décrit par :
o un horodatage ( <time> )
o la hauteur du géoïde ("niveau de la mer") au-dessus de l'ellipsoïde WGS 84, tel que
décrit dans la spécification des messages NMEA GGA ( <geoidheight> )
o un nom ( <name> )
o un commentaire ( <cmt> )
)
o le type de (fix) GPS ayant permis l’obtention du point ((fix) 2D, 3D, DGPS...)
o le nombre de satellites acquis lors du calcul des coordonnées ( <sat> )
o des informations sur les mesures DGPS comme la durée depuis la dernière mise à jour
( <ageofdgpsdata> ) ou l'identifiant de la station ( <dgpsid> )
o mais aussi un lien vers une page web d'informations additionnelles ( <link> ), le nom
exact du symbole illustrant le point sur l'appareil GPS ( <sym> ), le type de point
precision)
o optionnellement, des extensions d'un autre espace de noms ( <extensions> )
6
o un nom ( <name> )
o un commentaire ( <cmt> )
o mais aussi un lien vers une page web d'informations additionnelles ( <link> ) et le
o L'itinéraire est décrit par une liste ordonnée de points (une balise <rtept> par point
o un nom ( <name> )
o un commentaire ( <cmt> )
o mais aussi un lien vers une page web d'informations additionnelles ( <link> ), le type
d'itinéraire ( <type> )
o La trace est décrite par des segments de trace ( <trkseg> ), le passage d'un segment à
7
Le format GPX étant un format XML, il est possible de VISUALISER ET DE MODIFIER
LE FICHIER avec un éditeur de texte. L’utilisation d’un éditeur de texte syntaxique
compatible XML (comme Notepad++ avec le plugin XML Tools) permet de s’assurer que le
fichier GPX reste valide sur le plan de la syntaxe et réduit le risque de produire un fichier
illisible par les applications/ appareils.
La plupart des applications qui utilisent les données GPS peuvent ouvrir les fichiers GPX. On
peut citer par exemple GPX Viewer, Google Maps.
• Rendez-vous sur votre moteur de recherche et tapez l’adresse suivant dans la barre d’URL :
https://www.google.com/maps/d/u/0/ et assurez-vous d’être connecté à votre compte Google.
• Cliquez sur le bouton « + Créer une carte » en haut à gauche.
• Cliquez sur le bouton « importer ».
• Importez votre fichier GPX que vous avez préalablement téléchargé et glissé le dans la
fenêtre.
• Le tracé s’affiche sur la carte.
• Pour ouvrir l’itinéraire du fichier gpx :
• Ouvrez Google Maps sur votre ordinateur
• Cliquez sur les trois traits horizontaux dans l’angle supérieur gauche
• Sélectionnez « Vos adresses » dans le menu latéral
• Allez dans l’onglet « Cartes » pour afficher tous vos itinéraires créés ou importé
• Permet des échanges entre un plus grand nombre de programmes pour Windows, MacOs,
Linux, Palm et PocketPc.
• Peut être converti sous tous formats en utilisant un site web ou application.
• Il est basé sur le standard XML, c’est pourquoi de nombreux programmes utilisés
pourraient normalement lire des fichiers GPX.
8
Il n’existe aucun programme spécifique pour le transfert de GPX. Par contre, plusieurs
programmes peuvent être utilisés :
• GPSBabel, (http://www.gpsbabel.org/)
• GARtrip, (http://www.gartrip.de/)
• GPSMapEdit, (www.geopainting.com/en/)
• G7ToWin (http://www.gpsinformation.org/ronh/g7towin.htm)
• EasyGPS (http://www.easygps.com/)
Dans ce cas, nous décrirons la marche à suivre pour le transfert de fichiers GPX.
✓ Limites de GPX :
RIA
Description et caractéristiques:
RIA (Rich Internet Application) est une application Web qui offre des caractéristiques
similaires aux logiciels traditionnels installés sur un ordinateur, à la seule différence qu’elle
fournit une dimension interactive riche et une vitesse d’exécution particulièrement soignée.
Contrairement aux applications Web traditionnelles, les RIA s’efforcent de rapatrier chez le
client (local), une partie des traitements normalement dévolus au serveur. Le langage
Javascript en particulier a été conçu dans cette optique.
Quelques RIA sont Google Maps (cartes interactives), Gmail (courrier électronique).
9
Google Maps est une riche interface application qui peut être utilisée pour trouver diverses
informations liées à des localisations spécifiques, cartographier les routes entre ces points et
bien plus encore. En outre, elle permet aux utilisateurs d'accéder à des données sur le trafic,
les itinéraires ainsi que des images satellite haute résolution des zones stratégiques du monde
entier. De plus, Google Maps permet également d'extraire des itinéraires et de nombreuses
autres fonctionnalités utiles qui offrent une expérience interactive très riche aux utilisateurs.
✓ Potentialités
Nous devons donc utiliser la technologie RIA pour rendre notre système convivial.
Limites
MAPS API
10
L’API Google Maps permet l’intégration et la personnalisation d’une carte sur un site
Web. Le développeur peut ainsi la personnaliser en y ajoutant des données spécifiques
(calcul d’un itinéraire, localisation d’un point d vente, etc.).
Cet API permet l’accès aux cartes, routes et services de géolocalisation.
Le cout est fonction des API, donc du nombre des visiteurs journaliers.
Pour utiliser l’API de Google Maps, il faut d’abord obtenir une clé d’API. Et pour cela, il faut
avoir un compte Gmail et se rendre sur le site dédié aux développeurs. Puis, se laisser guider
pour l’obtention de la clé.
Potentialités
L’API de Google Maps s’avère adapté pour les utilisateurs inexpérimentés ou sans
connaissances en programmation.
Limites
Des connaissances avancées en Javascript sont utiles pour l’intégration de cartes complexes.
11
Le DRWA est une technique de réduction des données qui peut considérablement améliorer la
vitesse, la performance et la convivialité des applications Web et mobiles GIS. En appliquant
le DRWA aux données brutes, il est possible de réduire leurs volumes sans perdre
d'informations importantes sur les informations géographiques.
✓ Potentiel :
✓ Limite :
Bien que le DRWA présente de nombreux avantages pour les applications Web et mobiles
GIS, son application est limitée par la taille des jeux de données à traiter. Les jeux de données
paramétriques peuvent être comprimés jusqu'à un certain point, mais si une certaine taille
maximale est atteinte, ce type de compression ne sera pas efficace ou seulement
marginalement supérieur aux autres formes de compression standard. De plus, certains types
particuliers de jeux de données ne peuvent pas être compressés du tout, en raison du fait qu'ils
contiennent des informations trop spécifiques qui sont exclusivement liés à chaque utilisateur
et/ou situation particulière.
12
Il faut utiliser des technologies de mise en cache et de stockage côté serveur pour fournir une
latence plus rapide pour le chargement des jeux de données.
Comment optimiser le temps de traitement et l'efficacité des métriques d'analyse des données
par DRWA
Pour cela, il faut utiliser des algorithmes d'agrégation de données afin de limiter le nombre de
jeux de données à transférer au client.
Il faut essayer également d’utiliser un proxy web entre le serveur Web et le client afin que le
serveur conserve uniquement les données qui sont demandées fréquemment par différents
clients, pour diminuer le temps d’accès des futurs clients et améliorer les performances liées
aux demandes répétitives.
GeoGlobe :
✓ Requirements/Besoins
GeoGlobe est utile pour les utilisateurs souhaitant intégrer et exploiter des informations
géospatiales multi-sources dans un seul système. Ce logiciel permet aux utilisateurs de naviguer
facilement grâce à une vue pratique du monde physique avec une variété de couches, y compris
la cartographie numérique et le détail administratif. Il offre également une sélection spéciale
d'applications prêtes à l'emploi associées aux installations Web GIS. En outre, GeoGlobe peut
être personnalisée pour répondre rapidement aux besoins des organisations ou des clients
13
individuels. Les principaux avantages de ce logiciel sont sa simplicité d'utilisation et une
interface conviviale pour la navigation en espace virtuel qui rendent la consultation des
informations géospatiales multi-sources plus intuitive et efficace. Les utilisateurs peuvent
également créer et partager leurs propres visualisations statistiques par le biais du système,
consulter les données sur appareil mobile et capturer des «locavignettes» (instantanés) pour
chaque position géographique visitée.
✓ Architecture
L'architecture à haut niveau de GeoGlobe est une architecture client-serveur qui implique une
couche client et une couche serveur distinctes. La couche client inclut des composants logiciels
tels qu'un navigateur Web, un lecteur d'images 3D et un outil de cartographe. La couche serveur
comprend un système d'administration de base de données, un gestionnaire de ressources
géospatiales, un analyseur géospatial et des services Web SLAP (Simple Location Access
Protocol). Le système d'administration de base de données est responsable du stockage des
données géographiques telles que les coordonnées GPS et les attributs associés. Le gestionnaire
de ressources géospatiales se charge du traitement et du stockage des données provenant de
diverses sources spatiales telles que les images satellites et aériennes, le SIG mobile et la
cartographie en ligne. L'analyseur géospatial effectue des analyses complexes sur ces données
pour aider les utilisateurs à mieux comprendre leurs modèles spatiaux. Les services Web SLAP
fournissent aux clients l’accès à tout type de contenu géospatial disponible sur le réseau ainsi
qu’une capacité avancée pour inclure des informations variétales au-delà des limites
traditionnelles, par exemple en matière d’utilisations autorisées ou non autorisée ou pour
visualiser la carte sensible dans plusieurs niveaux prêts à être diffusés sous forme numérique
(raster ou vecteur).
GeoGlobe prend en charge plusieurs formats et standards de données, notamment le format Esri
Shapefile, le format AutoCAD DWG, le projet OGC GeoPackage et le Web Feature Service
(WFS). De plus, il fournit des API et des services Web afin que les développeurs puissent
exploiter facilement les données. Les API peuvent être utilisées pour afficher et contrôler
l'affichage des géométries, ainsi que la recherche et l'analyse spatiale. Les services Web offrent
une intégration à d'autres systèmes incluant les applications mobiles et web. Ces services
fournissent des commandes comme la requête de vecteur (queryVector), l'enregistrement
14
dans/depuis un catalogue distant (readFrom/saveToCatalog) et la conversion entre différents
formats de données (convertFormat). De plus, GeoGlobe offre un service de projection
bidirectionnelle qui permet aux utilisateurs de visualiser et stocker leurs jeux de données dans
n'importe quel système de référence spaciale souhaité.
Les API de GeoGlobe offrent un support pour divers services et applications, y compris:
1. Géocodage
GeoGlobe est une application qui permet à ses utilisateurs d’explorer le monde et de
découvrir des informations sur les endroits qu'ils visitent, en particulier à travers des cartes
dynamiques interactives. L'application est basée sur un modèle architectural orienté service
(SOA). Elle repose sur un ensemble d'API RESTful couplées à une interface JSON pour
communiquer avec les services tiers, y compris des API de géodiffusion et d’accès à la base
de données. La principale couche est celle des services Web, qui fournit aux clients l'accès
aux données nécessaires à l'exécution du logiciel. Les services utilisent principalement Java et
Scala pour le développement, ainsi que pour l’hébergement du traitement de données. Ces
services communiquent avec les API REST Tierces à l'aide d'un puissant système d’adapteurs
REST. Le logiciel et les API tierces offrent une riche palette de fonctionnalités destinées aux
développeurs web modernes : support technique étendu, documentation en profondeur, balise
HTML5 rapide et structure MVC robuste.
Le stockage est réalisé grâce à une combinaison de bases de données NoSQL et cloud haute
performance, telles que Cassandra, MongoDB ou PostgreSQL. Les supports sont le plus
15
souvent persistant (avec possibilité de sauvegarder tout type de donnée), ce qui permet un
accès rapide aux informations dont l’utilisateur a besoin au bon moment. Le déploiement se
fait souvent via AWS EC2 ou Heroku dynos, ce qui permet une escalabilité importante si
nous devons prendre en charge plus d’utilisateurs
• Résultats
L’architecture d’une application désigne la manière dont seront agencés les différents
éléments de cette application et la manière dont ils interagissent entre-eux.
Nous avons utilisé une architecture en trois couches : modèle, vue et contrôleur
(architecture MVC).
MVC est un modèle d’architecture qui cherche à séparer nettement les couches de
présentation (UI : User Interface), métier (BLL : Business Logic Layer) et d’accès aux données
(DAL : Data Access Layer).
Le but est d’avoir une dépendance minimale entre les différentes couches de
l’application. Ainsi, les modifications effectuées sur n’importe quelle couche de l’application
n’affectent pas les autres couches.
La couche contrôleur gère les requêtes des utilisateurs. Elle est responsable de retourner
une réponse avec l’aide mutuelle des couches Modèle et Vue. Les contrôleurs peuvent être
imaginés comme des managers qui ont pour mission de vérifier que toutes les ressources
souhaitées pour accomplir une tâche soient déléguées aux travailleurs de façon appropriée. Il
attend des requêtes des clients, vérifie leur validité selon l’authentification et les règles
d’autorisation, délègue les données récupérées et traitées par le modèle et sélectionne les types
de présentation correcte que le client accepte, pour finalement déléguer le processus d’affichage
à la couche Vue. Ainsi, un contrôleur est un module qui traite les actions de l’utilisateur, modifie
les données du modèle et de la vue.
- Couche Modèle
Cette couche contient les données manipulées par le programme. Elle contient toutes les
classes de notre système et les méthodes pouvant s’appliquer à elles. Elle offre des méthodes
pour mettre à jour ces données (insertion, suppression, changement de valeur) et pour récupérer
ces données. [3] Ces méthodes se résument en l’acronyme CRUD (Create Read Update Delete),
qui désigne les quatre opérations de base pour le stockage d’informations en base de données,
c’est-à-dire la création, la consultation, la modification et la suppression.
Dans le cas de notre application, la couche modèle peut être représentée au niveau du
cas d’utilisation « s’inscrire » par la classe personnel, qui contient les différentes propriétés
d’un membre du personnel, et par les méthodes (actions) appliquées sur cette classe.
- La couche vue
17
Elle constitue la partie visible de l’application. Sa première tâche est d’afficher les
données qu’elle a récupérées auprès du modèle. Sa seconde tâche est de recevoir toutes les
actions de l’utilisateur (clic, sélection d’une entrée…).
Dans le cas de notre application, un exemple pour la couche vue peut être le formulaire
d’inscription.
Cette couche est chargée de la synchronisation du modèle et de la vue. Elle reçoit tous
les évènements de l’utilisateur et enclenche les actions à effectuer. Si une action nécessite un
changement de données, le contrôleur demande la modification des données au modèle et
ensuite, avertit la vue que les données ont changé pour que celle-ci se mette à jour. Également,
certaines actions de l’utilisateur ne concernent pas les données, mais la vue. Dans ce cas, le
contrôleur demande à la vue de se modifier.
Dans le cas de notre application, un exemple pour cette couche peut être le contrôleur
d’inscription, qui lui, se charge de vérifier que les données entrées au niveau de la vue
(formulaire d’inscription) soient conformes aux types de données recevables au niveau du
modèle. Si tel n’est pas le cas, le contrôleur demande à la vue d’afficher un message d’erreur.
Dans le cas contraire, le contrôleur demande à la vue de présenter à l’utilisateur, la page
d’accueil.
18
Modélisation :
19
Figure : Modèle Conceptuel de Données
Un utilisateur peut rechercher au moins une ressource ; une ressource peut être recherchée par
plusieurs utilisateurs. Une ressource est localisée en un point ; en un point peuvent être
localisées plusieurs ressources. Un utilisateur peut créer plusieurs cartes. Une carte peut être
créée par un et un seul utilisateur. Un utilisateur peut consulter plusieurs revues ; une revue peut
être consultée par plusieurs utilisateurs. Un point est contenu dans une et une seule zone
géographique, tandis qu’une zone géographique contient plusieurs points.
Outils utilisés :
En termes d’outils, nous ferons principalement référence aux logiciels utilisés dans le
processus de développement. Ce sont :
20
Des environnements de développement intégré ou IDE : Il s’agit de logiciels de
création d’applications, qui rassemblent des outils de développement fréquemment utilisés dans
une seule interface utilisateur graphique (GUI). Pour notre projet, nous avons utilisé et Visual
Studio Code.
Cette plateforme permet de développer des applications Web dynamiques sur le système
d’exploitation Windows. A cet effet, son fonctionnement dépend de quatre éléments clés : Un
système d’exploitation (Windows), une base de données (Apache), un système de gestion de
base de données (MySQL) et un logiciel de script pour le développement en PHP.
Des navigateurs Web : Ce sont des logiciels permettant d’accéder à l’ensemble des
informations contenues sur Internet. Ils interprètent le code PHP écrit dans l’IDE. Nous avons
utilisé les navigateurs Mozilla Firefox, Opera, Google Chrome et Microsoft Edge.
21
classique. Le développement des applications Ajax est facilité par l’emploi d’un framework ;
et dans ce cas, il s’agit du framework Symfony.
Des ateliers de génie logiciel (AGL): En Anglais CASE tools, ce sont des outils
logiciels ayant permis de modéliser notre système tout au long du processus de développement,
selon le formalisme UML. UML (Unified Modeling Language) est un métalangage de
modélisation regroupant de nombreux diagrammes tels que le diagramme de classe. Comme
AGL, nous avons utilisé Pacestar UML et StarUML.
Etant donné qu’il s’agit du développement d’une application Web, les langages utilisés
ont été : HTML, CSS, Javascript et PHP.
Le langage HTML (HyperText Markup Language) est le langage de balisage conçu pour
représenter les pages Web. Il permet de structurer une page Web et son contenu.
Le langage CSS (Cascading Style Sheets) permet de mettre en forme une page Web.
22
REFERENCES
23