Aller au contenu
Moez Bettoumi Moez Bettoumi

Retrouvez-moi sur

Envoyer un e-mail Appeler

Plugin WordPress sur mesure

Développement de plugins WordPress sur mesure : logique métier, architecture de données, API. myEasyCompta, WBugBoard et SafeCore PRO comme preuves, pas une liste de compétences.

Quand développer un plugin plutôt qu’utiliser l’existant

Un plugin existant peut être trop général pour un besoin précis, trop lourd par rapport à ce qu’on en utilise réellement, mal adapté au workflow d’une équipe, ou difficile à personnaliser sans toucher à son code. Il peut aussi dépendre de plusieurs autres extensions, avoir été abandonné par son éditeur, ou simplement ne pas être compatible avec l’architecture déjà en place. Dans ces situations, développer une extension spécifique devient plus pertinent que de continuer à chercher le plugin qui conviendrait presque.

Je développe aussi mes propres plugins

Je ne développe pas uniquement des plugins pour des clients. Je conçois et je maintiens mes propres outils, ce qui me confronte directement aux mêmes problématiques que celles rencontrées en prestation : architecture des données, permissions, interface, sécurité, et ce qu’il faut prévoir pour qu’un plugin reste maintenable après plusieurs années.

myEasyCompta

myEasyCompta est un plugin de gestion comptable et de facturation pour indépendants. Ce n’est pas une extension de facturation basique : les données (clients, devis, factures, dépenses) sont stockées dans une trentaine de tables SQL dédiées plutôt que dans le système de contenu standard de WordPress, avec une interface d’administration en Vue 3 et plus de 140 routes REST organisées par domaine métier.

La facturation électronique s’appuie sur Factur-X, conforme à la norme européenne EN16931, avec transmission vers dix plateformes de dématérialisation partenaires. Les champs monétaires sont chiffrés en AES-256. Une application mobile compagnon se connecte à une API dédiée, avec des tokens d’authentification stockés hashés plutôt qu’en clair.

Publié sur le répertoire officiel wordpress.org : 3 549 téléchargements, testé jusqu’à WordPress 6.9.7. Voir myEasyCompta · la fiche produit complète.

WBugBoard

WBugBoard est né d’un constat fait en maintenance de sites WordPress : la première difficulté n’est pas de corriger un bug, c’est de reconstituer le contexte dans lequel il s’est produit. Le plugin ajoute un widget de signalement qui capture automatiquement l’URL de la page, le user agent, la langue du navigateur et la résolution d’écran au moment de la création du ticket.

Les tickets, commentaires et priorités sont stockés dans trois tables SQL dédiées avec des clés étrangères vers la table des utilisateurs WordPress plutôt que dans un custom post type, ce qui simplifie les jointures entre un ticket et son auteur. Chaque route d’écriture vérifie un nonce WordPress en plus du contrôle de capacité, et l’accès au widget front-end est limité à une liste de rôles configurable.

Publié sur le répertoire officiel wordpress.org : 956 téléchargements, testé jusqu’à WordPress 6.7.7. Voir sur wordpress.org · la fiche produit complète.

SafeCore PRO

SafeCore PRO part d’un problème précis : une mise à jour de plugin ou de thème peut casser un site WordPress en production, ce qui pousse beaucoup d’administrateurs à retarder leurs mises à jour — et donc à laisser des failles de sécurité connues ouvertes plus longtemps. Le plugin prend un instantané ciblé avant chaque mise à jour, vérifie automatiquement la santé du site après, et restaure ou isole le plugin fautif si quelque chose casse.

La contrainte technique la plus inhabituelle : les scripts de secours doivent continuer à fonctionner même quand WordPress lui-même est cassé. Le cœur du plugin est donc en PHP sans dépendance externe pour cette partie, avec ses propres fonctions d’échappement plutôt que celles de WordPress. La détection du plugin ou thème responsable d’un crash s’appuie sur le gestionnaire d’erreurs fatales natif de WordPress, à partir du chemin du fichier fautif.

Voir SafeCore PRO · la fiche produit complète.

Ce qu’il y a derrière un plugin

Un plugin professionnel n’est pas un fichier PHP isolé. Sur myEasyCompta et WBugBoard, l’architecture repose sur des tables SQL dédiées plutôt que sur les custom post types WordPress, pour permettre des requêtes relationnelles directes. L’administration passe par une interface Vue.js dédiée quand l’administration WordPress standard ne correspond pas à l’usage réel. Les permissions s’appuient sur les rôles et capacités natifs de WordPress, avec un contrôle de nonce sur chaque route d’écriture. Quand le plugin doit communiquer avec l’extérieur, comme l’application mobile de myEasyCompta, l’échange passe par une API REST dédiée plutôt que par un accès direct à la base de données.

Cette exigence s’applique aussi en prestation, dans le cadre d’un développement WordPress sur mesure.

Plugin sur mesure ou extension existante ?

Situation Approche
Fonctionnalité standard, déjà bien couverte Extension existante
Fonctionnalité très spécifique à l’activité Plugin sur mesure
Plusieurs extensions assemblées pour approcher le besoin Étudier une solution dédiée
Logique métier importante (données, règles, documents) Plugin métier
Connexion à une API ou un système externe Développement spécifique
Besoin de contrôle total sur le comportement Plugin sur mesure

Le sur-mesure n’est pas systématiquement la meilleure option : une extension existante bien maintenue reste souvent le choix le plus raisonnable pour un besoin standard. L’enjeu est de savoir reconnaître le moment où ce n’est plus le cas.

Plugins et projets publiés

D’autres plugins que j’ai développés sont publiés en accès libre. Ils sont plus anciens et plus modestes en portée que les trois produits ci-dessus, mais restent disponibles :

  • Reset Custom Post — nettoie les contenus indésirables, y compris les custom post types. Publié sur le répertoire officiel wordpress.org, 856 téléchargements, testé jusqu’à WordPress 6.4.10.
  • WP Admin Menu Color — personnalise les couleurs du menu et de la barre d’outils d’administration WordPress. Code source disponible sur GitHub.
  • ZeDocs — thème WordPress pour construire un système de documentation, avec un custom post type dédié aux articles. Code source disponible sur GitHub.
  • Fancy About Us — pages « À propos » avec images de fond et mise en valeur du contenu.
  • Woo Carousel 3D — carousel 3D pour les galeries produits WooCommerce.

Le fait qu’un plugin soit publié sur le répertoire officiel de wordpress.org signifie qu’il est installable et que son code est vérifiable par n’importe qui — ce n’est pas une garantie de suivi actif, seulement une preuve publique de ce qui a été livré.

Quand faut-il développer un plugin WordPress sur mesure ?


Quand une fonctionnalité dépend directement du fonctionnement de votre activité et qu’aucune extension existante ne la couvre correctement — ou seulement en l’assemblant avec plusieurs autres, au prix de conflits potentiels.

Pourquoi ne pas simplement combiner plusieurs extensions existantes ?


Ça fonctionne, jusqu’à ce que deux extensions se marchent dessus ou que l’une d’elles cesse d’être maintenue. Un plugin ciblé, plus restreint dans son périmètre, reste plus simple à maintenir dans la durée que plusieurs extensions génériques dont chacune n’est utilisée qu’en partie.

Peut-on développer un plugin à partir d’un site WordPress existant ?


Oui. Le point de départ est d’auditer le thème, les plugins et les données déjà en place, pour que le nouveau plugin s’intègre sans entrer en conflit avec l’existant plutôt que de le dupliquer.

Un plugin peut-il communiquer avec une application ou un service externe ?


Oui, via des routes REST dédiées. C’est le principe de l’application mobile de myEasyCompta, connectée au plugin par une API distincte de l’interface d’administration.

Un plugin peut-il avoir une interface d’administration qui lui est propre ?


Oui — myEasyCompta et WBugBoard ont chacun leur propre interface en Vue.js plutôt que de s’appuyer uniquement sur l’administration WordPress standard, quand celle-ci ne correspond pas à l’usage réel des utilisateurs.

Peut-on reprendre et faire évoluer un plugin existant ?


Oui, à condition de commencer par comprendre l’architecture en place avant d’y ajouter du code — reprendre un plugin sans cette étape est le moyen le plus rapide d’introduire une régression.

Un projet WordPress à développer ?

Décrivez-moi votre besoin : je vous réponds avec une première analyse technique et une estimation de la faisabilité, sans engagement.