Jean-Pierre Vincent - #webperf & #greenit 🚀♻️🌱's Avatar

Jean-Pierre Vincent - #webperf & #greenit 🚀♻️🌱

@jpvincent

Webperf expert (audit, trainings, code), Green IT specialist (trainer, audit)

534
Followers
165
Following
17
Posts
05.11.2024
Joined
Posts Following

Latest posts by Jean-Pierre Vincent - #webperf & #greenit 🚀♻️🌱 @jpvincent

Journal: A web font strategy


How I’m prioritising performance when it comes to typography on The Session.


🔗https://adactio.com/journal/22450

11.03.2026 14:17 👍 4 🔁 3 💬 0 📌 0
A JSON file representing a source map. The code contains:

{
  "version": 3, // Always the integer 3
  "file": "out.js", // Optional: name of the generated file
  "sourceRoot": "", // Optional: prefix prepended to each entry in "sources"
  "sources": ["foo.js", "bar.js"], // Required: list of original source URLs/paths (or null)
  "sourcesContent": [null, null], // Optional: inlined source text, aligned with "sources"
  "names": ["src", "maps"], // Optional: symbol names referenced by "mappings"
  "mappings": "A,AAAB;;ABCDE", // Required: encoded mapping data (base64-VLQ deltas)
  "ignoreList": [0] // Optional: indexes into "sources" considered "third-party"
}

A JSON file representing a source map. The code contains: { "version": 3, // Always the integer 3 "file": "out.js", // Optional: name of the generated file "sourceRoot": "", // Optional: prefix prepended to each entry in "sources" "sources": ["foo.js", "bar.js"], // Required: list of original source URLs/paths (or null) "sourcesContent": [null, null], // Optional: inlined source text, aligned with "sources" "names": ["src", "maps"], // Optional: symbol names referenced by "mappings" "mappings": "A,AAAB;;ABCDE", // Required: encoded mapping data (base64-VLQ deltas) "ignoreList": [0] // Optional: indexes into "sources" considered "third-party" }

Source maps are a vital part of modern web development, but the lack of a standard made it impossible for us to add new features or improve the debugging experience.

This is the story of how we standardized source maps and how we continue to ship features through standards 📜

🧵

10.03.2026 18:14 👍 77 🔁 16 💬 5 📌 4

Suite des travaux de l'analyse environnementale (Analyse de Cycle de Vie) des #GPU pour l'#IA auxquels #hubblo participe, le rapport complet de l'étude via AltImpact est sorti : librairie.ademe.fr/3426-economi... 1/3

10.03.2026 13:09 👍 1 🔁 1 💬 1 📌 1
Preview
Beyond Static Resources: Delta Compression for Dynamic HTML Compression Dictionary Transport (RFC 9842), authored by Patrick Meenan and Yoav Weiss, lets browsers...

Good blog post from Carlos (a colleague) about a new proposed addition to Compression Dictionaries allowing short-lived HTML pages to continue to be used as compression dictionaries for longer:

dev.to/carlosmateom...

#webperf

07.03.2026 11:51 👍 10 🔁 5 💬 0 📌 1

Pourquoi et comment réduire l'INP ? Use case sur l'équivalent italien de Le Bon Coin :
dev.to/subito/how-w...

* -100ms d'INP = +5% d'engagement
* méthode empirique à base de tests A/B pour trouver les coupables
* GTM bien sûr, mais aussi tiktok et facebook
* React compiler fait ses preuves en prod

25.02.2026 09:45 👍 3 🔁 1 💬 0 📌 0
Preview
Performance-Optimized Video Embeds with Zero JavaScript Putting a YouTube video inside a closed details element means it won't load until that details element is opened. We can use that.

lazyload d'embed, même immédiatement visible : l'astuce sans JS avec <details>
frontendmasters.com/blog/perform...

24.02.2026 15:04 👍 2 🔁 1 💬 0 📌 0

How do you measure when a component is “ready”? ⏱️

LCP is too global; Element Timing is too specific.

🛠️ I’ve been working with Bloomberg on a new #webperf API: Container Timing. Think of it as “LCP for a web component”, providing aggregated paint timing for a subtree.

10.02.2026 16:06 👍 16 🔁 5 💬 1 📌 2
Preview
De SPA à MPA : reprendre en main la performance Depuis 2019, le site de L’Équipe a été construit autour d’une architecture SPA (pour Single Page Application). Dans cette configuration, le…

Sortir de la SPA = meilleurs perfs, par @lequipe-actu.bsky.social : medium.com/lequipe-tech...

16.02.2026 16:46 👍 0 🔁 1 💬 0 📌 0
Preview
Française, gratuite, open source, la nouvelle application qui mesure l'empreinte carbone de l'IA est lancée La Fondation Sahar lance ce lundi TrackCarbon, une nouvelle application grand public qui permet de mesurer l'empreinte carbone de l'intelligence artificielle. Un outil français, gratuit et open source...

Française, gratuite, open source, la nouvelle application qui mesure l'empreinte carbone de l'IA est lancée www.clubic.com/actualite-59... #trackCarbon

11.02.2026 19:51 👍 0 🔁 1 💬 0 📌 0

très juste, mais ce qu'a voulu tester l'auteur, c'est une question qu'on a tous : le PNG est en quelque sorte inerte une fois rendu, mais un SVG, ça reste un truc vivant dans le DOM, qui l'a alourdit, et qui donc peut gêner l'interprétation au moment où JS en a besoin

06.02.2026 11:56 👍 0 🔁 0 💬 0 📌 0

une image, c'est des pixels déjà tout fait, le temps de décodage est minime pour des dimensions d'affichage classiques.
Un SVG, c'est d'abord du code à interpréter, quelques calculs à faire. Ça pourrait, en théorie, prendre plus de temps processeur pendant que tu cliques sur la page

06.02.2026 11:51 👍 0 🔁 0 💬 1 📌 0

Un SVG complexe alourdit il la page ? Comparaison avec le PNG

En résumé :
- jusqu'à 2 Mo de code, le SVG est plus léger que sa conversion en PNG.
- l'INP avec un SVG dans la page est équivalent au PNG, jusqu'à 400 Ko de code SVG.

05.02.2026 09:34 👍 2 🔁 0 💬 1 📌 0
Screenshot of a performance trace in Chrome DevTools with a few additional "Nav*" and "LCP*" markers. Hovering over the "LCP*" shows this is a "Soft LCP" and in the Summary panel when you click on it you see "Soft Largest Contentful Paint" and a "Learn more about Soft Largest Contentful Paint" link.

Screenshot of a performance trace in Chrome DevTools with a few additional "Nav*" and "LCP*" markers. Hovering over the "LCP*" shows this is a "Soft LCP" and in the Summary panel when you click on it you see "Soft Largest Contentful Paint" and a "Learn more about Soft Largest Contentful Paint" link.

From Chrome 145 (on general release next week!), DevTools we will start to show so called "soft" navigations and "Soft LCP" in the Performance Panel traces.

These are for SPAs which don't do a full page load, but instead "fake it" by updating the current page and pushing a new history entry.

1/5 🧵

04.02.2026 09:40 👍 46 🔁 12 💬 2 📌 2
Post image Post image Post image

Un an de recherche

352 datacenters en activité, 65 projets identifiés

des centaines de vues satellite analysées

8,16 TWh de consommation en 2024, hors salles IT dans les batiments tertiaires

09.01.2026 14:34 👍 2 🔁 3 💬 1 📌 0
AI Search crawler test results | LLM rendering capabilities 2026

(also available in english)
Étude sur ce que voient les crawlers des chatbots IA, notamment des infos sur le temps max d'attente et l'interprétation de JS, mais aussi des frames ou du shadow DOM
think.resoneo.com/sentinel/geo...
Morale habituelle : être performant, HTML est la base + des surprises

12.01.2026 15:39 👍 0 🔁 0 💬 0 📌 0
Preview
The Performance Inequality Gap, 2026 - Infrequently Noted Embedded in this year's network and device estimates is hopeful news about the trajectory of devices and networks. It has never been easier to deliver pages quickly, but we are not collectively hitting the mark. Indeed, the latest CrUX data shows not even half of origins have passing Core Web Vitals scores for mobile users. Browsers will need to provide stronger incentives. This will be unpopular, but it is clearly necessary.

The Performance Inequality Gap, 2026 - Infrequently Noted

🔖 https://infrequently.org/2025/11/performance-inequality-gap-2026/
🔗 https://ellyloel.com/the-performance-inequality-gap-2026-infrequently-noted/

#Bookmarks #Performance #Web

30.11.2025 20:22 👍 1 🔁 1 💬 0 📌 0
Preview
Improve TTFB and UX with HTTP streaming If you have a statically generated website hosted on a CDN, it’s probably very fast (unless you add too much client-side JavaScript). However, for dynamically generated pages that load content from a...

Web Performance Calendar'25 day 1 with @mb21.bsky.social on HTTP streaming in the world of HTTP2/3 and Node. Mauro shows us how to start rendering earlier, turning a slow (full) page load into a progressive experience using db.stream() in JavaScript

calendar.perfplanet.com/2025/improve...

01.12.2025 15:16 👍 8 🔁 3 💬 0 📌 1
Preview
Quel avenir pour l’esthétique web éco-conçue ? - 24 jours de web Éco-conception et papier recyclé Mes premières notions d’éco-conception remontent à mon cursus d’étudiante en design, au début des lointaines années 2010. On nous parlait surtout d’impression, de …

Quel avenir pour l’esthétique web éco-conçue ?, par Esther Jacquet via @paris-web.fr
#24JoursDeWeb

www.24joursdeweb.fr/2025/quel-av...

02.12.2025 10:42 👍 1 🔁 1 💬 0 📌 0
Scheduler API: yield | Can I use... Support tables for HTML5, CSS3, etc

#JavaScript: When it comes to breaking up long tasks, the scheduler API seems quite convenient:

await scheduler.yield();

Alas, not supported by Safari yet: caniuse.com/mdn-api_sche...

Thankfully, providing your own fallback implementation is easy: web.dev/articles/opt...

16.10.2025 15:48 👍 11 🔁 6 💬 2 📌 2

I co-wrote a post on the Etsy engineering blog about implementing Speculation Rules API (SRA) to prefetch product listing pages from search results. And many thanks to @tunetheweb.com and @cdaveross.bsky.social for the help and support!
www.etsy.com/codeascraft/...

29.10.2025 17:37 👍 8 🔁 4 💬 1 📌 0
Screenshot of Vercel cancellation screen with feedback mentioning Guillermo's support of a genocidal war criminal

Screenshot of Vercel cancellation screen with feedback mentioning Guillermo's support of a genocidal war criminal

Hits like crack

01.10.2025 01:43 👍 12 🔁 2 💬 1 📌 0
Preview
La 7e limite planétaire est officiellement dépassée : l'acidification des océans C'est officiel, nous avons dépassé la 7e limite planétaire, celle de l'acidification des océans. C'était attendu par le

C’est officiel, nous avons dépassé la 7e limite planétaire, celle de l’acidification des océans.

Vous ne lirez rien de plus important aujourd'hui. A partager massivement !
bonpote.com/la-7e-limite...

24.09.2025 16:00 👍 450 🔁 398 💬 9 📌 21
Preview
Why do browsers throttle JavaScript timers? Even if you’ve been doing JavaScript for a while, you might be surprised to learn that setTimeout(0) is not really setTimeout(0). Instead, it could run 4 milliseconds later: Nearly a decade a…

🤔 Why do browsers throttle JavaScript timers?

01.09.2025 06:47 👍 6 🔁 3 💬 1 📌 0
Preview
Frontend’s Lost Decade and the Performance Inequality Gap by Alex Russell Alex Russell's journey from engineering to product management, the focus on improving web experiences, and optimizing software for end-user success. Considerations include device performance, web dive...

> Peak CPU performance was probably hit in 2017.

With that perspective, you start... (ahem)... "rethinking best practices".

@infrequently.org's @jsnation.gitnation.org talk is pretty worthwhile and digs into the CPU limitations of the main thread.

gitnation.com/contents/pro...

03.07.2025 21:05 👍 40 🔁 10 💬 1 📌 1
Preview
Masonry, Item Flow, and… GULP? Masonry layout is a difficult thing to do with CSS at present. Item Flow could make it easy.

New blog post about #CSS masonry layout, the (fairly) new Item Flow proposal, maybe subsuming multicol, and a light tingling from my Web-Sense. That last part isn’t NSFW, I promise. (Sorry, @brucel.bsky.social.) meyerweb.com/eric/thought...

21.05.2025 20:34 👍 24 🔁 7 💬 2 📌 0
Photo of the VueConf US 2025 stage during Daniel Roe's talk on the State of Nuxt 2025 where he announces fontless - a Vite plugin to apply "Magical plug-and-play font optimization for modern web applications"

Photo of the VueConf US 2025 stage during Daniel Roe's talk on the State of Nuxt 2025 where he announces fontless - a Vite plugin to apply "Magical plug-and-play font optimization for modern web applications"

During the keynote of @vueconf.us, @danielroe.dev releases `fontless` - a @vite.dev plugin to apply "magical plug-and-play font optimization".
Created in collab with the @qwik.dev team

This is basically the @nuxt.com fonts module, but for all Vite-based apps 🤯

21.05.2025 13:36 👍 83 🔁 13 💬 3 📌 2
Preview
SpeedCurve | The Definitive Guide to Long Animation Frames (LoAF) LoAF lets you identify problem scripts, quantify the impact of third-party scripts, and improve the user experience. Here's everything you need to know to get started.

Finally, a LoAF explainer I understand!

The LoAF API is a leap forward for RUM. It lets us find and fix the third parties and other JS that hurts #pagespeed and #UX. The catch? It's tricky to understand. But no longer, thanks to this piece by @andydavies.me!

www.speedcurve.com/blog/guide-l...

21.05.2025 19:08 👍 9 🔁 2 💬 0 📌 0
Encore une étude sur l'email dépasser les sujets d'optimisation technique
Encore une étude sur l'email dépasser les sujets d'optimisation technique Encore une étude sur l'email : dépasser les sujets d'optimisation technique avec une approche attributionnel & conséquentielDavid Ekchajzer, Eric Fourboul, A...

📧 Impact environnemental de l'email : dépasser les sujets d'optimisation technique.

Pour le service mail d'Iroco, David Ekchajzer, Bruno Thomas et Adeline Agut, ont réalisé une analyse des gains environnementaux potentiels de plusieurs leviers d'éco-conception.

www.youtube.com/watch?v=RNxz...

28.03.2025 12:59 👍 2 🔁 1 💬 1 📌 0
CP | Limites numériques

Quelques infos sur le comportement des français vis-à-vis de leur téléphone dont l'obsolescence est visiblement programmée
limitesnumeriques.fr/travaux-prod...

17.03.2025 11:34 👍 3 🔁 1 💬 1 📌 0

Hi
Do you have an idea why a recent chrome on Android refuses to work ?
I was so interested to know what's going on Android (my current conclusion is that Roboto is the only reliably installed font)

06.02.2025 15:30 👍 0 🔁 0 💬 1 📌 0