Cet article a été ecrit par Olivier, le créateur de ce plugin.

Il nous décrit ses fonctionnalités et ses caractéristiques.

WATS est un plugin original dont le but est d’ajouter à WordPress les fonctionnalités d’un système de tickets. Il existe énormément de systèmes de tickets autonomes php/mysql mais ils sont en général complexes à installer, requièrent des librairies externes et font tellement de choses qu’ils peuvent être compliqués à customiser et administrer. Partant de ce constat et ne trouvant de système de tickets adapté à mes modestes besoins, j’ai décidé de développer WATS. Le but était simple : disposer d’un système de tickets plug and play avec des fonctionnalités basiques. Dans sa version 1.0, je pense que ce but est relativement atteint.

En effet, le plugin s’installe facilement et requiert un minimum de configuration. En deux minutes, on peut commencer à créer des tickets. La configuration de base est suffisante pour la plupart des besoins. Les utilisateurs ont néanmoins la possibilité de modifier les templates pour leurs besoins mais également les types de tickets, les priorités et les statuts disponibles. À la base prévu pour être un système de support informatique, on peut très bien en faire un outil de CRM pour un tout autre secteur d’activité avec un peu de customisation. L’administrateur peut demander que chaque utilisateur s’inscrive pour pouvoir soumettre des tickets ou utiliser un compte « invité » partagé par tous ce qui permet de s’affranchir de la phase d’inscription qui rebute souvent beaucoup d’utilisateurs.

D’un point de vue technique, j’ai pris le parti de me reposer au maximum sur les fonctions offertes par WordPress. Lorsque l’on développe un plugin WordPress, l’intérêt est de pouvoir bénéficier de toutes les fonctions built-in présentes. Cela ne sert à rien de réinventer la roue. D’un autre côté, il n’est pas forcément simple de réutiliser certaines fonctions, je l’ai vite compris. WATS crée un nouveau type de post appellé « ticket ». A partir de là, il réutilise toute la partie édition de l’interface d’administration. J’ai donc dupliqué une grosse partie du code à ce niveau là mais ce n’était pas si simple car il a fallu gérer un certain nombre de contraintes liées à la structure des urls des plugins dans l’admin. De plus, comme je ne voulais pas modifier le comportement existant de WordPress mais uniquement ajouter des fonctionnalités qui n’impactent pas l’existant, il m’a fallu reprendre et adapter un certain nombre de fonctions.

A plusieurs reprises, j’ai pensé m’affranchir des fonctions de WordPress car j’étais confronté à des contraintes insolubles mais j’ai toujours trouvé une astuce ou une solution pour passer outre. La gestion de l’édition des posts est une vraie usine à gaz ! La soumission d’un post entraîne un certain nombre de redirections dont il est difficile de comprendre le cheminement. J’ai passé énormément de temps à tracer le code pour comprendre ce qu’il faisait et l’adapter.

Aperçu du plugin

Une fois la partie administration finalisée, je me suis attaqué au frontend. Là encore, le but était d’être aussi transparent que possible afin d’être compatible avec un maximum de themes. Le principal problème a été d’intégrer l’affichage des tickets avec les posts. La version 2.7.1 gérait relativement mal de base les custom taxonomies. Il fallait donc utiliser quelques artifices pour modifier la boucle et afficher tout le monde ensemble. Apparemment la 2.8 a apporté quelques améliorations de ce point de vue puisque j’ai pu supprimer certaines modifications et arriver au même résultat.

WATS m’a permis de mettre en œuvre le plugin jQuery editable que je trouve très pratique pour les modifications inline de champs. Il m’a permis aussi de plonger de manière très profonde dans le core WordPress. A cet égard, j’ai beaucoup utilisé le php xref listant les sources WordPress pour me balader dans le code et les fonctions.

La version 1 est assez modeste en termes de fonctionnalités. Je pense ajouter des fonctions de reporting et améliorer l’interaction sur les tickets dans les versions suivantes en fonction des demandes que j’aurai de la communauté.

Avis de la rédaction

WATS est un plugin assez intéressant puisqu’il permet en quelques clics de créer un espace communautaire autour d’un produit, ou de créer un support technique grâce à la création de tickets. Toutefois, si vous éditez un blog et que vous souhaitez mettre le support technique en dehors de celui-ci, laissez tomber, ce n’est pas encore possible. En effet, les tickets publiés seront affichés sur votre page d’accueil. L’idée serait donc de pouvoir rendre indépendant ce plugin et de créer un espace dédié pour la gestion et l’affichage des tickets. Un simple code PHP a ajouter dans une page vierge suffirait. Avec bien sûr, une vue d’ensemble des différents statuts des tickets. Une autre solution est envisageable. Celle-ci consiste donc à installer une seconde fois WordPress et d’utiliser cet espace pour WATS.

BRANDT Valentin

Créateur de Geekeries.fr. Référentiel de ressources WordPress en Français qui a vu le jour pour la toute première fois en 2007. Je publie régulièrement des plugins, des outils SEO, des ressources et de l'actualités pour améliorer votre expérience avec le CMS WordPress.

Ne manquez pas nos autres contenus :