Avancement récent (node_K)
Station K sur RPi : service systemd + arborescence /opt/obambou/node_K, data hors repo (/var/lib/obambou/node_K) + spool (/var/spool/obambou/node_K). OK
Accueil Station K (petits écrans) + maintenance séparée (route /repairman). OK
City docs : endpoints JSON + download direct, compatibles ESP32 (public/admin). OK
Concept node_K/node_S compatibles · Roadmap hub
Phase 0 Environnement Ready details
Repo backend/obambu_node (Python 3.11, FastAPI, SQLite). OK
Endpoints init : /health, POST /api/v1/device/hello. OK
Stack FastAPI + lancement uvicorn app.main:app --reload. OK
Déploiement Station K (RPi) : service systemd + data hors repo via OBAMBOU_STORAGE_DIR. OK
Phase 1 Slice radio non sécudetails
Endpoints device : hello, config, content_index, content. OK
Stockage JSON simple (devices.json, dossier docs/). OK
ESP32 : Wi-Fi dur, POST hello, récupère config, télécharge contenu et clignote LED. OK
faire Implémentation API + sketch ESP32.
Phase 2 Docs + fichiers .enc (fake crypto)details
Endpoints documents CRUD. OK
Structure storage/docs/*.bin + meta/*.json (contenu en clair pour tests). OK
ESP32 : base64 SPIFFS.
OK Format meta homogène (sha256, size, enc, tags, timestamps).
City docs (public/admin) : index JSON + download direct pour ESP32. OK
Phase 3 Mini-blockchain
Tx pool + blocs en fichiers (blocks/00000001.json). OK
API : POST /transactions, GET /chain/head, /chain/blocks/{id}, POST /admin/chain/mine. OK
faire Génération de bloc périodique simple / cron.
Phase 4 Synchro multi-nuds
Script backend/OBB_node_K/tools/sync_mock.py : synchro blocs (HTTP pull + import admin). OK
Mode clé USB : export/import des blocs (blocks/*.json). OK
faire Définir quotas/priors par lien.
Phase 5 Signatures & crypto sur laptopdetails
ed25519 via PyNaCl : génération clés maires/communes/nuds. OK
Signature JSON JCS côté client, vérification serveur + anti-rejeu. OK
Scripts forum send/receive (CLI outbox/inbox). OK
faire Choisir format COSE/CBOR ou conserver JSON signé.
Phase 5B Forum (affichage low-tech)details
Page lab forum (lecture inbox_valid.jsonl, sans crypto). OK
Affichage boîtier low tech (texte + badge signature). OK
Thumbnails images en priorité basse (buffer à prévoir). faire
faire Intégrer au flux bundle/blockchain plus tard.
Phase 6 Chiffrement .enc réel
Chiffrement libsodium (nonce, MAC) pour docs.
ESP32 peut transporter .enc avant déchiffrement complet.
faire Définir rotation clés document.
Phase 7 Forum des maires
Tx FORUM_THREAD / FORUM_POST.
API forum + UI simple (FastAPI + Jinja2).
faire Définir filtres TTL/portée par classe (P0..P3).
Technique immédiat
OK Repo backend/obambu_node (FastAPI skeleton).
OK READMEs dans devices/* avec objectifs.
OK Script sync mock (USB + HTTP) : backend/OBB_node_K/tools/sync_mock.py
OK Format meta document (.json) + exemples.
Achats prioritaires
acheter 2 ESP32 avec u.FL + câbles/antennes.
acheter 2 CPE Wi-Fi ext. (TP-Link CPE210 ou équivalent).
acheter 1 routeur OpenWRT (GL.iNet) low-power.
acheter Panneau solaire + contrôleur + batterie 7Ah (pour kit K).
Infos à collecter
Info à trouver Réglementation radio locale (puissance/bande 2.4/5 GHz).
Info à trouver Conditions météo/obstacles pour placement relais.
Info à trouver Besoins exacts mairie pour UI (vote, attestation, révocation).