Add Life to the Web, Afterburner, Aftershock, Andromedia, Allaire, Animation PowerPack, Aria, Attain, Authorware,
Authorware Star, Backstage, Bright Tiger, Clustercats, Cold Fusion, Contribute, Design in Motion, Director, Dream Templates,
Dreamweaver, Drumbeat 2000, EDJE, EJIPT, Extreme 3D, Fireworks, Flash, Fontographer, FreeHand, Generator, HomeSite,
JFusion, JRun, Kawa, Know Your Site, Knowledge Objects, Knowledge Stream, Knowledge Track, LikeMinds, Lingo, Live
Effects, MacRecorder Logo and Design, Macromedia, Macromedia Action!, Macromedia Flash, Macromedia M Logo & Design,
Macromedia Spectra, Macromedia xRes Logo and Design, MacroModel, Made with Macromedia, Made with Macromedia Logo
and Design, MAGIC Logo and Design, Mediamaker, Movie Critic, Open Sesame!, Roundtrip HTML, Shockwave, Sitespring,
SoundEdit, Titlemaker, UltraDev, Web Design 101, what the web can be et Xtra sont des marques ou des marques déposées de
Macromedia, Inc. et peuvent être déposées aux Etats-Unis ou dans d’autres pays. Les autres noms de produit, logos, concepts,
titres, mots ou phrases mentionnés dans cette publication peuvent être des marques commerciales, des marques de service ou des
noms commerciaux de Macromedia, Inc. ou d’autres entités et peuvent être déposés dans certaines juridictions ou certains pays.
Informations de tiers
Ce manuel contient des liens vers des sites Web tiers qui ne sont pas contrôlés par Macromedia et Macromedia ne peut en aucun
cas être tenu responsable du contenu de ces sites. Si vous accédez à l’un de ces sites, vous le faites à vos propres risques.
Macromedia propose ces liens dans un but pratique uniquement et ne peut en aucun cas endosser ou accepter la responsabilité du
contenu de ces sites tiers.
Vous trouverez des informations sur les logiciels tiers et/ou d’autres conditions générales à l’adresse suivante :
http://www.macromedia.com/go/thirdparty_fr/.
APPLE COMPUTER, INC. N’ASSUME AUCUNE GARANTIE, IMPLICITE OU EXPLICITE, SUR LE LOGICIEL
INFORMATIQUE CI-INCLUS, SA COMMERCIABILITE OU SON ADEQUATION A UN OBJECTIF PARTICULIER.
L’EXCLUSION DES GARANTIES IMPLICITES N’ETANT PAS AUTORISEE DANS CERTAINS ETATS,
L’EXCLUSION CI-DESSUS PEUT DONC NE PAS S’APPLIQUER A VOTRE CAS. CETTE GARANTIE VOUS OFFRE
DES DROITS JURIDIQUES SPECIFIQUES. VOUS POUVEZ DISPOSER DE CERTAINS AUTRES DROITS, QUI
VARIENT SELON LES ETATS.
Conception et production : Adam Barnett, Aaron Begley, Chris Basmajian, John Francis, Jeff Harmon
Remerciements particuliers à Jay London, Jeff Schang, Lori Hylan-Cho, Hisami Scott, Sam Mathews, Jake Cockrell, Russ
Helfand, Randy Edmunds, George Comninos, Rosana Francescato, Charles Nadeau, Bonnie Loo, Gwenael Cossoul, Luciano
Arruda, Masayo Noda, Richard Clairicia, Scott Richards, Seungmin Lee, Vincent Truong, Birnou Sébarte et les équipes
d’ingénierie et de contrôle qualité de Dreamweaver.
Première édition : Septembre 2003
Macromedia, Inc.
600 Townsend St.
San Francisco, CA 94103
Etats-Unis
Ce manuel décrit l’API (interface de programmation d’application) et la plate-forme Macromedia
Dreamweaver MX 2004 qui vous permettent des créer des extensions de Dreamweaver. En règle
générale, les extensions effectuent les types de tâches suivants :
• automatisation des modifications apportées au document actif de l’utilisateur, telles que
l’insertion de code HTML, CFML ou JavaScript, la modification des propriétés du texte et des
images ou le tri des tableaux ;
• interaction avec l’application pour l’ouverture ou la fermeture automatique des fenêtres ou des
documents, le changement des raccourcis clavier, etc. ;
• connexion aux sources de données, permettant aux utilisateurs de Dreamweaver de créer
dynamiquement des pages adaptées aux données ;
• insertion et gestion de blocs de code de serveur dans le document actif.
Il peut se révéler judicieux de rédiger, pour le traitement d’une tâche fréquente et donc répétitive,
un type d’extension qui séduira un bon nombre de développeurs Web. Il se peut également qu’un
problème donné ne puisse être résolu qu’en rédigeant une extension spécifique à cette situation.
Quoi qu’il en soit, l’ensemble complet d’outils proposés par Dreamweaver vous permettra
d’étendre ou de personnaliser ses fonctionnalités.
Ce guide présente les fonctions API appelées par Dreamweaver pour implémenter divers objets,
menus, panneaux flottants, comportements de serveur, etc., compris dans les fonctionnalités de
Dreamweaver. Pour ajouter un objet, un menu, un panneau flottant ou toute autre fonctionnalité
à Dreamweaver, vous devez encoder les fonctions requises par le type d’extension désirée. Ce
manuel décrit les arguments transmis par Dreamweaver à ces fonctions ainsi que les valeurs
attendues en retour par le programme.
Il explique également comment personnaliser Dreamweaver en modifiant et en ajoutant des
balises à divers fichiers HTML et XML pour ajouter des éléments de menu, des types de
documents, etc.
Pour plus d’informations sur l’utilité et les possibilités offertes par les API JavaScript, utilisables
pour effectuer diverses opérations dans vos extensions Dreamweaver, voir le Guide des API de Dreamweaver. Si vous envisagez de créer des extensions fonctionnant avec des bases de données,
vous pouvez également consulter les sections relatives aux connexions de bases de données dans le
manuel Bien démarrer avec Dreamweaver.
13
Arrière-plan
La plupart des extensions Dreamweaver sont rédigées en langage HTML et en langage JavaScript.
Les instructions présentées ici supposent que vous possédez une bonne maîtrise des éléments
suivants : Dreamweaver et programmation JavaScript, HTML et XML. Par ailleurs, si vous
implémentez des extensions C, vous devez savoir comment créer et utiliser des bibliothèques de
liens dynamiques (DLL) C. Pour rédiger vos propres extensions afin de créer des
applications Web, vous devez connaître les langages de script côté serveur et au moins l’une des
plates-formes suivantes : Active Server Pages (ASP), ASP.net, PHP: Hypertext Preprocessor
(PHP), ColdFusion ou Java Server Pages (JSP).
Installation d’une extension
A mesure que vous vous familiarisez avec la procédure de rédaction d’extensions, vous pouvez si
vous le souhaitez consulter les extensions ainsi que les ressources disponibles sur le site Web de
Macromedia Exchange (http://www.macromedia.com/go/exchange_fr). L’installation d’une
extension existante vous permet de découvrir quelques-uns des outils qui vous seront utiles pour
travailler avec vos propres extensions.
Pour installer une extension, procédez de la manière suivante :
1 Téléchargez Extension Manager à partir du site Web des téléchargements de Macromedia
(http://www.macromedia.com/fr/software/downloads/), puis installez-le.
2 Connectez-vous au site Web de Macromedia Exchange (http://www.macromedia.com/go/
exchange_fr).
3 Sélectionnez l’extension que vous voulez utiliser parmi celles disponibles. Cliquez sur le lien de
téléchargement pour télécharger le progiciel d’extension.
4 Enregistrez le progiciel d’extension dans le dossier Downloaded Extensions de votre dossier
Dreamweaver MX 2004.
5 Dans Extension Manager, choisissez Fichier > Installer extension. Dans Dreamweaver,
choisissez Commandes > Gérer les extensions pour lancer Extension Manager.
Extension Manager installe automatiquement l’extension dans Dreamweaver, depuis le dossier
Downloaded Extension.
Il est nécessaire de redémarrer Dreamweaver avant de pouvoir utiliser certaines extensions. Si
Dreamweaver est en cours d’exécution pendant l’installation de l’extension, il vous sera peut-être
demandé de fermer et de redémarrer l’application.
Pour afficher des informations de base sur l’extension à la suite de son installation, ouvrez
Extension Manager (Commandes > Gérer les extensions) dans Dreamweaver.
Ressources supplémentaires pour les créateurs d’extensions
Pour entrer en contact avec d’autres développeurs d’extensions, vous pouvez rejoindre le forum de
discussion consacré à l’extensibilité de Dreamweaver. Pour ce faire, il vous suffit de vous rendre à
l’adresse suivante : www.macromedia.com/go/extending_newsgrp.
14Chapitre 1 : Introduction
Nouveautés du manuel Extension de Dreamweaver
Dreamweaver MX 2004 comprend les nouvelles fonctions et interfaces extensibles suivantes.
• Nouvelle barre Insérer
La barre Insérer est maintenant divisée en catégories (au lieu d’onglets) afin de répartir divers
objets en groupes. Elle prend également en charge les menus contextuels. Ces nouveaux
groupements et fonctionnalités offrent une interface plus ordonnée. Les utilisateurs peuvent
désormais regrouper leurs objets favoris dans la catégorie correspondante pour les retrouver
rapidement. Les extensions peuvent être ajoutées à leur propre catégorie ou menu contextuel et
regroupées avec d’autres objets existants. Voir le Chapitre 6, Objets de la barre Insérer, page 117.
• Coloration du code extensible
Vous permet d’ajouter de nouveaux mots-clés à un code de coloration existant ou d’en créer un
nouveau. Si vous développez de nouvelles fonctions JavaScript à utiliser dans votre script côté
client, vous pouvez, par exemple, ajouter les noms de ces fonctions à la section mots-clés, afin
qu’ils s’affichent dans la couleur spécifiée dans Préférences. Vous pouvez également ajouter de
nouveaux modèles de coloration de code pour un nouveau type de document. Pour plus
d’informations, voir le Chapitre 5, Personnalisation du mode Code, page 79.
• Les balises cssimport et cssmedia prennent en charge les règles de coloration de code pour les
fonctions
d’informations, voir le Chapitre 5, Personnalisation du mode Code, page 79.
@import et @media de l’élément style dans une feuille de style CSS. Pour plus
• Prise en charge API pour éléments Flash (fichiers SWC)
Les développeurs d’extensions peuvent ajouter leurs propres éléments Flash dans la barre
Insérer, le menu Insertion ou d’autres barres d’outils pour permettre à l’utilisateur de les insérer
dans ses documents en cliquant simplement sur un bouton ou une option de menu. Voir
Intégration de Flash dans le Guide des API de Dreamweaver.
• Vous trouverez une prise en charge améliorée des pages Code-Behind dans le fichier
CodeBehindMgr.js du dossier Configuration/Shared/Common de Dreamweaver. Voir
l’Annexe A, Contenu du dossier Shared, page 395.
• Intégration de contenu de Personnalisation de Dreamweaver
Certains éléments auparavant uniquement disponibles sur le site Web de Macromedia sont
désormais intégrés à ce manuel.
Modifications de la documentation
Extension de Dreamweaver MX est désormais divisé en deux volumes : Extension de Dreamweaver
et le Guide des API de Dreamweaver. Extension de Dreamweaver explique comment créer divers
types d’extensions de Dreamweaver, y compris les fonctions à rédiger pour chaque type. Il décrit
également comment personnaliser Dreamweaver en modifiant certains de ses fichiers HTML et
XML configurables. Le Guide des API de Dreamweaver décrit les deux API qui vous permettent
d’effectuer diverses tâches dans vos extensions de Dreamweaver.
Le guide Extension de Dreamweaver est conçu pour l’utilisateur souhaitant apprendre à construire
une extension pour Dreamweaver. Le Guide des API de Dreamweaver est conçu pour aider le
programmeur qui maîtrise déjà bien ces notions à retrouver rapidement la fonction lui permettant
d’effectuer une tâche précise. Cette division en deux volumes permet également de distinguer
clairement les fonctions API d’extension que tout auteur d’extension doit coder et auxquelles
Dreamweaver fait appel et les fonctions JavaScript et Utility API qu’un programmeur peut appeler
pour accomplir diverses tâches au sein d’une extension.
Nouveautés du manuel Extension de Dreamweaver15
Extension de Dreamweaver comprend les extensions suivantes afin d’aider les créateurs novices à
bien démarrer dans le domaine des extensions.
• Exemples nouveaux et mis à jour
De nouveaux exemples ont été ajoutés. Ils concernent la barre Insérer, les composants, les
sources de données, l’intégration de Flash et le dossier Shared. Les exemples présentés dans les
chapitres dédiés aux commandes, aux commandes de menus, aux barres d’outils et aux
panneaux flottants ont été mis à jour et sont désormais présentés avec des illustrations et des
explications facilitant la compréhension des instructions.
• Nouvelle organisation
Le contenu a été réorganisé pour plus de clarté. Les fonctions API JavaScript dans le Guide des
API de Dreamweaver ont, par exemple, été organisées en chapitres selon la partie de
Dreamweaver affectée par la fonction.
• Description du contenu du dossier Shared (voir annexe A)
Le dossier Configuration/Shared de Dreamweaver comprend plusieurs fichiers et sous-dossiers
qui renferment du code HTML et JavaScript implémentant diverses fonctions et interfaces
utilisateur de Dreamweaver. Ces fichiers se trouvent dans le dossier Shared car le code HTML
et le code JavaScript sont fréquemment utilisés. L’annexe A décrit brièvement le contenu des
fichiers et sous-dossiers les plus utilisés au sein du dossier Configuration/Shared.
• Révision du chapitre Composants
Le chapitre Composants a été modifié de façon à être plus clair et précis. Il comprend de
nouveaux exemples de fonctions.
Pour plus d’informations sur les nouvelles fonctions ajoutées à Utility API ou l’API JavaScript,
voir le Guide des API de Dreamweaver.
Macromedia Press
Approfondissez votre connaissance de Dreamweaver grâce aux ouvrages de Macromedia Press.
Pour connaître les derniers ouvrages rédigés par des experts, rendez-vous à l’adresse
www.macromedia.com/go/dw2004_help_mmp.
Fonctionnalités supprimées
Certaines fonctionnalités ont été supprimées de Dreamweaver MX 2004. Les informations
suivantes ont donc été supprimées du manuel Extension de Dreamweaver :
• Références à l’espace de travail de Dreamweaver 4
• Chapitre consacré au débogueur JavaScript
Pour connaître toutes les fonctions supprimées, voir Utilisation de Dreamweaver. Pour plus
d’informations sur les fonctions supprimées des Utility API et API JavaScript, voir le Guide des API de Dreamweaver.
Errata
Vous trouverez une liste des problèmes connus dans la section Extensibility (Extension) du centre
de support de Dreamweaver (www.macromedia.com/go/extending_errata).
16Chapitre 1 : Introduction
Conventions utilisées dans ce manuel
Ce manuel utilise les conventions typographiques suivantes :
• La police de code indique des fragments de code et des constantes d’API, notamment des
noms de classe, des noms de méthodes, des noms de fonctions, des noms de type, des scripts,
des instructions SQL et des noms de balises et d’attributs HTML et XML.
• La police de code en italique identifie les éléments remplaçables dans le code.
• Le symbole de continuation (¬) indique qu’une longue ligne de code a été fractionnée sur deux
lignes ou plus. En raison des limites de marge du format de ce manuel, une ligne de code
continue doit ici être coupée. Lorsque vous copiez les lignes de code, supprimez le symbole de
continuation et entrez-les comme une seule ligne.
• Les accolades ({ }) placées avant et après un argument de fonction indiquent que cet argument
est facultatif.
• Vous pouvez remplacer le préfixe dreamweaver. présent dans le nom de certaines fonctions
(par exemple,
Ce manuel utilise le préfixe
l’index. De nombreux exemples utilisent néanmoins le préfixe court (
Conventions de noms utilisées dans ce manuel :
dreamweaver.funcname) par dw. (dw.funcname) lorsque vous rédigez du code.
dreamweaver. complet dans les définitions de fonctions et dans
dw.)
• Vous — le développeur responsable de la rédaction des extensions
• L’utilisateur — la personne utilisant Dreamweaver
• Le visiteur — la personne qui visualise la page Web créée par l’utilisateur.
Conventions utilisées dans ce manuel17
18Chapitre 1 : Introduction
PARTIE I
Présentation
Maîtrisez les fondements de l’interface Macromedia Dreamweaver MX 2004 et apprenez à
personnaliser et à étendre Dreamweaver selon vos besoins de développement Web. Ces
fondements comprennent les dossiers Dreamweaver, les API d’extension, les composants
d’interface de Dreamweaver, le modèle d’objet de document (DOM) et les types de documents de
Dreamweaver.
Les fonctions suivantes de Macromedia Dreamweaver MX 2004 vous permettent de créer des
extensions :
• Un analyseur HTML (également appelé module de rendu), qui permet de concevoir des
interfaces utilisateur pour les extensions en utilisant des champs de formulaires, des calques,
des images et d’autres éléments HTML. Dreamweaver dispose de son propre
analyseur HTML.
• Une arborescence de dossiers qui organise et stocke les fichiers qui implémentent et
configurent les éléments et extensions de Dreamweaver.
• Une série d’API (interfaces de programmation d’applications), qui donnent accès à la
fonctionnalité de Dreamweaver au moyen du langage JavaScript.
• Un interpréteur JavaScript, qui exécute les instructions de code JavaScript dans les fichiers
d’extension. Dreamweaver utilise l’interpréteur Netscape JavaScript version 1.5. Pour plus
d’informations sur les différences qui existent entre cette version de l’interpréteur et les
précédentes, voir Traitement de JavaScript dans les extensions par Dreamweaver, page 25.
Types d’extensions de Dreamweaver
Voici une description des types d’extensions Dreamweaver présentés dans ce manuel :
Les extensions d’
barre Insérer. Un objet sert généralement à automatiser l’insertion de code dans un document. Il
peut également contenir un formulaire qui regroupe les données fournies par les utilisateurs et un
code JavaScript qui traite ces données. Les fichiers d’objet résident dans le dossier Configuration/
Objects.
Les extensions de
l’intervention de l’utilisateur. Les fichiers de commandes sont généralement appelés à partir du
menu Commandes ; ils peuvent l’être également depuis d’autres extensions. Les fichiers de
commandes résident dans le dossier Configuration/Commands.
Les extensions de
tâches relatives à l’appel d’une commande depuis un menu. Les API des commandes de menu
vous permettent également de créer un sous-menu dynamique.
objet de la barre Insérer sont responsables des modifications dans la
commande peuvent se charger de la plupart des tâches, avec ou sans
commande de menu développent l’API de commande pour effectuer des
21
Les extensions de barre d’outils permettent d’ajouter des éléments aux barres d’outils existantes
ou de créer de nouvelles barres d’outils dans l’interface utilisateur de Dreamweaver. Les nouvelles
barres d’outils s’affichent sous la barre d’outils par défaut. Les fichiers de barre d’outils résident
dans le dossier Configuration/Toolbars.
Les extensions de
rapport peuvent ajouter des rapports personnalisés sur le site ou modifier le jeu
de rapports prédéfinis fournis avec Dreamweaver. Vous pouvez également utiliser l’API de fenêtre
Résultats pour créer un rapport autonome.
Les extensions de
bibliothèque et d’éditeur de balises fonctionnent avec les fichiers de
bibliothèque de balises associés. Les extensions de bibliothèque et d’éditeur de balises permettent
de modifier les attributs des boîtes de dialogue de balises existantes, de créer de nouvelles boîtes de
dialogue de balises et d’ajouter des balises à la bibliothèque de balises. Les fichiers d’extension
d’éditeur et de bibliothèques de balises résident dans le dossier Configuration/TagLibraries.
Les extensions d’
inspecteur de propriétés apparaissent dans le panneau d’inspecteur Propriétés.
La plupart des inspecteurs de Dreamweaver relèvent du code principal du produit et ne sont donc
pas modifiables ; en revanche, les fichiers d’inspecteurs de propriétés personnalisés peuvent
remplacer les interfaces d’inspecteurs de propriétés intégrées de Dreamweaver ou en créer afin
d’inspecter les balises personnalisées. Les fichiers d’inspecteur résident dans le dossier
Configuration/Inspectors.
Les extensions de
panneau flottant permettent d’insérer des panneaux flottants dans l’interface
utilisateur de Dreamweaver. Les panneaux flottants peuvent interagir avec la sélection, le
document ou l’action en cours. Ils peuvent également afficher des informations utiles. Les fichiers
de panneau résident dans le dossier Configuration/Floaters.
Les extensions de
comportement permettent aux utilisateurs d’ajouter du code JavaScript dans
leurs documents. Le code JavaScript exécute une tâche spécifique en réponse à un événement
lorsque le document est affiché dans un navigateur. Les extensions de comportement s’affichent
dans le menu plus (+) du panneau Comportements de Dreamweaver. Les fichiers de
comportement résident dans le dossier Configuration/Behaviors/Actions.
Les extensions de
comportement de serveur permettent d’ajouter des blocs de code côté serveur
(ASP, JSP ou ColdFusion) au document. Le code côté serveur exécute des tâches sur le serveur
lorsque le document est affiché dans un navigateur. Les extensions de comportement de serveur
s’affichent dans le menu plus (
+) du panneau Comportements de serveur de Dreamweaver. Les
fichiers de comportement de serveur résident dans le dossier Configuration/Server Behaviors.
Les extensions de
source de données vous permettent d’établir une connexion avec des données
dynamiques stockées dans une base de données. Les extensions de source de données apparaissent
dans le menu plus (
+) du panneau Liaisons. Les extensions de source de données résident dans le
dossier Configuration/DataSources.
Les extensions de
format de serveur vous permettent de définir la mise en forme des données
dynamiques.
Les extensions de
composant vous permettent d’ajouter de nouveaux types de composants au
panneau Composants. Composants est le terme utilisé dans Dreamweaver pour définir une des
stratégies les plus récentes et populaires d’encapsulation, y compris les services Web, JavaBeans, et
les composants ColdFusion (CFC).
22Chapitre 2 : Extension de Dreamweaver
Les extensions de modèle de serveur permettent de prendre en charge de nouveaux modèles de
serveurs. Dreamweaver prend en charge les modèles de serveurs les plus courants (ASP, JSP,
ColdFusion, PHP et ASP.NET). Les extensions de modèle de serveur sont nécessaires
uniquement pour les solutions de serveur personnalisées, des langues différentes ou un serveur
personnalisé. Les fichiers de modèle de serveur résident dans le dossier Configuration/
ServerModels.
Les extensions de
traducteur de données convertissent le code non HTML en code HTML qui
s’affiche ensuite dans le mode Création de la fenêtre de document. Ces extensions bloquent
également le code non HTML pour empêcher toute analyse par Dreamweaver. Les fichiers de
traducteur résident dans le dossier Configuration/Translators.
Autres méthodes d’extension pour Dreamweaver
Vous pouvez également étendre les éléments suivants de Dreamweaver pour développer ses
capacités ou l’adapter à votre utilisation.
Les
types de documents définissent le fonctionnement de Dreamweaver avec différents modèles
de serveur. Les informations relatives aux types de documents pour les modèles de serveurs
résident dans le dossier Configuration/DocumentTypes.
Les
fragments de code sont des blocs de code réutilisables qui sont stockés sous forme de fichiers
CSN dans le dossier Configuration/Snippets de Dreamweaver. Ils sont accessibles dans le panneau
Fragments de code. Vous pouvez créer de nouveaux fichiers de fragment de code et les installer
dans le dossier Snippets afin qu’ils soient disponibles.
Les
indicateurs de code sont des menus qui vous évitent de saisir tout le texte en proposant une
liste de chaînes susceptibles de compléter la chaîne que vous tapez. Si une des chaînes du menu
correspond à celle que vous avez commencé à entrer, vous pouvez la sélectionner pour l’insérer à la
place de la chaîne dont vous aviez commencé la saisie. Des menus d’indicateurs de code sont
définis dans le fichier codehints.xml dans le dossier Configuration/CodeHints. Vous pouvez en
ajouter d’autres pour de nouvelles balises et fonctions que vous avez définies.
Les
menus sont définis dans le fichier menus.xml du dossier Configuration/Menus. Vous pouvez
ajouter de nouveaux menus Dreamweaver pour vos extensions en ajoutant leurs balises de menu
dans le fichier menus.xml.
Extensions et dossiers de configuration
Les dossiers et les fichiers stockés dans le dossier Configuration de Dreamweaver contiennent les
extensions livrées avec Dreamweaver. Lorsque vous rédigez une extension, vous devez enregistrer
les fichiers dans le dossier approprié afin que Dreamweaver puisse les reconnaître. Si vous
téléchargez puis installez une extension depuis le site Web de Macromedia Exchange
(www.macromedia.com/go/exchange_fr), Extension Manager enregistre automatiquement les
fichiers d’extension dans les dossiers appropriés.
Vous pouvez utiliser les fichiers du dossier Configuration de Dreamweaver comme exemple ;
notez toutefois que ces fichiers sont généralement plus complexes que l’extension typique
disponible sur le site Web de Macromedia Exchange. Pour plus d’informations sur le contenu
respectif des sous-dossiers du dossier Configuration, voir le fichier Configuration_ReadMe.htm.
Extensions et dossiers de configuration23
Le dossier Configuration/Shared ne correspond à aucun type d’extension particulier. Il s’agit d’un
lieu de stockage central pour les fonctions utilitaires, les classes et les images utilisées par plusieurs
extensions. Les fichiers résidant dans le dossier Configuration/Shared/Common sont censés être
utiles à un large éventail d’extensions. Ces fichiers constituent à la fois de bons exemples des
techniques JavaScript et des utilitaires pratiques. Recherchez en priorité dans ces fichiers les
fonctions exécutant des tâches spécifiques, par exemple créer une référence DOM (modèle d’objet
de document) valide pour un objet, vérifier si la sélection active se trouve à l’intérieur d’une balise
particulière, ignorer les caractères dans les chaînes, etc. Il est préférable de créer un sous-dossier
distinct dans le dossier Configuration/Shared/Common, comme indiqué ci-après, lorsque vous
créez des fichiers communs afin de les stocker.
Structure de dossier Configuration/Shared/Common/Scripts
Pour plus d’informations sur le dossier partagé, voir l’Annexe A, Dossier Shared, page 395.
Dossiers de configuration multiutilisateur
Pour les systèmes d’exploitation multiutilisateurs Windows XP, Windows 2000 et Macintosh
OS X, Dreamweaver crée un dossier de configuration distinct pour chaque utilisateur, en
complément du dossier Configuration Dreamweaver. Chaque fois que Dreamweaver ou qu’une
extension JavaScript écrit dans le dossier Configuration, Dreamweaver écrit systématiquement
dans le dossier de configuration utilisateur. Ceci permet à chaque utilisateur de définir ses
paramètres de personnalisation de Dreamweaver sans modifier les paramètres d’autres utilisateurs.
Pour plus d’informations, voir A propos de la personnalisation de Dreamweaver dans un
environnement multiutilisateur, page 29 et API de configuration multiutilisateur et d’accès aux
fichiers dans le Guide des API de Dreamweaver.
24Chapitre 2 : Extension de Dreamweaver
Exécution des scripts au démarrage ou à la fermeture
Si vous placez un fichier de commandes dans le dossier Configuration/Startup, la commande
s’exécute au démarrage de Dreamweaver. Les commandes de démarrage se chargent avant le
fichier menus.xml, avant les fichiers du dossier ThirdPartyTags et avant les autres commandes,
objets, comportements, inspecteurs, panneaux flottants ou traducteurs. Par conséquent, vous
pouvez utiliser les commandes de démarrage pour modifier le fichier menus.xml ou d’autres
fichiers d’extension. Vous pouvez également afficher des avertissements, inviter l’utilisateur à
donner des informations ou appeler la fonction
dreamweaver.runCommand(). Toutefois, vous ne
pouvez pas appeler une commande qui nécessite un DOM valide, à partir du dossier Startup.
De même, si vous placez un fichier de commandes dans le dossier Configuration/Shutdown, la
commande s’exécute à l’arrêt de Dreamweaver. A partir des commandes de fermeture, vous
pouvez appeler la fonction
dreamweaver.runCommand(), afficher des avertissements ou inviter
l’utilisateur à entrer des informations, mais vous ne pouvez pas arrêter le processus de fermeture.
Pour plus d’informations sur les commandes, voir le Chapitre 7, Commandes, page 141. Pour plus
d’informations sur la fonction
dreamweaver.runCommand(), voir le Guide des API de
Dreamweaver.
API d’extension
Les API d’extension vous fournissent les fonctions appelées par Dreamweaver pour implémenter
chaque type d’extension. Le corps de ces fonctions doit être rédigé conformément aux
descriptions de chaque type d’extension. Il faut également spécifier les valeurs renvoyées attendues
par Dreamweaver.
Si vous êtes un développeur et souhaitez travailler directement en langage de programmation C, il
existe une API d’extensibilité C qui vous permet de créer des DLL (bibliothèques de liens
dynamiques). La fonctionnalité fournie dans ces API enveloppe vos DLL C de code JavaScript
afin que votre extension puisse s’exécuter en toute transparence dans Dreamweaver.
La documentation des API d’extension souligne ce qu’apporte chaque fonction quand
Dreamweaver l’appelle et les valeurs renvoyées attendues par Dreamweaver.
Voir le Guide des API de Dreamweaver pour plus d’informations sur l’API d’utilitaire et l’API
JavaScript, qui proposent des fonctions permettant d’effectuer des tâches spécifiques dans vos
extensions.
Traitement de JavaScript dans les extensions par Dreamweaver
Dreamweaver vérifie le dossier Configuration/extension_name au démarrage. Si Dreamweaver y
détecte un fichier d’extension, il traite le code JavaScript selon la procédure suivante :
• Compilation de tous les éléments compris entre les balises d’ouverture et de fermeture SCRIPT
• Exécution du code situé dans les balises SCRIPT ne faisant pas partie d’une déclaration de
fonction
Remarque : Cette étape s’impose pendant le démarrage dans la mesure où certaines extensions
peuvent nécessiter l’initialisation des variables globales.
API d’extension25
Dans le cas des fichiers JavaScript externes spécifiés dans les attributs SRC des balises SCRIPT,
Dreamweaver se charge des opérations suivantes :
• lecture du fichier ;
• compilation du code ;
• exécution des procédures.
Remarque : Si le code JavaScript de votre fichier d’extension contient la chaîne "</SCRIPT>",
l’interpréteur JavaScript la lit comme une balise
de chaîne non terminée. Pour éviter ce problème, divisez la chaîne en parties concaténées comme
suit :
"<’ + ’/SCRIPT>".
SCRIPT de fermeture et signale une erreur littérale
Dreamweaver exécute le code contenu dans le gestionnaire d’événements onLoad (s’il est présent
dans la balise
BODY) lorsque l’utilisateur choisit la commande ou l’action dans un menu pour les
types d’extensions de commande ou de comportement.
Dreamweaver exécute le code contenu dans le gestionnaire d’événements
BODY si le corps du document contient un formulaire pour les extensions d’objet.
Dreamweaver ignore le gestionnaire
onLoad de la balise BODY dans les extensions suivantes :
onLoad dans la balise
• traducteur de données ;
• inspecteur de propriétés ;
• panneau flottant.
Pour toutes les extensions, Dreamweaver exécute le code contenu dans d’autres gestionnaires
d’événements (par exemple,
l’utilisateur utilise les champs de formulaire auxquels ils sont rattachés.
Dreamweaver prend en charge l’utilisation de gestionnaires d’événement dans des liens. Les
gestionnaires d’événements des liens doivent respecter la syntaxe suivante :
<a href=”#” onMouseDown=alert(‘hi’)>link text</a>
Les plug-ins (définis sur play en permanence) sont pris en charge dans la balise BODY des
extensions. En revanche, l’instruction
ActiveX ne le sont pas.
onBlur="alert(’Ceci est un champ obligatoire.’)") lorsque
document.write(), les applets Java et les commandes
Affichage de l’aide
La fonction
displayHelp(), qui fait partie de nombreux API d’extension, entraîne les deux
actions suivantes de Dreamweaver lorsque vous l’incluez dans votre extension :
• Ajout d’un bouton d’aide à l’interface ;
• Appelle displayHelp() lorsque l’utilisateur clique sur le bouton d’aide.
Vous devez rédiger le corps de la fonction
codez la fonction
demander à la fonction
displayHelp() détermine l’affichage de l’aide par votre extension. Vous pouvez
dreamweaver.browseDocument() d’ouvrir un fichier dans un navigateur
ou de définir une méthode personnalisée d’affichage de l’aide, comme l’affichage de messages sur
un autre calque dans des fenêtres d’alerte.
26Chapitre 2 : Extension de Dreamweaver
displayHelp() pour afficher l’aide. La façon dont vous
L’exemple suivant utilise la fonction displayHelp() pour afficher l’aide en appelant
dreamweaver.browseDocument():
// Dans l’exemple suivant, la fonction displayHelp() ouvre dans un navigateur
un fichier
// expliquant comment utiliser l’extension.
function displayHelp(){
var myHelpFile = dw.getConfigurationPath() + "ExtensionsHelp/myExtHelp.htm";
dw.browseDocument(myHelpFile);
}
Localisation d’une extension
Utilisez les techniques suivantes pour faciliter la traduction de vos extensions dans d’autres
langues.
• Séparez les extensions entre fichiers HTML et JavaScript. Les fichiers HTML peuvent être
dupliqués et localisés alors que les fichiers JavaScript ne peuvent pas être localisés.
• Ne définissez pas de chaînes dans les fichiers JavaScript (vérifiez les alertes et le code de
l’interface utilisateur). Vous devez extraire toutes les chaînes localisables en fichiers XML
séparés dans le dossier Configuration/Strings de Dreamweaver.
• N’insérez pas de code JavaScript dans les fichiers HTML excepté pour les gestionnaires
d’événement nécessaires. Ceci évite d’avoir à réparer plusieurs fois une même erreur pour
chaque traduction une fois les fichiers HTML répliqués et traduits dans d’autres langues.
Fichiers de chaîne XML
Conservez toutes les chaînes dans des fichiers XML dans le dossier Configuration/Strings de
Dreamweaver. Si vous installez plusieurs fichiers d’extension liés, cela vous permet de partager
toutes les chaînes dans un seul fichier XML. Le cas échéant, cela vous permet également de faire
référence à une même chaîne depuis des extensions C++ et JavaScript.
Vous pouvez créer un fichier nommé myExtensionStrings.xml. L’exemple suivant montre le
format du fichier :
<strings>
<!-- errors for feature X -->
<string id="featureX/subProblemY" value="Il y a eu un problème avec X lors
de l’exécution de Y. Merci de ne pas exécuter Y !"/>
<string id="featureX/subProblemZ" value="Il y a eu un autre problème avec X,
lié à Z. N’exécutez jamais Z !"/>
</strings>
Vos fichiers JavaScript files peuvent maintenant se référer à ces chaînes pouvant être traduites en
appelant la fonction
function initializeUI()
{
...
if (problemYhasOccured)
{
alert(dw.loadString("featureX/subProblemY");
}
}
dw.loadString(), comme indiqué dans l’exemple suivant :
Localisation d’une extension27
Vous pouvez utiliser des barres obliques (/) mais pas d’espaces dans vos identificateurs de chaînes.
Les barres obliques vous permettent d’établir une hiérarchie et d’inclure l’ensemble des chaînes
dans un fichier XML unique.
Remarque : Les fichiers commençant par cc dans le dossier Configuration/Strings sont des fichiers
Contribute. C’est le cas, par exemple, du fichier ccSiteStrings.xml.
Chaînes localisables avec valeurs intégrées
Certaines chaînes d’affichage comportent des valeurs intégrées. Vous pouvez utilisez la fonction
errMsg() pour afficher ces chaînes. La fonction errMsg(), similaire à la fonction printf()
dans C, se trouve dans le fichier string.js du dossier Configuration/Shared/MM/Scripts/CMN.
Utilisez le signe
% et la lettre s (les caractères de l’espace réservé) pour indiquer l’emplacement où
les valeurs doivent apparaître dans la chaîne puis considérer la chaîne et les variables comme
arguments pour
<string id="featureX/fileNotFoundInFolder" value="Impossible de trouver le
fichier %s dans le dossier %s."/>
errMsg(). Exemple :
L’exemple suivant indique comment la chaîne, comme toute variable à intégrer, est transmise à la
fonction
Si vous créez des extensions destinées à d’autres utilisateurs, il convient de les conditionner
conformément aux indications disponibles sur le site Web de Macromedia Exchange
(www.macromedia.com/go/exchange_fr), sous la rubrique Help > How to Create an Extension
(Aide, Comment créer une extension). Après avoir rédigé puis testé une extension dans Extension
Manager, sélectionnez Fichier > Empaqueter une extension. Une fois l’extension conditionnée,
vous pouvez l’envoyer sur Exchange à partir de Extension Manager ; pour cela, sélectionnez
Fichier > Envoyer une extension.
Extension Manager est livré avec Dreamweaver. Vous trouverez des détails sur son utilisation dans
ses fichiers d’aide ou sur le site Web Macromedia Exchange.
Personnalisation de Dreamweaver
Il est possible de personnaliser Dreamweaver de différentes manières afin de l’adapter au mieux à
vos besoins. Cette section présente les méthodes avancées qui sont à votre disposition pour
personnaliser Dreamweaver. Vous y trouverez notamment des détails sur la modification des
fichiers de configuration.
28Chapitre 2 : Extension de Dreamweaver
A propos de la personnalisation de Dreamweaver
Il existe plusieurs approches pour personnaliser Dreamweaver. Certaines sont présentées dans
l’aide de Dreamweaver (Aide > Utilisation de Dreamweaver). Ces approches vous permettent de
personnaliser l’espace de travail. Vous pouvez également modifier les paramètres dans les boîtes de
dialogue de Dreamweaver. Vous pouvez définir des préférences dans divers domaines
(accessibilité, coloration du code, polices, surbrillance et prévisualisation dans un navigateur), à
l’aide du panneau Préférences (Edition > Préférences). Vous pouvez également modifier les
raccourcis clavier à l’aide de l’éditeur de raccourcis clavier (Edition > Raccourcis clavier).
La liste suivante présente les diverses méthodes permettant de personnaliser Dreamweaver par la
modification des fichiers de configuration :
• Modifier l’ordre des objets dans la barre Insérer, créer de nouveaux onglets pour réorganiser les
objets ou ajouter de nouveaux objets. Voir Modification de la barre Insérer, page 124.
• Changer le nom des éléments de menu, ajouter de nouvelles commandes aux menus et
supprimer des commandes existantes des menus. Voir A propos de la personnalisation de
Dreamweaver, page 29.
• Modifier les profils de navigateurs ou en créer de nouveaux. Voir Utilisation des profils de
navigateurs, page 40.
• Modifier l’affichage des balises propriétaires (balises ASP et JSP comprises) dans la fenêtre de
document en mode Création. Voir Personnalisation de l’interprétation de balises propriétaires,
page 34.
A propos de la personnalisation de Dreamweaver dans un environnement
multiutilisateur
Vous pouvez personnaliser Dreamweaver même sous un système d’exploitation multiutilisateur
comme Windows 2000, Windows XP ou Mac OS X. Aucune configuration personnalisée de
Dreamweaver ne peut affecter celle d’un autre utilisateur. Pour ce faire, lors de la première
exécution de Dreamweaver sous un système d’exploitation multiutilisateur reconnu,
Dreamweaver copie divers fichiers de configuration dans un dossier Configuration utilisateur
destiné à votre utilisation personnelle. Lorsque vous personnalisez Dreamweaver à l’aide des
panneaux et boîtes de dialogue, l’application modifie vos fichiers de configuration utilisateur au
lieu de modifier les fichiers de configuration de Dreamweaver. Pour personnaliser Dreamweaver
en modifiant un fichier de configuration dans un environnement multiutilisateur, modifiez le
fichier de configuration utilisateur correspondant au lieu de modifier les fichiers du dossier
Configuration de Dreamweaver. Pour apporter une modification affectant la plupart des
utilisateurs, vous pouvez modifier un fichier Configuration de Dreamweaver, mais les utilisateurs
disposant déjà de fichiers de configuration personnels ne seront pas affectés. En général, si vous
souhaitez apporter une modification affectant tous les utilisateurs, il est préférable de créer une
extension et de l’installer à l’aide de Extension Manager.
Remarque : Sur des systèmes d’exploitation plus anciens (Windows 98, Windows ME et
Mac OS 9.x), un seul groupe de fichiers de configuration de Dreamweaver est partagé par tous les
utilisateurs, même si la configuration du système d’exploitation prend en charge plusieurs utilisateurs.
L’emplacement du dossier Configuration varie selon la plate-forme utilisateur.
Personnalisation de Dreamweaver29
Sous Windows 2000 et Windows XP :
<lecteur>:\Documents and Settings\<nom d’utilisateur>\ ¬
Remarque : Pour installer des extensions accessibles à tous les utilisateurs dans un système
d’exploitation multiutilisateur, vous devez disposer des droits
(Mac OS X).
Administrateur (Windows) ou root
Dreamweaver ne copie que certains des fichiers de configuration dans le dossier Configuration
lors de la première exécution de l’application (les fichiers copiés sont spécifiés dans le fichier
version.xml dans le dossier Configuration). Lorsque vous personnalisez Dreamweaver depuis
l’application même (par exemple, lorsque vous modifiez un des fragments de code prédéfinis dans
le panneau Fragments de code), Dreamweaver copie les fichiers concernés dans votre dossier de
configuration utilisateur. La version d’un fichier présente dans le dossier de configuration
utilisateur prime toujours sur celle du dossier Configuration de Dreamweaver. Pour personnaliser
un fichier de configuration qui n’a pas été copié par Dreamweaver dans le dossier de configuration
utilisateur, copiez en premier lieu le fichier du dossier Configuration de Dreamweaver vers
l’emplacement correspondant dans votre dossier de configuration utilisateur. Modifiez ensuite
cette copie dans votre dossier de configuration utilisateur.
Suppression de fichiers de configuration dans un environnement
multiutilisateur
Lors de toute opération engendrant l’effacement d’un fichier de configuration dans Dreamweaver
sous un système d’exploitation multiutilisateur (par exemple, la suppression d’un fragment de
code prédéfini dans le panneau Fragments de code), Dreamweaver crée un fichier nommé
mm_deleted_files.xml dans votre dossier Configuration. Lorsqu’un fichier est répertorié dans le
fichier mm_deleted_files.xml, Dreamweaver se comporte comme si le fichier n’existait plus.
Remarque : Le fichier mm_deleted_files.xml n’est créé que lors de la première action susceptible de
supprimer un fichier de configuration.
Pour désactiver un fichier de configuration :
1 Quittez Dreamweaver.
2 A l’aide d’un éditeur de texte, modifiez le fichier mm_deleted_files.xml dans votre dossier de
configuration utilisateur, ajoutez une balise d’élément dans ce fichier en indiquant le chemin
(relatif au dossier Configuration de Dreamweaver) du fichier de configuration à désactiver.
Remarque : Ne modifiez pas le fichier mm_deleted_files.xml dans Dreamweaver.
3 Enregistrez et fermez mm_deleted_files.xml.
4 Lancez à nouveau Dreamweaver.
30Chapitre 2 : Extension de Dreamweaver
Loading...
+ 386 hidden pages
You need points to download manuals.
1 point = 1 manual.
You can buy points or you can get point for every manual you upload.