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.