ContribCliquez ici pour proposer des corrections ou des compléments pour cette page.
Les plugins

Les Plugins sont des programmes qui permettent d'ajouter de nouvelles fonctionnalités à X-Plane. Comme tous programmes, ils sont dépendants du système d'exploitation. C'est pourquoi il y a des plugins différents pour Windows, Mac et Linux, et pour les versions 32b et 64b du système d'exploitation.

Plugin compilé ou interprété ?

Il est possible d'écrire un plugin de deux façons assez différentes :

Plugin Compilé

- le source du plugin est compilés en code dit "natif" (celui compris directement par le processeur). C'est le plus performant en terme de vitesse, de ressources (mémoire, processeur) et de possibilités pour le développeur : toutes les ressources du langage et de l'OS sont permises.

Malheureusement, pour que le plugin soit opérationnel sur chacune des plateformes, le source du plugin devra être compilé dans autant de version que de d'OS, donc théoriquement en 5 exemplaires : MacOs, Linux 32b, Linux 64b, Windows 32b, Windows 64b, ce qui complique souvent l'écriture pour inclure les particularités de chaque OS dans un même fichier source.

Tous les langages peuvent être utilisés du moment que leur compilateur sait générer une DLL (pour windows) ou une Librairie (pour Linux et Mac) : C, C++, Pascal, Fortran, Forth, etc. Toutefois le SDK fournit par Laminar ne contient les entêtes que pour les langages C/C++ et Pascal. Pour utiliser un autre langage il faudra traduire ces entêtes. C'est fastidieux mais pas rédhibitoire.

Plugin interprété

- le plugin est fourni sous forme de script qui sera interprété ou pseudo compilé (compilé en pseudocode et ce pseudo-code sera interprété) par un plugin interpréteur (lui-même compilé en langage natif).

L'interpréteur est une "couche" logicielle supplémentaire entre votre script et X-Plane -> le plugin final est moins performants en terme de vitesse et d'utilisation mémoire, ses possibilités sont limitées à celles intégrées dans l'interpréteur, mais il a en contrepartie la simplicité : une seule version du script est nécessaire quelque soit l'OS puisque c'est l'interpréteur qui est compilé en langage natif et qui est fournit en autant de versions de d'OS.

Il existe actuellement trois plugins interpréteurs : - L'interpréteur Python de Sandy Barbour http://www.xpluginsdk.org/python_interface.htm - Gizmo (produit commercial) http://www.x-plugins.com - SASL (open source GPL3) https://code.google.com/p/sasl/

Gizmo et SASL interprêtent tous deux des scripts écrits en langage LUA. ATTENTION : Gizmo et SASL sont mutuellement incompatibles et certains plugins sont liés à une version particulière de l'interpréteur, ce qui complique leur gestion par les utilisateurs.

Si vous n'avez jamais programmé et si les besoins de votre script restent simples, un script interprété devrait vous permettre de déboucher rapidement avec une charge supportable (peu visible) de X-Plane.

Si vous connaissez déjà la programmation ou si votre plugin a besoin de ressources non négligeables (interactions graphiques, communication réseau en temps réel, ...), un plugin compilé sera probablement à conseiller.

Ressources indispensables

Pour pouvoir écrire un plugin correct il vous faudra impérativement:

  • un bonne connaissance du langage utilisé
  • une bonne connaissance des OS, surtout si le plugin interagit avec eux (gestion de fichers, de son, d'images, etc)
  • une version du SDK (Software Development Kit) de X-Plane adapté au langage utilisé, à l'OS cible et à la version de X-Plane ciblée.
  • une bonne connaissance des Datarefs.

La page principale pour trouver des informations sur la programmation des plugins est le site officiel du X-Plane Plugin SDK.