Développement logiciel

Application mobile Transporter

TST Terschelling

Client
TST Terschelling
Catégorie
Développement logiciel
Année
2026
Technologies
C#PHPMySQLMicrosoft SQL

Transporter est une application terrain pour terminaux durcis Zebra, conçue pour les chauffeurs qui assurent les tournées de livraison. Elle remplace les échanges sur papier et les procédures manuelles peu fiables par un parcours mobile unique : connexion du chauffeur, chargement du camion, lecture de codes-barres, preuve de livraison et validation de chaque arrêt.

Présentation

Transporter accompagne toutes les étapes d’une tournée. Les chauffeurs l’utilisent pour se connecter, charger les tournées qui leur sont affectées, scanner les marchandises lors du chargement du camion, effectuer les différents arrêts, recueillir les signatures, signaler les incidents et poursuivre leur travail même lorsque la connexion est instable.

Le projet répondait à un objectif simple : rendre le travail des chauffeurs rapide, fiable et réalisable dans les conditions réelles du transport. Il fallait donc prévoir l’utilisation avec des gants, une couverture mobile intermittente, des lectures répétées de codes-barres et de longues sessions sans intervention de l’opérateur.

Le problème

Les livraisons sont perturbées lorsque les outils numériques dépendent trop du réseau ou ralentissent les tâches répétitives comme le chargement et la lecture des colis à livrer. Les chauffeurs ont besoin d’un retour immédiat, d’un état clair de leur tournée et de la certitude que chaque action a été enregistrée, même hors ligne.

Transporter devait résoudre trois problèmes à la fois :

  • Maintenir une lecture des codes-barres extrêmement rapide.
  • Garantir l’exactitude des opérations aux étapes de chargement et de livraison.
  • Continuer à fonctionner de manière fiable malgré l’instabilité du réseau, du backend ou de l’environnement de l’appareil.

La solution

Nous avons développé une application terrain capable de fonctionner hors ligne, avec stockage local persistant, gestion des états fondée sur les événements et synchronisation robuste en arrière-plan. L’application est simple à utiliser pour le chauffeur, tandis que son architecture préserve la fiabilité des données opérationnelles et permet une reprise propre après une défaillance.

  1. Le chauffeur se connecte en sélectionnant son profil ou en présentant un badge NFC.
  2. L’application charge la tournée affectée et affiche les arrêts en cours.
  3. Les marchandises sont scannées pendant le chargement du camion.
  4. À chaque arrêt, le chauffeur scanne les livraisons, recueille les preuves et signale les incidents si nécessaire.
  5. Les événements, les données de télémétrie et les fichiers en attente sont synchronisés en arrière-plan lorsqu’une connexion est disponible.

Fonctionnement de Transporter

Le modèle opérationnel de Transporter repose sur les événements de lecture de codes-barres. Chaque lecture correspond à une action métier : chargement ou livraison d’un colis, signalement d’un colis manquant, mise en attente ou transfert vers une autre tournée. Au lieu de dépendre uniquement de l’état temporaire de l’interface, l’application déduit l’avancement de la tournée de ces événements et recalcule l’état des colis, des arrêts et des tournées complètes.

Cette approche rend le travail à la fois rapide et fiable. Pendant le chargement du camion, des caches locaux et des recalculs incrémentaux permettent d’actualiser immédiatement l’avancement, sans échanges réseau coûteux ni requêtes lourdes en base de données. Pendant la livraison, l’application applique les règles de chaque arrêt : les marchandises requises doivent être traitées, les signatures nécessaires recueillies et toutes les étapes obligatoires terminées avant de poursuivre la tournée.

La base SQLite locale constitue un cache de travail persistant pour les tournées, les arrêts, les marchandises, les événements de lecture, les images à envoyer et les données de télémétrie. Si la connexion est interrompue, le chauffeur peut continuer à travailler normalement. À la reconnexion, les services de synchronisation en arrière-plan traitent les éléments en attente et les transmettent au serveur sans interrompre l’utilisateur.

La fiabilité dès la conception

Transporter a été conçu pour rester fiable sur le terrain, au-delà des conditions idéales. La lecture de codes-barres Zebra est au cœur du fonctionnement ; le stockage conçu pour le mode hors ligne protège les données des tournées et les lectures effectuées ; les services de synchronisation relancent les tentatives de manière sûre et transmettent les données en attente au retour de la connexion.

L’application comprend aussi une chaîne locale de télémétrie : les défaillances sont enregistrées sur l’appareil puis transmises au système central. Les erreurs ne passent ainsi pas inaperçues, et l’équipe dispose d’une vision beaucoup plus précise de ce qui s’est produit sur le terrain. L’architecture sépare l’interface, les modèles de vue, les règles métier et les services de plateforme afin de conserver une logique opérationnelle cohérente, testable et facile à faire évoluer.

Points techniques

  • Développement avec .NET MAUI pour une couche applicative partagée et un déploiement Android.
  • Utilisation de dépôts SQLite pour le stockage hors ligne et la persistance de l’état local.
  • Sélection du chauffeur par NFC et intégration du lecteur de codes-barres Zebra.
  • Capture de signature, gestion des images et des documents, et traitement des incidents de livraison.
  • Services de synchronisation en arrière-plan pour la télémétrie, les événements de lecture et les fichiers en attente.
  • Tests unitaires et d’intégration couvrant les parcours métier, la persistance et les scénarios de reprise.

Résultat

Transporter transforme un processus de transport complexe en un parcours fiable sur terminal portable. Pour les chauffeurs, l’application réduit les difficultés et les incertitudes. Pour les équipes d’exploitation, elle fournit une vision plus claire et plus fiable des événements de la tournée. Pour le produit lui-même, elle constitue une base solide pour de futures fonctions d’analyse des tournées, de diagnostic et d’intégration au backend.

Images du projet

Autres réalisations

Projets similaires

Démarrez un projet avec nous

Vous avez un projet en tête ? Échangeons sur la manière dont nous pouvons vous aider.