Bazalt, Rock The Web!

Procédure de soumission d’un plugin dans l’annuaire WordPress

WordPress est devenu mon outil de prédilection pour créer des sites internet. Sa souplesse et sa modularité convient tout à fait à mes besoins de développeur. Quant à sa facilité d’utilisation, elle satisfait également mes clients grâce à une interface claire et confortable.

Pour rappel, WordPress est un système de gestion de contenus open-source reposant sur une grande communauté internationale. Chacun est libre d’élargir les possibilités de WordPress en développant des plugins (modules additionnels). Ces plugins peuvent ensuite être soumis à la communauté, les rendant ainsi librement téléchargeables sur le site http://wordpress.org/plugins/

J’ai eu par le passé l’occasion de développer bon nombre de thèmes et de plugins répondant à des besoins très spécifiques, mais je n’avais jusqu’alors jamais franchi le pas de proposer mes plugins à la communauté WordPress. C’est chose faite, puisque je viens pour la première fois de publier un plugin WordPress. C’est l’occasion pour moi de vous expliquer la démarche à suivre. La documentation de WordPress a l’avantage d’être très complète, mais certaines infos ont tendance à être dispersées à plusieurs endroits de la documentation.

Cet article se veut donc être une sorte de condensé du processus de soumission d’un plugin. Il pourra servir de mémo pour mes prochaines soumissions de plugins.

Présentation du plugin

Par défaut, WordPress permet de protéger un article (ou une page, ou tout autre type de contenu) par un mot de passe.

Pour les besoins d’un client, j’ai eu à développer un plugin permettant de spécifier plusieurs mots de passe sur un même article. En plus de cela, chaque mot de passe devait pouvoir expirer à une date précise, décidée par mon client. Le but étant de donner accès à certaines pages à des contacts durant un laps de temps déterminé.

J’ai donc développé le plugin P5, pour Plenty of Perishable Passwords for Protected Posts.
Mieux que quelques mots, voici une capture d’écran avant / après l’installation du plugin :

Développer ce plugin n’a pas été une mince affaire, j’espère donc qu’il répondra au besoin d’autres utilisateurs.

Je me suis efforcé de le rendre le moins intrusif possible afin de respecter au maximum le comportement par défaut du système WordPress. Il est de plus multilingue : développé en anglais avant d’être traduit en français, d’autres traductions peuvent être proposées par les membre de la communauté.
Le plugin P5 dispose de points d’accès permettant à d’autres développeurs de modifier son fonctionnement.

1. Commencer le développement du plugin et le rendre compatible avec les pré-requis WordPress

La documentation de WordPress dresse une liste d’indications destinée à vous aider dans le développement de vos plugins. Toutefois, certains de ces éléments sont en fait des pré-requis et peuvent bloquer l’acceptation de votre plugin dans l’annuaire officiel.

Choix d’une licence

Le plugin doit être publié sous license GPL2, ou tout autre licence compatible. La licence utilisée soit être précisée dans l’entête du fichier principal de votre plugin.

Fichier readme.txt

Un fichier readme.txt doit être créé à la racine du plugin. Ce fichier contient la quasi totalité des informations qui seront affichées sur la page dédiée de votre plugin, dans l’annuaire WordPress : Description, Installation, FAQ, Screenshots, Changelog, et toute autre information additionnelle.

Ce fichier utilise la syntaxe Markdown, et doit être créé en respectant une certaine structure. Un exemple est disponible sur le codex WordPress. Pour vous faciliter la tâche, il est également possible d’utiliser un générateur de fichier readme.

WordPress met à votre disposition un outil de validation de fichier readme, n’hésitez pas à vous en servir.

2. Créer un compte sur WordPress.org

La première chose à faire, si ce n’est pas déjà fait, est d’ouvrir un compte sur wordpress.org à l’adresse suivante : http://wordpress.org/support/register.php
Ce compte vous servira aussi bien à soumettre votre plugin qu’à vous connecter sur le forum ou à participer à l’amélioration du Codex.

3. Soumettre le plugin

Formulaire de soumission d'un nouveau plugin

Formulaire de soumission d’un nouveau plugin

La seconde étape consiste à remplir la demande de soumission de votre plugin à l’adresse http://wordpress.org/plugins/add/
Le formulaire vous demande l’URL de votre plugin, vous devrez donc au préalable déposer votre plugin au format ZIP à une URL accessible.

La validation se fait manuellement par un membre de la communauté WordPress, le délais d’acceptation peut donc varier.

4. Utilisation du dépôt Subversion (SVN)

Si votre plugin respecte les pré-requis, vous devriez recevoir sous 24h un mail de validation. Ce mail contient l’URL du dépôt SVN de votre plugin. Si vous n’êtes pas familiers avec l’utilisation de SVN, je vous invite à lire la documentation et la page du Codex WordPress dédiée à son usage.

La page dédiée au plugin P5 sur l'annuaire WordPress

La page dédiée au plugin P5 sur l’annuaire WordPress

A cet instant, vous devriez pouvoir accéder à la page de votre plugin à l’adresse http://wordpress.org/plugins/nom-du-plugin.
Cette page est toutefois vide, et un message vous indique que le plugin n’est pas encore disponible. Il ne le sera qu’après votre premier commit.

Voici la structure du dépôt SVN propre à chaque plugin :

  • /assets est un dossier destiné à accueillir les captures d’écrans qui seront utilisées sur l’annuaire dans l’onglet Screenshots de votre plugin. Vos fichiers peuvent être au format JPG, PNG ou GIF, et être nommés de la manière suivante :

    • screenshot-1.(png | jpg | jpeg | gif),
    • screenshot-2.(png | jpg | jpeg | gif),
    • etc

    Ce dossier peut également accueillir la bannière qui illustre votre plugin. Pour cela, déposer-y un fichier JPG ou PNG nommé banner-772×250.(png | jpg). Vous pouvez spécifier un fichier différent pour les écrans HDPI / Retina : banner-1544×500.(jpg | png). Cet article (en anglais) dispose de très bonnes indications pour vous aider à construire vos bannières.

  • /branches dossier utilisé pour développer les différentes modifications de votre plugin.

  • /tags contient les différentes versions stables de votre plugin. A chaque mise à jour majeure de votre plugin, n’oubliez pas de tagguer votre nouvelle version dans un sous-dossier de /tags.

  • /trunk contient les fichiers de votre plugin.

Effectuez un checkout de votre dépôt SVN, copiez vos fichiers dans le dossier /trunk, puis commitez votre travail. Félicitations, d’ici quelques instants, votre plugin disposera enfin de sa page sur l’annuaire de plugins WordPress.

 



4 réponses à “Procédure de soumission d’un plugin dans l’annuaire WordPress”

  1. Hindi dit :

    Bonjour,
    Tout d’abord merci pour toutes ces précisions. J’ai un plugin de réservation de restaurant pour lequel j’aimerais un peu plus de visibilité. Pensez vous que je puisse le proposer à des sites de thèmes/plugins wordpress type themeforest entre autres ?
    Merci !

    • Cyril dit :

      Dans votre cas, il s’agirait plutôt de CodeCanyon plutôt que ThemeForest. Tous deux font partie de la « galaxie » Envato.com
      Je m’y étais intéressé à une période. Les conditions d’entrée sont assez drastiques en ce qui concerne les plugins. Avant d’être proposé à la vente, le plugin est soumis à une batterie d’observations : qualité du code, qualité de la documentation, facilité d’utilisation,… Il faut en outre que votre plugin soit « unique » : si un plugin similaire existe déjà sur la marketplace, votre demande sera rejetée.
      Dernier point, dont je ne suis pas totalement certain : il me semble que le prix de vente du plugin est fixé par l’équipe d’Envato, et non par vous-même.
      Il existe d’autres marketplaces, qui ont certainement des fonctionnements différents. Mais la plus connue reste CodeCanyon.

  2. Paul dit :

    Bonjour,

    Merci beaucoup pour cet article qui me permet de comprendre le fonctionnement de la soumission d’un plugin sur WP.

    Comment faut-il faire pour soumettre une fiche de description en plusieurs langues ? Dans le cas où je veux que le plugin apparaîsse dans
    https://fr.wordpress.org/plugins/, https://de.wordpress.org/plugins/, etc… ?

    Merci d’avance pour votre aide ! 🙂

    • Cyril dit :

      Les fiches de descriptions sont générées à partir du fichier readme.txt. Pour pouvoir traduire ce fichier, il faut que le plugin puisse être traduit via translate.wordpress.org. Et pour cela, il y a certains pré-requis. Par exemple, le ‘domain name’ doit être identique au ‘plugin slug’. Je suis justement tombé sur ce cas il y a quelques instants avec mon dernier plugin.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Laissez-moi vous rappeler

Saisissez votre numéro de téléphone ci-dessous (fixe ou portable), je vous recontacte au plus vite!

  • Ce champ n’est utilisé qu’à des fins de validation et devrait rester inchangé.

Demande de contact

  • Ce champ n’est utilisé qu’à des fins de validation et devrait rester inchangé.

Coordonnées