Aller au contenu

Architecture

Avant d'écrire la moindre ligne de code, il est utile de savoir quelles briques composent la plateforme et où chacune se trouve. Cette page sert de repère : elle situe les services les uns par rapport aux autres, donne leurs adresses, et explique comment rattacher vos dépôts au projet pour que la plateforme puisse s'en servir.

Architecture de la plateforme UrbiVerde

Ce schéma reste volontairement synthétique. Si vous avez besoin du détail par composant - identifiants, responsabilités, interfaces, traçabilité vers les exigences système - c'est le document SPEC du projet (IF Service Specification document) qu'il faut ouvrir.

Services de la plateforme

Vous n'aurez pas affaire à tous ces services en même temps : GitLab et S3 interviennent dès les premiers pas, le processing et l'hébergement d'application ensuite, TiTiler au moment d'afficher vos résultats, et le géoportail quand vous publiez un indicateur pour les collectivités. Keycloak, lui, est en arrière-plan de tout le reste.

Service Description Accès
GitLab Votre code source, vos packages CWL et la registry qui héberge vos images https://gitlab.com/urbiverde-if-pathfinder
IAM (Keycloak) L'authentification unique OIDC, sur le realm Urbiverde Se connecter
Stockage S3 Le stockage objet de vos données et de vos produits Stocker mes données
Processing L'exécution de vos chaînes CWL, portée par AntFlow et Calrissian https://process.urbiverde.com/#/processings
Application hosting Le déploiement serverless de vos applications, via AntFlow Spaces https://process.urbiverde.com/#/spaces
TiTiler Les tuiles générées à la volée depuis les COG que vous avez déposés en S3 https://titiler.urbiverde.com/api.html
Catalogue STAC Le catalogue des produits publiés (collections et items), servi par l'API STAC SFEOS https://stac.urbiverde.com/api.html
Géoportail (UrbiVerde Maps) La carte des collectivités : les map products publiés, servis par QGIS Server en WMS / WFS (voir Publier un indicateur) https://maps.urbiverde.com/maps

Rejoindre le groupe GitLab

La plateforme ne va chercher votre code et vos images que dans les projets du groupe urbiverde-if-pathfinder, ou dans ceux qui ont été partagés avec lui. La marche à suivre dépend de ce que vous avez déjà entre les mains.

Pour un nouveau projet, le plus simple est de demander à l'IF Operator de vous ajouter au groupe, puis de créer le projet directement dedans : il naît au bon endroit et vous n'avez rien à reprendre ensuite.

Pour un projet existant, laissez-le où il est et partagez-le avec le groupe, en l'invitant avec le rôle Maintainer. Vous pouvez le faire à deux niveaux :

  • sur le projet, pour ne partager que lui : dans le projet, Manage → Members → Invite a group → urbiverde-if-pathfinder → rôle Maintainer ;
  • sur le groupe qui contient le projet, pour partager d'un coup tous ses projets : dans ce groupe, Manage → Members → Invite a group → urbiverde-if-pathfinder → rôle Maintainer.

Le projet garde son URL, son historique et sa registry : rien n'est à corriger dans votre remote ni dans vos DockerRequirement.