Ajoute sauvegarde UI + explorateur arborescent et ajuste modales
Some checks failed
Tests / test-java-8-war-generation (push) Failing after 8s
Tests / test-mvn-livecycle (11) (push) Failing after 6s
Tests / test-mvn-livecycle (17) (push) Failing after 6s
Tests / test-embedded (11) (push) Has been skipped
Tests / test-embedded (17) (push) Has been skipped
Tests / test-mvn-jetty-run (11) (push) Has been skipped
Tests / test-mvn-jetty-run (17) (push) Has been skipped
Tests / test-jetty (11) (push) Has been skipped
Tests / test-jetty (17) (push) Has been skipped
Tests / test-tomcat (11) (push) Has been skipped
Tests / test-tomcat (17) (push) Has been skipped

This commit is contained in:
Matthieu
2025-12-18 17:26:07 +01:00
parent 4df35390e1
commit 22d2bd0d46
27 changed files with 1392 additions and 69 deletions

View File

@@ -141,6 +141,32 @@ You can set all the following variables:
* `HTTP_PROXY_READ_TIMEOUT`
* when calling the `proxy` endpoint, the value of `HTTP_PROXY_READ_TIMEOUT` will be the connection read timeout in milliseconds
* Default value: `10000` (10 seconds)
* `PLANTUML_SAVE_DIR`
* Local directory used by the save/load API for storing diagrams.
* Default value: `data/saves`
* `PLANTUML_SAVE_MAX_SIZE`
* Maximum payload size (in bytes) accepted by the save endpoint.
* Default value: `200000`
* `PLANTUML_SAVE_TOKEN`
* Optional shared token to protect the save/load/delete endpoints. If set, requests must provide the header `X-PlantUML-Token`.
* Default value: `null` (no auth)
## Save / Load API
The UI exposes “Save” and “Load” buttons to persist PlantUML sources on the server.
- Endpoints (JSON):
- `POST /api/diagrams` with `{ "id": "my-diagram", "name": "optional name", "uml": "@startuml..." }`
- `GET /api/diagrams/{id}` returns the stored diagram
- `GET /api/diagrams` returns a lightweight list of stored diagrams
- `DELETE /api/diagrams/{id}` deletes a stored diagram
- Storage:
- Files are written to `PLANTUML_SAVE_DIR` (default `data/saves`). You can structure ids with folders, e.g. `teamA/sequence1`.
- Max payload is limited by `PLANTUML_SAVE_MAX_SIZE` (default 200 KB).
- Optional protection: set `PLANTUML_SAVE_TOKEN` and pass `X-PlantUML-Token` header when calling the API.
When hosting publicly, enable a token (or protect via reverse proxy) so user saves are not world-writeable.
## Alternate: How to build your docker image