chore: session backup 2026-06-01 final — TODO restructuré, état complet
This commit is contained in:
87
TODO.md
87
TODO.md
@@ -1,54 +1,69 @@
|
|||||||
# Smart City Digital Twin — TODO List
|
# Smart City Digital Twin — TODO List
|
||||||
|
|
||||||
> Dernière mise à jour : 2026-06-01 07:00
|
> Dernière mise à jour : 2026-06-01 17:00 (fin de session)
|
||||||
|
|
||||||
## ✅ Complété (cette session 2026-06-01)
|
## ✅ Complété (session 2026-06-01)
|
||||||
|
|
||||||
| ID | Tâche |
|
| ID | Tâche | Détail |
|
||||||
|----|-------|
|
|----|-------|--------|
|
||||||
| jupyterhub-fix | JupyterHub DB path fix (absolute path) → healthy ✅ |
|
| jupyterhub-fix | JupyterHub DB path | `sqlite:////srv/jupyterhub/jupyterhub.sqlite` (absolute path) |
|
||||||
| jupyterhub-user | User eric créé + autorisé dans JupyterHub (admin) |
|
| jupyterhub-rebuild | Rebuild Dockerfile | Supprimé double-nested `/srv/jupyterhub/srv/jupyterhub` |
|
||||||
| or-map-bounds | OR mbtiles metadata bounds → monde, center → Martinique ✅ |
|
| jupyterhub-spawner | Spawner config | `SimpleLocalProcessSpawner`, timeout 300s |
|
||||||
| or-map-verify | OR API confirmée: center=[-61,14.5], minZoom=0, bounds=Martinique |
|
| jupyterhub-user | User eric | Créé id=2, admin, authorized |
|
||||||
| hermes-dashboard | Hermes Dashboard WebUI + TUI chat activé (localhost:9119, auto-boot) |
|
| hermes-dashboard | Dashboard WebUI+TUI | systemd service, localhost:9119, auto-boot |
|
||||||
| git-push | Commit 008f167 pushé sur Gitea |
|
| or-mbtiles-metadata | Bounds monde + center Martinique | `sqlite3` UPDATE sur metadata |
|
||||||
|
| or-map-settings | mapsettings.json vérifié | center=[-61,14.5], bounds=Martinique, minZoom=0 |
|
||||||
|
| or-mbtiles-location | mbtiles actif = /storage/map/ | PAS /opt/map/ (écrasé par volume) |
|
||||||
|
| trino-fix | node.properties créé | `node.environment=production` — restart needed |
|
||||||
|
| skill-update | openremote-overview | Section Map & Tile Configuration ajoutée |
|
||||||
|
| git-push | Commits | `acdf250` pushé sur Gitea |
|
||||||
|
|
||||||
## 🔴 Bloqué / En cours
|
## 🔴 Bloqué / En cours
|
||||||
|
|
||||||
| ID | Tâche | Raison |
|
| ID | Tâche | Raison | Prochaine action |
|
||||||
|----|-------|--------|
|
|----|-------|--------|------------------|
|
||||||
| jupyterhub-spawn | Spawn user eric timeout (30s→120s fixé, mais singleuser lent) | Container resource limit? |
|
| or-map-bounds | MapService retourne bounds Pays-Bas | Bug MapResourceImpl.java: mbtiles metadata bounds prioritaire sur mapsettings.json | Générer vrai mbtiles MVT Martinique OU patcher code source OR |
|
||||||
| or-tiles | Carte OR fond gris sur Martinique | mbtiles contient tiles Pays-Bas, pas Martinique |
|
| jupyterhub-spawn | Spawn eric timeout | Container resource limit? | Augmenter CPU/RAM container OU debug logs |
|
||||||
| kafka-fix | Kafka restart loop | `zookeeper.connect` manquant |
|
| kafka-restart | Kafka restart loop | Volumes corrimpus (ancien ZK data) | SUPPRIMER volumes kafka-1-data + kafka-2-data, recréer |
|
||||||
| trino-fix | Trino restart loop | `node.environment` null |
|
| trino-restart | Trino restart loop | node.properties créé mais pas appliqué | `docker restart trino` |
|
||||||
|
|
||||||
## ⏳ En attente
|
## ⏳ En attente
|
||||||
|
|
||||||
| ID | Tâche |
|
| ID | Tâche |
|
||||||
|----|-------|
|
|----|-------|
|
||||||
| p1-or-restart | Vérifier OR map tiles après remplacement mbtiles Martinique |
|
| or-mbtiles-martinique | Générer mbtiles MVT PBF pour Martinique (tippecanoe depuis GeoJSON filtré) |
|
||||||
|
| p1-or-map | Vérifier carte Martinique après fix bounds |
|
||||||
| p1-contexus-60 | Configurer les 60 devices Contexus |
|
| p1-contexus-60 | Configurer les 60 devices Contexus |
|
||||||
| p3-analyse | Analyse: GeoMesa + KeplerGL |
|
| p3-analyse | GeoMesa + KeplerGL |
|
||||||
| p1-ngsi | NGSI-LD: validation pipeline (basse priorité) |
|
| p0-chirpstack | ChirpStack login API gRPC-REST |
|
||||||
| p0-chirpstack | ChirpStack: login API gRPC-REST |
|
| p1-thingsboard | Relancer ThingsBoard (si CPU dispo) |
|
||||||
| p1-thingsboard | Relayer ThingsBoard (si CPU dispo) |
|
| smart-app Phase 1 | MVP React Native |
|
||||||
| smart-app Phase 1 | MVP React Native (dashboard, carte, signalement) |
|
|
||||||
| smart-app Phase 2 | Transport, Beckn integration, chatbot RAG |
|
|
||||||
| smart-app Phase 3 | AI Agents, prédictions, réalité augmentée |
|
|
||||||
|
|
||||||
## 📝 Notes 2026-06-01
|
## 📝 Notes techniques 2026-06-01
|
||||||
|
|
||||||
- **86 conteneurs Docker** au total
|
### OpenRemote mbtiles — Points critiques
|
||||||
- **JupyterHub** : https://jupyter.digitribe.fr — user eric/admin créé, spawn lent
|
- Fichier actif : `/storage/map/mapdata.mbtiles` (volume Docker), PAS `/opt/map/`
|
||||||
- **OpenRemote** : https://openremote.digitribe.fr — carte centrée Martinique, dézoom libre (minZoom=0), mais tiles Pays-Bas (fond gris)
|
- OR 1.24.0 ne sert que du **PBF vectoriel** — PNG raster = 404
|
||||||
- **Hermes Dashboard** : http://127.0.0.1:9119 (SSH tunnel) — WebUI + TUI chat, auto-boot
|
- Bug : MapService.java donne priorité aux bounds du mbtiles metadata sur mapsettings.json
|
||||||
- **OR mbtiles** : metadata bounds monde OK, mais contenu = vector tiles Pays-Bas. Script `scripts/generate_martinique_mbtiles.py` prêt pour génération
|
- Fix : bounds mbtiles metadata = monde (`-180,-85,180,85`), bounds mapsettings = zone désirée
|
||||||
- **Pipeline données** : Simulateur → Mosquitto/BunkerM → Telegraf → InfluxDB → Grafana ✅
|
- Pour mettre à jour : `docker cp file.mbtiles openremote-manager:/storage/map/mapdata.mbtiles`
|
||||||
- **Grafana** : Dashboard smartcity-martinique-complete v7 ✅
|
|
||||||
- **Superset** : https://superset.digitribe.fr ✅
|
### JupyterHub
|
||||||
- **Metabase** : https://metabase.digitribe.fr ✅
|
- Port : 8000 (pas 8080)
|
||||||
- **ODK Central** : https://odk.digitribe.fr ✅
|
- User eric : id=2, admin, password=Digitribe972 (hash bcrypt dans users_info)
|
||||||
- **MindsDB** : https://mindsdb.digitribe.fr ✅
|
- Config : `SimpleLocalProcessSpawner`, timeout 300s
|
||||||
|
- DB : `sqlite:////srv/jupyterhub/jupyterhub.sqlite` (absolute path, 4 slashes)
|
||||||
|
|
||||||
|
### Hermes Dashboard
|
||||||
|
- Service : `hermes-dashboard.service` (systemd user)
|
||||||
|
- URL : `http://localhost:9119` (accès via SSH tunnel `-L 9119:127.0.0.1:9119`)
|
||||||
|
- TUI chat intégré dans l'onglet Chat du dashboard
|
||||||
|
|
||||||
|
### Infrastructure
|
||||||
|
- 86 conteneurs Docker au total
|
||||||
|
- Traefik, OpenRemote, Grafana, InfluxDB, Simulateur, ODK, MindsDB, MapStore, GeoServer, EMQX, Ditto, ChirpStack, Node-RED, MinIO, Flink, Gitea, LocalAI, PHPIPAM, Honcho = UP ✅
|
||||||
|
- Kafka, Trino = restart loop
|
||||||
|
- JupyterHub = UP mais spawn lent
|
||||||
|
|
||||||
## Credentials
|
## Credentials
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user