Aller au contenu principal

Réalisation · freelance

Orange : application de gestion de tickets

client
Logo Orange Orange
période
durée
+ de 11 ans

Une application métier en production depuis 2015

Application de gestion de tickets et de tâches développée sur mesure pour une équipe de la direction technique d'Orange. Démarrée en 2015 comme un outil interne pensé pour quelques mois, elle est toujours en production, maintenue et utilisée au quotidien.

Je la conçois, la développe et la maintiens depuis le premier commit, en freelance et en lien direct avec la cheffe de projet côté Orange.

Contexte

L'équipe suit chaque jour des demandes, des incidents et des tâches récurrentes réparties entre plusieurs départements. Il lui fallait un outil qui épouse ses propres règles de fonctionnement plutôt que d'adapter son organisation à un logiciel générique.

Ce projet est le premier d'une collaboration qui dure depuis plus de dix ans et qui compte aujourd'hui cinq applications web conçues, développées et maintenues pour la direction technique.

Le problème à résoudre

  • Suivre chaque ticket de bout en bout — de la création à la clôture, avec commentaires, pièces jointes et historique des actions.
  • Organiser le travail par département — affectation des comptes, droits d'accès et vues propres à chaque équipe.
  • Donner de la visibilité au management — indicateurs d'activité individuels et collectifs, lisibles sans export manuel.
  • Retrouver vite l'information — recherche et filtres sur un historique qui grossit chaque année.

Contraintes

  • Durée de vie — un outil prévu pour quelques mois, devenu un outil quotidien : chaque choix doit rester maintenable sur des années.
  • Continuité de service — l'application ne peut pas être arrêtée pour une refonte ; les évolutions se font en production, par petites étapes.
  • Environnement grand compte — déploiement sur la plateforme OpenShift interne, intégration continue GitLab et secrets gérés dans Vault.
  • Obsolescence technique — PHP 5.6, Symfony 2 et AngularJS au départ : des briques qui ont toutes été abandonnées ou profondément remaniées depuis.

Choix techniques et pourquoi

  • Symfony et MySQL comme fondations — un socle stable et documenté, partagé avec les autres projets de l'équipe. Cette cohérence permet de mutualiser l'outillage et de garder un niveau de qualité homogène d'une application à l'autre.
  • Montées de version incrémentales — Symfony est passé de la version 2 à la 6.4 étape par étape (2, 3, 4, 5, 6), sans réécriture ni interruption de service. La dette technique est traitée au fil de l'eau, pas en urgence.
  • API Platform pour exposer les données — une séparation nette entre la logique métier et l'interface, qui rend possible le remplacement progressif du front-end.
  • Migration d'AngularJS vers React et TypeScript — AngularJS n'étant plus maintenu, l'interface est migrée vers React, TypeScript et TanStack, écran par écran plutôt qu'en big bang.
  • Elasticsearch et Redis — Elasticsearch pour la recherche plein texte et les filtres, Redis pour le cache applicatif : les temps de réponse ne dépendent plus de la taille de l'historique.
  • Une image Docker et une librairie PHP communes — même système, même configuration et même chaîne de déploiement pour tous les projets Orange que je maintiens. Une mise à jour de l'image de base profite à toutes les applications.

Ce qui a été livré

  • Gestion de tickets et de tâches — création, assignation, suivi et clôture, avec commentaires, pièces jointes et historique complet.
  • Tableaux de bord — tickets ouverts, résolus et en retard, répartis par département et par priorité.
  • Statistiques individuelles et collectives — métriques par utilisateur et par équipe, avec graphiques d'évolution.
  • Administration — comptes utilisateurs, départements et permissions d'accès.
  • Recherche avancée — recherche plein texte, filtres combinables et vues enregistrées.
  • Exploitation — conteneurisation, pipeline GitLab CI, déploiement sur OpenShift et maintenance continue.

Résultats

L'application est en production depuis 2015 et toujours utilisée au quotidien. Elle a traversé le passage de PHP 5.6 à PHP 8 et de Symfony 2 à Symfony 6.4 sans interruption de service, ainsi que les migrations d'infrastructure vers OpenShift.

La relation s'est élargie au fil des années : d'un outil interne isolé, la mission est passée à cinq applications pour la même direction technique, construites sur les mêmes fondations.

Stack

  • Back-end — PHP, Symfony (de la version 2 à la 6.4), API Platform
  • Front-end — AngularJS, en cours de migration vers React, TypeScript et TanStack ; Bootstrap
  • Données — MySQL, Redis, Elasticsearch
  • Infrastructure — Docker, OpenShift, GitLab CI, Vault

Pour aller plus loin

Ce projet illustre mon approche de la maintenance et de l'évolution long terme d'applications web. Le retour d'expérience complet sur cette collaboration est détaillé dans l'article plus de 10 ans de prestation freelance pour Orange, et le socle commun aux applications dans une image Docker de base pour plusieurs applications Symfony.

Fiche technique

Stack et périmètre.

back-end
PHP Symfony API Platform
front-end
AngularJS React TypeScript TanStack Bootstrap
infrastructure & ops
Docker Openshift / Kubernetes GitLab GitLab CI Vault
données
MySQL Redis Elasticsearch

Captures d'écran

Aperçus.

Fig. 1
Fig. 2
Fig. 3
Fig. 4

Questions fréquentes

Sur ce projet.

Quel est le rôle de x10 dans le projet de gestion de tickets chez Orange ?

x10 intervient en tant que développeur freelance sur ce projet depuis 2015 : développement backend et frontend, évolutions fonctionnelles, optimisation des performances et maintenance applicative continue.

Quelles technologies sont utilisées par l'application de gestion de tickets ?

L'application repose sur un socle technique éprouvé : Symfony et API Platform côté backend, React et TypeScript côté frontend, avec Docker pour l'environnement de développement, GitLab pour le versioning et la CI/CD, MySQL, Redis et Elasticsearch pour la couche données.

Pourquoi Orange a choisi une application sur mesure plutôt qu'un outil standard ?

Les processus internes d'Orange nécessitaient des workflows spécifiques, des règles de gestion complexes et une intégration fine avec les systèmes existants. Une solution sur mesure permet d'adapter précisément l'outil aux besoins métier, avec une évolutivité totale.

Comment l'application gère-t-elle les performances avec un volume important de tickets ?

L'architecture s'appuie sur Elasticsearch pour la recherche et le filtrage rapide, Redis pour le cache applicatif, et une optimisation continue des requêtes SQL. Ces choix techniques permettent de maintenir des temps de réponse rapides même avec un historique conséquent.

L'application de gestion de tickets est-elle toujours maintenue ?

Oui, l'application est en production et activement maintenue depuis 2015. x10 assure un accompagnement technique continu avec des évolutions régulières, des mises à jour de sécurité et l'adaptation aux nouvelles versions des frameworks utilisés.

Contact

Un projet comparable ?

Parlons de votre contexte, de vos contraintes et de vos objectifs pour construire une solution durable.

Démarrer votre projet arrow_forward