ActiveX

Un article de Wikipédia, l'encyclopédie libre.
Aller à : navigation, rechercher

ActiveX désigne l'une des technologies du Component Object Model de Microsoft avec COM+ et Distributed COM utilisées en programmation pour permettre le dialogue entre programmes.

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

Un contrôle ActiveX est un fichier portant l'extension « .OCX ». Ce sont des programmes encapsulés dynamiques (à l'instar des DLL) se comportant comme des classes (c'est-à-dire que l'on peut instancier comme des objets). C'est-à-dire que ce sont des composants logiciels intégrables dans d'autres programmes/logiciels tels que des bibliothèques externes.

Pour les rendre accessibles, on peut les déclarer officiellement au système (Microsoft Windows en 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 la compilation du 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érieur 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 (et donc, à lier également au programme lors de sa conception) de fonctions), 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) une interface 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 tel que des images, des icônes, ... puisqu'ils sont "encapsulés".

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

Leur développement se fait généralement avec Microsoft Visual Studio mais d'autres langages de programmation compatibles avec la technologie COM peuvent également en créer. C'est par exemple le cas du langage C++ ou du langage Delphi de Borland.

Les Activex peuvent être utilisés dans des pages web s'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 les navigateurs. 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].


Liens externes[modifier | modifier le code]

Références[modifier | modifier le code]

  1. Les différentes formes d'ActiveX : Description des technologies ActiveX
  2. Se prémunir d'une telle utilisation malveillante : Désactivation et filtrage des ActiveX

Voir aussi[modifier | modifier le code]

Articles connexes[modifier | modifier le code]