Comment créer un plugin / module simple sur cpanel

Bonjour cher visiteur,


Je n'ai malheureusement plus beaucoup le temps de m'occuper du site en ce moment, si le projet de l'animer t'intéresse, n'hésite pas à me contacter ! :)

Tout d'abord, si vous n'avez pas encore créé votre serveur cPanel, n'hésitez pas à revoir notre article suivant : Comment créer un serveur cPanel de A à Z


Maintenant, vous souhaitez créer un plugin qui va vous permettre d'afficher une page sur votre cPanel, exactement comme n'importe quelle page actuellement accessible, ce n'est pas très compliqué, regardez les étapes à suivre ci-dessous.


1. Créer le fichier du plugin cPanel dans le WHM

Rendez-vous dans votre WHM, et cherchez "plugin" dans la barre de recherche de gauche, vous trouverez ainsi le lien suivant : cPanel Plugin File Generator


Cliquez sur ce lien et vous arriverez sur une page qui va vous permettre de créer un plugin / module cPanel, avec la possibilité de choisir une icône et un nouveau groupe pour vos liens / pages du plugin.


Nous allons renseigner des informations d'exemple pour le tutoriel, mais entrez ce que vous souhaitez. :)


Dans cet exemple, nous allons faire comme si nous souhaitions créer un plugin qui ajoutera une page qui expliquera comment créer un WordPress.


Il faut donc remplir les champs suivants :


  • Unique Identifier : choisissez un identifiant unique pour ce plugin ( N'utilisez que des lettres, nombres et les tirets, pas d'espaces)
  • Name : choisissez un nom pour ce plugin, vous n'avez pas de restrictions par rapport aux caractères
  • Featured Manager Support : Cochez cette option si vous souhaitez pouvoir activer et désactiver ce plugin selon le "package" dans le "Feature Manager" de WHM.
  • Group : Sélectionnez un groupe existant, ou créer-en un nouveau en cliquant sur le bouton + à droite.
  • Priority : Choisissez la priorité de ce plugin, ce n'est utile que si vous souhaitez en créer plusieurs dans le même groupe (Nous en reparlerons plus bas), en attendant vous pouvez mettre "1".
  • URI : Entrez l'url du plugin concerné, ce sera l'URL qui sera utilisée pour accéder à la page du plugin dans le cPanel. Par exemple : mon-plugin/index.live.php (Je mets volontairement index.live.php au lieu de index.php car c'est ce que préconise cPanel afin de pouvoir faire des appels de différentes parties de cpanel comme le header et le footer, et utiliser l'API pour créer des plugins plus complexes)
  • URI Target : Laissez vide par défaut, cela permet de créer un lien externe, par exemple si vous souhaitez que l'icône redirige vers la page de Google, ou d'un outil comme GTMetrix..
  • Icon : Sélectionnez une icône sur votre ordinateur, elle doit être au format .png ou .svg et mesurer 48px*48px (c'est ce qui es recommandé).

Une fois les champs remplis, cliquez sur le bouton "Add item", et vous allez voir que cela a été ajouté dans un bloc à droite.

Pour le moment le plugin n'est pas créé, cela a juste enregistré une partie.


Vous pouvez soit de nouveau remplir le formulaire afin de créer un deuxième plugin, dans le même groupe, ou dans un autre, soit cliquer sur le bouton bleu "Generate" pour générer le fichier du plugin et pouvoir l'installer.


Si vous cliquez sur le bouton bleu "Generate", cela va donc créer un "package" qui contiendra tous les plugins que vous venez d'ajouter.

Le fichier du plugin sera donc automatiquement généré dans le dossier /var/cpanel/cpanel_plugin_generator/ de votre serveur.


Nous allons donc maintenant pouvoir installer le plugin :)


2. Installer le plugin sur cPanel


Pour installer le plugin, connectez-vous en SSH à votre serveur cPanel, et avant tout, rendez-vous dans le dossier /var/cpanel/cpanel_plugin_generator/ afin de vérifier que le fichier du plugin a bien été généré :


Code
  1. [[email protected] ~]# cd /var/cpanel/cpanel_plugin_generator/
  2. [[email protected] cpanel_plugin_generator]# ls
  3. mon-nouveau-plugin.tar.gz

En tapant les deux premières commandes, vous devriez donc voir votre fichier de plugin compressé au format .tar.gz.




Nous pouvons donc l'installer en tapant la commande suivante :


Code
  1. [[email protected] ~]# /usr/local/cpanel/scripts/install_plugin /var/cpanel/cpanel_plugin_generator/mon-nouveau-plugin.tar.gz --theme paper_lantern

Remplacez le nom du fichier (mon-nouveau-plugin)par le vôtre bien sûr, et vous devriez voir cela :


Code
  1. info [install_plugin] Installing to paper_lantern
  2. info [install_plugin] Installing creer-wordpress in feature manager ...
  3. info [install_plugin] Done
  4. info [install_plugin] Running sprite_generator
  5. info [install_plugin] Queueing task to update API spec files
  6. Plugin installed ok




Votre plugin est donc correctement installé, il ne reste plus qu'à aller voir dans le cPanel !




Et voilà, le lien est bien ajouté, dans mon nouveau groupe, tout en bas de la page !


C'est super, mais lorsque vous allez cliquer sur le lien, vous allez tomber sur une erreur 404, car le plugin est bien enregistré sur cPanel, mais aucune page n'est réellement créée !


Nous allons donc nous rendre dans les fichiers du cPanel et créer notre page.


3. Création de la page

Vous pouvez créer le dossier du plugin et le fichier de la page via SSH, mais c'est beaucoup plus simple de passer par SFTP pour gérer les fichiers, avec un accès Root. Personnellement j'utilise MobaXterm, je vous le conseille vivement, il est très pratique et puissant, pour en savoir plus, c'est par ici : https://mobaxterm.mobatek.net/


Son avantage est qu'il permet de se connecter en SSH et SFTP en même temps, vous pouvez donc utiliser la ligne de commande et naviguer dans les dossier avec la souris tout comme FileZilla par exemple :)


Avant tout, vous devez donc vous rendre dans le dossier cPanel de votre thème, généralement ce sera le dossier de Paper_Lantern : /usr/local/cpanel/base/frontend/paper_lantern/

Une fois ici, créez un dossier dont le nom sera celui que vous avez spécifié lors de la création du plugin, précédemment nous avions mis que le plugin serait appelé à l'adresse suivante : mon-plugin/index.live.php

Donc créez un dossier nommé "mon-plugin" et créer un fichier à l'intérieur de celui-ci, nommé "index.live.php".


Si vous vous rendez sur votre cPanel et que vous cliquez maintenant sur la nouvelle icône de notre plugin pour accéder à la page, vous devriez voir le message suivant : Child failed to make LIVEAPI connection to cPanel.

Cela est normal car notre page est vide ;)


Nous allons donc maintenant passer au contenu de notre page !


4. Le contenu de la page du plugin cPanel


Tout d'abord, vous devez savoir trois choses intéressantes :

  • cPanel utilise Bootstrap 3, donc la plupart des composants de Bootstrap que vous souhaiterez, utiliser comme les "panels", les "tableaux", les "modals" etc fonctionneront. cPanel propose aussi un site qui montre le "Style Guide" de cPanel, et vous pouvez y récupérer des bouts de code pour l'interface de votre plugin : https://styleguide.cpanel.net/
  • cPanel propose deux dossiers dans lesquels il y a des fichiers d'exemple de pages de plugins que vous pouvez réutiliser, ils se trouvent dans les dossier "integration" et "integration_examples" de /usr/local/cpanel/base/frontend/paper_lantern/. Vous pouvez donc les éditer pour voir le contenu de ces fichiers et vous en inspirer.
  • La dernière chose intéressante est que vous n'êtes pas obligé de faire vos pages en PHP, vous pouvez aussi utiliser le Template Toolkit de cPanel, bien plus compliqué pour ceux qui ne connaissent pas vraiment, je vous conseille donc de rester en PHP, surtout que vous pouvez créer du contenu uniquement statique aussi.


Vous retrouverez des liens utiles en bas de la page pour approfondir vos connaissances sur la création de plugins cPanel :)


Ouvrez le fichier index.live.php que vous avez précédemment créé et insérez ceci au début :


PHP
  1. <?php
  2. include("/usr/local/cpanel/php/cpanel.php");
  3. $cpanel = new CPANEL();
  4. print $cpanel->header( "Comment cr&eacute;er un WordPress" );
  5. ?>


C'est ce bout de code qui va appeler le header de l'interface de votre cPanel.

Vous avez remarqué qu'il y a mon titre "Comment créer un WordPress", remplacez-le par ce que vous souhaitez. Attention tout de même, comme vous pouvez le voir, au lieu de "é", j'ai mis le code HTML du e avec accent aigü, car si vous mettez un accent, un apostrophe ou autre caractère de ce genre en brut, votre plugin ne fonctionnera plus, il faut donc mettre le code HTML pour que cela s'affiche correctement sans avoir l'erreur "Child failed to make LIVEAPI connection to cPanel".

Pour en savoir plus sur les codes HTML à utiliser : http://www.commentcamarche.net…-caracteres-speciaux-html


Nous allons maintenant ajouter le bout de code qui va appeler le footer de la page, le voici :


PHP
  1. <?php
  2. print $cpanel->footer();
  3. $cpanel->end();
  4. ?>



Copiez et collez-le à la suite, puis sauvegardez et allez voir votre page de plugin, voici ce que vous devriez avoir :






Et voilà votre page de plugin fonctionne et vous pouvez ajouter tout le contenu que vous souhaitez entre les deux bouts de code que vous avez ajouté précédemment ! :)


Par exemple, remplacez le contenu de votre page par le code suivant et admirez le résultat :



Intéressant non ? Bien sûr il s'agit d'une page statique, mais si vous souhaitez mettre un formulaire de contact à l'intérieur, cela fonctionnera sans problème.


Si vous voulez ajouter un autre lien avec icône dans ce groupe, recommencez à la première étape, et choisissez le groupe concerné :)



5. Liens utiles


Pour créer des plugins qui respectent l'interface de cPanel : https://styleguide.cpanel.net

Pour en apprendre plus sur la création de plugins cPanel : https://documentation.cpanel.n…K/Guide+to+cPanel+Plugins

Pour en apprendre plus sur la création de plugin WHM : https://documentation.cpanel.n…/SDK/Guide+to+WHM+Plugins

    Partager

    Commentaires