Chapitre 51 : Active X


Dernière mise à jour  19 mars 1997  Auteur Gilles Maire
Serveur  http://www.imaginet.fr/ime/activex.htm Adresse Gilles.Maire@UNGI.com

51.1 - Introduction

De OLE 2 à Active X

Alors que Netscape,  SUN et bon nombre d'éditeurs supportent Java ou  JavaScript, Microsoft s'est démarqué en proposant un modèle Active X, qui n'est rien de plus que le modèle OLE 2 rebaptisé pour la circonstance.

Tout utilisateur d'un PC sous Windows connaît la facilité d'utilisation des liens OLE permettant, par exemple, d'affichier un tableau Excel dans un document Word. Avec la même facilité, Microsoft permet d'afficher dans un document HTML un objet qui peut être un texte Word, ou un document Excel.

Ceci est très séduisant lors de démonstrations mais il n'est pas inutile de rappeler que : 

Cette dernière caractéristique, rend la technologie Active X aussi contraignante que la technologie Plug In de Netscape. 

Active X vs Netscape One

Puisque nous comparons la technologie Plug-In de Nestcape et les liens OLE (que nous appellons contrôle Active X), regardons les principales différences d'architecture entre les deux modèles. 

Netscape One

Le schéma suivant montre l'achitecture Netscape One proposée par Netscape. 

 
Netscape ONE est un ensemble de protocoles et d’environnements que Netscape s’engage à supporter et que nous pouvons énumérer comme suit :  

 IIOP/CORBA 
Nous avons introduit la notion de IIOP (Internet Inter ORB Protocol), qui est un protocole plus moderne que HTTP permettant la communication entre serveurs d’objets. Ainsi, Nestcape a annoncé sa compatibilité avec CORBA (Common Object Request Broker Architecture) de l’OMG (Object Managment Group).  
L’intérêt de cette architecture tient essentiellement au fait que les clients émettent des requêtes sans connaître a priori la localisation du service qui y répondra. En outre, CORBA permet de normaliser les échanges de données indépendamment des matériels et des produits utilisés. Il repose en également sur un modèle objet. 
La compatibilité de Netscape version 3 avec IIOP se situe à deux niveaux aujourd’hui :  

Actuellement l’architecture CORBA, bien qu’elle soit séduisante par la richesse du langage d’interface qu’elle propose (IDL) et la bonne spécification des services et des messages qu’elle englobe, reste une architecture complexe par rapport à la simplicité du protocole HTTP et de sa mise en oeuvre. Elle se révèle encore peu performante, comparée à la vitesse d’exécution des couplages HTTP / base de données. 

Active X

Le schéma suivant montre l'achitecture ActiveX  proposée par Microsoft :  

 
Active X est un ensemble de protocole que Microsoft s’engage à supporter et que nous pouvons énumérer comme suit :  

La technologie Active X propre à Microsoft se décompose en quatre éléments que nous allons détailler : 

51.2 - Les contrôles Active X

Les contrôles ActiveX peuvent être utilisés de plusieurs façon dans une page HTML. 

La balise <OBJECT>

La balise OBJECT permet de positionner un contrôle Active X dans une page HTML.  

<HTML>
<HEAD>
<TITLE>Controle ActiveX</TITLE>
</HEAD>
<BODY>
<H1>Controle ActiveX et le tag OBJECT</H1>
<HR>
<OBJECT ID="ActiveXobjet" 
 CLASSID="CLSID:519FD363-C071-11CF-B42E-0000C062E6A0">
    <PARAM NAME="Fichier" VALUE="exemple.avi">
</OBJECT>
</BODY>
</HTML>



On remarque que le nom d’une classe OLE  ou d'un contrôle Active X est répertorié par un UUID (Universally Uniq Identifier) qui est unique dans l’architecture Microsoft, à savoir, qu’il est soit lié au numéro de la carte réseau de l’équipement producteur (par un programme GUIDGEN) soit attribué sur demande par Microsoft qui en assure l’unicité. 
Ainsi le document Excel est répertorié par un nom UUID unique (celui d’Excel) et une instenciation correspondant aux cellules du document sélectionné. 
 Lorsqu’un lien OLE est copié dans Word, le système explore la base des registres de Windows qui lui donne les informations nécessaires sur l’emplacement des données Excel par un mécanisme de class factory de l’architecture COM (Component Objet Model), qui indique la ressource nécessaire sur le PC. 
Microsoft a étendu ce mécanisme à l’accès réseau en élargissant ce modèle COM à un modèle distribué (DCOM) qui permet d’aller rechercher les informations sur un serveur distant. Ainsi dans une page HTML, les syntaxes suivantes permettent d’aller chercher une ressource sur le réseau. 

La balise <EMBED>

Si la balise  <OBJECT> était très proche du modèle OLE2 puisque le HTML reprenait les codes UUID de Microsoft, elle est mal commode à utiliser et pas compatible avec Netscape. 
Aussi Microsoft supporte la balise <EMBED> qui produit un résultat similaire à celui de la balise OBJECT, si ce n'est qu'elle offre généralement moins de contrôle. 

Les contrôles ActiveX et les programmes Active Script

Tout comme dans l'achitecture Netscape One qui garantissait que les Plug-Ins pouvait être appelés en JavaScript, les contrôles ActiveX peuvent être manipulés par Active Script comme le montre le code suivant : 

<HTML>
<HEAD>
<TITLE>Controle ActiveX</TITLE>
<SCRIPT LANGUAGE="VBS">
sub DemarreActiveX
    Call ActiveXobjet.Run
end sub
sub StopActiveX
    Call ActiveXobjet.Stop
end sub
</SCRIPT>
</HEAD>
<BODY>
<FORM Name="Controle">
<INPUT TYPE="Button" VALUE="Start" onClick="DemarreActiveX">
<INPUT TYPE="Button" VALUE="Stop" onClick="StopActiveX">
</FORM>
<H1>Controle ActiveX et le tag OBJECT</H1>
<HR>
<OBJECT ID="ActiveXobjet" 
 CLASSID="CLSID:519FD363-C071-11CF-B42E-0000C062E6A0">
    <PARAM NAME="Fichier" VALUE="exemple.avi">
</OBJECT>
</BODY>
</HTML>

Les contrôles ActiveX et le navigateur Internet Explorer

Internet Explorer permet d'agir sur les contrôles ActiveX par simple clic sur le bouton droit de votre souris.  
Le popup menu contextuel apparaîtra alors avec les différentes lignes de contrôle (démarrer, arrêter, pause, etc..) ainsi qu'une ligne propriété permettant de paramétrer le contrôle ActiveX. 

51.3 - Active X et les objets

Tout comme JavaScript Active X permet de manipuler les objets suivants : 

Les boîtes de dialogue sont au nombre de trois  : 

On retrouve les propriétés, les événements et les méthodes analogues à celles vues dans les chapitres JavaScript. 

51.4 - Active X Scripting

Les langages JavaScript et VBScripts sont supportés par Internet Explorer et permettent tout comme le langage JAVA de contrôler des objets ActiveX.


Haut Haut Suivant Sommaire Recherche Fenêtre Glossaire Nouveau Bientôt Courrier Souscription Aide Copyright