SPB Git forge

spb/ka-guardian

Public
26commits 1branches 0releases
4.5 MBsize
maindefault branch
19 days agolast push
Python 57.1% Shell 13.8% CSS 12% JavaScript 10% HTML 7.2%

favicons ka2/ka4/ka6 : fallback ICO+PNG+apple-touch (Safari n'affiche pas les favicons SVG → onglet « ? ») — routes /favicon.ico /favicon.png /apple-touch-icon.png par agent + balises HTML

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Simon-Pierre Boucher committed 27 days ago (Aug 29, 2026) parent 6929949

15 changed files +22 −1

modified orchestrator/main.py +17 −0
@@ -1073,6 +1073,23 @@ def favicon() -> FileResponse:
1073 1073 return FileResponse(BASE / "web" / f"favicon-{AGENT}.svg", media_type="image/svg+xml")
1074 1074
1075 1075
1076 +# Safari (macOS/iOS) ne charge pas les favicons SVG → fallback PNG/ICO obligatoire,
1077 +# sinon l'onglet affiche un « ? ». ICO multi-tailles + PNG 32 + apple-touch 180.
1078 +@app.get("/favicon.ico")
1079 +def favicon_ico() -> FileResponse:
1080 + return FileResponse(BASE / "web" / f"favicon-{AGENT}.ico", media_type="image/x-icon")
1081 +
1082 +
1083 +@app.get("/favicon.png")
1084 +def favicon_png() -> FileResponse:
1085 + return FileResponse(BASE / "web" / f"favicon-{AGENT}-32.png", media_type="image/png")
1086 +
1087 +
1088 +@app.get("/apple-touch-icon.png")
1089 +def apple_touch() -> FileResponse:
1090 + return FileResponse(BASE / "web" / f"apple-touch-{AGENT}.png", media_type="image/png")
1091 +
1092 +
1076 1093 @app.get("/og.png")
1077 1094 def og_image() -> FileResponse:
1078 1095 """Bannière de partage (Open Graph) propre à l'agent."""
added orchestrator/web/apple-touch-ka2.png +0 −0

Binary file not shown.

added orchestrator/web/apple-touch-ka4.png +0 −0

Binary file not shown.

added orchestrator/web/apple-touch-ka6.png +0 −0

Binary file not shown.

modified orchestrator/web/commander.html +2 −0
@@ -19,7 +19,9 @@
19 19 <meta name="twitter:title" content="Commander — ka·__NUM__ guardian">
20 20 <meta name="twitter:description" content="Donner du travail à l'agent gardien — plafonds de durée et de coût.">
21 21 <meta name="twitter:image" content="https://__DOMAIN__/og.png">
22 +<link rel="icon" href="/favicon.ico" sizes="48x48">
22 23 <link rel="icon" type="image/svg+xml" href="/favicon.svg">
24 +<link rel="icon" type="image/png" sizes="32x32" href="/favicon.png">
23 25 <link rel="preconnect" href="https://fonts.googleapis.com">
24 26 <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
25 27 <link href="https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@500;700&family=Inter:wght@400;500;600&family=JetBrains+Mono:wght@400;600;700&display=swap" rel="stylesheet">
added orchestrator/web/favicon-ka2-32.png +0 −0

Binary file not shown.

added orchestrator/web/favicon-ka2-64.png +0 −0

Binary file not shown.

added orchestrator/web/favicon-ka2.ico +0 −0

Binary file not shown.

added orchestrator/web/favicon-ka4-32.png +0 −0

Binary file not shown.

added orchestrator/web/favicon-ka4-64.png +0 −0

Binary file not shown.

added orchestrator/web/favicon-ka4.ico +0 −0

Binary file not shown.

added orchestrator/web/favicon-ka6-32.png +0 −0

Binary file not shown.

added orchestrator/web/favicon-ka6-64.png +0 −0

Binary file not shown.

added orchestrator/web/favicon-ka6.ico +0 −0

Binary file not shown.

modified orchestrator/web/index.html +3 −1
@@ -19,8 +19,10 @@
19 19 <meta name="twitter:title" content="ka·__NUM__ guardian — __TAGLINE__">
20 20 <meta name="twitter:description" content="Agent gardien autonome des connecteurs du Groupe KA — public, en direct.">
21 21 <meta name="twitter:image" content="https://__DOMAIN__/og.png">
22 +<link rel="icon" href="/favicon.ico" sizes="48x48">
22 23 <link rel="icon" type="image/svg+xml" href="/favicon.svg">
23 −<link rel="apple-touch-icon" href="/favicon.svg">
24 +<link rel="icon" type="image/png" sizes="32x32" href="/favicon.png">
25 +<link rel="apple-touch-icon" href="/apple-touch-icon.png">
24 26 <link rel="preconnect" href="https://fonts.googleapis.com">
25 27 <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
26 28 <link href="https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@500;700&family=Inter:wght@400;500;600&family=JetBrains+Mono:wght@400;600;700&display=swap" rel="stylesheet">
27 29