ActiveX : Quelques questions

Signaler
Messages postés
34
Date d'inscription
mardi 27 mai 2008
Statut
Membre
Dernière intervention
21 juillet 2011
-
Messages postés
3874
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
7 novembre 2014
-
Bonjour,

J'aimerai avoir quelques précisions sur l'activex et son processuce d'installation.

Imaginons que l'on se retrouve sur une page web qui contient un activeX, cette page nous demande d'installer un "fichier.cab" et un "fichier.inf".

Le fichier cab contient une dll dans laquelle est encapsuler un ocx.
La dll joue le rôle de librairie, dans laquelle on retrouve différentes fonctions qu'elle devrait appliquer.

   Mais que contient l'ocx, à quoi sert-il ?
   Et à quoi sert le fichier.inf ?
   Dans la déclaration de l'activex dans une page web, on retrouve sa CLASSID, qui est une clef de registre, du moin elle en a tout l'air, à quoi sert-elle ?
   Et enfin, quesqui déclanche l'installation du fichier.cab et du fichier.inf ?

Merci de vos future réponses, je continue mes recherches !

1 réponse

Messages postés
3874
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
7 novembre 2014
13
Salut,

Concernant l'installation des ActiveX, jette un oeil à ce source.
Et regarde l'aide de la msdn, dans ce secteur.

Le web, globalement, c'est des serveurs web exécutant des langages "côté serveur" (PHP, Java, ASP...). Et puis l'internaute arrive sur CS et demande une page. Le navigateur fait une requête au serveur qui mouline de l'ASP.NET et du VB.NET pour générer de l'HTML et du code JavaScript qui est renvoyé au navigateur. Le navigateur interprète le HTML et le JavaScript et dessine la jolie page interactive.

Le problème c'est qu'en HTML/CSS/JavaScript, on ne peut pas faire grand chose. Et tant mieux. C'est une sécurité pour l'utilisateur. On ne peut pas créer un fichier toto à la racine de C: par exemple.

Mais comme c'est très limité justement, on va faire des "inclusions" d'autre choses dans HTML. Par exemple, sous Youtube, pour regarder les vidéo, on utilise en fait une animation flash .swf, qui est en fait un lecteur. Les pubs et les jeux sont souvent aussi faites en flash. Une autre solution est de faire des applets Java. Un applet java, c'est un bout de Java qui sera exécuté côté client. C'est très rarement utilisé.

Et finalement, il y a les ActiveXs. Le flash limite les possibilité sur la machine cliente : il ne peut pas faire n'importe quoi. Les applets java aussi sont exécuté dans une machine virtuelle qui limite ses possibilités. Par contre, dans le cas d'un ActiveX, celui-ci peut faire absolument tout ce qu'il veut (Ecrire partout sur le disque, installer des logiciels, télécharger des fichier, utiliser la carte graphique...).

A ce que j'ai compris, tu as trouvé un code d'inclusion d'un ActiveX dans une page Web. Globalement on dit qu'on souhaite utiliser un ActiveX, via son CSLID ou son nom. Si celui-ci n'est pas installé sur le PC client, IE te propose de l'installer (De nos jours, il va surtout bloquer l'installation sans rien demander si le site n'est pas sûr). MAIS ATTENTION : c'est dangereux d'installer un ActiveX dont tu n'es pas sûr de la provenance.

Un ocx c'est comme une dll, c'est une librairie dynamique : un fichier binaire contenant du code et des resources, et exportant des symboles, qui correspondent le plus souvent à des fonctions. Un ocx contient généralement un ou plusieurs objet ActiveX. Un objet ActiveX est un objet COM (Donc implémentant IUnknown) qui implémente aussi IDispatch. IDispatch permet d'invoquer des méthodes ou d'accèder aux propriétés d'un objet ActiveX depuis le VbScript ou le JavaScript de la page web. Ca permet un dialogue entre la partie script et la partie native de l'ActiveX quand c'est possible?