Créer un plugin pour SoftwareZator 2011

Outils nécessaire : 

Microsoft .Net FrameWork 2.0 & 3.5


Editeur Visual Basic .Net : 

Visual Basic .Net (Visual Studio) 2008 ou plus récent => Visual Studio 2008 / Visual Studio 2010   (De Microsoft))


Editeur de site : (Choisissez l'un d'eux)

DreamWeaver    (De Adobe)

WebzDitor   (De Veler Software)


Créateur d'installation : (Choisissez l'un d'eux)

Inno Setup   (De JrSoftware)

SZInstallSystem 2011 (Fourni avec SoftwareZator 2011)   (De Veler Software)

Install Creator   (De ClickTeam)

Avanced Installer   (De Caphyon Ltd.)


Pour tester votre plugin : 

SoftwareZator 2011   (De Veler Software)


Avant toutes chose il faut savoir programmer en VB.Net.

Un plugin (terme du logiciel) est un pack de une/des action(s) que vous pouvez ajouter à SoftwareZator. Sans les plugins SZ servirais a rien.


Un plugin se compose de 3 fichiers :


- Un fichier « .dll » créer avec Visual Basic qui contient toutes les informations nécessaire sur le plugin comme l’image afficher, le nom du plugin…

- Un fichier « .xml » créer avec un éditeur XML comme DreamWeaver, ou même avec WebzDitor. Il contient le code Visual Basic que le programme effectuera pour l’action correspondante.

- Un fichier « .html » créer avec tout éditeur de site. Il contient le texte affiché dans le panneau en bas de SZ, l’aide rapide. Il est facultatif mais utile.


Nous allons créer un plugin pour modifier une variable (Vous allez dire oui il existe déjà, je sais) , suivez pas à pas les étapes pour ne pas faire d'erreur mais sans plus tarder, nous allons commencé. 


Etape 1 - Création de la classe 


Pour commencer, ouvrez Visual Basic, et créer un nouveau projet de type « Bibliothèque de classes » Vous avez votre nouveau projet ouvert sur « Class1.vb ». Renommer ce fichier avec le nom de votre action. Attention, choisissez un nom sans espace comme « Modifier_une_variable.vb », et retenez-le, vous en aurez besoin plus tard.


Etape 2 - Importation des références 


Dans Visual Basic, allez dans « Projet > Ajouter une référence » puis l’onglet « Parcourir »

Rendez vous dans ProgramFiles > Veler Software > SoftwareZator 2011 et prenez "VelerSoftware.Plugins2.dll" et "VelerSoftware.SZVB.dll"


Etape 3 - Création du module


Dans Visual Basic, faites « Projet > Ajouter un module ». Nommez ce module "Variable.vb".
Dans ce Module nous allons inscrire (un peu de copier coller) : 

Public objHost As VelerSoftware.Plugins2.IHost2

Public Param1 As String
Public Param2 As String
Public Param3 As String
Public Param4 As String
Public Param5 As String
Public Param6 As String
Public Param7 As String
Public Param8 As String
Public Param9 As String
Public Param10 As String
Public Param11 As String
Public Param12 As String
Public Param13 As String
Public Param14 As String
Public Param15 As String
Public Param16 As String
Public Param17 As String
Public Param18 As String
Public Param19 As String
Public Param20 As String

C’est la liste des variables que vous pourrez utiliser pour renvoyer des informations à SoftwareZator 2011.


Etape 4 - Création de l'interface


Comme indique le titre, cette page est l'interface de votre Plugin. C'est-à-dire la fenêtre qui va s’afficher lorsque vous insèrerez votre Plugin dans votre évènement.

Allez dans Projet > Ajouter un forumlaire Windows.

Indiquez un nom pour cette fenêtre, nous on va mettre Form_Modifier_une_variable.vb


Etape 5 - Modification de l'interface


Maintenant, nous allons faire l'interface.

Tout d'abord cliquez droit sur votre fenêtre et cliquez sur "Afficher le code"

Et mettez ce code : 

Inherits VelerSoftware.Plugins2.SZ_Windows

Revenez sur la fenêtre (Editeur visuel). Voila maintenant on a déjà une grosse partie de l'interface mais il y a pas tous. Donc pour notre plugin nous allons insérer un ComboBox, TextBox et 2 label.

Note : Soignez l'interface, tous les utilisateurs de SoftwareZator 2011 utiliserons votre plugin.

Après l'insertion des contrôles cité, repassons au code, maintenant nous allons attribuer les actions a faire sur les contrôles de notre fenêtre.

L'évènement Load de la fenêtre :

Private Sub Form_Modifier_une_variable_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

Me.SZTextBox1.Host = objHost
Me.ComboBox1.Items.Clear()

'Me.ComboBox2.Items.Add("")
For Each a As VelerSoftware.SZVB.Projet.Variable In objHost.GetVariableList()
If Not a.Tableau Then
Me.ComboBox1.Items.Add(a.Nom)
End If
Next
Me.ComboBox1.SelectedItem = Variable.Param1
Me.SZTextBox1.Text = Variable.Param2

End Sub

L'évènement On_Cancel_Button_Click : 

Private Sub Form_Modifier_une_variable_On_Cancel_Button_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.On_Cancel_Button_Click
Me.DialogResult = System.Windows.Forms.DialogResult.Cancel
Me.Close()
End Sub

L'évènement On_Ok_Button_Click : 

Private Sub Form_Modifier_une_variable_On_Ok_Button_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.On_Ok_Button_Click
Variable.Param1 = Me.ComboBox1.SelectedItem
Variable.Param2 = Me.SZTextBox1.Text
Me.DialogResult = System.Windows.Forms.DialogResult.OK
Me.Close()
End Sub

Voila notre fenêtre est complètement terminé


Etape 6 - Création de la base du plugin


Retournez dans Modifier_une_variable.vb et mettez ce code (un peu de copier coller)

Public Class Modifier_une_variable
' Un plugin est constitué d'une Class implémenté par VelerSoftware.Plugins2.IPlugin2 (C:/Programme/Veler Software/SoftwareZator 2011 Editon ***/VelerSoftware.Plugins2.dll).
' Sans cette implémentation, la Class ne sera pas reconnut par SoftwareZator 2011 comme un plugin compatible avec le logiciel en question.
' Tout les Sub et Fonction ci-dessous sont OBLIGATOIRE pour que le plugin fonctionne, même si celle-ci ne sont pas utilisé.
Implements VelerSoftware.Plugins2.IPlugin2 ' Implémentation de la Class représentant l'action

' Permet à SoftwareZator d'initialiser l'action en instanciant l'objet Host.
Public Sub Initialize(ByVal Host As VelerSoftware.Plugins2.IHost2) Implements VelerSoftware.Plugins2.IPlugin2.Initialize
' La variable objHost, déclaré dans le module Variable.vb,
' permet d'exécuter des fonctions disponibles dans VelerSoftware.Plugins2.IHost2
' Ces fonctions permettent en outre d'obtenir la liste des variables du projet
' de l'utilisateur, le nom du document édité...etc (pour plus d'info, consultez
' l'aide de SoftwareZator)
objHost = Host
End Sub
' La fonction Main est la fonction lancé par SoftwareZator quand on veut ajouter cette action à l'éditeur de fonctions
Public Function Main() As Boolean Implements VelerSoftware.Plugins2.IPlugin2.Main
' Mise à jour des paramètre
Variable.Param1 = Nothing
Variable.Param2 = Nothing
' On affiche le formulaire
Dim frm As New Form_Modifier_une_variable
If frm.ShowDialog() = Windows.Forms.DialogResult.OK Then
Me.Param1 = Variable.Param1
Me.Param2 = Variable.Param2
Return True ' L'utilisateur à cliqué sur OK, alors on demande d'ajouter l'action dans l'éditeur de fonction.
Else
Me.Param1 = Variable.Param1
Me.Param2 = Variable.Param2
Return False ' L'utilisateur a cliqué sur Annuler, alors on annule l'ajout de l'action dans l'éditeur de fonction.
End If

Return Nothing
End Function

' La fonction Modify est la fonction lancé par SoftwareZator quand on veut modifier une action dans l'éditeur de fonctions
Public Function Modify() As Boolean Implements VelerSoftware.Plugins2.IPlugin2.Modify
' Mise à jour des paramètres
Variable.Param1 = Me.Param1
Variable.Param2 = Me.Param2
' On affiche le formulaire

Dim frm As New Form_Modifier_une_variable
If frm.ShowDialog() = Windows.Forms.DialogResult.OK Then
Me.Param1 = Variable.Param1
Me.Param2 = Variable.Param2
Return True ' L'utilisateur à cliqué sur OK, alors on demande d'ajouter l'action dans l'éditeur de fonction.
Else
Me.Param1 = Variable.Param1
Me.Param2 = Variable.Param2
Return False ' L'utilisateur a cliqué sur Annuler, alors on annule l'ajout de l'action dans l'éditeur de fonction.
End If

Return Nothing
End Function


' Est égale au nom du plugin. Ce nom permet à SoftwareZator de différencier les actions entre elles, sans quoi elles seraient toute identiques. C'est pourquoi il est recommandé de donner un nom "long" ou "original".
#Region "Name"

Public ReadOnly Property Name() As String Implements VelerSoftware.Plugins2.IPlugin2.Name
Get
Return "Mon_Plugin.Modifier_une_variable"
End Get
End Property

#End Region

' Est égale à l'url de téléchargement du plugin. Si une action de votre plugin est utilisé alors que le plugin n'existe pas dans SoftwareZator 2011, celui-ci proposera de le télécharger à l'adresse indiquer dans cette propriété
#Region "Url"

Public ReadOnly Property Url() As String Implements VelerSoftware.Plugins2.IPlugin2.Url
Get
Return "http://monsite.com"
End Get
End Property

#End Region

' Est égale au nom de l'url de téléchargement du plugin
#Region "UrlName"

Public ReadOnly Property UrlName() As String Implements VelerSoftware.Plugins2.IPlugin2.UrlName
Get
Return "MonSite"
End Get
End Property

#End Region

' Est égale au texte affiché dans la boîte à outils de SoftwareZator
#Region "Text"

Public ReadOnly Property Text() As String Implements VelerSoftware.Plugins2.IPlugin2.Text
Get
Return "Modifier une variable"
End Get
End Property

#End Region

' Est égale à la phrase affiché dans l'éditeur de fonctions pour la description de l'action et de ses paramètres
#Region "Sentence"

Public ReadOnly Property Sentence() As String Implements VelerSoftware.Plugins2.IPlugin2.Sentence
Get
Return String.Format("Modifier la variable {0} et lui donner la valeur {1}", Me.Param1, Me.Param2)
End Get
End Property

#End Region

' Description de l'action
#Region "Description"

Public ReadOnly Property Description() As String Implements VelerSoftware.Plugins2.IPlugin2.Description
Get
Return "Modifie une variable"
End Get
End Property

#End Region

' Catégorie de l'action pour la boîte à outils
#Region "Category"

Public ReadOnly Property Category() As String Implements VelerSoftware.Plugins2.IPlugin2.Category
Get
Return "Général"
End Get
End Property

#End Region

' Est égale à l'image affiché dans la boîte à outils
#Region "ToolBoxImage"

Public ReadOnly Property ToolBoxImage() As Drawing.Image Implements VelerSoftware.Plugins2.IPlugin2.ToolBoxImage
Get
Return My.Resources.VarIcon
End Get
End Property

#End Region

' Est égale au fichier xml de configuration de l'action (utilisez Plugin XML File Generator pour créer un fichier de configuration d'action)
' Ce fichier doit être placé dans le dossier "Veler Software\SoftwareZator 2011 Edition ***\Sources\"
#Region "FileCode"

Public ReadOnly Property FileCode() As String Implements VelerSoftware.Plugins2.IPlugin2.FileCode
Get
Return "Mon_Plugin.Modifier_une_variable.xml"
End Get
End Property

#End Region

' Est égale au fichier html contenant la documentation devant être affiché dans l'Aide Rapide.
' Ce fichier doit être placé dans le dossier "Veler Software\SoftwareZator 2011 Edition ***\Help\Plugins\"
#Region "FileHelp"

Public ReadOnly Property FileHelp() As String Implements VelerSoftware.Plugins2.IPlugin2.FileHelp
Get
Return "Mon_Plugin.Modifier_une_variable.html"
End Get
End Property

#End Region

' Si une class doit être ajouté pour être compilé, le fichier source dans lequel se trouve le code doit être indiqué ici.
' Ce fichier doit être placé dans le dossier "Veler Software\SoftwareZator 2011 Edition ***\Sources\"
#Region "ClassCode"

Public ReadOnly Property ClassCode() As String Implements VelerSoftware.Plugins2.IPlugin2.ClassCode
Get
Return Nothing
End Get
End Property

#End Region

' Compatible ou non avec les racines des Fenêtres Windows et Class (premier onglet dans l'éditeur de fonctions)
#Region "CompatibleClass"

Public ReadOnly Property CompatibleClass() As Boolean Implements VelerSoftware.Plugins2.IPlugin2.CombatibleClass
Get
Return False
End Get
End Property

#End Region

' Compatible ou non avec les fonctions (tout les onglets de l'éditeur de fonctions sauf le premier)
#Region "CompatibleSubFunction"

Public ReadOnly Property CompatibleSubFonction() As Boolean Implements VelerSoftware.Plugins2.IPlugin2.CombatibleSubFonction
Get
Return True
End Get
End Property

#End Region

' Définit si l'action à un début et une fin. En outre, elle pourra recevoir des actions enfants si la propriété est True
#Region "Lines"

Public ReadOnly Property Lines() As Boolean Implements VelerSoftware.Plugins2.IPlugin2.Lines
Get
Return False
End Get
End Property

#End Region

' Paramètre numéro 1
#Region "Param1"

Private _Param1 As String = ""

Public Property Param1() As String Implements VelerSoftware.Plugins2.IPlugin2.Param1
Get
Return _Param1
End Get
Set(ByVal value As String)
_Param1 = value
End Set
End Property

#End Region

' Paramètre numéro 2
#Region "Param2"

Private _Param2 As String = ""

Public Property Param2() As String Implements VelerSoftware.Plugins2.IPlugin2.Param2
Get
Return _Param2
End Get
Set(ByVal value As String)
_Param2 = value
End Set
End Property

#End Region

' Paramètre numéro 3
#Region "Param3"

Private _Param3 As String = ""

Public Property Param3() As String Implements VelerSoftware.Plugins2.IPlugin2.Param3
Get
Return _Param3
End Get
Set(ByVal value As String)
_Param3 = value
End Set
End Property

#End Region

' Paramètre numéro 4
#Region "Param4"

Private _Param4 As String = ""

Public Property Param4() As String Implements VelerSoftware.Plugins2.IPlugin2.Param4
Get
Return _Param4
End Get
Set(ByVal value As String)
_Param4 = value
End Set
End Property

#End Region

' Paramètre numéro 5
#Region "Param5"

Private _Param5 As String = ""

Public Property Param5() As String Implements VelerSoftware.Plugins2.IPlugin2.Param5
Get
Return _Param5
End Get
Set(ByVal value As String)
_Param5 = value
End Set
End Property

#End Region

' Paramètre numéro 6
#Region "Param6"

Private _Param6 As String = ""

Public Property Param6() As String Implements VelerSoftware.Plugins2.IPlugin2.Param6
Get
Return _Param6
End Get
Set(ByVal value As String)
_Param6 = value
End Set
End Property

#End Region

' Paramètre numéro 7
#Region "Param7"

Private _Param7 As String = ""

Public Property Param7() As String Implements VelerSoftware.Plugins2.IPlugin2.Param7
Get
Return _Param7
End Get
Set(ByVal value As String)
_Param7 = value
End Set
End Property

#End Region

' Paramètre numéro 8
#Region "Param8"

Private _Param8 As String = ""

Public Property Param8() As String Implements VelerSoftware.Plugins2.IPlugin2.Param8
Get
Return _Param8
End Get
Set(ByVal value As String)
_Param8 = value
End Set
End Property

#End Region

' Paramètre numéro 9
#Region "Param9"

Private _Param9 As String = ""

Public Property Param9() As String Implements VelerSoftware.Plugins2.IPlugin2.Param9
Get
Return _Param9
End Get
Set(ByVal value As String)
_Param9 = value
End Set
End Property

#End Region

' Paramètre numéro 10
#Region "Param10"

Private _Param10 As String = ""

Public Property Param10() As String Implements VelerSoftware.Plugins2.IPlugin2.Param10
Get
Return _Param10
End Get
Set(ByVal value As String)
_Param10 = value
End Set
End Property

#End Region

' Paramètre numéro 11
#Region "Param11"

Private _Param11 As String = ""

Public Property Param11() As String Implements VelerSoftware.Plugins2.IPlugin2.Param11
Get
Return _Param11
End Get
Set(ByVal value As String)
_Param11 = value
End Set
End Property

#End Region

' Paramètre numéro 12
#Region "Param12"

Private _Param12 As String = ""

Public Property Param12() As String Implements VelerSoftware.Plugins2.IPlugin2.Param12
Get
Return _Param12
End Get
Set(ByVal value As String)
_Param12 = value
End Set
End Property

#End Region

' Paramètre numéro 13
#Region "Param13"

Private _Param13 As String = ""

Public Property Param13() As String Implements VelerSoftware.Plugins2.IPlugin2.Param13
Get
Return _Param13
End Get
Set(ByVal value As String)
_Param13 = value
End Set
End Property

#End Region

' Paramètre numéro 14
#Region "Param14"

Private _Param14 As String = ""

Public Property Param14() As String Implements VelerSoftware.Plugins2.IPlugin2.Param14
Get
Return _Param14
End Get
Set(ByVal value As String)
_Param14 = value
End Set
End Property

#End Region

' Paramètre numéro 15
#Region "Param15"

Private _Param15 As String = ""

Public Property Param15() As String Implements VelerSoftware.Plugins2.IPlugin2.Param15
Get
Return _Param15
End Get
Set(ByVal value As String)
_Param15 = value
End Set
End Property

#End Region

' Paramètre numéro 16
#Region "Param16"

Private _Param16 As String = ""

Public Property Param16() As String Implements VelerSoftware.Plugins2.IPlugin2.Param16
Get
Return _Param16
End Get
Set(ByVal value As String)
_Param16 = value
End Set
End Property

#End Region

' Paramètre numéro 17
#Region "Param17"

Private _Param17 As String = ""

Public Property Param17() As String Implements VelerSoftware.Plugins2.IPlugin2.Param17
Get
Return _Param17
End Get
Set(ByVal value As String)
_Param17 = value
End Set
End Property

#End Region

' Paramètre numéro 18
#Region "Param18"

Private _Param18 As String = ""

Public Property Param18() As String Implements VelerSoftware.Plugins2.IPlugin2.Param18
Get
Return _Param18
End Get
Set(ByVal value As String)
_Param18 = value
End Set
End Property

#End Region

' Paramètre numéro 19
#Region "Param19"

Private _Param19 As String = ""

Public Property Param19() As String Implements VelerSoftware.Plugins2.IPlugin2.Param19
Get
Return _Param19
End Get
Set(ByVal value As String)
_Param19 = value
End Set
End Property

#End Region

' Paramètre numéro 20
#Region "Param20"

Private _Param20 As String = ""

Public Property Param20() As String Implements VelerSoftware.Plugins2.IPlugin2.Param20
Get
Return _Param20
End Get
Set(ByVal value As String)
_Param20 = value
End Set
End Property

#End Region

End Class

Dans Visual Basic, faites Générer > "Générer la solution". Voila notre Dll est terminée 


Etape 7 - Création du fichier XML


Ouvrez votre créateur / Editeur de site, faites Nouveau > Fichier XML, cela peut dépendre de votre logiciel. Dans le XML, mettez :

{PARAM1} = {PARAM2}

Donc sa doit ressembler a ceci quand on ouvre avec le bloc-note

<?xml version="1.0" encoding="utf-8"?>
<SZCC>
<Reference value="System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<Reference value="mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />

<StartCode type="SubFunction">{PARAM1} = {PARAM2}</StartCode>
</SZCC>

On enregistre le .xml AVEC LE NOM que vous lui avez donné dans la class, donc pour notre plugin c'est "Mon_Plugin.Modifier_une_variable.xml"


Etape 8 - Création du fichier Aide (Html)


Ouvrez votre éditeur de site, créer un fichier html, et copier le contenu d'un des fichier html de ProgramFiles>Veler Software>SoftwareZator 2011>Help>Plugins

Enregistrer le avec le nom que vous lui avez attribué dans la classe, donc pour notre plugin c'est "Mon_Plugin.Modifier_une_variable.html"

Changer le texte selon votre plugin ! Soyez assez précis sans être long : d’où le nom de « Aide rapide ».


Etape 9 - Création de l'installation


Créez l'installation avec InnoSetup, SZInstallSystem 2011, Install creator, Avanced Installer, ... Fin c'est vous qui voyez.

Voici les destinations des fichiers du plugin : 

Votre fichier .xml, mettez le dans ProgramFiles > Veler Software > SoftwareZator 2011 > Sources
Votre fichier .dll, mettez le dans ProgramFiles > Veler Software > SoftwareZator 2011> Plugins
Votre fichier .html, mettez le dans ProgramFiles > Veler Software > SoftwareZator 2011> Help > Plugins

Après la création de l'installation de ce plugin, publier le sur votre site (par exemples) dans une section spécial plugin SoftwareZator 2011.

Puis rendez vous sur SZStore et proposez votre plugin.


Etape 10 - Installation du plugin


Installez votre plugin et Hop il est près a l'emplois dans SoftwareZator 2011 !


Voila toutes les étapes de la création d'un plugin.

Merci a : 
Xavier Villelégier (Xav2303)Pour le tuto SoftwareZator 1.0 
Etienne Baudoux (Veler Software) Pour le SDK fourni avec SoftwareZator 2011


Aucune note. Soyez le premier à attribuer une note !

Commentaires (1)

Tinei
Merci infiniment ! J'ai hâte d'essayer !

Ajouter un commentaire

Vous utilisez un logiciel de type AdBlock, qui bloque le service de captchas publicitaires utilisé sur ce site. Pour pouvoir envoyer votre message, désactivez Adblock.