Développé par | Adobe |
---|---|
Écrit en | C++ |
Système d'exploitation | Microsoft Windows, Linux et macOS |
Formats lus | FLA (d), Small Web Format et FLV (d) |
Formats écrits | FLA (d) |
Type |
Moteur logiciel (en) Éditeur d'image vectorielle Plateforme informatique |
Licence | Licence propriétaire |
Site web | www.adobe.com/products/flash/flashpro |
Chronologie des versions
Adobe Flash, ou Flash, anciennement Macromedia Flash, désigne un ensemble de technologies logicielles permettant la manipulation de graphiques vectoriels, d'images matricielles et de scripts ActionScript en vue de créer ou utiliser des contenus multimédia (animations, vidéos, jeux, applications...). Le logiciel Flash Player est développé et distribué par Macromedia jusqu'en 2005, à la suite de son rachat par Adobe Systems, qui assura le support du logiciel jusqu'à la fin de sa prise en charge le . Flash Player était disponible sous forme de plugin sur la plupart des navigateurs web, qui permettait l'utilisation d'objets interactifs ou le streaming de flux vidéos, ce qui n'était pas permis nativement par les navigateurs à l'époque.
Flash peut désigner, un environnement de développement intégré (IDE), une machine virtuelle utilisée par Flash Player ou serveur Flash pour lire les fichiers Flash (extension SWF).
À la suite de son lancement en 1996, la technologie Flash devient l'une des plus populaires pour ajouter des animations et des objets interactifs à une page web, et permet aussi d'intégrer de la vidéo en streaming dans une page web. La technologie est alors incluse dans de nombreux logiciels et est aussi utilisée pour créer des animations, des publicités ou des jeux vidéo.
Flash a longtemps été la plate-forme dominante pour le contenu multimédia sur le web, mais depuis la décision en 2010 d'Apple de ne plus l'inclure sur les ordinateurs tablettes et téléphones de la marque, ainsi que le développement de nouvelles technologies web HTML5 qui surpassèrent flash en termes de fonctionnalités et de sécurité, l'utilisation de la technologie est passée de près de 50 % des sites web en 2011 à 10 % en , avant de s'effondrer avec la fin du développement de Flash Player en 2020 et l'arrêt de son support par les navigateurs.
En , Charlie Jackson (en), Jonathan Gay (en) et Michelle Welsh créent une petite entreprise de logiciel (startup) appelée FutureWave et un premier logiciel de dessin, SmartSketch, conçu pour rendre la création d’interfaces graphiques aussi simple que le dessin sur papier[1]. Bien qu'innovant, SmartSketch ne connaît pas le succès attendu. Avec la démocratisation d’Internet, FutureWave se rend compte du potentiel des outils d’animation vectorielle pour le Web. En 1995, FutureWave modifie SmartSketch en ajoutant un système d’image par image et réédite le logiciel sous le nom de FutureSplash Animator sur Macintosh et Windows. Avec le temps, l’entreprise ajoute à son effectif un second programmeur, Robert Tatsumi[2], un artiste, Adam Grofcsik, et un spécialiste des relations publiques, Ralph Mittman.
En , Macromedia achète le logiciel d’animation vectorielle et le commercialise sous le nom de Flash 1.0. La deuxième version de Macromedia Flash sort en 1997 avec des nouveautés comme la prise en charge du son stéréo, l'intégration des bitmaps, les boutons et la bibliothèque. Macromedia Flash 3 sort en 1998, améliorant nettement la gestion des animations et la publication. Un langage de script simple apparaît pour contrôler des objets interactifs. En 1999, Macromedia sort sa quatrième version de Flash. Flash 4 voit le début du support du MP3. À l’origine, le lecteur Flash n’est pas inclus avec les navigateurs web et les utilisateurs doivent visiter le site de Macromedia pour le télécharger. À partir de 2000, il est distribué avec les navigateurs AOL, Netscape et Internet Explorer. Deux ans plus tard, il est fourni avec toutes les versions de Windows XP, touchant 92 % des utilisateurs du Web.
La cinquième version de Flash sort en 2000, avec de nouvelles possibilités de script, sous le langage désormais appelé ActionScript. Il innove aussi par la possibilité de modifier l’interface des environnements textuels.
Macromedia Generator est la première initiative de Macromedia pour séparer le design du contenu du fichier Flash. Generator 2.0 sort en et inclut la génération de serveur temps réel dans la version professionnelle de Flash. Generator est arrêté en 2002 au profit de nouvelles technologies qui autorisent la transmission de données entre le client et les serveurs ColdFusion.
En , une étude de Media Metrix pour Macromedia montre que 7 des 10 plus grands sites américains utilisent la technologie Flash[3].
Le , Macromedia annonce la disponibilité de Macromedia Flash MX et Macromedia Flash Player 6, avec de nouvelles applications sur la vidéo, les composants, les bibliothèques téléchargeables. Flash Communication Server MX, également sorti en 2002, autorise les vidéos à être téléchargées par la sixième version de Flash Player (auparavant incluses dans le fichier Flash).
Flash MX 2004 sort en , avec des nouveautés comme un lancement jusqu’à huit fois plus rapide avec le nouveau compilateur et le nouveau Macromedia Flash Player 7, la possibilité de créer des tableaux, graphiques et animations de texte, la prise en charge de nouveaux formats comme le PDF et Adobe Illustrator 10. ActionScript 2.0 apparait également, permettant une orientation objet plus formelle des développements.
Flash MX 2004 est le premier à se voir commercialisé en deux versions, « standard » et « professionnelle ». La version standard est orientée vers l'animation Flash classique, tandis que la version Pro inclut des possibilités avancées pour les développeurs.
En 2004, l'introduction de la « plate-forme Flash » lui fait dépasser le statut de simple outil de création (Flex 1.0/Breeze 1.0). Flash Lite 1.1 autorise la lecture de contenus Flash sur les périphériques embarqués, type téléphones mobiles. Dévoilée début août[4], Macromedia sort la huitième version de Flash en 2005, considérée par Macromedia comme la mise à jour la plus importante depuis la cinquième version de Flash[5] : filtres, bitmap, nouveau Codec vidéo On2 VP6, nouveau moteur de rendu « FlashType », un émulateur pour téléphones portables et plusieurs ajouts à l'ActionScript 2.0 tels que BitmapData, et plusieurs classes géométriques.
Flash Lite 2 est également mis à jour en 2005 (parallèlement au Flash Player 7)[6].
Le , Adobe Systems acquiert Macromedia et tous ses produits[7],[8].
La neuvième version de Flash Player marque la première fois en 2006 qu’un lecteur Flash est mis à jour en même temps que le logiciel de création. Flex 2.0 est mis à jour en même temps que Flash Player 9 ; pour la première fois dans l’histoire de Flash, le lecteur sera mis à jour avant le logiciel flash correspondant[réf. souhaitée].
En 2007, Flash est inclus dans la Creative Suite d'Adobe (CS3). Flash CS3 se décline toujours en deux versions (simple et professionnelle). Les principales nouveautés sont l'intégration totale dans le reste de la suite Adobe entre autres, un accès aux fichiers plus facile grâce à Bridge CS3. Mais le principal changement n'est pas là, c'est le passage à la troisième version d'ActionScript qui l'améliore grandement, il se révèle plus complet, mais plus compliqué pour les débutants.
En , est sortie la 2e Release candidate (version admissible) de Flash Player 10, qui s'appuie pour la première fois également (et en partie) sur les capacités de la carte graphique (GPU) de l'ordinateur. Le , Flash 10 est disponible[9], dans sa version considérée comme stable par Adobe[réf. nécessaire].
Toujours en 2008, après une longue querelle entre Adobe et la communauté open-source, apparaît le projet Alchemy Compiler, basé sur l'infrastructure llvm, qui permet à flash d'émuler les langages natifs C++ / C et Assembleur. Lors des conférences Adobe max, seront projetés sur écran des portages de l’émulateur fceu ou plus tard de l'Unreal Engine.
Le , la onzième version de Flash est disponible en versions 32 bits et 64 bits[10],[11] ; il apporte entre autres la technologie Stage3D. , Adobe annonce l’arrêt des développements sur le plugin Flash pour les mobiles[12]. Le , Flash player 11.2 est disponible en version premium, une version payante (9 % des revenus après les premiers $50K gagnés[13]) de l'exploitation de Flash Player, pour les jeux mêlant 3D et Alchemy 2 (actuellement Flashcc). , Adobe annule son projet de « speedtax », et annule ASNext (l'actionscript 4) de sa roadmap[réf. nécessaire].
Les développeurs supposent qu'à long terme, le plugin Flash devrait être entièrement remplacé par HTML5, lorsque les navigateurs web auront rattrapé leur retard technique sur Flash au niveau de la gestion des buffers audio et vidéo (vitesse de rendu, vsync, audiobytes, fullscreen, etc.), même si cela ne reste qu'une hypothèse, sachant que la finition bas-niveau de la vidéo et l'audio requièrent un accroissement considérable des budgets de développement. Adobe se concentre donc de plus en plus sur l'utilisation de Flash pour les applications multimédia desktop, sans perdre de vue le player web.
Finalement, Adobe encourage les développeurs à abandonner la technologie Flash, du fait de la découverte de nombreuses failles de sécurité et du blocage du plugin rendu effectif par de nombreux navigateurs, à commencer par Mozilla Firefox et Google Chrome.
Flash est renommé Animate CC[14]. Ce nouveau nom annonce de façon explicite le repositionnement du logiciel : l'animation. Dans le jargon du métier, le nom Flash est toujours utilisé.
L'utilisation de Flash est passée de près de 50 % des sites internet en 2011 à 10 % en [15].
Adobe a annoncé sur son blog le la fin du produit Flash, prévue à la fin 2020[16]. Ils cesseront de mettre à jour et de distribuer le lecteur Flash. Ils incitent les créateurs de contenu à migrer vers HTML5 et WebGL[17]. Depuis, Adobe favorise une transition vers le HTML5 et la mort définitive de Flash est annoncée pour 2020[18].
À l’origine concentrées sur l’animation, les premières versions de Flash offraient peu d’interactivité, les possibilités de script étant très limitées. Les scripts sont utilisés pour créer la plupart des interactions (boutons, champs, menus déroulants) présentes dans les animations Flash. Les scripts permettent de diminuer les temps de développement autant que le poids des .swf, par rapport à l'emploi d'images clés, conçues avant tout pour l'animation. De plus, ils sont facilement réutilisables. Le langage de programmation d'un client Flash web se fait en ActionScript ; le client communique avec un serveur par XML socket ou par http (fonction LoadVariables() ou la classe LoadVars[19]) contrairement à AJAX qui utilise XMLHTTPRequest ou ActiveXObject selon les navigateurs. Une implémentation de XMLHTTPRequest a été portée pour flash dont les fonctionnalités dépendent de la version du player[20].
Le Flash Player, depuis l'avènement d'ActionScript 3.0, possède deux machines virtuelles ; AVM1 compatible avec ActionScript 1.0 et 2.0, et AVM2 compatible ActionScript 3.0 plus orienté programmeur vu sa complexité.
Années | ActionScript | Flash IDE | Flash Player | Flash Lite |
---|---|---|---|---|
2000-2003 | 1.0 | Flash 5, Flash MX | 6 | |
2003-2006 | 2.0 | Flash MX 2004, Flash 8 | version 7 et 8 | version 2.0, 2.1 et 3 |
Depuis 2006 | 3.0 | Adobe Flex 2.0, Flash CS3, Flash CS4, Flash CS5, Flash CS5.5, Flash CS6, Flash CC | version 9, 10 et 11 |
L'éditeur Flash est à la fois un logiciel de dessin vectoriel comme Illustrator, et un logiciel d'animation. L'inconvénient pour les auteurs est l'assujettissement à un logiciel propriétaire pour créer des fichiers Flash, ainsi que le recours à un format dont seul Macromedia dirige l'évolution future. Cependant, la publication en des spécifications du format .SWF version 3 a rendu plus accessible le développement d'applications compatibles avec Flash.
Les fichiers Flash créés peuvent être inclus dans une page web pour un usage sur Internet ou peuvent être montrés sous forme indépendante (sous la forme d'un fichier exécutable seul, sans plugiciel) en vue d'une utilisation hors ligne. Le contenu graphique des fichiers Flash permet d'obtenir des applications web riches grâce aux supports du vectoriel et des fichiers multimédia qui intègrent le son numérique et la vidéo numérique. On utilise Flash pour produire des contenus visuels dans l'approche dite « RichMedia » et « Motion Design » du Web.
Ce logiciel est actuellement utilisé dans les contextes suivants :
La technologie Flash est utilisée dans de nombreux domaines d'applications et supports :
Un très long bras de fer opposa Macromedia et Adobe à la communauté open-source, qui protestait contre le fait que, contrairement à son prédécesseur Adobe Director, Flash ne compilait qu'un langage de script propriétaire. La querelle prit fin en 2008 sur un terrain d'entente avec le développement du compilateur Alchemy qui permet de compiler les langages C, C++ et assembleur, en mode managé, ce qui a permis entre autres le portage de nombreux vieux jeux MS-DOS ainsi que des émulateurs arcade et console, ou encore des versions Flash des moteurs Unity 3D et Unreal Engine. Désormais, la technologie Flash est compatible avec le travail du monde de l'open-source.
Même si Flash est utilisé sur de nombreux sites Web, il ne fait pas partie des normes du W3C, et donc, en tant que tel, il ne fait pas partie des standards d'internet reconnus.
Bien qu'Adobe ait publié les spécifications partielles de Flash (hors codecs vidéo, par exemple), il n'existe pas de documentation de référence publique, et il est donc impossible d'en faire un standard qui, par définition, doit être publiquement[25] documenté.
Le manque de documentation publique et le défaut de standardisation limitent les capacités des tiers quant au développement de modules complémentaires compatibles. En effet, bien qu'un plugin Flash soit pré-installé sur un grand nombre d'ordinateurs grand public, certains systèmes d'exploitation, libres ou non, ne disposent pas d'un module compatible[26].
Sur son site, Adobe présente Flash comme « partie des outils pour le Web »[27], mais son utilisation est critiquée[28], notamment par les promoteurs des standards ouverts.
Le format Flash n'étant pas normalisé, les spécifications étant ouvertes seulement depuis peu (pour l'écriture d'un lecteur), tout comme le protocole RTMP[29], des problèmes d'interopérabilité se posent.
Pendant longtemps les moteurs de recherche n'indexaient pas le Flash[30]. Les feuilles de style en cascade ne sont pas applicables sur un objet Flash, sauf via les objets natif Texfield qui peuvent afficher du HTML simplifié (balise de mise en forme principalement)[31] pouvant utiliser les styles CSS[32] ou le moteur AIR qui intègre un moteur webkit et peut afficher des pages html complètes. L'absence de plugin rend difficilement exploitable ce format sur certaines plates-formes[33]. Les fonctions de recherche du navigateur n'accèdent pas au contenu en Flash. L'historique de navigation n'inclut pas le contenu Flash, il est donc impossible de retourner à une étape d'un formulaire multi-pages par exemple. Il est impossible de faire un lien hypertexte vers un élément du contenu Flash : seule la page contenant l'élément peut être liée ; SWFAddress le permet cependant[34].
Après avoir été vivement critiqué sur ce point jusqu'en 2003[35], Flash entre actuellement dans la catégorie des technologies compatibles avec l'accessibilité au sens de la norme WCAG2.0 (Directives d'accessibilité des contenus Web) du W3C[36] : les fonctions d'accessibilité sont incluses dans le plugin depuis Flash player 6[37].
Par défaut, le lecteur Flash permet l'utilisation de la webcam et du microphone de l'ordinateur. La plupart des utilisateurs ne changent pas la configuration de leur logiciel, et il y a eu par le passé des programmes malveillants qui ont utilisé la webcam et le microphone. C'est une atteinte à la vie privée et à la sécurité.
Beaucoup de publicités furent basées sur l'utilisation de bannières animées en Flash. Il suffit que le serveur hébergeant les publicités soit compromis pour qu'un programme malveillant soit envoyé aux internautes lorsqu'ils visitent un site web. Cependant, à partir des années 2010, le Flash est de moins en moins utilisé[38], et il suffit de ne pas l'activer dans le navigateur pour se protéger.
Malgré de nombreuses mises à jour, la nature même de l'algorithme sous-tend un terreau idéal pour les chevaux de Troie et autres logiciels espions. Selon le site CVE Details, durant les 10 dernières années, le lecteur Flash a été la cible de 338 attaques[39]. Précisément pour ces failles de sécurité, Apple est l'un des premiers acteurs majeurs sur le marché qui refuse d'intégrer le logiciel dans ses appareils iPhone ou iPad, optant plutôt sur le streaming basé sur HTTP.
Selon un rapport de l'AISP intitulé "Illegal Streaming and Cyber Security Risks"[40], un des moyens les plus plébiscités pour propager des virus informatiques est les sites de streaming vidéo illégal qui utilisent le lecteur Flash. Contrairement aux sites légaux, les sites illégaux intègrent des lecteurs vidéos "sur mesure" qui invitent les internautes à installer des mises à jour pour leur lecteur Flash. Cette mise à jour, au lieu de diffuser la vidéo sur demande, installe un cheval de Troie ou un logiciel malveillant similaire sur la machine de l'internaute. Selon les types d'infections, le programme peut alors fonctionner en arrière-plan et ouvrir plusieurs ports TCP, créer une interface de commande et contrôle et communiquer avec le gestionnaire. L'ordinateur est alors transformé en "bot" ou "zombie"[41].