chore: initial commit — landing page + CV + Claude config

Single-page static site at bchanot.fr: landing (index.html) and CV
(HTML + PDF), pure HTML/CSS/JS, no build step. Includes project
conventions (CLAUDE.md), README, and .claude/ memory/tasks/audits
scaffolding.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
bastien
2026-05-15 16:53:06 +02:00
co-authored by Claude Opus 4.7
commit 54e830016c
12 changed files with 2043 additions and 0 deletions
+130
View File
@@ -0,0 +1,130 @@
# bchanot.fr — CLAUDE.md
Single source of truth for Claude in this repo.
Global rules: `~/.claude/CLAUDE.md` — this file extends or overrides them.
---
## Project overview
Personal landing page + CV for Bastien Chanot (developer, systems & backend).
Single-page static site served at https://bchanot.fr. Goal: a recruiter or CTO
landing on the page decides whether to contact within 10 seconds.
Audience: technical recruiters, CTOs, engineering managers. Use case: hub for
contact + CV access. No tracking, no analytics, no cookie banner.
---
## Stack
- Pure static HTML/CSS/JS — no framework, no build step.
- Fonts: Google Fonts (`JetBrains Mono` mono, `Fraunces` display, `DM Sans` sans).
- PDF generation for CV: `weasyprint` (from the matching HTML file).
No package manager. No bundler. No runtime dependencies beyond Google Fonts.
---
## Files
```
index.html — landing page (single file, inline CSS + JS)
CV_Bastien_Chanot.html — CV (web version, linked from landing as "Voir le CV")
CV_Bastien_Chanot.pdf — CV (printable, served via "Télécharger PDF")
README.md — repo readme
CLAUDE.md — this file
.claude/ — Claude memory, tasks, audits
```
---
## Serve locally
```bash
python3 -m http.server 8000 --bind 0.0.0.0
# then visit http://192.168.1.101:8000/ from any device on the LAN
```
UFW may block the port — open it on demand only:
```bash
sudo ufw allow 8000/tcp
```
---
## Regenerate CV PDF (after editing the HTML)
```bash
weasyprint CV_Bastien_Chanot.html CV_Bastien_Chanot.pdf
```
The PDF must match the latest HTML before pushing or sending.
---
## Design system (non-negotiable)
Palette — exact hex:
- `#0d1b12` — dark forest (nav, dark sections, footer)
- `#1b5e3b` — green primary (links, section titles on light bg)
- `#2d7a4f` — green accent (borders, dots, separators)
- `#6ab98a` — green light (lisible on dark bg)
- `#dff0e7` — green tint (pill bg)
- `#f5f3ec` — parchment (page bg)
Typography:
- `Fraunces` (serif) — display: hero name, section titles, role headings
- `JetBrains Mono` (mono) — eyebrows, badges, tech pills, nav, contact rows
- `DM Sans` (sans) — body text
Forbidden:
- Pure white background (`#ffffff`)
- `border-radius` > 6px except pills
- Heavy SVG illustrations
- Lorem ipsum or placeholder text
- Mention of salary / TJM / pricing
---
## Project conventions
- All CSS lives inline in `<head>` (`<style>`) — no external stylesheet.
- All JS lives inline before `</body>` (`<script>`) — vanilla only.
- CSS variables in `:root` for palette + typography + spacing scale.
- Section comments in HTML: `<!-- HERO -->`, `<!-- ABOUT -->`, etc.
- Sections semantic: `<header>`, `<main>`, `<section id="…">`, `<footer>`.
- Mobile-first. Breakpoints: 768px (tablet), 1200px (desktop).
- Animations CSS-only or vanilla JS. No GSAP, no Three.js, no Lottie.
- `prefers-reduced-motion: reduce` must disable animation + smooth-scroll.
---
## Content rules
- Only real information — never invent dates, companies, achievements.
- French copy (audience is French market).
- Profile state, including job search context, must stay consistent across
index.html and CV. Currently: looking for **CDI** in embedded / systems
software first; freelance missions (ZenQuality) in parallel.
- Geography: Yerres (91) currently; targeting Pays de la Loire mid-term;
full remote preferred or hybrid 1–2 days/month if Paris.
---
## Exceptions to global rules
None — global rules apply.
---
## Workflow expectations
- Edits to `index.html` or `CV_Bastien_Chanot.html` must preserve the
palette + typography + structure unless explicitly asked to change them.
- After editing `CV_Bastien_Chanot.html`, regenerate the PDF.
- Never add external dependencies beyond Google Fonts.
- Never add tracking, analytics, cookie banners or third-party scripts.
- Always test in mobile width (375px) and desktop (1440px) before claiming done.
- The HTTP server bound to `192.168.1.101:8000` is for local LAN testing only.