Intermédiaire·2 min·4 mai 2026

Oublie le JavaScript : navigue entre petites pages HTML

Et si ton site fonctionnait mieux en abandonnant JavaScript pour revenir aux liens simples ?
Oublie le JavaScript : navigue entre petites pages HTML

Pourquoi ça compte pour toi

La plupart des sites web modernes surchargent JavaScript pour faire des interactions tape-à-l'œil. Mais Jim Nielsen montre une approche inverse : construire des sites en « petites pages HTML liées » (L.L.M.), où chaque interaction reste un lien standard, amélioré discrètement par du CSS. Résultat ? Plus rapide, plus accessible, fonctionnel même sur vieux navigateurs ou appareils lents.

Ce qu'il faut retenir

  • 1.Chaque interaction = navigation vers une vraie page, pas une modification JavaScript de la page actuelle
  • 2.CSS view transitions enrichissent le lien sans le casser (dégradation gracieuse)
  • 3.Exemple concret : un menu qui 's'ouvre' en naviguant vers /menu/, 'se ferme' par history.back()
  • 4.Approche radicale : penser le site comme un ensemble de documents à parcourir, pas comme une application qui s'exécute

Le piège du JavaScript moderne

Tu crois vraiment que chaque interaction doit requérir du JS ? Nielsen démontre le contraire.

La plupart des développeurs modernes construisent des sites comme des applications : une seule page qui se met à jour via JS, qui récupère des données, qui compile du contenu. C'est puissant pour certains cas. Mais c'est aussi lourd, fragile, et contre-nature au web.

L'approche « Lots of Little HTML »

L'idée : chaque interaction (ouvrir un menu, filtrer une liste, afficher des détails) = naviguer vers une nouvelle page HTML.

Exemple : le menu

Sur la page d'accueil :

<nav>
  <a href="/menu/">
    <svg>...</svg>
  </a>
</nav>

Sur la page /menu/ :

<nav>
  <a href="/" onclick="document.referrer ? history.back() : window.location.href = '/'; return false;">
    <svg>...</svg>
  </a>
</nav>

C'est juste un lien. Zéro effet, zéro complication. Mais Nielsen ajoute une couche : CSS view transitions. Cela crée une animation fluide entre les deux pages — mais seulement sur les navigateurs modernes. Les vieux ? Le lien fonctionne quand même, sans animation.

Pourquoi c'est malin

  1. Accessibilité garantie : un utilisateur avec JS désactivé navigue normalement
  2. Performance : pas de paquet JavaScript énorme, pas de requête asynchrone, juste du HTML
  3. Robustesse : chaque page est une vraie page, indépendante
  4. Dégradation gracieuse : vieux navigateurs ? Ça marche. Navigateur récent ? Tu as l'animation en plus
  5. Historique naturel : un lien reste un lien. Le history.back() discret garde l'historique du navigateur cohérent

Le vrai piège de cette approche

C'est pas simple d'y penser. Nielsen le dit clairement : « Il a fallu que je réfléchisse à ce qui était essentiel à la navigation. » Nos outils et cadres modernes nous poussent à faire des SPAs (Single Page Apps). Y renoncer demande de la discipline et une vraie compréhension du web fondamental.

Mais une fois que tu as cet état d'esprit — « le navigateur c'est fait pour naviguer entre documents, pas pour exécuter du code arbitraire » — tout devient plus simple.

À tester

Si ton site a un menu, un filtre, ou un formulaire modal : teste cette approche. Commence petit. Une interaction. Vois si tu peux la convertir en lien vers une vraie page, plutôt qu'une modification JavaScript de la page actuelle.

Tu vas découvrir que c'est souvent possible. Et quand ça l'est, c'est presque toujours mieux.

Newsletters Noésis

3 minutes d'IA dans ta boîte mail, chaque matin.

Rejoins les francophones qui comprennent, essaient et progressent avec l'IA. Choisis ce que tu veux recevoir. Désabonnement en 1 clic.

Explorer les thèmes de cet article :