Le répertoire officiel de WordPress.org reste le premier canal de distribution d'un plugin : visibilité, confiance, mises à jour automatiques pour l'utilisateur. Mais son fonctionnement — validation humaine, hébergement en Subversion (SVN) et non en Git — surprend tous ceux qui arrivent des workflows modernes. Voici le déroulé complet, tiré d'une publication réelle.

Étape 1 — La soumission initiale

Vous soumettez une première version de votre plugin (une archive ZIP) via le formulaire dédié. Commence alors une revue humaine. Un bénévole de l'équipe Plugins examine votre code. Ce n'est pas instantané : comptez de quelques jours à quelques semaines.

Les points qui bloquent le plus souvent une première soumission :

Étape 2 — La découverte de SVN

Une fois approuvé, on vous attribue un dépôt SVN. Pour qui n'a connu que Git, le modèle mental est différent. SVN est centralisé : il n'y a pas de commits locaux, chaque commit écrit directement sur le serveur. La structure imposée comporte trois dossiers :

Le workflow de publication d'une version : vous copiez le contenu validé dans /trunk, vous mettez à jour le champ Stable Tag du readme, vous créez un tag correspondant, et vous committez. La version taguée devient celle que téléchargent les utilisateurs.

Étape 3 — Les pièges d'authentification

Deux écueils très concrets, rencontrés en pratique :

Le client SVN. SVN n'est plus installé par défaut sur les systèmes récents. Une solution propre est de le faire tourner dans un conteneur Docker jetable, ce qui évite de polluer sa machine. Attention alors au réseau : le conteneur doit pouvoir joindre le serveur SVN (un mode réseau adapté résout les blocages de connexion).

Les identifiants. Un piège subtil : si vous passez vos identifiants via un fichier d'environnement, une variable définie sans être exportée ne sera pas transmise au processus. Le client reçoit alors des identifiants vides et l'authentification échoue avec une erreur peu parlante. Vérifiez que vos variables sensibles sont bien exportées dans l'environnement du processus qui exécute SVN.

Étape 4 — La traduction (le piège GlotPress)

Une subtilité qui déroute beaucoup d'auteurs : sur WordPress.org, les traductions d'un plugin ne passent pas par vos fichiers .mo embarqués. Elles sont gérées par la plateforme communautaire GlotPress (translate.wordpress.org).

Conséquence pratique : pour qu'un plugin soit « traduisible » proprement, la langue source du code doit être l'anglais. Les chaînes anglaises servent de base que la communauté (et vous-même) traduit ensuite via GlotPress. Un plugin dont le code source est rédigé en français se retrouve dans une situation bancale, car l'anglais devient une « traduction » du français au lieu de la source. Si vous visez une audience internationale, écrivez vos chaînes en anglais dès le départ.

Ce que la publication apporte réellement

Au-delà du téléchargement, être sur WordPress.org apporte trois choses qu'on ne mesure pas immédiatement :

Le processus est plus artisanal qu'on ne l'imagine à l'ère des CI/CD modernes — validation humaine, SVN, traductions communautaires. Mais cette lenteur est aussi ce qui maintient la qualité et la confiance de l'écosystème. Une fois le premier cycle passé, les mises à jour suivantes deviennent une routine de quelques minutes.