Accueil English Classique A propos Contact rss
WordPress from the beginning
Articles de fond, tests de plugins, modes d'emploi et astuces sur ce CMS
accueil mots-clés plan du blog

Publier un plugin chez WordPress

Voici la suite de la série "créer un plugin". Au menu de cette 3ième partie: paramétrage du widget, ajouter un cron et publier son plugin.

Rappel des précédents épisodes:

Dans créer un plugin, nous avions vus:

  • comment créer le dossier du plugin et son fichier php principal
  • qu’on pouvait y mettre des fonctions()
  • les filtres et les actions
  • comment créer un widget
  • l’initialisation du plugin
  • comment intégrer le multilingue
  • l’utilisation des options

Dans créer un plugin 2ième partie:

  • l’activation du plugin
  • le filtre pour ajouter du contenu dans le corps de l’article ou de la page
  • comment créer des pages d’administration

Formulaire pour paramétrer le widget

Vous avez remarqué que quand vous ajoutez un widget, vous avez un petit formulaire pour saisir quelques paramètres. Pour l’obtenir, on fait appel à la fonction register_widget_control(), qui prend en paramètre le même nom que vous avez donné au widget, le nom de la fonction callback qui affichera le formulaire et fera la reception des données, la largeur et la hauteur:

register_widget_control('Name of your widget', 'my_plugin_widget_control', 300, 200);
 
function my_plugin_widget_control() {
	if ( $_POST['bar'] == 'foo' ) {
	  // réception des données
	}
       // les champs du formulaire, sans la balise form
	echo '...';
}

Plus dinfos sur les apis des widgets sur http://codex.wordpress.org/Plugins/WordPress_Widgets_Api

Ajouter un cron

Si votre plugin a besoin d’effectuer des tâches à des fréquences régulières, et surtout de façon automatique (sans intervention du blogueur), il vous faut ajouter un cron. Voici une méthode:

D’abord, à l’activation du plugin, on crée une nouvelle action (attention: action=évènement, ce n’est pas une fonction), via la fonction wp_schedule_event, qui prend en paramètre: le moment du premier déclenchement, la fréquence de répétition, et le nom de l’action.

wp_schedule_event(time(), 'hourly', 'my_plugin_cron_action');

Dorénavant, wordpress va déclencher régulièrement votre action. Ensuite, on associe des appels de fonctions (autant que l’on veut) à cette nouvelle action, via la fonction habituelle add_action():

add_action('my_plugin_cron_action', 'my_plugin_cron_job');
function my_plugin_cron_job() {
  // do something each hour
}

Enfin, à la désactivation du plugin, on déprogramme le cron avec wp_clear_scheduled_hook():

wp_clear_scheduled_hook('my_plugin_cron_action');

D’autres infos sur comment gérer ses crons dans cet article.

Publier son plugin

Votre plugin est terminé, il est éventuellement traduit en français, vous l’avez testé sur votre blog, vous avez essayé de l’installer, désinstaller sur d’autres blogs et tout marche. Le plus long reste à faire … :-D

Voici tout ce qu’il faut faire pour publier son plugin sur http://wordpress.org/extend/plugins/, et en guise d’introduction: http://wordpress.org/extend/plugins/about/

Le fichier php principal

Celui où se trouve votre code php, il doit avoir au tout début, les commentaires avec le nom du plugin, l’url de l’article de votre blog qui résume tout sur votre plugin, sa version actuelle, une courte description, votre nom, l’url de l’article qui vous présente:

/*
Plugin Name: All last viewed posts
Plugin URI: http://www.woodymood-dev.net/cms/wordpress/
Description: This plugin is usefull if you want to display the last views from your human traffic.
Version: 0.1
Author: Anthony Dubois
Author URI: http://www.woodymood-dev.net/cms/wordpress/en/lauteur/
*/

Et aussi, les commentaires comprenant la licence GPL, avec votre nom là encore et votre email.

/*  Copyright 2009  ANTHONY DUBOIS  (email : xxx)
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation; either version 2 of the License, or
    (at your option) any later version.
 
    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
    Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
*/

Nous avions vu tout ceci dans le premier article de la série « créer un plugin », donc ce n’est pas nouveau.

Le fichier readme.txt

Ca c’est nouveau: il faut obligatoirement fournir un fichier readme.txt, au premier niveau dans votre dossier de plugin, dont le contenu sera affiché dans les pages de votre plugin sur http://wordpress.org/extend/plugins/.

Sa syntaxe est décrite ici: http://wordpress.org/extend/plugins/about/readme.txt et vous pouvez même tester votre fichier avec http://wordpress.org/extend/plugins/about/validator/.

Le début du fichier est le plus important, c’est là que vous indiquez les versions de wordpress qu’il supporte, et la dernière version stable du plugin: importante pour que les internautes téléchargent la dernière version.

=== Plugin Name ===
Contributors: markjaquith, mdawaffe
Donate link: http://example.com/
Tags: comments, spam
Requires at least: 2.0.2
Tested up to: 2.1
Stable tag: 4.3

Ensuite, le readme doit décrire ce que fait le plugin et comment l’installer. Vous pouvez aussi en option y rajouter une FAQ et des screenshots (copie écran). Mais le mieux est de faire sur votre blog un article détaillé qui explique tout ça et de mettre des liens dans le readme.txt

Faire un article qui présente le plugin

Encore du travail de rédaction! Il faut obligatoirement faire un article, et un seul pour toutes les versions, qui donne toutes les informations sur votre plugin: ce qu’il fait, comment l’installer, comment l’utiliser, comment l’intégrer, ce qui change d’une version à l’autre etc. En fait, tout ce que vous aviez mis dans le readme.txt en plus détaillé et plus conviviale.

L’article servira aussi de support pour ses utilisateurs, via les commentaires, si vous faites du support!

Cet article est obligatoire car c’est lui que les personnes de wordpress vont aller voir lorsque vous soumettrez votre plugin. Il doit donc contenir un lien vers l’archive zip de votre plugin.

Soumettre le plugin

La page de soumission est ici: http://wordpress.org/extend/plugins/add/… mais encore faut il avoir un compte sur wordpress.org pour accéder au formulaire!

addplugin

http://wordpress.org/extend/plugins/add/

On voit qu’en fait on ne fait que soumettre l’url de l’article écrit au chapitre précédent.

Plus d’explications encore sur http://codex.wordpress.org/Plugin_Submission_and_Promotion

Si tout va bien, vous recevez un email qui vous dit que votre plugin a été accepté et que vous pouvez le publier sur subversion, le serveur qui héberge tous les plugins avec toutes leurs versions. En fait, http://wordpress.org/extend/plugins/ n’est que la vitrine, tout le stockage se fait sur http://svn.wp-plugins.org/

Subversion

Subversion est un logiciel libre qui remplit le même rôle que CVS pour ceux qui connaîssent, c’est à dire un système client serveur de gestion des versions.

Si http://svn.wp-plugins.org/ est le serveur, le client c’est vous! WordPress fournit une doc pour accéder à subversion si vous possédez un client en ligne de commande.

Si comme moi, vous n’êtes pas chaud pour la ligne de commande, il existe des clients graphiques, comme subcommander. Je détaille son utilisation dans cet autre article.

En résumé, après avoir installé subcommander, il vous faut dédier un répertoire sur votre disque dur à vos versions de plugins, faites un dossier par plugin, et laissez le vide à ce stade.

Son premier remplissage se fera lors du premier « checkout » du serveur svn http://svn.wp-plugins.org/your-plugin/, ce qui aura pour effet de vous créer des dossiers trunk, tags et branches (vides à ce stade).

Ensuite vous copier vos fichiers dans le dossier trunk, via l’explorateur windows.

Ensuite vous faites un « add » dans le menu de subcommander, de vos nouveaux fichiers pour qu’ils soient effectivement ajouté au répertoire locale.

Enfin, vous faites un « checkin », ou « commit » dans le jargon de subcommander, pour réellement envoyer votre contenu sur le serveur svn de wordpress. Il vous demandera de mettre un message et un login/mot de passe, c’est le même que sur wordpress.org

Le site vitrine se met à jour toutes les 15 minutes, donc patience…et vous verrez apparaître votre plugin avec tout le contenu de votre fichier readme.txt sur http://wordpress.org/extend/plugins/your-plugin

Lors des nouvelles versions de votre plugin, il faudra les mettre dans des sous dossiers de tags, en les appelant 1.0, 1.1, 2.0 etc. Attention à toujours indiquer dans le readme.txt du dossier trunk le numéro de la dernière version à jour (stable tag).

Partagez avec les autres

Share/Bookmark

Ça vous a plu?

Ne partez pas sans laisser votre appréciation!
5 vote(s) 1 Etoile2 Etoiles3 Etoiles4 Etoiles5 Etoiles Loading ... Loading ...

Réactions

comments 9 commentaires
  1. 02/12/2009 à 13:14

    Joli travail! j’ai pas essayé mais rien qu’en regardant les screenshots j’imagine que ça a dû être un long boulot. Merci pour le partage.

    Like or Dislike: Thumb up 0 Thumb down 0

  2. Alex
    02/12/2009 à 12:30

    Le nom du plugin est Annonces, je viens de le publier, vous pouvez aussi voir cette url http://www.eoxia.com/site-web/pluginannonces/ pour plus d’informations sur ce qu’il fait.

    Like or Dislike: Thumb up 0 Thumb down 0

  3. 25/11/2009 à 17:18

    et au fait c’est lequel votre plugin ?

    Like or Dislike: Thumb up 0 Thumb down 0

  4. Alex
    25/11/2009 à 15:51

    Re bonjour, je viens de m’apercevoir que le nom de mon plugin est présent sur cette url http://svn.wp-plugins.org/. Je pourrai enfin publier mon plugin, il fallait attendre tout simplement (pour moi environ 3 jours et plus).
    Je trouve tout particulièrement bizarre que WordPress.org ne m’ai pas envoyer de mail me disant que le svn était prêt, en tout cas je vous remercie.

    Like or Dislike: Thumb up 0 Thumb down 0

  5. Alex
    19/11/2009 à 14:28

    Je pense avoir bien suivi les étapes, en ce qui me concerne, le plugin est déjà fait donc j’ai créé un compte sur wordpress.org.
    Après réception de mon mot de passe, je me suis connecté (sans cela le formulaire de la section « Soumettre le plugin » n’est pas visible) puis j’ai soumis ma requête avec une description light du plugin ainsi que l’url où trouver plus d’information sur celui-ci.
    Je vais attendre encore quelques jours puis je vous tiens au courant.

    Like or Dislike: Thumb up 0 Thumb down 0

  6. 19/11/2009 à 13:22

    @Alex
    Quelques heures, voir moins….
    Es tu sur d’avoir tout fait comme il faut ?

    Like or Dislike: Thumb up 0 Thumb down 0

  7. 19/11/2009 à 13:20

    pour moi ça a mis bien 2 jours effectivement, 2 ou 3 je ne sais plus exactement.

    Like or Dislike: Thumb up 1 Thumb down 0

  8. Alex
    19/11/2009 à 11:20

    Article très bien fait! C’est ma référence pour avoir les étapes de publication de plugin.
    Par contre je suis bloqué à l’étape « Soumettre le plugin » :p
    Ca fait 2 jours que j’ai envoyé mon formulaire et toujours rien.
    Quelqu’un peut me dire le temps que ça prend pour qu’il me réponde et si il m’envoie des informations comme mon compte sur leurs Subversion et l’adresse pour la connexion?
    Je suis ravi de recevoir tout information complémentaire (ou expérience) de votre part :)

    Like or Dislike: Thumb up 0 Thumb down 0

  9. 06/05/2009 à 08:10

    Bien vu, c’est loin d’être aussi clair sur le site de wordpress.

    Like or Dislike: Thumb up 0 Thumb down 0

Haut de page
Choisissez vos widgets

A propos de cet article

Wordpress from the beginning is a production of Woodymood
Performance Optimization WordPress Plugins by W3 EDGE