Stage : Développement d’un serveur cartographique en RUST

La Garenne-Colombes, France Stage (6 mois)

À propos de Magellium Artal Group

Magellium (Groupe Artal), avec ses 300 collaborateurs, est un acteur indépendant et majeur, spécialisé en géographie numérique, de la valorisation du pixel jusqu’au traitement de la donnée géographique, au sein du SI de ses clients. Magellium accompagne ainsi ses clients avec une offre à 360° couvrant recherche, conseil, maitrise d’ouvrage, intégration et maintenance sur les segments image, vidéo, drone, Systèmes d’Informations Géographiques (SIG), cartographie et Géointelligence en promouvant la maîtrise des technologies du logiciel, de l’IA, du traitement de signal et de la géomatique.  

Vous intégrerez l’activité de Magellium Paris qui définit, conçoit, met en œuvre, implémente et assure le maintien opérationnel des SIG au sein du SI des entreprises, des collectivités et des services de l’état pour différentes applications à composantes géographiques.

Nous recherchons des étudiant(e)s à fort potentiel ayant la volonté d’évoluer rapidement au sein d’une ETI leader sur son marché, innovante dans les SIG et qui a la confiance des grands acteurs nationaux, publics ou privés, pour son savoir-faire reconnu.

Le poste

Vous êtes passionné(e) par la cartographie et le développement ?

Rejoignez-nous pour un stage de 4 à 6 mois où vous aurez la responsabilité du développement d’un serveur cartographique en RUST respectant le protocole ESRI Feature Service.

Rust, langage très performant proche de la machine, est utilisé par exemple pour le serveur Martin permettant de servir des tuiles vectorielles de façon performante. 

ESRI a développé, il y a quelques années, un serveur cartographique nommé Koop en NodeJS. Ce serveur respecte le protocole des MapService. Il serait intéressant de comparer les performances de ce serveur avec un équivalent porté en Rust.

Objectifs du stage

L’objectif principal est de développer un prototype de serveur cartographique performant en Rust capable de gérer des requêtes sur des jeux de données massifs, en s’inspirant de Koop.

Le stagiaire devra effectuer les tâches suivantes :

  1. Étude de l’état de l’art (Koop/Rust) : Étudier l'architecture du serveur Koop (Node.js) et réaliser une revue des solutions et librairies Rust existantes pour le développement de serveurs web performants et la manipulation de données géospatiales.

  2. Portage du serveur Koop en Rust : Développer le cœur d’un serveur cartographique Rust capable de se connecter à une base de données spatiale PostgreSQL/PostGIS et de servir des données géographiques.

  3. Intégration des données parcellaires : Préparer et structurer un volume important de données. On pourra utiliser les parcelles du territoire (~18 millions de parcelles) dans une base PostgreSQL/PostGIS ou vers une base compatible avec le serveur Rust.

  4. Comparaison des Performances : Mettre en place un protocole de test pour comparer les performances (latence, débit) entre la version originale de Koop (Javascript/Node.js) et la version portée en Rust, en particulier lors de l'exploitation de la base de 18 millions de parcelles.

  5. Roadmap OGC API : Concevoir la feuille de route technique pour intégrer les capacités des OGC API (telles que les spécifications OGC API - Features), afin que le serveur Rust puisse diffuser des services cartographiques conformes à ce protocole.

  6. Développement d'une application web : Développer une application simple de visualisation des données (Front-End) utilisant ArcGIS Map API for Javascript permettant de valider le bon fonctionnement et les performances du serveur Rust avec le protocole ESRI Feature Service.

 

Technologies et outils

Ce stage vous permettra de maîtriser des technologies de pointe Open Source, dont :

  • Rust : Langage de programmation pour le développement du serveur back-end.

  • Koop (https://koopjs.github.io/) : Serveur cartographique dont l'architecture sera réutilisée.

  • PostgreSQL/PostGIS : Base de données essentielle pour le stockage et la gestion des données spatiales.

  • OGC API – Features : Protocoles et API cartographiques pour la diffusion des services.

  • Typescript / ArcGIS Maps SDK for Javascript : Pour le développement du prototype web de validation.

  • GIT/Gitlab : Système de gestion de version du code source.

Profil recherché

Nous recherchons un(e) stagiaire créatif(ve), dynamique et autonome, avec de solides connaissances en développement d'applications web et cartographiques.

Vous êtes étudiant(e) en cursus universitaire ou en école d'ingénieurs, préparant un diplôme de niveau Bac+5, ou un mastère spécialisé. Vous avez idéalement des connaissances en développement informatique.

Vous devez avoir des connaissances solides en développement back-end. Une connaissance préalable du langage Rust serait un atout majeur, ainsi qu'une expertise ou un intérêt marqué pour les bases de données.

Chez Magellium, la diversité et l'inclusion sont fondamentales pour notre fonctionnement et ancrées dans nos valeurs. Nous respectons la diversité de nos employés, leurs expériences, leurs origines, leurs handicaps, et offrons des chances égales à tous. Tous différents, tous compétents !

Détails sur le poste
La Garenne-Colombes, France
Stage (6 mois)
Propulsé parTaleez