Vous découvrirez dans ce tutoriel magento comment partager au mieux avec la communauté votre module, le tout grâce au système de versioning et à la marketplace proposée par magento.

Nous allons aujourd’hui découvrir comment ajouter un module gratuit (Soyons pro open source: après tout, mes tutoriels de modules magento sont gratuits ! )

La publication d’un module se fait en deux étapes :

  1. Packager votre extension
  2. L’uploader sur magento connect

Je pars ici du principe que vous avez déjà créé votre compte developpeur sur magentoconnect.
Il s’agit ensuite de faire un package avec quelques subtilités qui ne sautent pas aux yeux dans la doc officielle. Commencer par vous rendre dans System -> magento connect -> package extension

Configuration des infos générales

Vous allez devoir configurer ici :

  • Nom : je conseil ici d’utiliser le nom du module
  • Canal : Précisez ici local (il est peut probable que vous ayez à saisir, core ou community)
  • 2 étapes de description : c’est en général à ce moment que vous êtes soit plein de fierté de dérouler vos fonctionalités ou que vous vous rappelez que la littérature c’est pas votre genre)
  • Nom de la licence : Vous devrez ici faire un choix autant crucial que compliqué quand au type de licence open source que vous voulez mettre en place!
  • Texte de licence : Coller ici l’url du texte, par exemple http://www.opensource.org/licenses en propose tout une série intéressante.

parametrage des infos du package de l'extension

Configuration des infos de version

Ici il vous est demandé de définir la version de votre package, privilégier d’y indiquer la même version que dans votre xml de configuration pour plus de cohérence (et de traçabilité)parametrage des infos de version du package

C’est ici que ça se complique, vous allez devoir indiquer (bon courage) les versions nécessaires de php ainsi que les dépendances, tant en terme d’autre modules magento (dans le cas de surcharge) que d’extension php. Si votre module utilise des bibliothèques précises il faudra ici les spécifier. Personnelement je vous conseil de mettre en minimum la version php de votre environement de DEV, et de pousser à php 6.0 pour le maximum. (php 6 étant plus ou moins abandonné aux dernières nouvelles)

dépendance module

Spécifier les sources de votre module

Ici on est dans le flou artisitique le plus total. ou plutot l’assistance à outrance… Bref dans les champs suivants sans doute allez vous vouloir placer des urls complètes pour chaque partie de votre module du type: /app/code/local/Valibus/Compar et bien non, ça ne marche pas…(à moins de tester avec le choix magento other) en fait vous allez préciser le type de source, sachant qu’au minimum vous avez la déclaration du module dans app/etc/modules/Valibus_Compar.xml ainsi que la partie module propre /app/code/local/Valibus/Compar. N’oubliez pas les éventuels mais très probables templates et layouts situés dans app/design un peu partout.

L’écran vous propose de défini des fichiers uniques ou tout un répertoire et ses enfants. Veillez bien sur à ne pas indiquer tout un sous répertoire quand un seul fichier vous intéresse.

Les règles de nommages sont les suivantes, pour chaque choix dans la liste le début de l’url est déjà renseigné vous n’avez plus qu’à la compléter en fonction de la matrice suivante.

  • Magento Local module file – ./app/code/local
  • Magento Community module file – ./app/code/community
  • Magento Core team module file – ./app/code/core
  • Magento User Interface (layouts, templates) – ./app/design
  • Magento Global Configuration – ./app/etc
  • Magento PHP Library file – ./lib
  • Magento Locale language file – ./app/locale
  • Magento Media library – ./media
  • Magento Theme Skin (Images, CSS, JS) – ./skin
  • Magento Other web accessible file – ./
  • Magento PHPUnit test – ./tests
  • Magento other – ./

Ce qui donne quelque chose de cet ordre :

paramétrage des codes sources du module

L’export du module

Il ne vous reste plus qu’à cliquer sur save data and export package, et vous trouverez les fichiers dans ./var/connect/ si vous avez choisir une extension de type 1.5 et plus récente, ou sinon dans /var/pear/

Quoi qu’il en soit le fichier qui vous intéresse est le suivant valibus_compar-0.0.2.tgz valibus_compar étant ici nommé votre: « extension key ».

Votre module est désormais prêt à être exporter sur magento connect, une validation par les équipes de magento prenant en théorie au plus 3 jours.