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>
This commit is contained in:
Bastien Chanot
2026-05-17 03:51:14 +02:00
co-authored by Claude Opus 4.7
parent 1369d27b5b
commit ef31fb3059
6 changed files with 11 additions and 1 deletions
+2 -1
View File
@@ -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)