From 020ed99f7bc59c32b14120c47b9e3fae2a8cc690 Mon Sep 17 00:00:00 2001 From: claude Date: Fri, 2 Oct 2026 08:28:38 +0200 Subject: [PATCH] =?UTF-8?q?docs:=20le=20serveur=20de=20C=C3=A9dric=20comme?= =?UTF-8?q?=20h=C3=B4te=20sandbox=20du=20conteneur?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 5.5 (1M context) --- docs/architecture.excalidraw | 1158 ++++++++++++++++++++-------------- 1 file changed, 686 insertions(+), 472 deletions(-) diff --git a/docs/architecture.excalidraw b/docs/architecture.excalidraw index 4334c69..3b8503f 100644 --- a/docs/architecture.excalidraw +++ b/docs/architecture.excalidraw @@ -7,7 +7,7 @@ "id": "text-1", "type": "text", "x": 596.0, - "y": 20, + "y": -50, "width": 528.0, "height": 37.5, "angle": 0, @@ -43,16 +43,16 @@ { "id": "rectangle-2", "type": "rectangle", - "x": 40, - "y": 160, - "width": 320, - "height": 400, + "x": 400, + "y": 30, + "width": 940, + "height": 1110, "angle": 0, - "strokeColor": "#1e1e1e", - "backgroundColor": "#a5d8ff", + "strokeColor": "#2f9e44", + "backgroundColor": "#f8f9fa", "fillStyle": "solid", - "strokeWidth": 2, - "strokeStyle": "solid", + "strokeWidth": 3, + "strokeStyle": "dashed", "roughness": 1, "opacity": 100, "groupIds": [], @@ -72,12 +72,12 @@ { "id": "text-3", "type": "text", - "x": 54, - "y": 170, - "width": 110.00000000000001, + "x": 416, + "y": 38, + "width": 627.0, "height": 25.0, "angle": 0, - "strokeColor": "#1e1e1e", + "strokeColor": "#2f9e44", "backgroundColor": "transparent", "fillStyle": "solid", "strokeWidth": 2, @@ -95,8 +95,8 @@ "updated": 1759386000000, "link": null, "locked": false, - "text": "Navigateur", - "originalText": "Navigateur", + "text": "Sandbox : serveur de Cédric (hôte Docker 192.168.200.158)", + "originalText": "Sandbox : serveur de Cédric (hôte Docker 192.168.200.158)", "fontSize": 20, "fontFamily": 1, "textAlign": "left", @@ -107,12 +107,41 @@ "autoResize": true }, { - "id": "text-4", + "id": "rectangle-4", + "type": "rectangle", + "x": 40, + "y": 20, + "width": 320, + "height": 110, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "#ffec99", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "seed": 1570621945, + "version": 1, + "versionNonce": 249103478, + "isDeleted": false, + "boundElements": null, + "updated": 1759386000000, + "link": null, + "locked": false + }, + { + "id": "text-5", "type": "text", "x": 54, - "y": 200.0, - "width": 299.20000000000005, - "height": 220.0, + "y": 30, + "width": 237.60000000000002, + "height": 22.5, "angle": 0, "strokeColor": "#1e1e1e", "backgroundColor": "transparent", @@ -124,45 +153,6 @@ "groupIds": [], "frameId": null, "roundness": null, - "seed": 1570621945, - "version": 1, - "versionNonce": 249103478, - "isDeleted": false, - "boundElements": null, - "updated": 1759386000000, - "link": null, - "locked": false, - "text": "UI embarquée (go:embed web/)\nservie par GET /\n\nindex.html · app.js · style.css\n\nOnglets Recherche · Veille · Revue\nthème clair / sombre\ninterface FR / EN\n\nlocalStorage : préférences\n(searchgit.*)", - "originalText": "UI embarquée (go:embed web/)\nservie par GET /\n\nindex.html · app.js · style.css\n\nOnglets Recherche · Veille · Revue\nthème clair / sombre\ninterface FR / EN\n\nlocalStorage : préférences\n(searchgit.*)", - "fontSize": 16, - "fontFamily": 1, - "textAlign": "left", - "verticalAlign": "top", - "containerId": null, - "lineHeight": 1.25, - "baseline": 214, - "autoResize": true - }, - { - "id": "rectangle-5", - "type": "rectangle", - "x": 420, - "y": 80, - "width": 880, - "height": 820, - "angle": 0, - "strokeColor": "#1e1e1e", - "backgroundColor": "transparent", - "fillStyle": "solid", - "strokeWidth": 2, - "strokeStyle": "dashed", - "roughness": 1, - "opacity": 100, - "groupIds": [], - "frameId": null, - "roundness": { - "type": 3 - }, "seed": 922121677, "version": 1, "versionNonce": 161042649, @@ -170,17 +160,27 @@ "boundElements": null, "updated": 1759386000000, "link": null, - "locked": false + "locked": false, + "text": "Gitea vLab-BZH/searchgit", + "originalText": "Gitea vLab-BZH/searchgit", + "fontSize": 18, + "fontFamily": 1, + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "lineHeight": 1.25, + "baseline": 16, + "autoResize": true }, { "id": "text-6", "type": "text", - "x": 436, - "y": 90, - "width": 605.0, - "height": 25.0, + "x": 54, + "y": 57.400000000000006, + "width": 246.40000000000003, + "height": 40.0, "angle": 0, - "strokeColor": "#1971c2", + "strokeColor": "#1e1e1e", "backgroundColor": "transparent", "fillStyle": "solid", "strokeWidth": 2, @@ -198,53 +198,24 @@ "updated": 1759386000000, "link": null, "locked": false, - "text": "Conteneur Docker « searchgit » (alpine 3.24, port 8080)", - "originalText": "Conteneur Docker « searchgit » (alpine 3.24, port 8080)", - "fontSize": 20, + "text": "git pull\ndocker compose up -d --build", + "originalText": "git pull\ndocker compose up -d --build", + "fontSize": 16, "fontFamily": 1, "textAlign": "left", "verticalAlign": "top", "containerId": null, "lineHeight": 1.25, - "baseline": 18, + "baseline": 34, "autoResize": true }, { - "id": "rectangle-7", - "type": "rectangle", - "x": 460, - "y": 140, - "width": 400, - "height": 70, - "angle": 0, - "strokeColor": "#1e1e1e", - "backgroundColor": "#ffec99", - "fillStyle": "solid", - "strokeWidth": 2, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "groupIds": [], - "frameId": null, - "roundness": { - "type": 3 - }, - "seed": 1796035740, - "version": 1, - "versionNonce": 300026768, - "isDeleted": false, - "boundElements": null, - "updated": 1759386000000, - "link": null, - "locked": false - }, - { - "id": "text-8", - "type": "text", - "x": 474, - "y": 150, - "width": 198.00000000000003, - "height": 22.5, + "id": "arrow-7", + "type": "arrow", + "x": 360, + "y": 75, + "width": 40, + "height": 0, "angle": 0, "strokeColor": "#1e1e1e", "backgroundColor": "transparent", @@ -255,7 +226,54 @@ "opacity": 100, "groupIds": [], "frameId": null, - "roundness": null, + "roundness": { + "type": 2 + }, + "seed": 1796035740, + "version": 1, + "versionNonce": 300026768, + "isDeleted": false, + "boundElements": null, + "updated": 1759386000000, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 40, + 0 + ] + ], + "lastCommittedPoint": null, + "startBinding": null, + "endBinding": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "elbowed": false + }, + { + "id": "rectangle-8", + "type": "rectangle", + "x": 40, + "y": 160, + "width": 320, + "height": 400, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "#a5d8ff", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, "seed": 1033639717, "version": 1, "versionNonce": 389609434, @@ -263,25 +281,15 @@ "boundElements": null, "updated": 1759386000000, "link": null, - "locked": false, - "text": "Middleware basicAuth", - "originalText": "Middleware basicAuth", - "fontSize": 18, - "fontFamily": 1, - "textAlign": "left", - "verticalAlign": "top", - "containerId": null, - "lineHeight": 1.25, - "baseline": 16, - "autoResize": true + "locked": false }, { "id": "text-9", "type": "text", - "x": 474, - "y": 177.4, - "width": 325.6, - "height": 20.0, + "x": 54, + "y": 170, + "width": 110.00000000000001, + "height": 25.0, "angle": 0, "strokeColor": "#1e1e1e", "backgroundColor": "transparent", @@ -301,53 +309,24 @@ "updated": 1759386000000, "link": null, "locked": false, - "text": "AUTH_USER / AUTH_PASS (sauf /healthz)", - "originalText": "AUTH_USER / AUTH_PASS (sauf /healthz)", - "fontSize": 16, + "text": "Navigateur", + "originalText": "Navigateur", + "fontSize": 20, "fontFamily": 1, "textAlign": "left", "verticalAlign": "top", "containerId": null, "lineHeight": 1.25, - "baseline": 14, + "baseline": 18, "autoResize": true }, { - "id": "rectangle-10", - "type": "rectangle", - "x": 460, - "y": 240, - "width": 400, - "height": 260, - "angle": 0, - "strokeColor": "#1e1e1e", - "backgroundColor": "#b2f2bb", - "fillStyle": "solid", - "strokeWidth": 2, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "groupIds": [], - "frameId": null, - "roundness": { - "type": 3 - }, - "seed": 531725348, - "version": 1, - "versionNonce": 958804058, - "isDeleted": false, - "boundElements": null, - "updated": 1759386000000, - "link": null, - "locked": false - }, - { - "id": "text-11", + "id": "text-10", "type": "text", - "x": 474, - "y": 250, - "width": 465.3, - "height": 22.5, + "x": 54, + "y": 200.0, + "width": 299.20000000000005, + "height": 220.0, "angle": 0, "strokeColor": "#1e1e1e", "backgroundColor": "transparent", @@ -359,6 +338,45 @@ "groupIds": [], "frameId": null, "roundness": null, + "seed": 531725348, + "version": 1, + "versionNonce": 958804058, + "isDeleted": false, + "boundElements": null, + "updated": 1759386000000, + "link": null, + "locked": false, + "text": "UI embarquée (go:embed web/)\nservie par GET /\n\nindex.html · app.js · style.css\n\nOnglets Recherche · Veille · Revue\nthème clair / sombre\ninterface FR / EN\n\nlocalStorage : préférences\n(searchgit.*)", + "originalText": "UI embarquée (go:embed web/)\nservie par GET /\n\nindex.html · app.js · style.css\n\nOnglets Recherche · Veille · Revue\nthème clair / sombre\ninterface FR / EN\n\nlocalStorage : préférences\n(searchgit.*)", + "fontSize": 16, + "fontFamily": 1, + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "lineHeight": 1.25, + "baseline": 214, + "autoResize": true + }, + { + "id": "rectangle-11", + "type": "rectangle", + "x": 420, + "y": 80, + "width": 880, + "height": 820, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "dashed", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, "seed": 265695474, "version": 1, "versionNonce": 1703729685, @@ -366,27 +384,17 @@ "boundElements": null, "updated": 1759386000000, "link": null, - "locked": false, - "text": "Serveur Go : routes HTTP (api.go, saved_api.go)", - "originalText": "Serveur Go : routes HTTP (api.go, saved_api.go)", - "fontSize": 18, - "fontFamily": 1, - "textAlign": "left", - "verticalAlign": "top", - "containerId": null, - "lineHeight": 1.25, - "baseline": 16, - "autoResize": true + "locked": false }, { "id": "text-12", "type": "text", - "x": 474, - "y": 277.4, - "width": 343.20000000000005, - "height": 160.0, + "x": 436, + "y": 90, + "width": 770.0000000000001, + "height": 25.0, "angle": 0, - "strokeColor": "#1e1e1e", + "strokeColor": "#1971c2", "backgroundColor": "transparent", "fillStyle": "solid", "strokeWidth": 2, @@ -404,27 +412,27 @@ "updated": 1759386000000, "link": null, "locked": false, - "text": "GET / fichiers statiques\nGET /healthz sonde de santé\nGET /api/search recherche directe\nGET /api/status jeton, quota, fuseau\nGET|POST /api/saved\nGET|PUT|DELETE /api/saved/{id}\nPOST /api/saved/{id}/run\nGET /api/saved/{id}/runs[/{run}]", - "originalText": "GET / fichiers statiques\nGET /healthz sonde de santé\nGET /api/search recherche directe\nGET /api/status jeton, quota, fuseau\nGET|POST /api/saved\nGET|PUT|DELETE /api/saved/{id}\nPOST /api/saved/{id}/run\nGET /api/saved/{id}/runs[/{run}]", - "fontSize": 16, + "text": "Conteneur Docker « searchgit » (alpine 3.24, port 8080 publié en 8686)", + "originalText": "Conteneur Docker « searchgit » (alpine 3.24, port 8080 publié en 8686)", + "fontSize": 20, "fontFamily": 1, "textAlign": "left", "verticalAlign": "top", "containerId": null, "lineHeight": 1.25, - "baseline": 154, + "baseline": 18, "autoResize": true }, { "id": "rectangle-13", "type": "rectangle", "x": 460, - "y": 530, + "y": 140, "width": 400, - "height": 80, + "height": 70, "angle": 0, "strokeColor": "#1e1e1e", - "backgroundColor": "#b2f2bb", + "backgroundColor": "#ffec99", "fillStyle": "solid", "strokeWidth": 2, "strokeStyle": "solid", @@ -448,8 +456,8 @@ "id": "text-14", "type": "text", "x": 474, - "y": 540, - "width": 188.10000000000002, + "y": 150, + "width": 198.00000000000003, "height": 22.5, "angle": 0, "strokeColor": "#1e1e1e", @@ -470,8 +478,8 @@ "updated": 1759386000000, "link": null, "locked": false, - "text": "Critères (query.go)", - "originalText": "Critères (query.go)", + "text": "Middleware basicAuth", + "originalText": "Middleware basicAuth", "fontSize": 18, "fontFamily": 1, "textAlign": "left", @@ -485,7 +493,7 @@ "id": "text-15", "type": "text", "x": 474, - "y": 567.4, + "y": 177.4, "width": 325.6, "height": 20.0, "angle": 0, @@ -507,8 +515,8 @@ "updated": 1759386000000, "link": null, "locked": false, - "text": "ParseCriteria → requête GitHub « q= »", - "originalText": "ParseCriteria → requête GitHub « q= »", + "text": "AUTH_USER / AUTH_PASS (sauf /healthz)", + "originalText": "AUTH_USER / AUTH_PASS (sauf /healthz)", "fontSize": 16, "fontFamily": 1, "textAlign": "left", @@ -522,9 +530,9 @@ "id": "rectangle-16", "type": "rectangle", "x": 460, - "y": 660, + "y": 240, "width": 400, - "height": 110, + "height": 260, "angle": 0, "strokeColor": "#1e1e1e", "backgroundColor": "#b2f2bb", @@ -551,8 +559,8 @@ "id": "text-17", "type": "text", "x": 474, - "y": 670, - "width": 188.10000000000002, + "y": 250, + "width": 465.3, "height": 22.5, "angle": 0, "strokeColor": "#1e1e1e", @@ -573,8 +581,8 @@ "updated": 1759386000000, "link": null, "locked": false, - "text": "Stockage (store.go)", - "originalText": "Stockage (store.go)", + "text": "Serveur Go : routes HTTP (api.go, saved_api.go)", + "originalText": "Serveur Go : routes HTTP (api.go, saved_api.go)", "fontSize": 18, "fontFamily": 1, "textAlign": "left", @@ -588,9 +596,9 @@ "id": "text-18", "type": "text", "x": 474, - "y": 697.4, - "width": 281.6, - "height": 60.0, + "y": 277.4, + "width": 343.20000000000005, + "height": 160.0, "angle": 0, "strokeColor": "#1e1e1e", "backgroundColor": "transparent", @@ -610,27 +618,27 @@ "updated": 1759386000000, "link": null, "locked": false, - "text": "fichiers JSON, écriture atomique\n(fichier .tmp puis rename)\nmarque nouveaux / en hausse", - "originalText": "fichiers JSON, écriture atomique\n(fichier .tmp puis rename)\nmarque nouveaux / en hausse", + "text": "GET / fichiers statiques\nGET /healthz sonde de santé\nGET /api/search recherche directe\nGET /api/status jeton, quota, fuseau\nGET|POST /api/saved\nGET|PUT|DELETE /api/saved/{id}\nPOST /api/saved/{id}/run\nGET /api/saved/{id}/runs[/{run}]", + "originalText": "GET / fichiers statiques\nGET /healthz sonde de santé\nGET /api/search recherche directe\nGET /api/status jeton, quota, fuseau\nGET|POST /api/saved\nGET|PUT|DELETE /api/saved/{id}\nPOST /api/saved/{id}/run\nGET /api/saved/{id}/runs[/{run}]", "fontSize": 16, "fontFamily": 1, "textAlign": "left", "verticalAlign": "top", "containerId": null, "lineHeight": 1.25, - "baseline": 54, + "baseline": 154, "autoResize": true }, { "id": "rectangle-19", "type": "rectangle", - "x": 920, - "y": 140, - "width": 350, - "height": 130, + "x": 460, + "y": 530, + "width": 400, + "height": 80, "angle": 0, "strokeColor": "#1e1e1e", - "backgroundColor": "#e9ecef", + "backgroundColor": "#b2f2bb", "fillStyle": "solid", "strokeWidth": 2, "strokeStyle": "solid", @@ -653,9 +661,9 @@ { "id": "text-20", "type": "text", - "x": 934, - "y": 150, - "width": 198.00000000000003, + "x": 474, + "y": 540, + "width": 188.10000000000002, "height": 22.5, "angle": 0, "strokeColor": "#1e1e1e", @@ -676,8 +684,8 @@ "updated": 1759386000000, "link": null, "locked": false, - "text": "Sandbox du conteneur", - "originalText": "Sandbox du conteneur", + "text": "Critères (query.go)", + "originalText": "Critères (query.go)", "fontSize": 18, "fontFamily": 1, "textAlign": "left", @@ -690,10 +698,10 @@ { "id": "text-21", "type": "text", - "x": 934, - "y": 177.4, - "width": 237.60000000000002, - "height": 80.0, + "x": 474, + "y": 567.4, + "width": 325.6, + "height": 20.0, "angle": 0, "strokeColor": "#1e1e1e", "backgroundColor": "transparent", @@ -713,27 +721,27 @@ "updated": 1759386000000, "link": null, "locked": false, - "text": "binaire Go statique (CGO=0)\nutilisateur non-root 10001\nseul /data est inscriptible\nHEALTHCHECK → /healthz", - "originalText": "binaire Go statique (CGO=0)\nutilisateur non-root 10001\nseul /data est inscriptible\nHEALTHCHECK → /healthz", + "text": "ParseCriteria → requête GitHub « q= »", + "originalText": "ParseCriteria → requête GitHub « q= »", "fontSize": 16, "fontFamily": 1, "textAlign": "left", "verticalAlign": "top", "containerId": null, "lineHeight": 1.25, - "baseline": 74, + "baseline": 14, "autoResize": true }, { "id": "rectangle-22", "type": "rectangle", - "x": 920, - "y": 300, - "width": 350, - "height": 150, + "x": 460, + "y": 660, + "width": 400, + "height": 110, "angle": 0, "strokeColor": "#1e1e1e", - "backgroundColor": "#d0bfff", + "backgroundColor": "#b2f2bb", "fillStyle": "solid", "strokeWidth": 2, "strokeStyle": "solid", @@ -756,9 +764,9 @@ { "id": "text-23", "type": "text", - "x": 934, - "y": 310, - "width": 277.20000000000005, + "x": 474, + "y": 670, + "width": 188.10000000000002, "height": 22.5, "angle": 0, "strokeColor": "#1e1e1e", @@ -779,8 +787,8 @@ "updated": 1759386000000, "link": null, "locked": false, - "text": "Planificateur (scheduler.go)", - "originalText": "Planificateur (scheduler.go)", + "text": "Stockage (store.go)", + "originalText": "Stockage (store.go)", "fontSize": 18, "fontFamily": 1, "textAlign": "left", @@ -793,10 +801,10 @@ { "id": "text-24", "type": "text", - "x": 934, - "y": 337.4, - "width": 290.40000000000003, - "height": 80.0, + "x": 474, + "y": 697.4, + "width": 281.6, + "height": 60.0, "angle": 0, "strokeColor": "#1e1e1e", "backgroundColor": "transparent", @@ -816,27 +824,27 @@ "updated": 1759386000000, "link": null, "locked": false, - "text": "tic toutes les 30 s (heure TZ)\nune exécution à la fois (mutex)\nheures / jour / semaine\nquota épuisé → nouvel essai 3 min", - "originalText": "tic toutes les 30 s (heure TZ)\nune exécution à la fois (mutex)\nheures / jour / semaine\nquota épuisé → nouvel essai 3 min", + "text": "fichiers JSON, écriture atomique\n(fichier .tmp puis rename)\nmarque nouveaux / en hausse", + "originalText": "fichiers JSON, écriture atomique\n(fichier .tmp puis rename)\nmarque nouveaux / en hausse", "fontSize": 16, "fontFamily": 1, "textAlign": "left", "verticalAlign": "top", "containerId": null, "lineHeight": 1.25, - "baseline": 74, + "baseline": 54, "autoResize": true }, { "id": "rectangle-25", "type": "rectangle", "x": 920, - "y": 530, + "y": 140, "width": 350, "height": 130, "angle": 0, "strokeColor": "#1e1e1e", - "backgroundColor": "#d0bfff", + "backgroundColor": "#e9ecef", "fillStyle": "solid", "strokeWidth": 2, "strokeStyle": "solid", @@ -860,8 +868,8 @@ "id": "text-26", "type": "text", "x": 934, - "y": 540, - "width": 247.50000000000003, + "y": 150, + "width": 217.8, "height": 22.5, "angle": 0, "strokeColor": "#1e1e1e", @@ -882,8 +890,8 @@ "updated": 1759386000000, "link": null, "locked": false, - "text": "Client GitHub (github.go)", - "originalText": "Client GitHub (github.go)", + "text": "Isolation du conteneur", + "originalText": "Isolation du conteneur", "fontSize": 18, "fontFamily": 1, "textAlign": "left", @@ -897,9 +905,9 @@ "id": "text-27", "type": "text", "x": 934, - "y": 567.4, - "width": 299.20000000000005, - "height": 60.0, + "y": 177.4, + "width": 237.60000000000002, + "height": 80.0, "angle": 0, "strokeColor": "#1e1e1e", "backgroundColor": "transparent", @@ -919,27 +927,27 @@ "updated": 1759386000000, "link": null, "locked": false, - "text": "cache mémoire CACHE_TTL (5 min)\nquota RateLimit mémorisé\nAuthorization: Bearer GITHUB_TOKEN", - "originalText": "cache mémoire CACHE_TTL (5 min)\nquota RateLimit mémorisé\nAuthorization: Bearer GITHUB_TOKEN", + "text": "binaire Go statique (CGO=0)\nutilisateur non-root 10001\nseul /data est inscriptible\nHEALTHCHECK → /healthz", + "originalText": "binaire Go statique (CGO=0)\nutilisateur non-root 10001\nseul /data est inscriptible\nHEALTHCHECK → /healthz", "fontSize": 16, "fontFamily": 1, "textAlign": "left", "verticalAlign": "top", "containerId": null, "lineHeight": 1.25, - "baseline": 54, + "baseline": 74, "autoResize": true }, { "id": "rectangle-28", "type": "rectangle", - "x": 1380, - "y": 530, - "width": 320, - "height": 130, + "x": 920, + "y": 300, + "width": 350, + "height": 150, "angle": 0, "strokeColor": "#1e1e1e", - "backgroundColor": "#ffc9c9", + "backgroundColor": "#d0bfff", "fillStyle": "solid", "strokeWidth": 2, "strokeStyle": "solid", @@ -962,10 +970,10 @@ { "id": "text-29", "type": "text", - "x": 1394, - "y": 540, - "width": 187.00000000000003, - "height": 25.0, + "x": 934, + "y": 310, + "width": 277.20000000000005, + "height": 22.5, "angle": 0, "strokeColor": "#1e1e1e", "backgroundColor": "transparent", @@ -985,24 +993,24 @@ "updated": 1759386000000, "link": null, "locked": false, - "text": "API GitHub Search", - "originalText": "API GitHub Search", - "fontSize": 20, + "text": "Planificateur (scheduler.go)", + "originalText": "Planificateur (scheduler.go)", + "fontSize": 18, "fontFamily": 1, "textAlign": "left", "verticalAlign": "top", "containerId": null, "lineHeight": 1.25, - "baseline": 18, + "baseline": 16, "autoResize": true }, { "id": "text-30", "type": "text", - "x": 1394, - "y": 570.0, - "width": 264.0, - "height": 60.0, + "x": 934, + "y": 337.4, + "width": 290.40000000000003, + "height": 80.0, "angle": 0, "strokeColor": "#1e1e1e", "backgroundColor": "transparent", @@ -1022,30 +1030,30 @@ "updated": 1759386000000, "link": null, "locked": false, - "text": "api.github.com\n/search/repositories\n10 req/min sans jeton, 30 avec", - "originalText": "api.github.com\n/search/repositories\n10 req/min sans jeton, 30 avec", + "text": "tic toutes les 30 s (heure TZ)\nune exécution à la fois (mutex)\nheures / jour / semaine\nquota épuisé → nouvel essai 3 min", + "originalText": "tic toutes les 30 s (heure TZ)\nune exécution à la fois (mutex)\nheures / jour / semaine\nquota épuisé → nouvel essai 3 min", "fontSize": 16, "fontFamily": 1, "textAlign": "left", "verticalAlign": "top", "containerId": null, "lineHeight": 1.25, - "baseline": 54, + "baseline": 74, "autoResize": true }, { "id": "rectangle-31", "type": "rectangle", - "x": 1380, - "y": 140, - "width": 320, - "height": 250, + "x": 920, + "y": 530, + "width": 350, + "height": 130, "angle": 0, "strokeColor": "#1e1e1e", - "backgroundColor": "#fff9db", + "backgroundColor": "#d0bfff", "fillStyle": "solid", "strokeWidth": 2, - "strokeStyle": "dashed", + "strokeStyle": "solid", "roughness": 1, "opacity": 100, "groupIds": [], @@ -1065,10 +1073,10 @@ { "id": "text-32", "type": "text", - "x": 1394, - "y": 150, - "width": 209.00000000000003, - "height": 25.0, + "x": 934, + "y": 540, + "width": 247.50000000000003, + "height": 22.5, "angle": 0, "strokeColor": "#1e1e1e", "backgroundColor": "transparent", @@ -1088,24 +1096,24 @@ "updated": 1759386000000, "link": null, "locked": false, - "text": "Configuration (env)", - "originalText": "Configuration (env)", - "fontSize": 20, + "text": "Client GitHub (github.go)", + "originalText": "Client GitHub (github.go)", + "fontSize": 18, "fontFamily": 1, "textAlign": "left", "verticalAlign": "top", "containerId": null, "lineHeight": 1.25, - "baseline": 18, + "baseline": 16, "autoResize": true }, { "id": "text-33", "type": "text", - "x": 1394, - "y": 180.0, - "width": 184.8, - "height": 140.0, + "x": 934, + "y": 567.4, + "width": 299.20000000000005, + "height": 60.0, "angle": 0, "strokeColor": "#1e1e1e", "backgroundColor": "transparent", @@ -1125,27 +1133,27 @@ "updated": 1759386000000, "link": null, "locked": false, - "text": "GITHUB_TOKEN\nCACHE_TTL = 5m\nAUTH_USER / AUTH_PASS\nTZ = Europe/Paris\nHISTORY_KEEP = 100\nDATA_DIR = /data\nHTTP_PORT → 8080", - "originalText": "GITHUB_TOKEN\nCACHE_TTL = 5m\nAUTH_USER / AUTH_PASS\nTZ = Europe/Paris\nHISTORY_KEEP = 100\nDATA_DIR = /data\nHTTP_PORT → 8080", + "text": "cache mémoire CACHE_TTL (5 min)\nquota RateLimit mémorisé\nAuthorization: Bearer GITHUB_TOKEN", + "originalText": "cache mémoire CACHE_TTL (5 min)\nquota RateLimit mémorisé\nAuthorization: Bearer GITHUB_TOKEN", "fontSize": 16, "fontFamily": 1, "textAlign": "left", "verticalAlign": "top", "containerId": null, "lineHeight": 1.25, - "baseline": 134, + "baseline": 54, "autoResize": true }, { "id": "rectangle-34", "type": "rectangle", - "x": 520, - "y": 960, - "width": 640, - "height": 140, + "x": 1380, + "y": 530, + "width": 320, + "height": 130, "angle": 0, "strokeColor": "#1e1e1e", - "backgroundColor": "#ffd8a8", + "backgroundColor": "#ffc9c9", "fillStyle": "solid", "strokeWidth": 2, "strokeStyle": "solid", @@ -1168,9 +1176,9 @@ { "id": "text-35", "type": "text", - "x": 534, - "y": 970, - "width": 528.0, + "x": 1394, + "y": 540, + "width": 187.00000000000003, "height": 25.0, "angle": 0, "strokeColor": "#1e1e1e", @@ -1191,8 +1199,8 @@ "updated": 1759386000000, "link": null, "locked": false, - "text": "Volume Docker « searchgit-data » monté sur /data", - "originalText": "Volume Docker « searchgit-data » monté sur /data", + "text": "API GitHub Search", + "originalText": "API GitHub Search", "fontSize": 20, "fontFamily": 1, "textAlign": "left", @@ -1205,10 +1213,10 @@ { "id": "text-36", "type": "text", - "x": 534, - "y": 1000.0, - "width": 492.80000000000007, - "height": 80.0, + "x": 1394, + "y": 570.0, + "width": 264.0, + "height": 60.0, "angle": 0, "strokeColor": "#1e1e1e", "backgroundColor": "transparent", @@ -1228,36 +1236,36 @@ "updated": 1759386000000, "link": null, "locked": false, - "text": "searches.json recherches programmées\nruns//index.json résumés des passages\nruns//seen.json première apparition\nruns//.json instantané (HISTORY_KEEP)", - "originalText": "searches.json recherches programmées\nruns//index.json résumés des passages\nruns//seen.json première apparition\nruns//.json instantané (HISTORY_KEEP)", + "text": "api.github.com\n/search/repositories\n10 req/min sans jeton, 30 avec", + "originalText": "api.github.com\n/search/repositories\n10 req/min sans jeton, 30 avec", "fontSize": 16, "fontFamily": 1, "textAlign": "left", "verticalAlign": "top", "containerId": null, "lineHeight": 1.25, - "baseline": 74, + "baseline": 54, "autoResize": true }, { - "id": "arrow-37", - "type": "arrow", - "x": 360, - "y": 260, - "width": 100, - "height": 85, + "id": "rectangle-37", + "type": "rectangle", + "x": 1380, + "y": 140, + "width": 320, + "height": 250, "angle": 0, "strokeColor": "#1e1e1e", - "backgroundColor": "transparent", + "backgroundColor": "#fff9db", "fillStyle": "solid", "strokeWidth": 2, - "strokeStyle": "solid", + "strokeStyle": "dashed", "roughness": 1, "opacity": 100, "groupIds": [], "frameId": null, "roundness": { - "type": 2 + "type": 3 }, "seed": 1159380354, "version": 1, @@ -1266,33 +1274,17 @@ "boundElements": null, "updated": 1759386000000, "link": null, - "locked": false, - "points": [ - [ - 0, - 0 - ], - [ - 100, - -85 - ] - ], - "lastCommittedPoint": null, - "startBinding": null, - "endBinding": null, - "startArrowhead": null, - "endArrowhead": "arrow", - "elbowed": false + "locked": false }, { "id": "text-38", "type": "text", - "x": 370, - "y": 180, - "width": 123.75000000000001, - "height": 37.5, + "x": 1394, + "y": 150, + "width": 209.00000000000003, + "height": 25.0, "angle": 0, - "strokeColor": "#495057", + "strokeColor": "#1e1e1e", "backgroundColor": "transparent", "fillStyle": "solid", "strokeWidth": 2, @@ -1310,24 +1302,24 @@ "updated": 1759386000000, "link": null, "locked": false, - "text": "HTTP :8080\nJSON + fichiers", - "originalText": "HTTP :8080\nJSON + fichiers", - "fontSize": 15, + "text": "Configuration (env)", + "originalText": "Configuration (env)", + "fontSize": 20, "fontFamily": 1, "textAlign": "left", "verticalAlign": "top", "containerId": null, "lineHeight": 1.25, - "baseline": 31, + "baseline": 18, "autoResize": true }, { - "id": "arrow-39", - "type": "arrow", - "x": 660, - "y": 210, - "width": 0, - "height": 30, + "id": "text-39", + "type": "text", + "x": 1394, + "y": 180.0, + "width": 202.4, + "height": 140.0, "angle": 0, "strokeColor": "#1e1e1e", "backgroundColor": "transparent", @@ -1338,9 +1330,7 @@ "opacity": 100, "groupIds": [], "frameId": null, - "roundness": { - "type": 2 - }, + "roundness": null, "seed": 1329753548, "version": 1, "versionNonce": 1914012529, @@ -1349,33 +1339,27 @@ "updated": 1759386000000, "link": null, "locked": false, - "points": [ - [ - 0, - 0 - ], - [ - 0, - 30 - ] - ], - "lastCommittedPoint": null, - "startBinding": null, - "endBinding": null, - "startArrowhead": null, - "endArrowhead": "arrow", - "elbowed": false + "text": "GITHUB_TOKEN\nCACHE_TTL = 5m\nAUTH_USER / AUTH_PASS\nTZ = Europe/Paris\nHISTORY_KEEP = 100\nDATA_DIR = /data\nHTTP_PORT = 8686 → 8080", + "originalText": "GITHUB_TOKEN\nCACHE_TTL = 5m\nAUTH_USER / AUTH_PASS\nTZ = Europe/Paris\nHISTORY_KEEP = 100\nDATA_DIR = /data\nHTTP_PORT = 8686 → 8080", + "fontSize": 16, + "fontFamily": 1, + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "lineHeight": 1.25, + "baseline": 134, + "autoResize": true }, { - "id": "arrow-40", - "type": "arrow", - "x": 660, - "y": 500, - "width": 0, - "height": 30, + "id": "rectangle-40", + "type": "rectangle", + "x": 520, + "y": 960, + "width": 640, + "height": 140, "angle": 0, "strokeColor": "#1e1e1e", - "backgroundColor": "transparent", + "backgroundColor": "#ffd8a8", "fillStyle": "solid", "strokeWidth": 2, "strokeStyle": "solid", @@ -1384,7 +1368,7 @@ "groupIds": [], "frameId": null, "roundness": { - "type": 2 + "type": 3 }, "seed": 1222328496, "version": 1, @@ -1393,33 +1377,17 @@ "boundElements": null, "updated": 1759386000000, "link": null, - "locked": false, - "points": [ - [ - 0, - 0 - ], - [ - 0, - 30 - ] - ], - "lastCommittedPoint": null, - "startBinding": null, - "endBinding": null, - "startArrowhead": null, - "endArrowhead": "arrow", - "elbowed": false + "locked": false }, { "id": "text-41", "type": "text", - "x": 670, - "y": 505, - "width": 90.75000000000001, - "height": 18.75, + "x": 534, + "y": 970, + "width": 528.0, + "height": 25.0, "angle": 0, - "strokeColor": "#495057", + "strokeColor": "#1e1e1e", "backgroundColor": "transparent", "fillStyle": "solid", "strokeWidth": 2, @@ -1437,24 +1405,24 @@ "updated": 1759386000000, "link": null, "locked": false, - "text": "/api/search", - "originalText": "/api/search", - "fontSize": 15, + "text": "Volume Docker « searchgit-data » monté sur /data", + "originalText": "Volume Docker « searchgit-data » monté sur /data", + "fontSize": 20, "fontFamily": 1, "textAlign": "left", "verticalAlign": "top", "containerId": null, "lineHeight": 1.25, - "baseline": 13, + "baseline": 18, "autoResize": true }, { - "id": "arrow-42", - "type": "arrow", - "x": 860, - "y": 580, - "width": 60, - "height": 10, + "id": "text-42", + "type": "text", + "x": 534, + "y": 1000.0, + "width": 492.80000000000007, + "height": 80.0, "angle": 0, "strokeColor": "#1e1e1e", "backgroundColor": "transparent", @@ -1465,9 +1433,7 @@ "opacity": 100, "groupIds": [], "frameId": null, - "roundness": { - "type": 2 - }, + "roundness": null, "seed": 1982966163, "version": 1, "versionNonce": 1526706730, @@ -1476,30 +1442,24 @@ "updated": 1759386000000, "link": null, "locked": false, - "points": [ - [ - 0, - 0 - ], - [ - 60, - 10 - ] - ], - "lastCommittedPoint": null, - "startBinding": null, - "endBinding": null, - "startArrowhead": null, - "endArrowhead": "arrow", - "elbowed": false + "text": "searches.json recherches programmées\nruns//index.json résumés des passages\nruns//seen.json première apparition\nruns//.json instantané (HISTORY_KEEP)", + "originalText": "searches.json recherches programmées\nruns//index.json résumés des passages\nruns//seen.json première apparition\nruns//.json instantané (HISTORY_KEEP)", + "fontSize": 16, + "fontFamily": 1, + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "lineHeight": 1.25, + "baseline": 74, + "autoResize": true }, { "id": "arrow-43", "type": "arrow", - "x": 860, - "y": 390, - "width": 60, - "height": 10, + "x": 360, + "y": 260, + "width": 100, + "height": 80, "angle": 0, "strokeColor": "#1e1e1e", "backgroundColor": "transparent", @@ -1527,8 +1487,8 @@ 0 ], [ - 60, - -10 + 100, + -80 ] ], "lastCommittedPoint": null, @@ -1541,10 +1501,10 @@ { "id": "text-44", "type": "text", - "x": 866, - "y": 352, - "width": 41.25, - "height": 18.75, + "x": 368, + "y": 205, + "width": 82.5, + "height": 56.25, "angle": 0, "strokeColor": "#495057", "backgroundColor": "transparent", @@ -1564,24 +1524,24 @@ "updated": 1759386000000, "link": null, "locked": false, - "text": "Run()", - "originalText": "Run()", + "text": "HTTP :8686\nJSON\nfichiers", + "originalText": "HTTP :8686\nJSON\nfichiers", "fontSize": 15, "fontFamily": 1, "textAlign": "left", "verticalAlign": "top", "containerId": null, "lineHeight": 1.25, - "baseline": 13, + "baseline": 49, "autoResize": true }, { "id": "arrow-45", "type": "arrow", - "x": 460, - "y": 460, - "width": 25, - "height": 255, + "x": 660, + "y": 210, + "width": 0, + "height": 30, "angle": 0, "strokeColor": "#1e1e1e", "backgroundColor": "transparent", @@ -1603,6 +1563,260 @@ "updated": 1759386000000, "link": null, "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + 30 + ] + ], + "lastCommittedPoint": null, + "startBinding": null, + "endBinding": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "elbowed": false + }, + { + "id": "arrow-46", + "type": "arrow", + "x": 660, + "y": 500, + "width": 0, + "height": 30, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "seed": 555512016, + "version": 1, + "versionNonce": 1063497604, + "isDeleted": false, + "boundElements": null, + "updated": 1759386000000, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + 30 + ] + ], + "lastCommittedPoint": null, + "startBinding": null, + "endBinding": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "elbowed": false + }, + { + "id": "text-47", + "type": "text", + "x": 670, + "y": 505, + "width": 90.75000000000001, + "height": 18.75, + "angle": 0, + "strokeColor": "#495057", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1708957521, + "version": 1, + "versionNonce": 1679116189, + "isDeleted": false, + "boundElements": null, + "updated": 1759386000000, + "link": null, + "locked": false, + "text": "/api/search", + "originalText": "/api/search", + "fontSize": 15, + "fontFamily": 1, + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "lineHeight": 1.25, + "baseline": 13, + "autoResize": true + }, + { + "id": "arrow-48", + "type": "arrow", + "x": 860, + "y": 580, + "width": 60, + "height": 10, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "seed": 2132480061, + "version": 1, + "versionNonce": 346094056, + "isDeleted": false, + "boundElements": null, + "updated": 1759386000000, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 60, + 10 + ] + ], + "lastCommittedPoint": null, + "startBinding": null, + "endBinding": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "elbowed": false + }, + { + "id": "arrow-49", + "type": "arrow", + "x": 860, + "y": 390, + "width": 60, + "height": 10, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "seed": 714537755, + "version": 1, + "versionNonce": 1929245187, + "isDeleted": false, + "boundElements": null, + "updated": 1759386000000, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 60, + -10 + ] + ], + "lastCommittedPoint": null, + "startBinding": null, + "endBinding": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "elbowed": false + }, + { + "id": "text-50", + "type": "text", + "x": 866, + "y": 352, + "width": 41.25, + "height": 18.75, + "angle": 0, + "strokeColor": "#495057", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": null, + "seed": 1725048951, + "version": 1, + "versionNonce": 1193309984, + "isDeleted": false, + "boundElements": null, + "updated": 1759386000000, + "link": null, + "locked": false, + "text": "Run()", + "originalText": "Run()", + "fontSize": 15, + "fontFamily": 1, + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "lineHeight": 1.25, + "baseline": 13, + "autoResize": true + }, + { + "id": "arrow-51", + "type": "arrow", + "x": 460, + "y": 460, + "width": 25, + "height": 255, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "seed": 588093311, + "version": 1, + "versionNonce": 1849076401, + "isDeleted": false, + "boundElements": null, + "updated": 1759386000000, + "link": null, + "locked": false, "points": [ [ 0, @@ -1629,7 +1843,7 @@ "elbowed": false }, { - "id": "text-46", + "id": "text-52", "type": "text", "x": 330, "y": 600, @@ -1646,9 +1860,9 @@ "groupIds": [], "frameId": null, "roundness": null, - "seed": 555512016, + "seed": 1195809358, "version": 1, - "versionNonce": 1063497604, + "versionNonce": 1783684942, "isDeleted": false, "boundElements": null, "updated": 1759386000000, @@ -1666,7 +1880,7 @@ "autoResize": true }, { - "id": "arrow-47", + "id": "arrow-53", "type": "arrow", "x": 1095, "y": 450, @@ -1685,9 +1899,9 @@ "roundness": { "type": 2 }, - "seed": 1708957521, + "seed": 1540910401, "version": 1, - "versionNonce": 1679116189, + "versionNonce": 1633982922, "isDeleted": false, "boundElements": null, "updated": 1759386000000, @@ -1711,7 +1925,7 @@ "elbowed": false }, { - "id": "text-48", + "id": "text-54", "type": "text", "x": 1105, "y": 475, @@ -1728,9 +1942,9 @@ "groupIds": [], "frameId": null, "roundness": null, - "seed": 2132480061, + "seed": 991070208, "version": 1, - "versionNonce": 346094056, + "versionNonce": 648200382, "isDeleted": false, "boundElements": null, "updated": 1759386000000, @@ -1748,7 +1962,7 @@ "autoResize": true }, { - "id": "arrow-49", + "id": "arrow-55", "type": "arrow", "x": 920, "y": 430, @@ -1767,9 +1981,9 @@ "roundness": { "type": 2 }, - "seed": 714537755, + "seed": 356416555, "version": 1, - "versionNonce": 1929245187, + "versionNonce": 756849393, "isDeleted": false, "boundElements": null, "updated": 1759386000000, @@ -1801,7 +2015,7 @@ "elbowed": false }, { - "id": "text-50", + "id": "text-56", "type": "text", "x": 898, "y": 680, @@ -1818,9 +2032,9 @@ "groupIds": [], "frameId": null, "roundness": null, - "seed": 1725048951, + "seed": 649821630, "version": 1, - "versionNonce": 1193309984, + "versionNonce": 996247159, "isDeleted": false, "boundElements": null, "updated": 1759386000000, @@ -1838,7 +2052,7 @@ "autoResize": true }, { - "id": "arrow-51", + "id": "arrow-57", "type": "arrow", "x": 1270, "y": 595, @@ -1857,9 +2071,9 @@ "roundness": { "type": 2 }, - "seed": 588093311, + "seed": 1002170859, "version": 1, - "versionNonce": 1849076401, + "versionNonce": 51810463, "isDeleted": false, "boundElements": null, "updated": 1759386000000, @@ -1883,7 +2097,7 @@ "elbowed": false }, { - "id": "text-52", + "id": "text-58", "type": "text", "x": 1280, "y": 565, @@ -1900,9 +2114,9 @@ "groupIds": [], "frameId": null, "roundness": null, - "seed": 1195809358, + "seed": 2082899072, "version": 1, - "versionNonce": 1783684942, + "versionNonce": 783156688, "isDeleted": false, "boundElements": null, "updated": 1759386000000, @@ -1920,7 +2134,7 @@ "autoResize": true }, { - "id": "arrow-53", + "id": "arrow-59", "type": "arrow", "x": 660, "y": 770, @@ -1939,9 +2153,9 @@ "roundness": { "type": 2 }, - "seed": 1540910401, + "seed": 1128488134, "version": 1, - "versionNonce": 1633982922, + "versionNonce": 1210883261, "isDeleted": false, "boundElements": null, "updated": 1759386000000, @@ -1965,7 +2179,7 @@ "elbowed": false }, { - "id": "text-54", + "id": "text-60", "type": "text", "x": 672, "y": 850, @@ -1982,9 +2196,9 @@ "groupIds": [], "frameId": null, "roundness": null, - "seed": 991070208, + "seed": 17581914, "version": 1, - "versionNonce": 648200382, + "versionNonce": 625675343, "isDeleted": false, "boundElements": null, "updated": 1759386000000, @@ -2002,7 +2216,7 @@ "autoResize": true }, { - "id": "arrow-55", + "id": "arrow-61", "type": "arrow", "x": 1380, "y": 265, @@ -2021,9 +2235,9 @@ "roundness": { "type": 2 }, - "seed": 356416555, + "seed": 1799361520, "version": 1, - "versionNonce": 756849393, + "versionNonce": 1585932014, "isDeleted": false, "boundElements": null, "updated": 1759386000000, @@ -2047,7 +2261,7 @@ "elbowed": false }, { - "id": "text-56", + "id": "text-62", "type": "text", "x": 1290, "y": 240, @@ -2064,9 +2278,9 @@ "groupIds": [], "frameId": null, "roundness": null, - "seed": 649821630, + "seed": 1368426742, "version": 1, - "versionNonce": 996247159, + "versionNonce": 538981927, "isDeleted": false, "boundElements": null, "updated": 1759386000000,