Sustainable design
This site presents consulting work on sustainable digital practice. It would be poor form for the site itself to be wasteful. Here is what was done, and what was measured.
Principle
This page follows the format of a sustainable-design declaration, as promoted by the French inter-ministerial mission for responsible digital technology through RGESN — the general reference framework for sustainable digital services.
It describes a self-assessment: the choices made and why, what was actually measured, and what has not been measured yet. This is not a third-party certification — that distinction is kept throughout this page.
Purpose of this service
bernaz.fr presents my professional background: skills, experience, achievements, education. It addresses recruiters, prospective clients and peers looking to assess that background or get in touch.
Nothing here requires an account, payment, or sign-up. The vast majority of visits consist of reading a handful of pages: that is the use case the design optimises for.
Strategy to reduce impact
The guiding principle is restraint by default: load nothing that does not directly serve reading the page. Each choice below aims to reduce what is actually transferred, not merely the appearance of lightness.
- Pages are generated ahead of time and served as static HTML. The browser never talks to the database.
- No JavaScript is required to read the site. Switching language is an ordinary link.
- No fonts are downloaded: typography relies on faces already present on the device.
- No cookies, no trackers, no third-party resources.
- Images are sized and deferred. The stylesheet is a separate, cacheable file: measured, this transfers half as many bytes as inlining it into every page, from the second page onwards.
- The three language versions share the same assets, so they are downloaded only once.
This site was designed and developed with Claude Code (Anthropic), under my direction: data model, migration from Notion, templates, server configuration, publication safeguards. The choices above were decided at each step.
That consumes resources, and it would be inconsistent to leave it out here. The cost does have one useful property: it is one-off, paid once at build time, whereas the cost of reading is recurring — paid by every visitor, on every visit. The diagnostic below measures the latter.
The consumption of those development sessions is not recorded here, for want of an instrument. No figure is therefore offered: the same rule as everywhere else on this page.
- 735 pages generated
- 2.8 kB of stylesheet, shared by every page
- 0 JavaScript file
- 0 third-party resource, cookie or tracker
Diagnostic and compliance
Framework: RGESN. Scope: a sample of 9 of the site’s 10 templates — the pages listed below; individual experience and skill pages are not sampled, as their slugs change with the content.
Tools: scripts/mesurer-poids.mjs, which records the bytes actually transferred (compression active) for each sampled page and its sub-resources; and the lighthouse-ecoindex CLI, which loads each page in a real browser and derives an EcoIndex score, a DOM node count and an emissions estimate. Both readings are dated and reported as they came: never an estimate that has not been measured.
These indicators are not specific to this site: EcoIndex, a per-page weight budget and a request count are the ones I put in place and follow up on client engagements, on projects of an altogether different scale — eco-design assessments run in the public sector, in industry and in investment. The rule there is the same — measure rather than model, and leave a cell empty rather than fill it with an estimate.
Method: internal self-assessment, updated as development proceeds. No independent audit has been carried out to date.
Result: EcoIndex grade A for 9 templates out of 9, from 81 to 93 out of 100. The lowest, Experience, scores that way because of DOM size, not weight: it lists a whole career on a single page, a deliberate navigation choice. The skills catalogue, graded B for the same reason, moved to A by listing only skills tied to at least two assignments; the others remain on their assignment’s page.
Accepted non-conformities: two rules stay red and will stay red. A service worker requires JavaScript, which the site’s security policy forbids by design. A print stylesheet is in place, but the audit expects it to be served as a separate file — one more HTTP request for every visitor, including those who never print; here it lives inside the shared stylesheet, which achieves the same end without that cost.
Lighthouse scores: performance 100 and accessibility 100 across the 9 sampled pages, measured by the same campaign as the figures below. They are published as a single result rather than a table column: repeating the same number 9 times would cost every visitor bytes without telling them anything.
Compliance rate: not applicable in the absence of an independent audit; this self-assessment does not produce an overall score.
| Page | Weight | Requests | CO₂e | EcoIndex |
|---|---|---|---|---|
| / | 5.7 kB | 2 | 1.19 g | 91 / 100 (A) |
| /experiences | 6.5 kB | 2 | 1.38 g | 81 / 100 (A) |
| /competences | 6.8 kB | 2 | 1.33 g | 84 / 100 (A) |
| /formation | 5.1 kB | 2 | 1.17 g | 92 / 100 (A) |
| /eco-conception | 7.2 kB | 2 | 1.2 g | 90 / 100 (A) |
| /contact | 4.4 kB | 2 | 1.14 g | 93 / 100 (A) |
| /plan-du-site | 5.7 kB | 2 | 1.21 g | 89 / 100 (A) |
| /parcours | 5.6 kB | 2 | 1.14 g | 93 / 100 (A) |
| /accessibilite | 6.3 kB | 2 | 1.15 g | 92 / 100 (A) |
Weight and requests measured on October 22, 2026 · scripts/mesurer-poids.mjs
CO₂e and EcoIndex measured on October 12, 2026 · lighthouse-ecoindex, Lighthouse 13.4.1
Limits
The hosting footprint depends on the provider and its data centre’s electricity mix; it is not measured here.
The content is held in a managed database, read when the pages are built and never from the browser: its footprint likewise escapes the measurement made here.
An emissions estimate remains an estimate: it serves to compare versions of this site against each other, not to state an absolute figure.
Declaration last updated on October 22, 2026.