Aller au contenu

Le glossaire · Une idée plus claire

Polyfill

Un polyfill (ou shim) est un code qui ajoute une fonctionnalité récente à un environnement qui ne la prend pas en charge, assurant la rétrocompatibilité.

Mis à jour le

Un polyfill aussi nommé shim, ou encore prothèse d'émulation désigne un palliatif logiciel implémentant une rétrocompatibilité d’une fonctionnalité ajoutée à une interface de programmation dans des versions antérieures de cette interface.

Exemple de polyfill

Un polyfill reproduit en JavaScript une fonctionnalité récente pour qu'elle fonctionne aussi dans les environnements qui ne la proposent pas, comme d'anciens navigateurs. Il ne s'exécute que si la fonction est absente. Exemple : ajouter Array.prototype.includes ou Promise sur un navigateur ancien.

Dans un projet moderne, les polyfills sont souvent ajoutés au moment du build par un module bundler et des outils de transpilation. Ils concernent surtout le frontend, qui s'exécute dans des navigateurs variés, mais aussi parfois Node.js ou React Native.

Un polyfill se distingue de la transpilation : la transpilation réécrit la syntaxe récente (comme les fonctions fléchées) en syntaxe ancienne, tandis que le polyfill ajoute des fonctions ou objets manquants (comme Promise ou fetch). Les deux se combinent généralement pour supporter de vieux navigateurs.

La prochaine étape

Et si on donnait forme
à votre idée ?

30 minutes pour parler de votre projet, de vos enjeux et de la suite.

Parlons de votre projet