Helpdesk open source comme alternative à Zendesk et Help Scout. Architecture, conception et convivialité



Il s'agit d'une traduction de plusieurs articles du blog d'un helpdesk open source (et d'une boîte aux lettres partagée) vers Laravel. L'histoire de ce projet est un bon exemple de la façon dont la communauté open source peut non seulement répéter, mais aussi améliorer à certains endroits la conception et la fonctionnalité du produit commercial fini, ainsi que stimuler son développement et son évolution pour le mieux.

La suppression d'un plan tarifaire gratuit par Help Scout a marqué le début du développement d'une alternative gratuite


Lorsque Help Scout a été lancé en avril 2011, il s'agissait d'un service d'assistance en ligne entièrement gratuit. La fourniture d'un service d'assistance gratuit au fil des ans a permis à l'entreprise de «peaufiner» le produit, de gagner en popularité et d'attirer des milliers de clients. Quelques années plus tard, plusieurs plans payants ont été ajoutés au service, mais Help Scout proposait toujours un plan gratuit avec des fonctionnalités limitées, ce qui suffisait aux petites entreprises pour organiser un support client gratuit par e-mail. En mars 2017, Help Scout a cessé de proposer un forfait gratuit aux nouveaux clients. Enfin, en mai 2018, les propriétaires de comptes Help Scout gratuits ont reçu une lettre sous le thème «Abolition du plan Help Scout gratuit». Tous les comptes gratuits ont été mis à niveau vers un plan standard, qui coûte 20 $ par utilisateur et par mois.

En conséquence, la communauté GitHub a commencé à développer une version open source gratuite de Help Scout ( https://github.com/freescout-helpdesk/freescout ). Le projet, appelé FreeScout, est écrit en PHP7 et utilise le framework Laravel 5.5.

La première version officielle de FreeScout a eu lieu le 1er novembre 2018.

L'application est créée en mettant l'accent sur la convivialité, la simplicité et la facilité d'utilisation. FreeScout est utilisé et sera utilisé par des particuliers et des entreprises qui ont besoin d'un système de support client professionnel gratuit par e-mail mais qui ne peuvent pas se permettre Zendesk ou Help Scout. FreeScout est également idéal pour ceux qui ne veulent pas renoncer à la confidentialité ou devenir dépendants d'un service qu'ils ne contrôlent pas.

FreeScout en chiffres (au 1er novembre 2018)


  • Développeurs: 1 développeur principal et 3 contributeurs.
  • Temps de développement: 4 mois
  • Lignes de code: 20646
  • Taille de la distribution: 14,2 Mo

L'architecture


FreeScout est super "léger" et rapide, il ne nécessite pas Node.js, Redis, memcached, composer ou quoi que ce soit d'autre, seulement un serveur web avec PHP 7.0+ et MySQL (Maria DB) 5.0+ . Merci à laquelle il peut être installé sur presque n'importe quel hébergement partagé.

FreeScout utilise Laravel 5.5 comme framework backend. Moi (Miroslav Janko), j'étais nouveau à Laravel, j'ai donc dû développer FreeScout à partir de zéro et apprendre Laravel en même temps. Laravel est tout simplement magnifique ...

La partie la plus importante de tout helpdesk est la fenêtre d'écriture des réponses, c'est le cœur de tout le système. Parmi les nombreux éditeurs WYSIWYG open source, Summernote a été choisi comme le plus approprié et le plus flexible. Summernote a été créé en 2013 et dispose d'une énorme communauté sur GitHub (plus de 1600 fourches). Il prend en charge toutes les fonctions nécessaires au helpdesk.



Pour afficher les notifications de menu en temps réel et les notifications push dans un navigateur, FreeScout utilise Polycast , qui émule les sockets Web via ajax et fonctionne parfaitement.



Pour garantir la facilité d'installation, un programme d'installation basé sur le Web a été implémenté à l'aide du package LaravelInstaller . Le programme d'installation effectue l'installation étape par étape, vérifie les autorisations du système de fichiers, les extensions PHP et l'accès à la base de données.



Si vous avez besoin de fonctionnalités supplémentaires, vous pouvez étendre FreeScout avec des modules (comme les plugins WordPress). Les modules sont développés à l'aide du package Laravel-Modules v2 . Les modules interagissent avec l'application via des hooks (action et filtre) comme dans WordPress, implémentés à l'aide du package Eventy . Les modules peuvent même ajouter leurs propres packages de compositeur au projet.

Conception et convivialité


La caractéristique la plus ennuyeuse de Help Scout est la façon dont il affiche l'état du ticket et à qui le ticket est attribué. Lorsque vous ouvrez un ticket dans Help Scout, vous ne voyez pas son statut et à qui il est affecté. De plus, l'état des tickets et les boutons d'action sont mélangés dans un tas.


C'est plutôt désagréable, on a l'impression d'être aveugle. Le statut du ticket et à qui il est attribué sont les informations les plus importantes et doivent toujours être disponibles. Oui, il y a une icône d'état à côté du nom du ticket:


Mais, vous voulez - croyez-le ou non - je ne l'ai pas vu jusqu'à ce que je commence à développer FreeScout. À chaque fois, je vérifiais automatiquement l'état du ticket sous le bouton correspondant sur la machine où il est installé. Maintenant, dans FreeScout, vous pouvez immédiatement voir à qui le ticket est affecté et son statut:



Lorsque j'ai commencé à utiliser Help Scout, j'avais besoin de configurer une boîte aux lettres. J'avais besoin d'une signature grise pour la boîte aux lettres. Mais, à ma grande surprise, je n'ai pas pu trouver le bouton de couleur de police dans la barre d'outils Help Scout, et j'ai dû ouvrir Photoshop, trouver la couleur et modifier manuellement les légendes HTML. Alors maintenant, dans FreeScout, vous pouvez facilement définir la couleur de la police pour signer votre boîte de réception:



Le prochain inconvénient est Help Scout, qui est corrigé dans FreeScout et qui est souvent mentionné dans les critiques et les forums. Après vous être attribué un ticket, vous devriez rester sur la page de ce ticket , cela semble naturel, Help Scout vous redirige vers le prochain ticket ...

En tant que développeur Web, j'ai utilisé Help Scout pour divers projets et travaillé comme agent de support dans plusieurs comptes Help Scout, j'ai donc souvent dû basculer entre les comptes Help Scout. Mais pour une raison quelconque, Help Scout dans son interface ne m'a pas montré qui je suis:



Vous ne voyez que l'icône «utilisateur» et vous devez cliquer dessus pour savoir à quel compte vous êtes connecté. Pourquoi L'interface Help Scout n'est pas adaptative et il y a suffisamment d'espace dans la barre de navigation pour me montrer mon nom ... Par conséquent, maintenant dans FreeScout, vous pouvez toujours voir le compte sous lequel vous êtes connecté:



Après de nombreuses années d'utilisation de Gmail, si vous devez insérer une image dans la réponse, il vous suffit de glisser-déposer l'image et elle apparaîtra dans la réponse. Lors de l'utilisation de Help Scout, j'ai fait la même chose automatiquement (à chaque fois!), Mais l'image a été ajoutée en pièce jointe et non insérée dans la réponse. Ainsi, dans FreeScout, vous pouvez enfin ajouter une image en la faisant glisser vers la zone de réponse:



Dans FreeScout, vous trouverez également une autre fonctionnalité Gmail qui me manquait dans Help Scout - les astérisques. Il s'agit d'une fonctionnalité extrêmement simple et puissante qui fait gagner du temps:



Il est maintenant temps pour une histoire de détective :) Dans Help Scout, vous pouvez supprimer un ticket, mais pouvez-vous par la suite trouver une conversation supprimée? Une fois, j'avais besoin de trouver un ticket à distance, mais je n'ai pas pu le faire. J'étais presque désespéré. En fait, pour ouvrir le dossier Éléments supprimés, vous devez ouvrir les tickets fermés, faire défiler vers le bas et trouver le petit lien «Récemment supprimé». C'est très difficile et pas intuitif, mais lorsque vous trouverez vos billets supprimés, vous vous sentirez comme Sherlock Holmes. Ainsi, dans FreeScout, cela a été simplifié: il vous suffit d'ouvrir les tickets "Fermés" et le dossier "Conversations à distance" apparaît immédiatement.

Ensuite. Dans Help Scout, lorsque vous ouvrez une boîte aux lettres, les boutons suivants s'affichent:



Pouvez-vous dire ce que signifie la bonne icône? Je n'avais aucune idée de ce que cette icône représente, donc je n'ai jamais utilisé ce bouton (plus tard, il s'est avéré que ce bouton signifie "Nouveau ticket").

Beaucoup mieux sur FreeScout? Non?



Maintenant, j'ai une énigme pour vous. Lorsque vous voyez la capture d'écran ci-dessous, que pouvez-vous dire sur les statuts de ces utilisateurs?



Vous pensez probablement que le premier utilisateur est actif et que le second ne l'est pas. Mais dans Help Scout, cela signifie le contraire: le deuxième utilisateur sans coche est actif et le premier n'est pas encore actif (une coche verte signifie qu'une invitation a été envoyée à l'utilisateur). Tout est évident avec FreeScout, et vous n'avez pas besoin de résoudre d'énigmes:



Le Helpdesk est utilisé par les développeurs et les entreprises du monde entier, et leurs agents de support ne sont pas toujours des anglophones natifs, donc FreeScout vous permet de vous traduire dans d'autres langues grâce au système de traduction intégré implémenté à l'aide du package Translation Manager .



Le 4 novembre 2018, le référentiel FreeScout est devenu le référentiel PHP le plus populaire sur GitHub dans la section Tendances:



Note du traducteur

Initialement, il était presque impossible de distinguer FreeScout de Help Scout, et en 2018, le projet a reçu une plainte DMCA du propriétaire de Help Scout, Nick Francis. Les développeurs du helpdesk ouvert sont intervenus et ont repensé leur création, ce qui a apparemment satisfait le Help Scout.

Aujourd'hui encore, nous pouvons voir que Help Scout, sous l'influence de son frère open source, a apporté des modifications à son service. Par exemple, Help Scout a commencé à afficher un utilisateur autorisé dans un chapeau, ils ont converti les profils utilisateur de carré en rond juste après FreeScout.

Source: https://habr.com/ru/post/fr477918/


All Articles