Files
searchgit/docs/architecture.excalidraw
T
2026-10-02 08:28:38 +02:00

2307 lines
55 KiB
Plaintext

{
"type": "excalidraw",
"version": 2,
"source": "https://excalidraw.com",
"elements": [
{
"id": "text-1",
"type": "text",
"x": 596.0,
"y": -50,
"width": 528.0,
"height": 37.5,
"angle": 0,
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"fillStyle": "solid",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"groupIds": [],
"frameId": null,
"roundness": null,
"seed": 1390851129,
"version": 1,
"versionNonce": 647892280,
"isDeleted": false,
"boundElements": null,
"updated": 1759386000000,
"link": null,
"locked": false,
"text": "Searchgit : architecture logique",
"originalText": "Searchgit : architecture logique",
"fontSize": 30,
"fontFamily": 1,
"textAlign": "center",
"verticalAlign": "top",
"containerId": null,
"lineHeight": 1.25,
"baseline": 27,
"autoResize": true
},
{
"id": "rectangle-2",
"type": "rectangle",
"x": 400,
"y": 30,
"width": 940,
"height": 1110,
"angle": 0,
"strokeColor": "#2f9e44",
"backgroundColor": "#f8f9fa",
"fillStyle": "solid",
"strokeWidth": 3,
"strokeStyle": "dashed",
"roughness": 1,
"opacity": 100,
"groupIds": [],
"frameId": null,
"roundness": {
"type": 3
},
"seed": 1695753999,
"version": 1,
"versionNonce": 207388625,
"isDeleted": false,
"boundElements": null,
"updated": 1759386000000,
"link": null,
"locked": false
},
{
"id": "text-3",
"type": "text",
"x": 416,
"y": 38,
"width": 627.0,
"height": 25.0,
"angle": 0,
"strokeColor": "#2f9e44",
"backgroundColor": "transparent",
"fillStyle": "solid",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"groupIds": [],
"frameId": null,
"roundness": null,
"seed": 311111476,
"version": 1,
"versionNonce": 404285458,
"isDeleted": false,
"boundElements": null,
"updated": 1759386000000,
"link": null,
"locked": false,
"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",
"verticalAlign": "top",
"containerId": null,
"lineHeight": 1.25,
"baseline": 18,
"autoResize": true
},
{
"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": 30,
"width": 237.60000000000002,
"height": 22.5,
"angle": 0,
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"fillStyle": "solid",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"groupIds": [],
"frameId": null,
"roundness": null,
"seed": 922121677,
"version": 1,
"versionNonce": 161042649,
"isDeleted": false,
"boundElements": null,
"updated": 1759386000000,
"link": null,
"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": 54,
"y": 57.400000000000006,
"width": 246.40000000000003,
"height": 40.0,
"angle": 0,
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"fillStyle": "solid",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"groupIds": [],
"frameId": null,
"roundness": null,
"seed": 369140571,
"version": 1,
"versionNonce": 1862494043,
"isDeleted": false,
"boundElements": null,
"updated": 1759386000000,
"link": null,
"locked": false,
"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": 34,
"autoResize": true
},
{
"id": "arrow-7",
"type": "arrow",
"x": 360,
"y": 75,
"width": 40,
"height": 0,
"angle": 0,
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"fillStyle": "solid",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"groupIds": [],
"frameId": 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,
"isDeleted": false,
"boundElements": null,
"updated": 1759386000000,
"link": null,
"locked": false
},
{
"id": "text-9",
"type": "text",
"x": 54,
"y": 170,
"width": 110.00000000000001,
"height": 25.0,
"angle": 0,
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"fillStyle": "solid",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"groupIds": [],
"frameId": null,
"roundness": null,
"seed": 1823296039,
"version": 1,
"versionNonce": 253877687,
"isDeleted": false,
"boundElements": null,
"updated": 1759386000000,
"link": null,
"locked": false,
"text": "Navigateur",
"originalText": "Navigateur",
"fontSize": 20,
"fontFamily": 1,
"textAlign": "left",
"verticalAlign": "top",
"containerId": null,
"lineHeight": 1.25,
"baseline": 18,
"autoResize": true
},
{
"id": "text-10",
"type": "text",
"x": 54,
"y": 200.0,
"width": 299.20000000000005,
"height": 220.0,
"angle": 0,
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"fillStyle": "solid",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"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,
"isDeleted": false,
"boundElements": null,
"updated": 1759386000000,
"link": null,
"locked": false
},
{
"id": "text-12",
"type": "text",
"x": 436,
"y": 90,
"width": 770.0000000000001,
"height": 25.0,
"angle": 0,
"strokeColor": "#1971c2",
"backgroundColor": "transparent",
"fillStyle": "solid",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"groupIds": [],
"frameId": null,
"roundness": null,
"seed": 212984477,
"version": 1,
"versionNonce": 949539217,
"isDeleted": false,
"boundElements": null,
"updated": 1759386000000,
"link": null,
"locked": false,
"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": 18,
"autoResize": true
},
{
"id": "rectangle-13",
"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": 200071089,
"version": 1,
"versionNonce": 571981486,
"isDeleted": false,
"boundElements": null,
"updated": 1759386000000,
"link": null,
"locked": false
},
{
"id": "text-14",
"type": "text",
"x": 474,
"y": 150,
"width": 198.00000000000003,
"height": 22.5,
"angle": 0,
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"fillStyle": "solid",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"groupIds": [],
"frameId": null,
"roundness": null,
"seed": 1243862423,
"version": 1,
"versionNonce": 1800188483,
"isDeleted": false,
"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
},
{
"id": "text-15",
"type": "text",
"x": 474,
"y": 177.4,
"width": 325.6,
"height": 20.0,
"angle": 0,
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"fillStyle": "solid",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"groupIds": [],
"frameId": null,
"roundness": null,
"seed": 619570853,
"version": 1,
"versionNonce": 505913793,
"isDeleted": false,
"boundElements": null,
"updated": 1759386000000,
"link": null,
"locked": false,
"text": "AUTH_USER / AUTH_PASS (sauf /healthz)",
"originalText": "AUTH_USER / AUTH_PASS (sauf /healthz)",
"fontSize": 16,
"fontFamily": 1,
"textAlign": "left",
"verticalAlign": "top",
"containerId": null,
"lineHeight": 1.25,
"baseline": 14,
"autoResize": true
},
{
"id": "rectangle-16",
"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": 1324919353,
"version": 1,
"versionNonce": 776213900,
"isDeleted": false,
"boundElements": null,
"updated": 1759386000000,
"link": null,
"locked": false
},
{
"id": "text-17",
"type": "text",
"x": 474,
"y": 250,
"width": 465.3,
"height": 22.5,
"angle": 0,
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"fillStyle": "solid",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"groupIds": [],
"frameId": null,
"roundness": null,
"seed": 442620899,
"version": 1,
"versionNonce": 806899910,
"isDeleted": false,
"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
},
{
"id": "text-18",
"type": "text",
"x": 474,
"y": 277.4,
"width": 343.20000000000005,
"height": 160.0,
"angle": 0,
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"fillStyle": "solid",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"groupIds": [],
"frameId": null,
"roundness": null,
"seed": 1599435268,
"version": 1,
"versionNonce": 418461139,
"isDeleted": false,
"boundElements": null,
"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,
"fontFamily": 1,
"textAlign": "left",
"verticalAlign": "top",
"containerId": null,
"lineHeight": 1.25,
"baseline": 154,
"autoResize": true
},
{
"id": "rectangle-19",
"type": "rectangle",
"x": 460,
"y": 530,
"width": 400,
"height": 80,
"angle": 0,
"strokeColor": "#1e1e1e",
"backgroundColor": "#b2f2bb",
"fillStyle": "solid",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"groupIds": [],
"frameId": null,
"roundness": {
"type": 3
},
"seed": 269676600,
"version": 1,
"versionNonce": 255985077,
"isDeleted": false,
"boundElements": null,
"updated": 1759386000000,
"link": null,
"locked": false
},
{
"id": "text-20",
"type": "text",
"x": 474,
"y": 540,
"width": 188.10000000000002,
"height": 22.5,
"angle": 0,
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"fillStyle": "solid",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"groupIds": [],
"frameId": null,
"roundness": null,
"seed": 884585952,
"version": 1,
"versionNonce": 2132084005,
"isDeleted": false,
"boundElements": null,
"updated": 1759386000000,
"link": null,
"locked": false,
"text": "Critères (query.go)",
"originalText": "Critères (query.go)",
"fontSize": 18,
"fontFamily": 1,
"textAlign": "left",
"verticalAlign": "top",
"containerId": null,
"lineHeight": 1.25,
"baseline": 16,
"autoResize": true
},
{
"id": "text-21",
"type": "text",
"x": 474,
"y": 567.4,
"width": 325.6,
"height": 20.0,
"angle": 0,
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"fillStyle": "solid",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"groupIds": [],
"frameId": null,
"roundness": null,
"seed": 1836494975,
"version": 1,
"versionNonce": 1349251824,
"isDeleted": false,
"boundElements": null,
"updated": 1759386000000,
"link": null,
"locked": false,
"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": 14,
"autoResize": true
},
{
"id": "rectangle-22",
"type": "rectangle",
"x": 460,
"y": 660,
"width": 400,
"height": 110,
"angle": 0,
"strokeColor": "#1e1e1e",
"backgroundColor": "#b2f2bb",
"fillStyle": "solid",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"groupIds": [],
"frameId": null,
"roundness": {
"type": 3
},
"seed": 1999744785,
"version": 1,
"versionNonce": 1946412081,
"isDeleted": false,
"boundElements": null,
"updated": 1759386000000,
"link": null,
"locked": false
},
{
"id": "text-23",
"type": "text",
"x": 474,
"y": 670,
"width": 188.10000000000002,
"height": 22.5,
"angle": 0,
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"fillStyle": "solid",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"groupIds": [],
"frameId": null,
"roundness": null,
"seed": 1552984409,
"version": 1,
"versionNonce": 1287489454,
"isDeleted": false,
"boundElements": null,
"updated": 1759386000000,
"link": null,
"locked": false,
"text": "Stockage (store.go)",
"originalText": "Stockage (store.go)",
"fontSize": 18,
"fontFamily": 1,
"textAlign": "left",
"verticalAlign": "top",
"containerId": null,
"lineHeight": 1.25,
"baseline": 16,
"autoResize": true
},
{
"id": "text-24",
"type": "text",
"x": 474,
"y": 697.4,
"width": 281.6,
"height": 60.0,
"angle": 0,
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"fillStyle": "solid",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"groupIds": [],
"frameId": null,
"roundness": null,
"seed": 1066984056,
"version": 1,
"versionNonce": 772092315,
"isDeleted": false,
"boundElements": null,
"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",
"fontSize": 16,
"fontFamily": 1,
"textAlign": "left",
"verticalAlign": "top",
"containerId": null,
"lineHeight": 1.25,
"baseline": 54,
"autoResize": true
},
{
"id": "rectangle-25",
"type": "rectangle",
"x": 920,
"y": 140,
"width": 350,
"height": 130,
"angle": 0,
"strokeColor": "#1e1e1e",
"backgroundColor": "#e9ecef",
"fillStyle": "solid",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"groupIds": [],
"frameId": null,
"roundness": {
"type": 3
},
"seed": 1048386556,
"version": 1,
"versionNonce": 351564608,
"isDeleted": false,
"boundElements": null,
"updated": 1759386000000,
"link": null,
"locked": false
},
{
"id": "text-26",
"type": "text",
"x": 934,
"y": 150,
"width": 217.8,
"height": 22.5,
"angle": 0,
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"fillStyle": "solid",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"groupIds": [],
"frameId": null,
"roundness": null,
"seed": 1289560150,
"version": 1,
"versionNonce": 2126508551,
"isDeleted": false,
"boundElements": null,
"updated": 1759386000000,
"link": null,
"locked": false,
"text": "Isolation du conteneur",
"originalText": "Isolation du conteneur",
"fontSize": 18,
"fontFamily": 1,
"textAlign": "left",
"verticalAlign": "top",
"containerId": null,
"lineHeight": 1.25,
"baseline": 16,
"autoResize": true
},
{
"id": "text-27",
"type": "text",
"x": 934,
"y": 177.4,
"width": 237.60000000000002,
"height": 80.0,
"angle": 0,
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"fillStyle": "solid",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"groupIds": [],
"frameId": null,
"roundness": null,
"seed": 1475216846,
"version": 1,
"versionNonce": 1927728187,
"isDeleted": false,
"boundElements": null,
"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",
"fontSize": 16,
"fontFamily": 1,
"textAlign": "left",
"verticalAlign": "top",
"containerId": null,
"lineHeight": 1.25,
"baseline": 74,
"autoResize": true
},
{
"id": "rectangle-28",
"type": "rectangle",
"x": 920,
"y": 300,
"width": 350,
"height": 150,
"angle": 0,
"strokeColor": "#1e1e1e",
"backgroundColor": "#d0bfff",
"fillStyle": "solid",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"groupIds": [],
"frameId": null,
"roundness": {
"type": 3
},
"seed": 1236683273,
"version": 1,
"versionNonce": 314395343,
"isDeleted": false,
"boundElements": null,
"updated": 1759386000000,
"link": null,
"locked": false
},
{
"id": "text-29",
"type": "text",
"x": 934,
"y": 310,
"width": 277.20000000000005,
"height": 22.5,
"angle": 0,
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"fillStyle": "solid",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"groupIds": [],
"frameId": null,
"roundness": null,
"seed": 507088657,
"version": 1,
"versionNonce": 1795823849,
"isDeleted": false,
"boundElements": null,
"updated": 1759386000000,
"link": null,
"locked": false,
"text": "Planificateur (scheduler.go)",
"originalText": "Planificateur (scheduler.go)",
"fontSize": 18,
"fontFamily": 1,
"textAlign": "left",
"verticalAlign": "top",
"containerId": null,
"lineHeight": 1.25,
"baseline": 16,
"autoResize": true
},
{
"id": "text-30",
"type": "text",
"x": 934,
"y": 337.4,
"width": 290.40000000000003,
"height": 80.0,
"angle": 0,
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"fillStyle": "solid",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"groupIds": [],
"frameId": null,
"roundness": null,
"seed": 708506837,
"version": 1,
"versionNonce": 1469118511,
"isDeleted": false,
"boundElements": null,
"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",
"fontSize": 16,
"fontFamily": 1,
"textAlign": "left",
"verticalAlign": "top",
"containerId": null,
"lineHeight": 1.25,
"baseline": 74,
"autoResize": true
},
{
"id": "rectangle-31",
"type": "rectangle",
"x": 920,
"y": 530,
"width": 350,
"height": 130,
"angle": 0,
"strokeColor": "#1e1e1e",
"backgroundColor": "#d0bfff",
"fillStyle": "solid",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"groupIds": [],
"frameId": null,
"roundness": {
"type": 3
},
"seed": 652768598,
"version": 1,
"versionNonce": 2100080515,
"isDeleted": false,
"boundElements": null,
"updated": 1759386000000,
"link": null,
"locked": false
},
{
"id": "text-32",
"type": "text",
"x": 934,
"y": 540,
"width": 247.50000000000003,
"height": 22.5,
"angle": 0,
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"fillStyle": "solid",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"groupIds": [],
"frameId": null,
"roundness": null,
"seed": 1811180650,
"version": 1,
"versionNonce": 168393880,
"isDeleted": false,
"boundElements": null,
"updated": 1759386000000,
"link": null,
"locked": false,
"text": "Client GitHub (github.go)",
"originalText": "Client GitHub (github.go)",
"fontSize": 18,
"fontFamily": 1,
"textAlign": "left",
"verticalAlign": "top",
"containerId": null,
"lineHeight": 1.25,
"baseline": 16,
"autoResize": true
},
{
"id": "text-33",
"type": "text",
"x": 934,
"y": 567.4,
"width": 299.20000000000005,
"height": 60.0,
"angle": 0,
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"fillStyle": "solid",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"groupIds": [],
"frameId": null,
"roundness": null,
"seed": 333377415,
"version": 1,
"versionNonce": 1347535309,
"isDeleted": false,
"boundElements": null,
"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",
"fontSize": 16,
"fontFamily": 1,
"textAlign": "left",
"verticalAlign": "top",
"containerId": null,
"lineHeight": 1.25,
"baseline": 54,
"autoResize": true
},
{
"id": "rectangle-34",
"type": "rectangle",
"x": 1380,
"y": 530,
"width": 320,
"height": 130,
"angle": 0,
"strokeColor": "#1e1e1e",
"backgroundColor": "#ffc9c9",
"fillStyle": "solid",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"groupIds": [],
"frameId": null,
"roundness": {
"type": 3
},
"seed": 1460814403,
"version": 1,
"versionNonce": 1504004732,
"isDeleted": false,
"boundElements": null,
"updated": 1759386000000,
"link": null,
"locked": false
},
{
"id": "text-35",
"type": "text",
"x": 1394,
"y": 540,
"width": 187.00000000000003,
"height": 25.0,
"angle": 0,
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"fillStyle": "solid",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"groupIds": [],
"frameId": null,
"roundness": null,
"seed": 2133201996,
"version": 1,
"versionNonce": 1959386987,
"isDeleted": false,
"boundElements": null,
"updated": 1759386000000,
"link": null,
"locked": false,
"text": "API GitHub Search",
"originalText": "API GitHub Search",
"fontSize": 20,
"fontFamily": 1,
"textAlign": "left",
"verticalAlign": "top",
"containerId": null,
"lineHeight": 1.25,
"baseline": 18,
"autoResize": true
},
{
"id": "text-36",
"type": "text",
"x": 1394,
"y": 570.0,
"width": 264.0,
"height": 60.0,
"angle": 0,
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"fillStyle": "solid",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"groupIds": [],
"frameId": null,
"roundness": null,
"seed": 295334610,
"version": 1,
"versionNonce": 401991736,
"isDeleted": false,
"boundElements": null,
"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",
"fontSize": 16,
"fontFamily": 1,
"textAlign": "left",
"verticalAlign": "top",
"containerId": null,
"lineHeight": 1.25,
"baseline": 54,
"autoResize": true
},
{
"id": "rectangle-37",
"type": "rectangle",
"x": 1380,
"y": 140,
"width": 320,
"height": 250,
"angle": 0,
"strokeColor": "#1e1e1e",
"backgroundColor": "#fff9db",
"fillStyle": "solid",
"strokeWidth": 2,
"strokeStyle": "dashed",
"roughness": 1,
"opacity": 100,
"groupIds": [],
"frameId": null,
"roundness": {
"type": 3
},
"seed": 1159380354,
"version": 1,
"versionNonce": 2036236842,
"isDeleted": false,
"boundElements": null,
"updated": 1759386000000,
"link": null,
"locked": false
},
{
"id": "text-38",
"type": "text",
"x": 1394,
"y": 150,
"width": 209.00000000000003,
"height": 25.0,
"angle": 0,
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"fillStyle": "solid",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"groupIds": [],
"frameId": null,
"roundness": null,
"seed": 279172787,
"version": 1,
"versionNonce": 260573196,
"isDeleted": false,
"boundElements": null,
"updated": 1759386000000,
"link": null,
"locked": false,
"text": "Configuration (env)",
"originalText": "Configuration (env)",
"fontSize": 20,
"fontFamily": 1,
"textAlign": "left",
"verticalAlign": "top",
"containerId": null,
"lineHeight": 1.25,
"baseline": 18,
"autoResize": true
},
{
"id": "text-39",
"type": "text",
"x": 1394,
"y": 180.0,
"width": 202.4,
"height": 140.0,
"angle": 0,
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"fillStyle": "solid",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"groupIds": [],
"frameId": null,
"roundness": null,
"seed": 1329753548,
"version": 1,
"versionNonce": 1914012529,
"isDeleted": false,
"boundElements": null,
"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 = 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": "rectangle-40",
"type": "rectangle",
"x": 520,
"y": 960,
"width": 640,
"height": 140,
"angle": 0,
"strokeColor": "#1e1e1e",
"backgroundColor": "#ffd8a8",
"fillStyle": "solid",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"groupIds": [],
"frameId": null,
"roundness": {
"type": 3
},
"seed": 1222328496,
"version": 1,
"versionNonce": 1656961616,
"isDeleted": false,
"boundElements": null,
"updated": 1759386000000,
"link": null,
"locked": false
},
{
"id": "text-41",
"type": "text",
"x": 534,
"y": 970,
"width": 528.0,
"height": 25.0,
"angle": 0,
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"fillStyle": "solid",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"groupIds": [],
"frameId": null,
"roundness": null,
"seed": 1490376254,
"version": 1,
"versionNonce": 96907016,
"isDeleted": false,
"boundElements": null,
"updated": 1759386000000,
"link": null,
"locked": false,
"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": 18,
"autoResize": true
},
{
"id": "text-42",
"type": "text",
"x": 534,
"y": 1000.0,
"width": 492.80000000000007,
"height": 80.0,
"angle": 0,
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"fillStyle": "solid",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"groupIds": [],
"frameId": null,
"roundness": null,
"seed": 1982966163,
"version": 1,
"versionNonce": 1526706730,
"isDeleted": false,
"boundElements": null,
"updated": 1759386000000,
"link": null,
"locked": false,
"text": "searches.json recherches programmées\nruns/<id>/index.json résumés des passages\nruns/<id>/seen.json première apparition\nruns/<id>/<run>.json instantané (HISTORY_KEEP)",
"originalText": "searches.json recherches programmées\nruns/<id>/index.json résumés des passages\nruns/<id>/seen.json première apparition\nruns/<id>/<run>.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": 360,
"y": 260,
"width": 100,
"height": 80,
"angle": 0,
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"fillStyle": "solid",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"groupIds": [],
"frameId": null,
"roundness": {
"type": 2
},
"seed": 721762279,
"version": 1,
"versionNonce": 502922617,
"isDeleted": false,
"boundElements": null,
"updated": 1759386000000,
"link": null,
"locked": false,
"points": [
[
0,
0
],
[
100,
-80
]
],
"lastCommittedPoint": null,
"startBinding": null,
"endBinding": null,
"startArrowhead": null,
"endArrowhead": "arrow",
"elbowed": false
},
{
"id": "text-44",
"type": "text",
"x": 368,
"y": 205,
"width": 82.5,
"height": 56.25,
"angle": 0,
"strokeColor": "#495057",
"backgroundColor": "transparent",
"fillStyle": "solid",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"groupIds": [],
"frameId": null,
"roundness": null,
"seed": 2120395275,
"version": 1,
"versionNonce": 253207297,
"isDeleted": false,
"boundElements": null,
"updated": 1759386000000,
"link": null,
"locked": false,
"text": "HTTP :8686\nJSON\nfichiers",
"originalText": "HTTP :8686\nJSON\nfichiers",
"fontSize": 15,
"fontFamily": 1,
"textAlign": "left",
"verticalAlign": "top",
"containerId": null,
"lineHeight": 1.25,
"baseline": 49,
"autoResize": true
},
{
"id": "arrow-45",
"type": "arrow",
"x": 660,
"y": 210,
"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": 937195260,
"version": 1,
"versionNonce": 1234510746,
"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": "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,
0
],
[
-25,
0
],
[
-25,
255
],
[
0,
255
]
],
"lastCommittedPoint": null,
"startBinding": null,
"endBinding": null,
"startArrowhead": null,
"endArrowhead": "arrow",
"elbowed": false
},
{
"id": "text-52",
"type": "text",
"x": 330,
"y": 600,
"width": 82.5,
"height": 37.5,
"angle": 0,
"strokeColor": "#495057",
"backgroundColor": "transparent",
"fillStyle": "solid",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"groupIds": [],
"frameId": null,
"roundness": null,
"seed": 1195809358,
"version": 1,
"versionNonce": 1783684942,
"isDeleted": false,
"boundElements": null,
"updated": 1759386000000,
"link": null,
"locked": false,
"text": "CRUD\nhistorique",
"originalText": "CRUD\nhistorique",
"fontSize": 15,
"fontFamily": 1,
"textAlign": "left",
"verticalAlign": "top",
"containerId": null,
"lineHeight": 1.25,
"baseline": 31,
"autoResize": true
},
{
"id": "arrow-53",
"type": "arrow",
"x": 1095,
"y": 450,
"width": 0,
"height": 80,
"angle": 0,
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"fillStyle": "solid",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"groupIds": [],
"frameId": null,
"roundness": {
"type": 2
},
"seed": 1540910401,
"version": 1,
"versionNonce": 1633982922,
"isDeleted": false,
"boundElements": null,
"updated": 1759386000000,
"link": null,
"locked": false,
"points": [
[
0,
0
],
[
0,
80
]
],
"lastCommittedPoint": null,
"startBinding": null,
"endBinding": null,
"startArrowhead": null,
"endArrowhead": "arrow",
"elbowed": false
},
{
"id": "text-54",
"type": "text",
"x": 1105,
"y": 475,
"width": 66.0,
"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": 991070208,
"version": 1,
"versionNonce": 648200382,
"isDeleted": false,
"boundElements": null,
"updated": 1759386000000,
"link": null,
"locked": false,
"text": "Search()",
"originalText": "Search()",
"fontSize": 15,
"fontFamily": 1,
"textAlign": "left",
"verticalAlign": "top",
"containerId": null,
"lineHeight": 1.25,
"baseline": 13,
"autoResize": true
},
{
"id": "arrow-55",
"type": "arrow",
"x": 920,
"y": 430,
"width": 60,
"height": 300,
"angle": 0,
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"fillStyle": "solid",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"groupIds": [],
"frameId": null,
"roundness": {
"type": 2
},
"seed": 356416555,
"version": 1,
"versionNonce": 756849393,
"isDeleted": false,
"boundElements": null,
"updated": 1759386000000,
"link": null,
"locked": false,
"points": [
[
0,
0
],
[
-30,
0
],
[
-30,
300
],
[
-60,
300
]
],
"lastCommittedPoint": null,
"startBinding": null,
"endBinding": null,
"startArrowhead": null,
"endArrowhead": "arrow",
"elbowed": false
},
{
"id": "text-56",
"type": "text",
"x": 898,
"y": 680,
"width": 49.50000000000001,
"height": 37.5,
"angle": 0,
"strokeColor": "#495057",
"backgroundColor": "transparent",
"fillStyle": "solid",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"groupIds": [],
"frameId": null,
"roundness": null,
"seed": 649821630,
"version": 1,
"versionNonce": 996247159,
"isDeleted": false,
"boundElements": null,
"updated": 1759386000000,
"link": null,
"locked": false,
"text": "AddRun\nUpdate",
"originalText": "AddRun\nUpdate",
"fontSize": 15,
"fontFamily": 1,
"textAlign": "left",
"verticalAlign": "top",
"containerId": null,
"lineHeight": 1.25,
"baseline": 31,
"autoResize": true
},
{
"id": "arrow-57",
"type": "arrow",
"x": 1270,
"y": 595,
"width": 110,
"height": 0,
"angle": 0,
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"fillStyle": "solid",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"groupIds": [],
"frameId": null,
"roundness": {
"type": 2
},
"seed": 1002170859,
"version": 1,
"versionNonce": 51810463,
"isDeleted": false,
"boundElements": null,
"updated": 1759386000000,
"link": null,
"locked": false,
"points": [
[
0,
0
],
[
110,
0
]
],
"lastCommittedPoint": null,
"startBinding": null,
"endBinding": null,
"startArrowhead": null,
"endArrowhead": "arrow",
"elbowed": false
},
{
"id": "text-58",
"type": "text",
"x": 1280,
"y": 565,
"width": 82.5,
"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": 2082899072,
"version": 1,
"versionNonce": 783156688,
"isDeleted": false,
"boundElements": null,
"updated": 1759386000000,
"link": null,
"locked": false,
"text": "REST HTTPS",
"originalText": "REST HTTPS",
"fontSize": 15,
"fontFamily": 1,
"textAlign": "left",
"verticalAlign": "top",
"containerId": null,
"lineHeight": 1.25,
"baseline": 13,
"autoResize": true
},
{
"id": "arrow-59",
"type": "arrow",
"x": 660,
"y": 770,
"width": 0,
"height": 190,
"angle": 0,
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"fillStyle": "solid",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"groupIds": [],
"frameId": null,
"roundness": {
"type": 2
},
"seed": 1128488134,
"version": 1,
"versionNonce": 1210883261,
"isDeleted": false,
"boundElements": null,
"updated": 1759386000000,
"link": null,
"locked": false,
"points": [
[
0,
0
],
[
0,
190
]
],
"lastCommittedPoint": null,
"startBinding": null,
"endBinding": null,
"startArrowhead": null,
"endArrowhead": "arrow",
"elbowed": false
},
{
"id": "text-60",
"type": "text",
"x": 672,
"y": 850,
"width": 189.75000000000003,
"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": 17581914,
"version": 1,
"versionNonce": 625675343,
"isDeleted": false,
"boundElements": null,
"updated": 1759386000000,
"link": null,
"locked": false,
"text": "lecture / écriture JSON",
"originalText": "lecture / écriture JSON",
"fontSize": 15,
"fontFamily": 1,
"textAlign": "left",
"verticalAlign": "top",
"containerId": null,
"lineHeight": 1.25,
"baseline": 13,
"autoResize": true
},
{
"id": "arrow-61",
"type": "arrow",
"x": 1380,
"y": 265,
"width": 110,
"height": 55,
"angle": 0,
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"fillStyle": "solid",
"strokeWidth": 2,
"strokeStyle": "dashed",
"roughness": 1,
"opacity": 100,
"groupIds": [],
"frameId": null,
"roundness": {
"type": 2
},
"seed": 1799361520,
"version": 1,
"versionNonce": 1585932014,
"isDeleted": false,
"boundElements": null,
"updated": 1759386000000,
"link": null,
"locked": false,
"points": [
[
0,
0
],
[
-110,
-55
]
],
"lastCommittedPoint": null,
"startBinding": null,
"endBinding": null,
"startArrowhead": null,
"endArrowhead": "arrow",
"elbowed": false
},
{
"id": "text-62",
"type": "text",
"x": 1290,
"y": 240,
"width": 74.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": 1368426742,
"version": 1,
"versionNonce": 538981927,
"isDeleted": false,
"boundElements": null,
"updated": 1759386000000,
"link": null,
"locked": false,
"text": "variables",
"originalText": "variables",
"fontSize": 15,
"fontFamily": 1,
"textAlign": "left",
"verticalAlign": "top",
"containerId": null,
"lineHeight": 1.25,
"baseline": 13,
"autoResize": true
}
],
"appState": {
"gridSize": 20,
"viewBackgroundColor": "#ffffff",
"currentItemFontFamily": 1
},
"files": {}
}