# Session Resume — 2026-05-17 (final)

## Infrastructure Smart City Digital Twin — Martinique

### Complété cette session

#### 1. GeoServer configuré ✅
- **URL** : `https://geoserver.digitribe.fr`
- **Credentials** : admin / Digitribe972
- **Workspace** : Digitribe
- **Data Store** : postgis-smartcity (PostGIS dédié)
- **Couche** : sensors (55 capteurs IoT importés depuis OpenRemote)

#### 2. PostGIS dédié créé ✅
- **Conteneur** : postgis-smartcity
- **Image** : postgis/postgis:15-3.4
- **Port** : 5433
- **Base** : smartcity / smartcity / SmartCity972
- **Table** : sensors (id, name, type, location, attributes)
- **Données** : 55 capteurs importés depuis OpenRemote

#### 3. MapStore configuré ✅
- **URL** : `https://mapstore.digitribe.fr`
- **CORS** : GeoServer ajouté
- **Couche GeoServer** : sensors accessible via WMS

#### 4. Documentation ✅
- `docs/geospatial.md` — documentation complète de l'architecture géospatiale
- `TODO.md` — mise à jour des tâches
- Commits Gitea pushés

#### 5. ChirpStack credentials ✅
- **URL** : `https://chirpstack.digitribe.fr`
- **Credentials** : admin / admin1234

### Bloqués

#### OpenRemote Agents MQTT (403)
- L'API REST retourne 403 malgré tous les tokens Keycloak
- L'UI Manager ne rend pas dans les navigateurs headless (Web Components)
- **Solution recommandée** : se connecter manuellement via un navigateur réel

#### Ditto (MongoDB localhost)
- Les images Docker de Ditto 3.8.12 hardcodent `localhost:27017` pour MongoDB
- Les variables d'environnement `MONGO_HOST`, `MONGODB_URI` ne sont pas reconnues
- **Solution** : modifier le JAR ou utiliser un hostname `localhost` qui pointe vers MongoDB

#### Prometheus (réseau interne)
- Le conteneur Prometheus ne peut pas accéder aux services internes
- **Solution** : reconfigurer le réseau ou utiliser les endpoints exposés

#### GeoMesa + KeplerGL
- **GeoMesa** : installation complexe (Maven, binaires pré-construits nécessaires)
- **KeplerGL** : image Docker incomplète, build npm trop long
- **Solution** : prévoir une session dédiée pour l'installation

### Fichiers modifiés/créés
- `docker-compose.yml` — BUNKERM_HOST corrigé
- `simulator.py` — BUNKERM_HOST corrigé
- `docker-compose.chirpstack.yml` — mot de passe corrigé
- `configuration/chirpstack/chirpstack.toml` — DSN corrigé
- `docker-compose.ditto.yml` — recréé avec config MongoDB et auth devops
- `docker-compose.postgis.yml` — nouveau PostGIS dédié
- `docker-compose.kepler.yml` — KeplerGL (non fonctionnel)
- `traefik-config/dynamic/routes.yml` — GeoServer ajouté au CORS MapStore
- `traefik-config/dynamic/10-lorawan.yml` — ChirpStack corrigé
- `docs/geospatial.md` — documentation géospatiale
- `TODO.md` — mise à jour

### Commits Gitea
- `7477410` — Session 2026-05-17: GeoServer, PostGIS dédié, MapStore, ChirpStack
- `55fabea` — Documentation géospatiale: GeoServer, PostGIS, MapStore

### TODO list
| Tâche | Statut |
|-------|--------|
| OpenRemote agents MQTT | 🔴 Bloqué |
| ChirpStack login API | 🔄 En cours |
| NGSI-LD pipeline | ⏳ En attente |
| GeoMesa + KeplerGL | 🔴 Bloqué |
| Ditto.digitribe.fr | 🔴 Bloqué |
| Prometheus + Grafana | 🔴 Bloqué |
| Documentation | ✅ Complété |

### Credentials
- **GeoServer**: admin / Digitribe972
- **PostGIS dédié**: smartcity / SmartCity972 (port 5433)
- **ChirpStack**: admin / admin1234
- **Gitea**: eric / token configuré dans git remote
