Éco-conception
Optimisation

Le coût du JS

Le JavaScript est la ressource la plus coûteuse pour le navigateur. Contrairement à une image qui doit juste être décodée, le JS doit être téléchargé, parsé, compilé et exécuté.

Le coût des dépendances

Avant d'installer une librairie via npm, vérifier son coût réel.

  • Outil : Bundlephobia
  • Exemple : Avez-vous besoin de tout lodash (70kB) ou juste d'une petite fonction utilitaire ?

Réduire la taille du bundle

Tree shaking

C'est la capacité du bundler (Webpack, Vite, Rollup) à éliminer le code mort (les exports non utilisés).

  • Condition : Utiliser les modules ES6 (import / export) et non CommonJS (require).

Code splitting

Au lieu d'envoyer un énorme fichier bundle.js contenant tout le site, on découpe le code en petits morceaux (chunks).

  • Par page : L'utilisateur ne télécharge que le JS nécessaire à la page qu'il visite.
  • Lazy Loading : On ne charge le code d'un composant lourd (ex: un graphique interactif) que s'il devient visible ou si l'utilisateur clique dessus.
// Exemple de Dynamic Import (Lazy Loading)
const HeavyChart = React.lazy(() => import('./HeavyChart'));

Limiter la taille du bundle

Définissez des limites strictes pour éviter la régression au fil du temps.

  • Exemple : "Le bundle initial ne doit jamais dépasser 150kB gzippé".
  • Configurez ces budgets dans votre configuration Webpack/Vite ou via Lighthouse CI.