# Configuration GeoServer - Smart City Digital Twin

## État au 04 Mai 2026 (22h15)

### ✅ Réalisé
1. **Workspace créé** : `Digitribe` (via REST API)
   - URL: https://geoserver.digitribe.fr/geoserver/web/?workspace=Digitribe
2. **Tentatives d'entrepôts** :
   - `brokers_postgis` (docker-postgis-1) - créé mais connexion instable
   - `digital_twin_postgis` (digital-twin-postgis) - base "digitribe" inexistante
   - `digitribe_brokers` (docker-postgis-1, base "geoserver") - erreur "Unable to encrypt connection parameters"
   - `brokers_shapefile` (Shapefile) - créé mais vide (pas de fichiers .shp)

### ❌ Problèmes rencontrés
- **Erreur** : "Failed to find the datastore factory" / "Unable to encrypt connection parameters"
- **Cause probable** : Paramètres de connexion PostGIS mal formatés ou problème de chiffrement GeoServer
- **Identifiants testés** :
  - docker-postgis-1 : user=`geoserver`, password=`geoserver`, db=`geoserver`
  - digital-twin-postgis : user=`gis_user`, password=`gis_pass` (probable)
  - frost_http-database-1 : user=`sensorthings`, password=`Digitribe972` (probable)

### 📋 Configuration pour MapStore
Une fois l'entrepôt fonctionnel, voici comment l'utiliser dans MapStore :

```javascript
// Exemple de configuration MapStore (WMS)
{
  "type": "wms",
  "url": "https://geoserver.digitribe.fr/geoserver/wms",
  "name": "Digitribe:broker_sensors",
  "format": "image/png",
  "workspace": "Digitribe"
}
```

### 🔄 Prochaines étapes (pour reprise)
1. **Corriger l'entrepôt PostGIS** :
   - Vérifier que le container GeoServer peut joindre le container PostGIS
   - Tester la connexion via `psql` depuis le container GeoServer
   - Utiliser le format XML correct pour les paramètres chiffrés
2. **Ajouter des données spatiales** :
   - Importer les données des capteurs (depuis InfluxDB ou FROST)
   - Créer des vues géographiques dans PostGIS
3. **Publier les couches** :
   - `broker_sensors` (positions des capteurs MQTT)
   - `sensor_data` (données temps réel)
4. **Configurer MapStore** :
   - Ajouter GeoServer comme source WMS/WFS
   - Créer une carte avec les couches du workspace Digitribe

### 🔧 Commandes de diagnostic
```bash
# Tester la connexion depuis GeoServer
docker exec geoserver_stack-geoserver-1 psql -h digital-twin-postgis -U gis_user -d digitribe -c "\dt"

# Vérifier les logs GeoServer
docker logs geoserver_stack-geoserver-1 --tail 50 | grep -i "error\|datastore"

# Recréer l'entrepôt avec le bon format
curl -X PUT "https://geoserver.digitribe.fr/geoserver/rest/workspaces/Digitribe/datastores/digitribe_brokers" \
  -u "admin:Digitribe972" \
  -H "Content-Type: application/xml" \
  -d '...' # (XML avec paramètres corrects)
```

---
**Fichiers** : `geoserver_config_status.md` (ce fichier)
**Statut** : Workspace ✅ | Entrepôts ⚠️ (à debugguer) | Prêt pour MapStore ❌