S'inscrire | Pass oublié
English Français
Rechercher dans le wiki

Manuel du développeur : Développer plugins

Qu’est-ce qu’un plugin ?

Un plugin est un programme qui interagit avec un logiciel, en l’occurrence phpMySport, pour lui apporter de nouvelles fonctionnalités. En créant votre propre plugin ou en installant un plugin existant, il est donc possible d’augmenter considérablement les capacités de phpMySport. Par exemple, vous allez pouvoir intégrer des galeries photos, des flux RSS ou pourquoi pas reprendre la gestion des actualités inclus par défaut dans phpMySport pour y apporter des améliorations.

Vous souhaitez créer votre propre plugin ? Alors lisez attentivement les explications qui vous sont données ci-après. Après avoir étudié l’organisation des fichiers d’un plugins, nous verrons étape par étape comment réaliser un plugin, avant de finir avec un exemple concret.

Organisation des fichiers d’un plugin

Le répertoire « plugin » de phpMySport

Dossier pluginPhpMySport possède un dossier « plugin/ » dans lequel les plugins téléchargés ou développés doivent être placés.

Ci-contre est représentée l’arborescence du dossier plugin contenant 2 plugins intitulés « link » et « my_plugin ».

Organisation d’un plugin

De son côté, un plugin comporte 3 sortes de fichiers.

Les premiers sont indispensables et constituent le cœur du plugin. Ils interviennent dans la compréhension, le fonctionnement et l’intégration du plugin dans phpMySport. Les seconds sont optionnels et dépendent uniquement des besoins du plugin. Enfin, les autres fichiers seront ceux qui apportent la nouvelle fonctionnalité proposé par le plugin.

Les fichiers indispensables

  • conf.php : fichier de configuration du plugin
  • include.php : fichier qui relie phpMySport et le plugin
  • install.php : assistant d’installation du plugin
  • lg_xxxx_yy.php : fichier de langue du plugin xxxx
  • tpl_xxxx.php : fichier répertoriant les pages templates utilisées
  • read_me.txt : description du plugin
  • index.html : fichier vide permettant de sécuriser le plugin

Nous allons voir en détails les fichiers « conf.php », « install.php » et « include.php »

Le fichier « conf.php »

Comme son nom l’indique, le fichier « conf.php » contient des informations sur la configuration du plugin. Il permet également de faire le lien entre phpMySport et le plugin. Les variables qu’il contient sont en effet utilisées pour le détecter et l’intégrer au logiciel.

Attention donc à ne pas modifier le nom des variables utilisées, sinon phpMySport ne pourra pas détecter pas votre plugin !

Voici les informations minimales que le fichier « conf.php » doit comporter :

Variable Exemple de valeur Description

$plugin_name

Mon plugin Nom du plugin

$plugin_idurl

monplugin Identifiant utilisé pour l’url. Il s’agit d’un mot sans espace et sans caractères spéciaux

$plugin_root

ROOT."/plugin/my_plugin" Chemin indiquant où se situe le répertoire du plugin. Le dernier caractère ne doit pas être un slash « / »

$plugin_install

0 ou 1 Indique si le plugin a été installé (1) ou non (0)

$plugin_active

0 ou 1 Indique si le plugin est activité (1) ou non (0)

$plugin_lang

array("fr","en") Tableau contenant la liste des langues dans lequel le plugin a été traduit. La langue est indiqué par une abréviation de 2 lettres.

$plugin_page_admin

array("install","form") Tableau contenant la liste des pages protégées et réservées uniquement à l’administrateur du site. Il s’agit souvent du fichier d’installation et des formulaires d’ajout et de modification des données.

Le fichier « install.php »

Le fichier « install.php » est un fichier d’installation qui est nécessaire pour que les futurs utilisateurs puissent installer facilement le plugin. Il sert notamment à :

  • exécuter les requêtes SQL de modification de la base de données, si besoin.
  • de modifier le fichier de configuration du plugin « conf.php » pour l’activer. Lors de cette étape, les variables $plugin_install et $plugin_active sont mises à 1.

Il est accompagné par un fichier template ce qui permet d’obtenir un assistant visuel lors de l’installation du plugin par l’utilisateur.

Remarque : les prochaines versions nécessiteront sans doute un fichier de désinstallation.

Le fichier « include.php »

Le fichier « include.php » joue deux rôles :

  • il fait appel aux fichiers communs du plugin à savoir : le fichier de langue, les requêtes SQL, la liste des pages templates utilisées et éventuellement les fonctions ou classes utilisées.
  • il permet d’inclure le fichier .php correspondant à la page appelée. La page appelée est connue par la variable $_GET['v1'].

Les fichiers optionnels

  • sql_xxxx.php : ensemble des requêtes SQL utilisées par le plugin
  • bdd.txt : requête(s) SQL nécessaire à l’installation du plugin

Les autres fichiers apportant les nouvelles fonctionnalités

Il peut y en avoir un ou plusieurs, le choix des noms reste libre mais doit refléter l’action qu’ils réalisent. Par exemple, un fichier nommé « item_list.php » correspondra à une liste d’éléments « item ».

Chacun de ces fichiers est couplé à un fichier template portant le même nom mais utilisant l’extension .html. Il est conseillé de placer les fichiers template et les images utilisées par le plugin dans un dossier séparé « tpl ». La liste des fichiers templates doit être répertoriées dans le fichiers « tpl_xxxx.php » (avec xxxx correspondant au nom du plugin).

Comment créer un nouveau plugin ?

Voici les différentes étapes à suivre pour réaliser un nouveau plugin :

Etape 1

Dans le dossier « plugin/ » de phpMySport, créez un nouveau répertoire portant le nom de votre plugin. Nous l’appellerons le dossier racine de votre plugin. Dans ce nouveau dossier, créez un autre répertoire nommé « tpl » où seront placés les pages templates de votre plugin.

Etape 2

Créez tous les fichiers indispensables au bon fonctionnement du plugin tel qu’ils ont été décrits précédemment (voir la section Organisation des fichiers). Placez-les à la racine de votre plugin.

Etape 3

Si des informations doivent êtres stockés ou conservées, vous aurez peut-être besoin d’utiliser la base de données de phpMySport et de lui apporter des modifications. Pour cela, réfléchissez à l’organisation de vos données et créer un fichier .txt contenant la/les requête(s) SQL de création et/ou de modification de tables. Ce fichier sera nécessaire pour l’installation du plugin. A noter que vous pouvez également utiliser un ou plusieurs fichiers XML à la place de la base de données.

Etape 4

Créez un a un les fichiers apportant les nouvelles fonctionnalités du plugin. Dans ces fichiers PHP, il est vivement conseillé d’utiliser les variables, constantes et fonctions de phpMySport. Si besoin, vous pouvez également développer vos propres fonctions. Ces fichiers doivent être convenablement commentés et respecter la méthode de développement de phpMySport. Pensez à utiliser la fonction convert_url(), la variable $page et à indiquer le fichier template avec lequel ils sont reliés. N’oubliez pas de créer les fichiers templates correspondants dans le dossier « tpl/ », de les répertorier et de les déclarer dans le code de votre page.

Etape 5

Vous êtes en train de développer votre plugin ? Vous souhaitez sûrement vérifier le résultat de votre code… Pour cela, il vous suffit :

  • d’exécuter votre requête SQL de modification de la base de données (si nécessaire)
  • d’activer votre plugin en mettant les variables « $plugin_install » et « $plugin_active » à 1.

Ouvrez votre navigateur web et saisissez l’adresse de votre site phpMySport. Le nom de votre plugin apparaît alors dans le menu principal du logiciel.

Etape 6

Ca y est, votre plugin est enfin fonctionnel ? Alors il ne vous reste plus qu’à le faire connaître et à le diffuser pour que d’autres utilisateurs de phpMySport puissent l’installer à leur tour. Pour cela, rendez-vous sur le site officiel de phpMySport et allez dans la rubrique « extension » où vous trouverez les informations pratiques pour proposer votre plugin.

Cliquer ici pour voir un exemple concret de création de plugin (link)