Aller au contenu

ActiveX

Un article de Wikipédia, l'encyclopédie libre.
Logo officiel de la technologie ActiveX.

ActiveXdésigne l'une des technologies dépréciées duComponent Object ModeldeMicrosoftavecCOM+etDistributed COMutilisées enprogrammationpour permettre le dialogue entre programmes.

Les ActiveX se déclinent sous forme de contrôles, de documents et de scripts[1].

Uncontrôle ActiveXest unfichierportant l'extension«.ocx ». Ces fichiers contiennent des programmes encapsulés dynamiques (à l'instar desDLL) se comportant comme desclasses(ce qui signifie que l'on peut lesinstanciercomme desobjets), c'est-à-dire que ce sont des composantslogicielsintégrables dans d'autres programmes/logiciels tels que des bibliothèques externes.

Pour les rendre accessibles, on peut les déclarer formellement ausystème(Microsoft Windowsen l'occurrence) ou simplement les livrer avec un logiciel. Mais pour pouvoir les utiliser dans un logiciel, on doit obligatoirement les déclarer à ce dernier lors de la création du logiciel. Lors de lacompilationdu logiciel (c'est-à-dire de la transformation du programme en fichier exécutable), ces composants ne seront pas intégrés au programme mais liés, et donc, resteront extérieurs au programme l'utilisant. Par conséquent, ces composants peuvent rester disponibles pour d'autres programmes. Ils sont donc hautement réutilisables et utilisables simultanément par plusieurs programmes, ce qui constitue tout leur intérêt.

Contrairement aux DLL (qui ne sont que des bibliothèques partagées de fonctions et donc, à lier également au programme lors de sa conception), les contrôles ActiveX sont de véritables petits logiciels indépendants (mais dynamiques et encapsulés, donc, connectables à d'autres) qui peuvent avoir ou non, uneinterface graphique,non seulement lors du fonctionnement du logiciel les utilisant mais également lors de la création (dans l'IDE) afin d'aider le développeur à l'utiliser ou le configurer.

Ces caractéristiques singulières en font donc des objets particulièrement flexibles, pratiques et appréciés des développeurs pour leur simplicité d'utilisation.

Tout comme les classes, ils sont principalement constitués de propriétés(i.e., de variables publiques contrôlées par des fonctions en entrée et/ou en sortie),de méthodes(c'est-à-dire, de fonctions ou procédures publiques)et d’événements(i.e., de fonctions/procédures de surveillance d'états).On peut donc les créer(i.e., les instancier)comme de simples objets. Mais outre une interface graphique, ils ont en plus la possibilité de contenir des données annexes telles que des images, desicônes…puisqu'ils sont « encapsulés ».

Concrètement, presque tous les éléments graphiques autres que ceux du système (que sont lesfenêtres…) sont, la plupart du temps, des contrôles ActiveX. Par exemple, les boutons, leslistes déroulantes,lesmenusou même les fenêtres standard (ouvrir, enregistrer…) sont des OCX.

Leur développement se fait généralement avecMicrosoftVisual Studiomais d'autreslangages de programmationcompatibles avec la technologie COM peuvent également en créer. C'est par exemple le cas du langageC++ou du langageDelphideBorland.

Les ActiveX peuvent être utilisés dans despages webs'ils sont d'abord téléchargés, manuellement ou automatiquement, sur le poste client de l'utilisateur. Du fait de la grande intégration des ActiveX au système d'exploitation, cette forme d'utilisation constitue un problème de sécurité majeur avec lesnavigateurs.En effet, si l'utilisateur n'est pas informé de l'installation à distance d'un ActiveX, il est possible pour un développeur d'utiliser ce qui peut constituer une faille de sécurité pour implanter un code malveillant. C'est pourquoi il existe des procédures qui permettent à l'utilisateur de se prémunir d'une telle utilisation malveillante[2].

C'est enque le premier SDK pour ActiveX est disponible sousMac,incluant unpluginpourNetscape Navigator.La compatibilité avecSolarisest annoncée pour l'année suivante[3].

Malgré les efforts de Microsoft pour rendre ActiveX multi-plateforme, la plupart des contrôles ActiveX ne fonctionnent pas sur toutes les plateformes, de sorte que l'utilisation de contrôles ActiveX pour mettre en œuvre les fonctionnalités essentielles d'une page web en limite l'utilité.

Bien que Microsoft ait fait des efforts considérables pour promouvoir l'aspect multi-plateforme d'ActiveX en publiant l'API, ces efforts ont finalement été vains, les contrôles ActiveX étant écrits enCouC++et compilés enassembleurpourIntel x86,ce qui les rend exécutables uniquement sur les machines Windows où ils peuvent appeler les APIWin32standard[4].

En 2012, Microsoft supprime le support ActiveX de l'éditionWindows Stored'Internet Explorer 10dansWindows 8.

En 2015, Microsoft sort MicrosoftEdge,le remplaçant d'Internet Explorersans support pour ActiveX, ce qui marque la fin de la technologie dans le développement du navigateur web de Microsoft[5].

En,laCorée du Sudutilise encore largement ActiveX, posant de sérieux problèmes de sécurité, de performances et de compatibilité. LeprésidentMoon Jae-ina fait de la fin d'ActiveX une promesse de campagne[6].

  1. Les différentes formes d'ActiveX:« Description des technologies ActiveX ».
  2. Se prémunir d'une telle utilisation malveillante:« Utiliser les contrôles ActiveX ».
  3. (en)TomQuinlanMacOS will get access to ActiveX»,InfoWorld,‎,p.48(lire en ligne).
  4. (en-US)«Will ActiveX Threaten National Security?»(consulté le).
  5. (en)GreggKeizerMicrosoft nixes ActiveX add-on technology in new Edge browser»,Computerworld,IDG,.
  6. Frédéric Aujardias, «Le cauchemar ActiveX: l’Internet coréen restera-t-il longtemps bloqué en 1996?», surRFI.fr,(consulté le).

Articles connexes

[modifier|modifier le code]

Liens externes

[modifier|modifier le code]