Ce système de plugins vous permet de modifier n’importe quelle fonctionnalité du script selon vos besoins. L’installation et la mise à jour des plugins sur le site se font en un clic, directement depuis le panneau d’administration de DataLife Engine. Si un plugin a été développé pour le nouveau système, les utilisateurs n’ont plus besoin de lire des instructions d’installation ni de modifier directement les fichiers du script. Il leur suffit simplement de téléverser le plugin dans le panneau d’administration.
Le système de plugins est construit sur la technologie d’un système de fichiers virtuel. Dans le plugin, vous décrivez dans quel fichier et quelles actions doivent être effectuées. Sur la base de ces informations, DataLife Engine crée des copies virtuelles de ces fichiers avec toutes les modifications nécessaires et travaille ensuite avec ces copies virtuelles sans toucher aux fichiers originaux. Vous pouvez décrire des modifications dans pratiquement tous les fichiers, à l’exception de certains fichiers de base, par exemple les fichiers racine, qui n’assurent aucune autre fonction que l’inclusion d’autres fichiers. La fonctionnalité des fichiers responsables des fonctions AJAX peut également être modifiée ; pour cela, ils ont été entièrement réécrits pour fonctionner via un contrôleur. Quels avantages cela apporte-t-il ? Premièrement, les fichiers d’origine restent toujours inchangés, de sorte que les plugins peuvent être facilement modifiés, supprimés, mis à jour, etc. Deuxièmement, ce système n’entraîne qu’une charge minimale sur le site dans son ensemble, car les copies virtuelles des fichiers sont créées une seule fois, au moment de l’installation ou de la mise à jour des plugins. Ensuite, DataLife Engine travaille avec ces fichiers modifiés comme avec des fichiers natifs ordinaires, sans consommation supplémentaire de mémoire pour les points d’appel, le stockage et le contrôle des informations indiquant où et quelle fonctionnalité doit être modifiée. La charge du serveur n’augmente que de la charge apportée par le plugin lui-même, tandis que le système de gestion des plugins ne génère pas de charge supplémentaire. Troisièmement, il n’y a pas non plus de problème lors de la mise à jour du script : le script peut être mis à jour vers de nouvelles versions, et vos plugins s’appliqueront automatiquement à ces nouvelles versions. Différents plugins peuvent en outre modifier le même fichier sans provoquer de conflit, à condition bien sûr qu’ils n’effectuent pas des actions directement opposées.
Dans le module de gestion des plugins lui-même, vous pouvez soit créer un plugin directement depuis le panneau d’administration, soit téléverser un plugin prêt à l’emploi. Examinons l’ajout d’un nouveau plugin directement dans le panneau d’administration :
Dans le premier onglet, vous définissez les informations générales sur le plugin : son nom et sa courte description. Pour mieux le distinguer des autres plugins, vous pouvez également lui attribuer une icône qui sera utilisée dans la liste des plugins. Vous indiquez aussi la version du plugin lui-même et la version de DataLife Engine avec laquelle il est compatible.
Dans l’onglet suivant, vous définissez les actions à effectuer sur les fichiers. Vous pouvez ajouter un ou plusieurs fichiers sur lesquels des actions doivent être exécutées, et attribuer à chaque fichier une ou plusieurs actions. Dans les fichiers, vous pouvez effectuer les actions suivantes :
- Rechercher et remplacer un morceau de code.
- Rechercher une position et ajouter le code nécessaire au-dessus.
- Rechercher une position et ajouter un morceau de code en dessous.
- Remplacer complètement le contenu d’un fichier par le vôtre.
- Créer un nouveau fichier virtuel qui n’existe pas dans le DLE d’origine.
Vous pouvez à tout moment ajouter ou supprimer des fichiers, modifier ou supprimer des actions associées aux fichiers. Pour faciliter la lecture et l’édition, tout le code est affiché avec coloration syntaxique et les champs peuvent s’agrandir dynamiquement.
Ainsi, la situation où vous modifiiez auparavant manuellement les fichiers du script, gardiez vos modifications dans un bloc-notes, puis les réappliquiez à chaque mise à jour du script appartient totalement au passé. Vous pouvez créer votre propre plugin directement dans le panneau d’administration en décrivant une seule fois les modifications souhaitées dans le script, et lors d’une mise à jour vers une nouvelle version, vous n’aurez plus à vous en soucier : vos changements seront appliqués automatiquement aux nouvelles versions.
Dans l’onglet suivant, vous pouvez ajouter les actions nécessaires sur la base de données MySQL que le plugin doit exécuter selon la situation. Vous pouvez définir la liste des requêtes MySQL à exécuter lors de l’installation, de la mise à jour, de la désactivation, de l’activation ou de la suppression du plugin. Pour chaque action, vous pouvez définir soit une seule requête, soit une liste de plusieurs requêtes.
Pour un plugin existant, vous pouvez effectuer les actions suivantes : vous pouvez le désactiver ; dans ce cas, il reste sur le site, mais le script l’ignore complètement et toutes ses actions sur les fichiers sont suspendues. Vous pouvez le mettre à jour vers une version plus récente, si elle existe. Vous pouvez télécharger le plugin sur votre ordinateur afin de l’installer sur un autre site. Le fichier lui-même est téléchargé au format XML, et ce XML contient la description de toutes les actions. En pratique, un plugin est donc un fichier XML qui peut être installé sur un site via le panneau d’administration.
Voyons maintenant le téléversement d’un plugin déjà prêt sur le site. Vous pouvez téléverser et installer sur votre site un plugin déjà prêt. Lorsque vous cliquez sur le bouton correspondant, vous pouvez soit téléverser un fichier XML contenant le plugin, soit une archive ZIP avec le plugin. Cela permet de créer des plugins très complexes contenant un grand nombre de fichiers supplémentaires, tant graphiques que PHP. Par exemple, pour ne pas décrire toutes les actions directement dans le plugin, il est possible de créer des fichiers supplémentaires et de les regrouper dans une archive en les répartissant à de nouveaux emplacements. Il faut cependant savoir que l’archive ne peut contenir que des fichiers PHP qui ne font pas partie de la distribution, c’est-à-dire uniquement vos fichiers supplémentaires. Si l’archive contient des fichiers inclus dans la distribution, ce téléversement sera bloqué. La modification des fichiers standards doit être décrite directement dans le plugin. Le fichier XML du plugin doit en outre se trouver à la racine de l’archive.
Si vous téléversez une archive contenant un plugin et que DataLife Engine ne dispose pas des droits d’écriture sur les fichiers contenus dans cette archive, il demandera automatiquement les accès FTP nécessaires pour la téléverser. Si ces accès ne sont pas nécessaires, tout sera copié automatiquement sans eux. Ces accès ne seront conservés nulle part et seront automatiquement supprimés dès qu’ils ne seront plus nécessaires.
Le système de gestion des plugins dispose également d’un système intégré de journalisation des erreurs de plugin. Si une action sur des fichiers ne peut pas être exécutée ou si des erreurs se produisent, vous pourrez facilement les voir et les corriger. Cela est par exemple très pratique si votre plugin n’est pas compatible avec une future version de DLE : vous le verrez immédiatement et pourrez adapter le plugin rapidement.
Pour les plugins, il est possible d’utiliser dans le nom du plugin, sa description et ses notes les balises [lang=X] Texte [/lang]. Elles affichent le texte selon la langue utilisée par l’utilisateur dans le panneau d’administration, où X est le code ISO de la langue du pack linguistique. Vous pouvez ainsi afficher le nom et les notes dans différentes langues. Par exemple, la balise [lang=ru]Texte en russe[/lang] affichera ce texte si l’utilisateur utilise le russe, tandis que [lang=en]English Text[/lang] l’affichera si l’utilisateur utilise l’anglais.