[Offre de stage] Développement cartographique web Nuxt/TypeScript, OpenStreetMap

Teritorio

Teritorio regroupe des experts dans la création de cartes numériques web et papier, adaptées aux besoins de ces clients. Ces cartes sont réalisées depuis les données des clients et de celles produites par la communauté OpenStreetMap et l’implication du client lui-même dans cette communauté.

Fondamentalement collaborative, la démarche OpenStreetMap s’appuie sur une véritable animation du territoire, où des liens nouveaux se tissent entre acteurs locaux, qui avaient jusque-là peu ou pas l’occasion de travailler ensemble.

Teritorio c’est de la gestion de la donnée, des fonds de carte, des applications web de cartographie, des plans papiers et de la formation et de l’accompagnement projet pour construire tout ça.

Teritorio est profondément ancré dans les valeurs des logiciels, données libres et du développement durable et solidaire.

Teritorio accompagne aujourd’hui des territoires partout en France sur les sujets du tourisme, des services aux citoyens et de l’alimentation locale.

Environnement

L’équipe de Teritorio est composée de cinq personnes réparties entre la Gironde, les Landes et les Pyrénées-Atlantiques. Toute la partie technique est faite à Bordeaux. L’ensemble des solutions est développé en logiciel libre.

Les outils et solutions Teritorio utilisent principalement les technologies TypeScript (Nuxt, Vue JS), Python (FastAPI), Ruby, SQL (Postgres/PostGIS), du lowcode, Docker… le contexte d’utilisation est fortement lié à la cartographie et aux données OpenStreetMap.

Les solutions Teritorio se composent essentiellement des micro-services suivants.

  • Tuiles cartographies vectorielles et des styles cartographiques associées.
  • Personnalisations des tuiles vectorielles par les données-clients.
  • Synchronisation, suivi et validation de données OpenStreetMap.
  • Cartographie interactive, front, API et backoffice.
  • Moteur de recherche de données géographique (POI, adresses…)
  • Moteur d’export et d’impression (PDF, CSV, QR-Code…)

Sujet

L’objet du stage porte sur l’amélioration de l’outil de cartographie web de Teritorio. C’est un logiciel libre utilisé notamment dans les offices de tourisme pour aider les accueillants à renseigner les visiteurs. Mais il est également disponible sur les sites web des destinations touristiques et de mairies à destination des habitants.

Ce stage porte sur deux sujets indépendants : l’amélioration de l’ergonomie et la possibilité de réutiliser des parties de l’application dans les sites web des destinations ou des mairies.

UI et UX

La cartographie interactive proposée par Teritorio est utilisé autant sur grand écran tactile, sur PC que sur mobile. Cela représente des défis en termes d’ergonomie utilisateur. Mais elle est également utilisée par des publics différents comme des accueillants en office de tourisme ou des visiteurs du territoire en auto-découverte. Ce qui introduit donc également des problématiques du côté expérience utilisateur.

L’application est principalement organisée autour d’une cartographie interactive et dans un second temps de menus et de pages web de moindres importances.

Il s’agit de travailler sur l’analyse de l’application existante selon des cas d’usages, d’identifier les défauts et de proposer des améliorations. Il s’agit ensuite d’implémenter dans l’application tout ou partie de ces propositions. Les travaux pourront être réalisés de façon itérative.

SDK

La cartographie interactive proposée par Teritorio est aujourd’hui une application web (Nuxt, Vue JS) monolithique. Face aux demandes des clients de pouvoir réutiliser de façon plus souple l’application, elle doit être au moins en partie instanciable dans d’autres pages web. Comme l’on ajouterait une carte Leaflet, MapLibre ou Google Maps sur une page Web.

Il s’agit de proposer une ré-architecture et une API pour une bibliothèque JavaScript (TypeScript) plus modulaire. Puis de réaliser la mise en œuvre, la documentation et la publication en paquet NPM.

Une des premières finalités pourrait être d’embarquer ce SDK au sein d’un plugin Wordpress pour permettre aux clients de plus facilement l’utiliser dans leurs sites web.

Compétences à développer et à mettre en œuvre

  • Langages : JavaScript / TypeScript
  • Framework : Nuxt, Vue JS
  • Test et qualité : Storybook, Cypress
  • Cartographie web : MapLibre GL JS, OpenStreetMap
  • Contribution à des projets de logiciels et données libres
1 Like