Преглед на файлове

feat(landing): add favicon set — SVG primary + PNG/ICO fallback

Brand pulse-dot translated to favicon: dark rounded square (#0d1b12) +
inner green dot (#6ab98a) + faint outer ring (#2d7a4f @60%). Identical
visual language to .brand::before in the nav.

Assets:
- favicon.svg          — vector primary (modern browsers, scales)
- favicon-32.png       — PNG hint
- favicon.ico          — legacy multi-size (16/24/32/48)
- apple-touch-icon.png — iOS home-screen 180x180

PIL-generated PNG/ICO at 8x supersample + Lanczos downscale for clean
antialiasing. No external dependency added (PIL already on system).

index.html: 4 <link> tags wired in <head> (SVG, PNG 32, ICO alternate,
apple-touch). CV HTML left untouched; browser auto-fetches /favicon.ico
from root as fallback — TODO logged to mirror the link block when the
user finalizes CV edits.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Bastien Chanot преди 1 час
родител
ревизия
ef31fb3059
променени са 6 файла, в които са добавени 11 реда и са изтрити 1 реда
  1. 2 1
      .claude/tasks/TODO.md
  2. BIN
      apple-touch-icon.png
  3. BIN
      favicon-32.png
  4. BIN
      favicon.ico
  5. 5 0
      favicon.svg
  6. 4 0
      index.html

+ 2 - 1
.claude/tasks/TODO.md

@@ -34,7 +34,8 @@ Align landing with CV + add depth (Projets, Méthode, bullet-format Parcours).
 - Verify WCAG AA contrast on all green-on-parchment text.
 - Hosting decision: GitHub Pages vs Netlify vs Vercel vs nginx VPS — pending.
 - DNS / domain config for `bchanot.fr` — pending.
-- Consider OG image + favicon — not yet present.
+- Consider OG image — not yet present.
+- Mirror favicon link block into `CV_Bastien_Chanot.html` when user finalizes CV edits (currently /favicon.ico auto-served as legacy fallback).
 
 ## Open ideas (not committed)
 

BIN
apple-touch-icon.png


BIN
favicon-32.png


BIN
favicon.ico


+ 5 - 0
favicon.svg

@@ -0,0 +1,5 @@
+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64" role="img" aria-label="bchanot.fr">
+  <rect width="64" height="64" rx="14" fill="#0d1b12"/>
+  <circle cx="32" cy="32" r="20" fill="none" stroke="#2d7a4f" stroke-width="2" stroke-opacity="0.6"/>
+  <circle cx="32" cy="32" r="12" fill="#6ab98a"/>
+</svg>

+ 4 - 0
index.html

@@ -7,6 +7,10 @@
 <meta name="author" content="Bastien Chanot">
 <meta name="theme-color" content="#0d1b12">
 <title>Bastien Chanot — Développeur Systèmes · Embarqué · Backend</title>
+<link rel="icon" type="image/svg+xml" href="/favicon.svg">
+<link rel="icon" type="image/png" sizes="32x32" href="/favicon-32.png">
+<link rel="alternate icon" href="/favicon.ico">
+<link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png">
 <link rel="preconnect" href="https://fonts.googleapis.com">
 <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
 <link href="https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500;600;700&family=Fraunces:ital,wght@0,300;0,500;0,600;0,700;1,400&family=DM+Sans:wght@300;400;500;600&display=swap" rel="stylesheet">