Hachther Blog > Open Source  > Comment développer un plugin Mautic: Commencer

Comment développer un plugin Mautic: Commencer

Lorsque j’ai lancé ma première application, je voulais un outil open source pour le mailing (je suis un grand fan de l’outil open source). Après quelques recherches, j’ai trouvé Mautic une plateforme open source pour l’automatisation du marketing.

J’en suis immédiatement tombé amoureux parce qu’il a les fonctionnalités fondamentales dont j’avais besoin et que les développeurs travaillent tous les jours pour l’améliorer. Mais au bout d’un moment, j’ai commencé à en vouloir plus donc j’ai décidé de développer mon propre plugin puisque Mautic a un framework pour le faire. Dans cet article et les suivants, je vais partager les expériences que j’ai eu pendant mon voyage de développement de mon plugin Mautic.

Nous allons commencer par configurer un plugin HelloWord dans cet article et nous passerons à des sujets plus spécifiques comme le Management Permission, MVC, … dans les prochains. Mais avant de démarrer un plugin, il est nécessaire de configurer l’environnement de développement.

Configurer l’environnement de développement

Installation pour le développement

En mode production, il vous suffit de le télécharger sur votre serveur et de suivre quelques étapes pour l’installer. Mais quand vous voulez développer un plugin Mautic, vous devez l’installer en mode développement. Pour ce faire, vous devez d’abord avoir composer et git installer sur votre serveur. Il vous suffit de cloner la source à partir du référentiel GitHub et d’ouvrir votre navigateur pour terminer l’installation.

Puisque vous voulez déployer votre plugin sur la production, je vous conseille fortement d’utiliser cette méthode pour installer la production. Par exemple pour développer mon plugin j’avais besoin d’intégrer une bibliothèque de Telegram: l’utilisation de cette méthode m’a permis d’intégrer la librairie en production également.

Configurez votre environnement DEV

Mautic (basé sur Symfony) possède trois environnements: prod, test et dev. Test est pour les tests unitaires, prod est pour la production et dev est ce qui nous intéresse: pour le développement.

L’environnement prod est l’environnement par défaut accessible via index.php.

Pour le développement du plugin, nous allons utiliser celui du DEV, accessible via index_dev.php

Mise à niveau de Mautic

En production, Mautic fournit déjà un script que vous pouvez exécuter la mise à niveau. Mais en mode développement, vous devez utiliser git et d’autres commandes pour effectuer la mise à niveau. Chaque fois qu’une nouvelle version est publiée, vous pouvez suivre ces étapes pour mettre à jour votre Mautic:

  1. Déplacez-vous dans le dossier de votre Mautic et faites un Git Pull: git pull
  2. Passez à la branche: git checkout -b [nom-tag] (une nouvelle branche est générée pour chaque nouvelle version. Vous pouvez vérifier le dépot github pour trouver le nom de la branche: https://github.com/mautic/mautic )
  3. Modifiez composer.json pour ajouter une bibliothèque personnalisée si nécessaire, puis mettez à jour le composer: composer update
  4. Migrez le schéma de doctrine: doctrine php app / console: migrations: migrate (php app/console doctrine:schema:update –dump-sql peut être utilisé pour voir les modifications)

Initialisez votre plugin Mautic: HelloWord

Maintenant que votre environnement est prêt, vous pouvez commencer avec votre plugin. Pour démarrer un plugin, il suffit de créer dans un dossier dans plugins à la racine de votre dossier Mautic. Le nom du dossier doit avoir ce format: Mautic[bundlename]Bundle (expl: MauticHelloWordBundle).

Maintenant, vous devez créer au moins la structure ci-dessous pour pouvoir avoir un plugin Mautic:


MauticHelloWorldBundle/
--- Config/
----- config.php
--- MauticHelloWorldBundle.php

Ci-dessous le code minimum pour MauticHelloWorldBundle.php

// plugins/HelloWorldBundle/HelloWorldBundle.php

namespace MauticPluginHelloWorldBundle;

use MauticPluginBundleBundlePluginBundleBase;

class HelloWorldBundle extends PluginBundleBase
{
    // Nothing more required
}

Et pour avoir plus d’informations sur le fichier de configuration Veuillez suivre ce lien

Merci d’avoir lu cet article. Cet article est juste le premier d’une série. Puisque je travaille actuellement avec Mautic, je vais essayer de partager mon expérience.

Article Suivant

No Comments

Leave a reply