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
| Composant | Responsabilité |
|---|---|
| Application web | Authentification, requêtes selon les droits, décisions, préférences et suivi |
| Pipeline de réplication | Téléchargement, mise en file et ingestion avec suivi d'avancement |
| Lanceur d'intégration | Sélection des racines, résolution des dépendances, contrôle de cible, append et finalisation |
| osm2pgsql | Maintenance des primitives intermédiaires et des géométries publiées |
| Découpage | Construction puis remplacement transactionnel des tronçons/sommets dérivés |
| Traitement email | Préparation des synthèses éligibles et suivi des envois |
| Nettoyage | Application 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.