Field Service Management · Maintenance & installations en boutique.
Une plateforme pour piloter des techniciens terrain, leurs formulaires et leurs interventions, même sans réseau.
Le contexte
Des entreprises de services (maintenance, installation, audit terrain) géraient leurs interventions avec des processus entièrement fragmentés : Excel pour le planning, emails pour les assignations, formulaires papier pour les rapports. Le retour au bureau signifiait des heures de ressaisie manuelle, des données incomplètes et une visibilité nulle pour les managers. Mais ce projet allait plus loin qu'un simple suivi d'interventions. Le vrai besoin, c'était la création de formulaires d'installation extrêmement complexes pour équiper des boutiques physiques — des dizaines de champs conditionnels, de logiques métier imbriquées, de validations spécifiques par type d'installation — le tout à remplir sur le terrain, dans des entrepôts et sous-sols sans réseau.
Ce que j'ai construit
Une plateforme SaaS multi-instances composée de trois applications interconnectées : une API NestJS centralisant toute la logique métier, une application mobile Ionic/Vue 3 conçue pour le technicien terrain avec un moteur de formulaires dynamiques offline-first, et un back-office NuxtJS pour le pilotage, le planning et la génération de rapports.
Mon Rôle
Conception et développement fullstack de l'ensemble de la solution. Définition du modèle de données (81 entités), architecture du système de permissions RBAC, développement du moteur de formulaires dynamiques avec conditions et validations imbriquées, développement des trois applications, intégration AWS (S3 pour les photos, SES pour les notifications), synchronisation offline et génération de documents.
Architecture technique
| Couche | Technologie |
|---|---|
| API Backend | NestJS · TypeScript · MySQL · TypeORM · Swagger |
| Auth & sécurité | JWT · Passport.js · API Key · RBAC granulaire |
| App mobile | Ionic 7 · Capacitor 7 · Vue 3 · Vuex 4 |
| Capteurs terrain | Caméra · Filesystem · Scan QR · SignaturePad |
| Formulaires dynamiques | Moteur de scénarios hiérarchiques · conditions imbriquées |
| Back-office & dashboard | NuxtJS 2 · Vue 2 · ECharts · Leaflet · FullCalendar · drag-and-drop |
| Génération docs | ExcelJS · jsPDF |
| Stockage & emails | AWS S3 · AWS SES |
| Internationalisation | i18n (11 langues) |
| CI/CD & déploiement | Docker · GitLab CI/CD · gestion des branches et MEP |
Défis techniques
Formulaires d'installation complexes : Moteur de scénarios hiérarchiques permettant de créer des arbres de décision conditionnels pour guider le technicien étape par étape selon le type d'installation. Chaque type d'installation a son propre parcours, ses propres validations et ses propres champs conditionnels.
Dashboard entièrement personnalisable par l'utilisateur : Le back-office embarque un moteur de dashboard dynamique avec 3 onglets configurables. Chaque utilisateur compose son tableau de bord en sélectionnant les widgets qu'il souhaite parmi plus de 10 types de graphiques disponibles, en les positionnant par drag-and-drop dans les slots disponibles, et en appliquant ses propres filtres (dates, produits, campagnes) à l'échelle du widget ou de l'onglet entier. Chaque graphique est personnalisable : titre, couleurs, disposition de la légende, et export Excel intégré en un clic. Les administrateurs peuvent définir un dashboard par défaut pour chaque profil utilisateur, que les utilisateurs peuvent ensuite adapter à leur besoin.
Continuité offline : Toutes les saisies sont stockées localement et synchronisées automatiquement dès le retour en zone couverte, sans perte ni conflit.
Permissions granulaires sur structure complexe : Système RBAC contrôlant précisément ce que chaque rôle peut voir ou faire, indispensable pour les grands comptes multi-niveaux.
Multi-instance par client : Architecture pensée pour déployer la solution pour plusieurs clients indépendants à partir d'un seul code source, avec personnalisation par instance.
Rapports PDF et exports Excel automatisés : Génération à la demande de documents structurés et de fichiers croisés directement depuis l'API, sans manipulation manuelle.
Pipeline GitLab CI/CD : Chaque push sur les branches dédiées (develop, staging, production) déclenche automatiquement le build Docker, la validation et le déploiement. Les mises en production sont gérées de bout en bout via les pipelines — sans intervention manuelle sur les serveurs.
Problèmes résolus
| Avant | Après |
|---|---|
| Formulaires d'installation sur papier : données manquantes, illisibles, non structurées | Moteur de formulaires dynamiques sur mobile → saisie guidée, validée, certifiée à la signature |
| Ressaisie manuelle des données terrain au retour au bureau | Synchronisation automatique dès le retour en zone réseau → zéro double saisie |
| Techniciens bloqués sans réseau | Architecture offline-first → continuité de service totale sur le terrain |
| Planning géré sur Excel, sans vue d'ensemble | Calendrier interactif avec carte géographique → planification optimisée |
| Rapports génériques qui ne répondent pas aux besoins de chaque manager | Dashboard personnalisable : chaque utilisateur compose ses propres vues, filtres et graphiques |
| Exports fastidieux à produire manuellement | Export Excel par widget en un clic, depuis le tableau de bord personnalisé |
| Fragmentation des données entre terrain, bureau et SI | API unique centralisant tous les flux → source de vérité partagée en temps réel |
Résultats
"Les techniciens travaillent sans interruption quelle que soit la couverture réseau, avec des formulaires d'installation guidés qui garantissent la qualité et la complétude des données. La ressaisie manuelle est supprimée. Les managers ont une visibilité temps réel sur les équipes et les installations. Les rapports sont générés et transmis automatiquement dès la clôture du ticket."
En chiffres
3 applications interconnectées (API, Mobile, Back-office)
+560 endpoints REST documentés avec Swagger
81 entités métier en base de données
11 langues supportées nativement
+10 types de widgets — dashboard 100% personnalisable par l'utilisateur
3 onglets · drag-and-drop · filtres par widget · export Excel par graphique
Pipeline GitLab CI/CD automatisé — du push à la MEP
Pour vous
Vous gérez des équipes terrain avec des processus d'installation ou d'intervention complexes et des outils qui ne suivent pas la réalité du terrain ? Des formulaires papier qui génèrent des erreurs et des ressaisies ? Cette architecture s'adapte à la maintenance industrielle, aux réseaux de boutiques physiques, à l'audit terrain ou à tout service distribué géographiquement.