Faire revivre vos vieux flashs avec Ruffle

Ruffle est un émulateur de lecteur flash compatible avec les navigateurs modernes

Il permet de replacer vos vieux flashs en ligne aisément avec un polyfill

Le site officiel du projet open source ruffle : https://ruffle.rs/

Exemple

Voici un exemple de vieux site internet flash crée en 2000.
Le site est mort avec l’abandon du player flash en 2020.
Le voilà de nouveau resuscité en 2023 avec l’émulateur Ruffle (bon, il faut quand même attendre 5s de chargement ...)
https://www.malevitch.com/

Installation

Lire la documentation complète :
https://github.com/ruffle-rs/ruffle/wiki/Using-Ruffle

L’appel se fait très simplement via un javascript en local (ou en CDN)

<script src="chemin/ruffle.js"></script>

Ensuite on appelle le lecteur sur un nœud du DOM (dans l’exemple suivant #container) :

<script>
    window.RufflePlayer = window.RufflePlayer || {};
    window.addEventListener("load", (event) => {
        const ruffle = window.RufflePlayer.newest();
        const player = ruffle.createPlayer();
        const container = document.getElementById("container");
        container.appendChild(player);
        player.load("movie.swf");
    });
</script>
<script src="path/to/ruffle/ruffle.js"></script>

Généralement, il faut régler quelques options (notamment l’autoplay, la gestion du son, ...)
Consulter la documentation qui détaille bien chaque option

window.RufflePlayer = window.RufflePlayer || {};
window.RufflePlayer.config = {
    // Options affecting the whole page
    "publicPath": undefined,
    "polyfills": true,

    // Options affecting files only
    "autoplay": "auto",
    "unmuteOverlay": "visible",
    "backgroundColor": null,
    "wmode": "window",
    "letterbox": "fullscreen",
    "warnOnUnsupportedContent": true,
    "contextMenu": true,
    "showSwfDownload": false,
    "upgradeToHttps": window.location.protocol === "https:",
    "maxExecutionDuration": {"secs": 15, "nanos": 0},
    "logLevel": "error",
    "base": null,
    "menu": true,
    "salign": "",
    "scale": "showAll",
    "forceScale": false,
    "quality": "high",
    "splashScreen": true,
};

Limites

 L’émulateur appelle un fichier .wasm qui pèse quand même ... 11 Mo
 Parfois, la flash passe mal sur les smartphones ... à affiner donc

Publié : 15 avril 2023