Image du logiciel MiCC dont est issu MICCGUI

MICCGUI

Contexte

Lorsque l’on passe un appel téléphonique, de nombreux éléments rentrent en jeu :

Il est complexe de gérer chaque élément avec une grande précision, c’est pourquoi des ingénieurs spécialisés s’occupent de la configuration et du bon fonctionnement de ce système. Mais ces ingénieurs doivent souvent gérer plusieurs projets, ce qui peut allonger le temps nécessaire à l’apport d’une modification. Afin que les clients puissent effectuer des configurations simples (par exemple un changement de musique d’attente ou mettre un service en fermeture exceptionnelle) et que les ingénieurs en télécommunications puissent effectuer toutes les configurations plus rapidement et simplement, Aberia a mis au point une plateforme web de gestion de centre d’appels.

Je vous présente donc MiCC GUI, la première plateforme développée par Aberia permettant de gérer visuellement et simplement un centre d’appel. Du renvoi d’appel à la gestion de calendriers, en passant par les fermetures exceptionnelles, tout est paramétrable avec un module correspondant à chaque fonctionnalité demandée par le client.


Mise en œuvre

Premièrement, Aberia a commandé une plateforme web développée par Ad’on Communication sous WordPress. La plateforme proposa alors une interface graphique soignée avec des fonctionnalités rangées dans un menu.

J’ai ensuite repris le projet et été amené à créer la logique des fonctionnalités : connexion à des bases de données, règles de validation des formulaires, transfert de fichier pour les musiques d’attente, etc. Le résultat n’était pas des plus propres car je n’avais que peu d’expérience en PHP et que l’outil WordPress est inadaptée à un lourd traitement de données tel que dans notre projet. Cependant c’était fonctionnel.

À chaque nouveau client, de nouvelles fonctionnalités étaient demandées. Pour simplifier le déploiement j’ai appris à utiliser Docker pour conteneuriser l’application. Ce qui a l’avantage de pouvoir créer un ensemble de services connectés qui seront isolés du reste de la machine sur laquelle ils seront installés, et donc de pouvoir “construire une fois, déployer partout”. Pour ajouter une fonctionnalité à ce déploiement, j’ajoutai donc un plugin WordPress développé au-dessus de l’existant fait par Ad’on avec uniquement les fichiers nécessaires aux fonctionnalités commandées.

Pour envoyer des fichiers audio, j’ai programmé des scripts shell qui se connectent en SSH au serveur de téléphonie pour les envoyer. SSH est un protocole sécurisé de connexion entre deux hôtes distants. Pour changer des configurations j’insérai de nouvelles tables dans une base de données MySQL que mes collègues ingénieurs télécom connectaient à un serveur d’appel. Toutes ces fonctionnalités se trouvant dans leur propre dossier de l’application.


Résultats

Pour l’entreprise, c’est un atout qui permet de se démarquer de la concurrence en offrant des solutions personnalisées de gestion. Pour les clients, c’est la possibilité d’avoir la main sur leur centre d’appel pour le mettre plus rapidement à jour. Pour moi, ce projet a été l’occasion de travailler sur des technologies que je connaissaient peu, et d’apprendre à faire de la maintenance technique sur du code non documenté. Ces points sont très importants dans ce domaine et c’est l’une des raisons qui me pousse à être fier de ce projet. J’ai aimé, dans ce projet, la gratification donnée par ma montée en compétence.

Le MiCC GUI est encore maintenu chez plusieurs clients. Cependant, les soucis apportés par la plateforme WordPress et son incompatibilité avec nos besoins nous poussent à revoir le projet. Nous sommes actuellement en phase de refonte totale du projet afin d’éliminer ces inconvénients. Nous espérons un code plus propre, une structure plus lisible, un déploiement plus simple, un site plus rapide et performant, et surtout une meilleure expérience de développement pour simplifier les mises à jours et correctifs réguliers à la demande de nos clients.

Cette refonte vient surtout d’un regard critique personnel face à l’application. Ayant développé ce projet seul en grande partie, si on omet la maquette de base, j’ai vu beaucoup de défauts et d’améliorations possibles. Une partie vient de mon manque d’expérience avec le langage et le framework, une autre vient de ces derniers qui sont inadaptés à nos besoins. Pour imager, faire cette plateforme en WordPress c’est comme planter des clous avec un tournevis : c’est faisable, mais le choix n’est pas forcément judicieux.

Malgré ces défauts, je ressors grandi de cette expérience. Elle m’a montré mes faiblesses, et m’a fait prendre conscience que les choix structurels, auxquels je ne prêtais pas toujours d’importance, pouvaient rapidement devenir de vrais problèmes. C’est une grande leçon d’humilité. J’espère que la refonte du projet sera à la hauteur de mes attentes, et qu’elle permettra à la société d’industrialiser plus facilement le produit en automatisant au maximum sa configuration.


Acteurs principaux


Compétences