Développé par |
Mike Welsh kmeisthax Nathan Adams Callum Thomson relrelb |
---|---|
Dépôt | https://github.com/ruffle-rs/ruffle |
Écrit en | Rust |
Système d'exploitation | Linux, macOS et Microsoft Windows |
Formats lus | Small Web Format |
Type | Multimedia |
Licence | Licence MIT, Apache License 2.0 |
Site web | https://ruffle.rs/ |
Ruffle est un émulateur developpé pour assurer sur les sites web y ayant eu recours, le fonctionnement des fichiers SWF caracterisés par leurs contenus animés et/ou interactifs, après la désactivation de Flash Player par Adobe inc, ayant renoncé à résoudre les problèmes de sécurité posés par le player[1],[2].
Ruffle est développé et distribué sous licence libre. A ce titre, ce logiciel est déposé sur la plateforme GitHub d'où il est librement améliorable et telechargeable.
Ruffle est écrit en langage Rust, avec un module client pour pc et un module serveur web qui fonctionne sur n'importe quel site web[3]. Les auteurs de site web peuvent intégrer Ruffle dans un site en utilisant JavaScript. Alternativement, les utilisateurs peuvent installer une extension dans leur navigateur web.
Le client web repose sur la compilation de Rust vers WebAssembly, qui permet de l'exécuter dans un sandbox, ce qui représente une amélioration significative comparé à Flash Player, qui avait une quantité importante de problèmes de sécurité[1],[2]. Le langage Rust lui-même prévient des problèmes mémoires de sécurité communs que Flash Player avaient, tels que les dangling pointers ou les dépassements de tampon (en anglais, buffer overflow ou BOF)[4].
Le client bureau utilise une interface en ligne de commande pour ouvrir les fichiers SWF, avec une interface graphique complète planifiée pour le futur[5]. Les téléchargements sont disponibles sur Windows, macOS et Linux.
En date d'octobre 2022, Ruffle supporte principalement le contenu Flash plus vieux, tout en supportant également des contenus AS3, qui utilisent ActionScript 1.0 et 2.0 avec 90% du langage et 60% de l'API implémenté[6]. Le support d'ActionScript 3.0 est à 60% du langage et 25% de l'API. Bleeping Computer reporta que tous les jeux SWF qu'ils avaient testé en février 2021 « fonctionnaient sans problème »[4].
Adobe annonça en 2017 qu'ils cesseraient de supporter Flash Player le 1er janvier 2021, encourageant à la place l'utilisation de HTML5[7]. La même année, The New York Times commença à travailler sur l'archivage de vieux contenu web pour que ses lecteurs puissent regarder les pages web telles qu'elles avaient été publiées[8], et utilise maintenant Ruffle pour l'ancien contenu Flash[9].
Adobe commença à bloquer l'utilisation de Flash Player le 12 janvier 2021 avec un arrêt d'urgence[10]. Plusieurs sites web, y compris ceux gouvernementaux et éducatifs, n'étaient pas préparés pour l'arrêt et cessèrent de fonctionner[11],[3].
Mike Welsh, qui travailla chez Newgrounds jusqu'en 2012, avait déjà travaillé sur un projet open source nommé Swivel pour archiver le contenu Flash en vidéos[12].
En 2016, Welsh débuta un projet intitulé Fluster. Renommé plus tard sous le nom de Ruffle, ce projet se métamorphoserait en un émulateur Flash écrit en Rust, avec un client bureau et web[2],[13],[14].
Entre 2019 et 2020, quelques sites web annoncèrent qu'à l'avenir, ils utiliseraient Ruffle:
Le fondateur de Newgrounds, Tom Fulp, affirma avoir réalisé dès 2010 que « la fin de Flash approchait », mais sans savoir quand[15]. En 2019, Newgrounds annonça qu'il sponsorisait le développement de Ruffle[1] et l'utiliserait pour tout contenu Flash, débutant avec des animations puis des applications interactives[16]. Ce changement permit à Newgrounds d'offrir quelques jeux tactiles sur mobile pour la première fois. Tom Fulp dit au Washington Post: « Nous venons d'intégrer Ruffle au site et jusqu'ici, la majorité du contenu [sur Newgrounds] d'avant 2007 est exécuté avec Ruffle »[12].
En juin 2020, Coolmath Games annonça que tous ses jeux Flash utiliseraient désormais Ruffle[17].
En novembre 2020, Internet Archive annonça recourir à Ruffle pour préserver le fonctionnement des jeux et des animations Flash[18]. Jason Scott, un archiviste pour Internet Archive, déclara: « J'ai décidé de l'integrer dans le système d'Internet Archive, et [l'émulateur] était si bien conçu que cela m'a pris moins d'une demi-journée »[19].
En décembre 2020, Armor Games annonça lui aussi recourir à Ruffle pour assurer le fonctionnement de leurs contenus Flash[20].
Homestar Runner a aussi annoncé l'implémentation de Ruffle pour ses dessins animés et ses jeux[21]. Bien que certains éléments du site en lui-même ne soient pas supportés présentement par l'émulateur, la plupart du contenu du site est visible grâce à une fenêtre Ruffle. À part leur site officiel, ce changement fut également annoncé sur le compte Twitter de Strong Bad[22].