Audrey Diez - Conception et développement d'applications web et d'expériences utilisateurs.

Audrey Diez

Audrey Diez - Conception et développement d'applications web et d'expériences utilisateurs.

Field Service Management · Maintenance & installations en boutique.

Une plateforme pour piloter des techniciens terrain, leurs formulaires et leurs interventions, même sans réseau.

NestJSIonicCapacitorVue 3NuxtJSMySQLAWS

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

CoucheTechnologie
API BackendNestJS · TypeScript · MySQL · TypeORM · Swagger
Auth & sécuritéJWT · Passport.js · API Key · RBAC granulaire
App mobileIonic 7 · Capacitor 7 · Vue 3 · Vuex 4
Capteurs terrainCaméra · Filesystem · Scan QR · SignaturePad
Formulaires dynamiquesMoteur de scénarios hiérarchiques · conditions imbriquées
Back-office & dashboardNuxtJS 2 · Vue 2 · ECharts · Leaflet · FullCalendar · drag-and-drop
Génération docsExcelJS · jsPDF
Stockage & emailsAWS S3 · AWS SES
Internationalisationi18n (11 langues)
CI/CD & déploiementDocker · 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

AvantAprès
Formulaires d'installation sur papier : données manquantes, illisibles, non structuréesMoteur de formulaires dynamiques sur mobile → saisie guidée, validée, certifiée à la signature
Ressaisie manuelle des données terrain au retour au bureauSynchronisation automatique dès le retour en zone réseau → zéro double saisie
Techniciens bloqués sans réseauArchitecture offline-first → continuité de service totale sur le terrain
Planning géré sur Excel, sans vue d'ensembleCalendrier interactif avec carte géographique → planification optimisée
Rapports génériques qui ne répondent pas aux besoins de chaque managerDashboard personnalisable : chaque utilisateur compose ses propres vues, filtres et graphiques
Exports fastidieux à produire manuellementExport Excel par widget en un clic, depuis le tableau de bord personnalisé
Fragmentation des données entre terrain, bureau et SIAPI 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.

Vous avez un besoin similaire ?

Vous avez un projet en tête ?