Aller au contenu

Application métier sur mesure

THF Operations — étude de cas d'une application livrée en production

Une entreprise paie chaque mois un logiciel qu'elle ne maîtrise pas, dont la facture grandit avec ses effectifs. Voici comment je l'ai remplacé par un outil interne, conçu, développé et mis en production en deux mois.

Entreprise
THF-ES, bureau d'étude télécom (Provins)
Cadre
Stage de fin de licence professionnelle
Durée
2 mois — mars à mai 2026
Rôle
Conception et développement
  • 42 621sites référencés
  • 15formulaires métier
  • 100 %du périmètre remplacé
  • 0 €d'abonnement par utilisateur

Le problème

THF-ES compte une quarantaine de collaborateurs, dont plus de la moitié sont des techniciens itinérants intervenant sur des pylônes et des antennes relais partout en France. Leurs comptes-rendus passaient par Kizeo Forms, une solution SaaS facturée à l'utilisateur. Deux coûts : un abonnement qui grandit avec l'effectif, et surtout une dépendance totale à un prestataire externe sur un outil devenu central à l'activité.

La mission

Développer le remplaçant à partir d'une page blanche : une application hébergée et maîtrisée en interne, couvrant les quinze formulaires métier existants, utilisable au pouce depuis un smartphone en haut d'un pylône. Deux mois pour livrer.

Le choix qui a tout changé

Les quinze types de rapports ne sont pas codés en dur. Chacun est un handler implémentant une interface commune, découvert automatiquement par le conteneur de services de Symfony. Ajouter un seizième type de rapport, c'est écrire une classe — sans toucher une ligne du code existant. L'entreprise peut faire évoluer son outil sans refonte.

L'obstacle

Le développement tournait sous PostgreSQL dans Docker, la production sous MariaDB chez Infomaniak. Doctrine masque cette différence sur les requêtes courantes, mais pas sur les migrations de schéma : syntaxe d'altération, contraintes et fonctions natives divergent. Chaque migration sensible a été rendue consciente de sa plateforme, pour garder un dépôt unique fonctionnant des deux côtés.

Le résultat

L'application est en production et utilisée quotidiennement. Chaque push déclenche son déploiement automatique — dépendances, migrations, cache — sans aucune manipulation sur le serveur. THF-ES a résilié son abonnement Kizeo et maîtrise désormais son outil comme ses données.

Tableau de bord
Référentiel national — 42 621 sites
Saisie terrain — mobile-first
  • Symfony 8
  • PHP 8.4
  • Doctrine
  • PostgreSQL
  • MariaDB
  • Docker
  • GitHub Actions
  • Dompdf
  • Mistral AI
Documentation complète du projet