Qu'est-ce que le format de fichier SWC ?
Un fichier .swc est une bibliothèque de composants ActionScript compilée utilisée par les écosystèmes de développement Adobe Flash et Flex. Le nom signifie ShockWave Component. Lors de la compilation, les compilateurs du Flex SDK mxmlc (compilateur d'application) et compc (compilateur de composants) lient les bibliothèques .swc dans l'application SWF finale, en intégrant le bytecode précompilé et les ressources qu'elles contiennent.
Structurellement, un .swc est une archive ZIP standard contenant au minimum deux entrées : catalog.xml, qui liste les classes ActionScript, leurs dépendances et les horodatages de modification, et library.swf, un SWF précompilé transportant les symboles exportés, le bytecode et les ressources intégrées. Renommer .swc en .zip et l'extraire permet de révéler ces contenus directement.
Le format est apparu avec Macromedia Flash MX en 2002 et est devenu l'unité de distribution standard pour les bibliothèques ActionScript 3 réutilisables et les composants d'interface utilisateur sous Adobe Flex (Flash Builder) et Apache Flex.
L'ensemble de l'écosystème SWC est désormais obsolète :
- Adobe Flash Player a atteint sa fin de vie le 31 décembre 2020 ; Adobe a bloqué l'exécution du moteur à partir du 12 janvier 2021
- Adobe Flash Builder est abandonné
- Adobe Animate (le successeur de Flash) cible HTML5 Canvas, pas SWF
- Apache Flex SDK est en mode maintenance uniquement (dernière version 4.16.1 en 2017)
- L'émulateur Ruffle (
ruffle.rs) lit certains SWF hérités mais présente des lacunes de couverture pour ActionScript 3
Les paquets npm JavaScript/TypeScript modernes remplissent aujourd'hui le rôle que les bibliothèques .swc occupaient autrefois.
Sécurité et sûreté
RISQUE : LOWUn SWC est une bibliothèque de développement consommée au moment de la compilation, et non au moment de l'exécution par les utilisateurs finaux. Il ne peut pas être exécuté de manière autonome et ne contient aucun code auto-exécutable en dehors de la chaîne d'outils Flash/Flex. Cependant, le fichier library.swf à l'intérieur pourrait théoriquement contenir de l'ActionScript malveillant si le SWC provient d'une source non fiable. En pratique, les fichiers SWC de sources inconnues présentent un risque minimal car le plugin Flash qui les exécuterait n'existe plus ; seuls les développeurs créant des applications Flash/AIR lient encore des SWC.
Détails du format
en bref- Bibliothèque d'exécution d'animation Spine 2D - Spine (Esoteric Software) utilise .swc pour sa bibliothèque d'exécution distribuée aux développeurs Flash/Flex ; même conteneur ZIP, contenu différent.
Programmes qui ouvrent les fichiers SWC
Détails techniques
spécifications approfondies| Format de conteneur | Archive ZIP (PKZIP) ; octets magiques 50 4B 03 04 à l'offset 0 |
| Contenu requis | catalog.xml (manifeste de classes) et library.swf (SWF précompilé avec bytecode et ressources) |
| Outils de compilation | compc (compilateur de composants) et mxmlc (compilateur d'application) du SDK Flex/Apache Flex |
| Machine virtuelle ActionScript | Bytecode AVM1 (ActionScript 2) ou AVM2 (ActionScript 3) à l'intérieur de library.swf |
| Compression | DEFLATE par entrée ZIP ; pas de compression au niveau du paquet |
| Taille de fichier typique | 20 Ko - 5 Mo (de la petite bibliothèque utilitaire à la grande bibliothèque de composants) |
| Somme de contrôle | ZIP CRC-32 par entrée ; pas de signature au niveau du paquet |
| Contenu optionnel | Dossier de métadonnées META-INF/, feuille de style default.css, dossiers de ressources supplémentaires |
| Métadonnées du catalogue | Version du Flex SDK et dates de modification des classes intégrées dans catalog.xml |
| Système d'exploitation | Windows, macOS, Linux (multiplateforme via Apache Flex/AIR SDK) |
| Méthode d'inspection | Renommer .swc en .zip et extraire avec n'importe quel outil ZIP pour voir catalog.xml et library.swf |
| Obsolescence | Fin de vie de Flash Player le 31 déc. 2020 ; Flash Builder abandonné ; Apache Flex en maintenance uniquement |
| Publié | 2002 (Macromedia Flash MX; SWC concept expanded in Flash 8 / Flex SDK 1.0 ~2004-2005) |
| Dernière version | Flash/Flex SDK era ended; Apache Flex SDK 4.16.1 (2017) is the last meaningful release |
| Spécification | help.adobe.com |
Conversions SWC
Q&R de la communauté
posées par les utilisateursPas encore de questions - soyez le premier à poser une question sur les fichiers SWC.