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.
PhpMySport 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 ».
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.
Nous allons voir en détails les fichiers « conf.php », « install.php » et « include.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 » est un fichier d’installation qui est nécessaire pour que les futurs utilisateurs puissent installer facilement le plugin. Il sert notamment à :
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 » joue deux rôles :
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).
Voici les différentes étapes à suivre pour réaliser un nouveau plugin :
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.
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.
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.
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.
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 :
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.
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)