Transformer WordPress en un système de support technique !

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 une extension 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.

Transformer WordPress en un système de support technique !

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 une extension 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.

Retour au sommaire Aperçu de l’extension

WATS - Numérotation des tickets WATS - Statuts des tickets WATS - Priorités des tickets WATS - Types des tickets

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é.

Retour au sommaire Avis de la rédaction

WATS est une extension 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.

Publié dans WordPress
En ligne depuis le 16 juin
Share |

Partagez des informations à propos de cet article !

Pour toute question technique, merci de laisser un commentaire clair et précis en informations.

  1. Bon eh bien voilà, tes deux requêtes sont implémentées avec la 1.0.4 à savoir la séparation via une option des tickets et des posts et l’affichage d’un tableau listant tous les tickets (avec un filtre optionnel par catégorie). :)

  2. Bon c’est bon, j’ai codé l’option pour n’afficher que les posts sur la home (et pas les tickets). Je mets la nouvelle version à disposition asap sur le repository.

  3. Mael

    C’est vrai que ça serait bien de pouvoir intégrer WATS à un wordpress existant.
    En tous cas l’approche consistant à n’utiliser que les fonctions de wordpress est pérenne, les mises à jours ne devant en théorie pas écraser le plugin ! La compatibilité c’est important.
    J’ai bien envie de l’essayer si l’occasion se présente…

  4. Merci Valentin pour cette initiative qui me fait très plaisir.

    Merci aussi pour ton commentaire sur le plugin dont je prends bonne note. Je vois à peu près comment faire pour ne pas afficher les tickets sur la home (il faut modifier la query de la boucle juste pour la home). Je vais donc m’y atteler sous peu. En ce qui concerne la soumission et l’édition des tickets, c’est complètement séparé du reste, dans un menu dédié. C’est un des principes de ce plugin, je ne voulais pas toucher à la partie existante de l’admin pour ne pas foutre le bordel et bien séparer les fonctionnalités.

  5. Tres intéressant comme plugin, ce qui démontre encore une fois toutes les capacités de WP!

  6. Fallait l’inventer, il l’a fait :) Mais il est vrai que les systèmes de ticket libres sont nombreux (je pense notamment à osTicket), après il faut voir si l’on trouve un intérêt à ce que le système soit dépendant ou non de WP.







who's online