Chapitre 50 : Quelques Plug-Ins Netscape




Dernière mise à jour  14 septembre 1996 Auteur Gilles Maire
Serveur  http://www.imaginet.fr/ime/plugins.htm Adresse Gilles.Maire@UNGI.com

50.1 - Introduction

Nestcape et ses Plug-Ins

Ce chapitre, tourné vers les Plug-Ins de Nescape explicite comment les mettre en oeuvre en prenant pour exemple les modules fournis avec la version du plus populaire des navigateurs.

 Les Plug Ins sont des logiciels qui viennent se greffer sur Netscape pour ajouter des fonctionalités non supportées par ce dernier. Même s'il n'est pas très difficile de développer un Plug In à l'aide du SDK, ceci nécessite de solides compétences dans les développements en environnements PC Windows, Macintosh et UNIX.

 On peut dire que si Netscape comptait sur l'ensemble des sociétés partenaires pour développer ce type d'applicatif, c'était plutôt pour assurer la pérennité de son navigateur que par véritable soucis technique.

 Aujourd'hui, les Plug-Ins foisonnent puisqu'on en trouve plus de cent mais bien peu d'internautes les utilisent, plus préoccupés par le chargement de leur navigateur que par celle des logiciels additionnels. Les Webmestres qui surveillent la fréquentation de leur site l'ont compris et préfèrent garnir leur page d'applet Java ou de procédures JavaScript. Les développeurs eux préféreront sans doute se tourner vers Java qui est indépendant des plates-formes et qui est compris par Netscape.

 Mais avouons le, Java ne résoud pas encore tout les problèmes, et les deux ou trois Plug-Ins fournis de base avec la version 3 de Netscape ont une chance de devenir des standards de fait. Nous parlons de LiveAudio et de LiveVideo. Nous reviendrons plus tard sur Live 3D et QuickTime, sachant que CoolTalk, autre logiciel fourni avec Netscape, est un bon logiciel de téléphonie sur Internet mais il est à ranger dans la catégorie des Helpers.

 

Vérifier les Plug-Ins de votre ordinateur

Tous les Plug-Ins doivent se trouver dans un répertoire Netscape/Plug_Ins. Netscape vous donne également des informations dans son menu d'aide sur ceux d'entre eux qui sont présents.

 Lorsque des données arrivant du serveur HTTP sont acheminées vers le navigateur, ce dernier va analyser le type MIME des données pour connaître le Plug-In à lancer.

 En cas de problème vous pouver regarder dans le menu de définition des Helpers de Netscape si les types MIME et les Plug-Ins sont en concordance.

 Remarquons au passage qu'un Plug-In peut bien sûr être attribué à plusieurs codes MIME.

 Si le module n'est pas présent sur votre système et s'il est programmé selon les recommandations de Netscape, le navigateur vous avertira et vous proposera de charger ce module sur le site du fabriquant.

 

Types de Plug-In

On distingue trois types de Plug-In, les cachés (hidden), ceux qui remplissent toute la page de votre navigateur (full-page) et ceux qui prennent une portion de la page (embed).

 Par exemple un Plug-In de musique peut être caché s'il ne nécessite pas d'opération de la part de l'utilisateur, ou partiel (embed) s'il prévoit un panneau de contrôle.

 Chacun des Plug-Ins utilise des paramètres qui lui sont propres, c'est pourquoi nous ne nous attacherons qu'aux exemples précédemment énoncés. 

Live Connect

LiveConnect est une technologie qui permet de relier les Applets, Java et JavaScript. 

Ainsi un Plug-In compatible LiveConnect va pouvoir être controlé en JavaScript ainsi d'ailleurs que les Applets JAVA. 

Une Applet peut aussi appeler une fonction écrite en JavaScript. Nous allons regarder ces mécanismes en donnant de nombreux exemples dans l'étude des Plug-Ins. 

JavaScript et LiveConnect

Nous verrons que les balises EMBED permettent d'appeler des Plug-Ins par une syntaxe simple de la forme : 

<EMBED SRC=...>.

Il est possible d'utiliser un nouvel attribut avec ces Plug-Ins lorsqu'ils sont compatibles avec LiveConnect. Cet attribut est NAME="chaîne de caractères".

 Ainsi la balise EMBED sera exploitable de la sorte : 

<EMBED SRC=... NAME="nom">.

Ainsi il devient possible d'utiliser en JavaScript, l'objet nom avec une méthode fournie par le Plug-In, par exemple 

function MaFonction ()
 {
  document.nom.play() ; 
 }

provoquera l'appel d'un son par le Plug-In nom

JAVA et LiveConnect

A partir de la version 3 de Netscape Java et JavaScript permettent les échanges de données, ainsi toutes les classes définies en Java peuvent être appelées en JavaScript comme des objets.

 D'autre part, le Java Runtime Interface permet aux classes Java d'appeler des fonctions natives C.

 Par ces deux procédés lorsqu'un Plug-In est compatible avec LiveConnect, sa classe Java est invoquée à chacun de ses lancements.

 Nous verrons comment tout cela se passe lors de nos exemples de Plug-Ins. 

50.2 - LiveAudio

En HTML

Live Audio utilise la balise EMBED, cela signifie donc que le Plug-In utilisé va être de type partiel puisqu'elle se présente comme ceci : 

ou comme ceci 

Le code entré pour appeler le Plug-In est :

 <EMBED SRC="gif/copain.au" AUTOSTART=true NAME=premier MASTERSOUND VOLUME=100 WIDTH=144 HEIGHT=15 CONTROLS=SMALLCONSOLE ALIGN=Bottom LOOP=true> 

pour la première version tandis que pour la deuxième on utilisera la syntaxe : 

<EMBED SRC="gif/copain.au" AUTOSTART=true NAME=second VOLUME=75 WIDTH=144 HEIGHT=60 CONTROLS=SMALLCONSOLE ALIGN=Bottom LOOP=true> 

Dans les deux cas, que tonton Georges et maître Django, de là où ils sont, me pardonnent l'interprétation du morceau! LiveAudio permet de jouer des fichiers WAV, AIFF, AU et MIDI. 

Sa syntaxe complète est la suivante : 

 <EMBED 
    SRC= [URL du fichier] 
    AUTOSTART=[TRUE|FALSE]   
    LOOP=[TRUE|FALSE|valeur entière]
    STARTTIME=[minutes:secondes] 
    ENDTIME=[minutes:secondes] 
    VOLUME=[0-100]
    WIDTH=[# pixels] 
    HEIGHT=[# pixels]
       ALIGN=[TOP|BOTTOM|CENTER|BASELINE|LEFT|RIGHT|TEXTTOP|MIDDLE|ABSMIDDLE|ABSBOTTOM] 
    CONTROLS=[CONSOLE|SMALLCONSOLE|PLAYBUTTON|PAUSEBUTTON|STOPBUTTON|VOLUMELEVER] 
    HIDDEN=[TRUE]
    MASTERSOUND
     NAME=[]...
  >

En JavaScript

LiveAudio permet de contrôler le son par le biais du langage JavaScript.

 La syntaxe est la suivante : 

     <SCRIPT LANGUAGE=SoundScript>
          OnPlay(http://URL du son);
     </SCRIPT>

Ce fichier peut être sauvé comme un fichier son et quand une URL est appuyée, la procédure OnPlay sera appelée et le son joué. 

En Live Connect

LiveAudio est conforme aux spécifications LiveConnect. Ainsi les fonctions suivantes JavaScript permettent de contrôler intégralement le Plug-In.

 

Fonctions de contrôles

Ces fonctions renvoient toutes les valeurs TRUE ou FALSE. 

          fade_from_to(int pourcentage1,int pourcentage2) 
          end_time(int secondes) 
          fade_to(int pourcentage) 
          pause() 
             play('TRUE/FALSE ou int','URL du son') 
          setvol(int pourcentage) 
          start_at_beginning() = prend la main sur start_time() 
          stop_at_end() = prend la main sur end_time() 
          start_time(int secondes) 
          stop()

Indicateurs de statut

Ces fonctions renvoient toutes les valeurs TRUE ou FALSE mis à part la dernière qui renvoie une valeur entière.

 

          IsReady() =  TRUE si le Plug-In est complétement chargé.
          IsPlaying() = TRUE si le son est en train d'être joué
          IsPaused() = TRUE si  le son est sur pause
          GetVolume() = retourne la valeur du volume par un entier de 1 à 100.

Exemples

Dans l'exemple suivant 

  <HTML>
     <BODY>
          <EMBED SRC="son.wav">
       < HREF="javascript:document.embeds[0].play(false)">Appuyez ici pour jour un son</A>
     </BODY>
  </HTML>

On voit apparaître le paramètre embeds, qui s'utilise comme les paramètres form en JavaScript. Ainsi embeds[0] est la première balise EMBED, embeds[1] la deuxième, etc..

 Malheureusement, cette balise n'est reconnue que par Netscape 3 et provoque une erreur des navigateurs de version inférieure.

 On doit donc, pour le moment, utiliser les attributs NAME et MASTERSOUND comme le montre le code suivant : 

  <HTML>
     <BODY>
          <EMBED SRC="son.wav" NAME="premierembed" MASTERSOUND>
       < HREF="javascript:document.premierembed.play(false)">Appuyez ici pour jour un son</A>
     </BODY>
  </HTML>

L'attribut MASTERSOUND doit obligatoirement être présent sur le premier fichier sonore quand l'attribut NAME (facultatif) est utilisé. Les lecteurs experts pourront améliorer le code en demandant un chargement optionnel du son sur un clic d'URL en remplacant la méthode play par playsioui qui aura pour code : 

function playsioui ()
{
  document.premier.play(false, "URL son")
}

On pourra utiliser des boutons personnalisés en URL pour contrôler le son en utilisant des méthodes du style 

function mapause ()
{
  document.premier.pause()
}

ou 

function monstop ()
{
  document.premier.stop()
}

Les fonctions de réglages de volumes sont un peu plus compliquées mais tout à fait réalisable. 

50.3 - Live Video

Spécifications

Sur un modèle analogue au précédent le Plug-In LiveVideo est pour l'instant disponible que sur les plates-formes Windows 32 bit, ce qui soit dit au passage, montre encore les limites des Plug-Ins par rapport au modèle Java.

 LiveVideo ne supporte, en Netscape version 3, que les vidéos au modèles AVI qui ne sont pas réputés pour être les formats les plus compacts. LiveVideo est conforme aux spécifications LiveConnect, ce qui rend valide le précédent exposé sur LiveVideo.

 

En HTML

L'émule de Django et de Brassens que vous voyez jouer est affiché par la balise EMBED utilisée comme suit : 

<EMBED SRC=gif/guitare.avi AUTOSTART=TRUE LOOP=TRUE ALIGN=MIDDLE WIDTH=100 HEIGHT=200 >

 Regardons l'ensemble des paramètres : 

En Java et JavaScript


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