Aller au contenu principal

Architecture et circulation des données

LeBonTag associe une application web Next.js, PostgreSQL/PostGIS, des traitements Python et osm2pgsql. Le navigateur affiche les cartes avec OpenLayers/rlayers. Authentification, configuration et décisions métier sont conservées dans PostgreSQL avec les données applicatives.

Circulation des données​

Le PBF initial établit la référence. Son état/séquence doit correspondre au flux de réplication choisi. Le pipeline télécharge et ingère ensuite les diffs successifs dans le circuit des modifications. Il ne publie pas indistinctement chaque nouveauté dans le référentiel validé.

Responsabilités​

ComposantResponsabilité
Application webAuthentification, requêtes selon les droits, décisions, préférences et suivi
Pipeline de réplicationTéléchargement, mise en file et ingestion avec suivi d'avancement
Lanceur d'intégrationSélection des racines, résolution des dépendances, contrôle de cible, append et finalisation
osm2pgsqlMaintenance des primitives intermédiaires et des géométries publiées
DécoupageConstruction puis remplacement transactionnel des tronçons/sommets dérivés
Traitement emailPréparation des synthèses éligibles et suivi des envois
NettoyageApplication des règles de conservation implémentées aux caches/métadonnées concernés

Persistance et frontières​

Le schéma applicatif lebontag contient configuration, modifications, décisions et journaux. L'authentification utilise les tables de son adaptateur. Le schéma du référentiel est généralement osm2pgsql, celui des données dérivées osm2pgrouting. Les schémas/préfixes configurés doivent correspondre aux imports et traitements.

L'append osm2pgsql et la finalisation applicative ne constituent pas une transaction PostgreSQL unique pilotée par l'application web. Cela justifie les journaux d'exécution, les vérifications et l'état needs_review. Le découpage est une publication distincte, avec sa source et son résultat propres.

Le référentiel peut alimenter des traitements SIG externes. Le découpage est optionnel : un utilisateur des seules géométries de référence n'a pas besoin des tables dérivées. Les identifiants actuels de tronçons ne sont pas des identifiants stables de rattachement métier.

Exécution​

L'installation native utilise les services systemd documentés sous le compte système dédié. npm reste nécessaire à l'installation des dépendances et à la compilation ; il ne remplace pas la supervision des services. Docker utilise son déploiement Compose documenté, sans systemd à l'intérieur des conteneurs applicatifs.

Voir Modèle de données, Intégration, Découpage et Exploitation.