Passer au contenu principal

Étude de cas · Livraison de courses · Mobile

Livraison de courses — quatre applications, un moteur de substitution

Publié le · Mis à jour le · Par YuSMP Group Engineering

Comment nous avons mis en production un écosystème complet de livraison de courses — une application client iOS et Android, une application préparateur, un panneau d'administration web et un backend Laravel avec un véritable moteur de politique de substitution — conçu autour du processus métier plutôt qu'autour des écrans, pour des distributeurs américains et européens.

SecteurLivraison de courses · Mobile
Année du projet2024
Mode d'engagementPrix fixe + support
Écosystème de livraison de courses — application client, application préparateur et panneau d'administration partageant un backend Laravel

Le brief — une activité de livraison sans processus métier

Le distributeur régional de produits alimentaires est arrivé avec une ambition claire — lancer un service de livraison pour ses clients aux États-Unis et dans l'Union européenne — et un écart préoccupant : aucun processus opérationnel pour l'ensemble des rouages. Il n'existait aucun workflow défini pour le préparateur en magasin, aucune politique de substitution en cas de rupture de stock, aucune règle de dispatch du livreur, aucune cadence de supervision back-office. Opter pour un SaaS de livraison de courses sur étagère aurait imposé les choix opérationnels d'un tiers pour toutes ces décisions ; se lancer dans un MVP code-first aurait figé dans le marbre la première intuition de l'équipe pour chacune d'elles. Nous avons d'abord conçu l'activité de livraison elle-même — étapes du préparateur, seuils de substitution, fenêtres de passation avec le livreur, chemins d'escalade — puis prototypé un écosystème coordonné de quatre produits partageant un seul backend Laravel. L'application client iOS et Android offre aux acheteurs un suivi en direct de leur commande avec des indicateurs d'étape et une messagerie intégrée avec le livreur. L'application préparateur guide le personnel en entrepôt grâce à des notifications intelligentes et un flux de substitution qui alerte le client dès qu'un article est en rupture. Le panneau d'administration web centralise le catalogue, les analyses et la gestion des commandes pour l'ensemble du réseau de magasins, aux États-Unis comme en Europe.

Points clés du projet

Conception axée sur les processus, non sur les écrans Backend Laravel avec source unique de vérité Application client native Swift + Kotlin Application préparateur avec routage entrepôt Moteur de politique de substitution Suivi en temps réel via WebSockets Catalogue et routage multi-magasins Analytique KPI pour les marchés US & UE

En chiffres

Un aperçu de ce que l'écosystème de livraison de courses a produit sur quatre applications, un backend Laravel et un moteur de substitution lors de son premier cycle en production.

4produits coordonnés — application client iOS + Android, application préparateur, panneau d'administration partageant un seul backend
1backend Laravel — source unique de vérité pour le catalogue, les commandes, les substitutions et l'état du livreur
0divergence de workflow entre les applications — les quatre applications suivent un seul processus, pas quatre copies
3signaux de substitution — préférence client, taxonomie produit, disponibilité multi-magasins
2canaux temps réel — état de commande WebSocket et messagerie intégrée entre le client et le livreur
18–24 sem.délai de livraison typique pour un MVP comparable d'écosystème de livraison de courses en quatre applications
Catalogue de livraison de courses — inventaire multi-magasins unifié avec fiches produit compatibles substitution

Pourquoi la conception axée sur les processus plutôt qu'un MVP code-first ou un modèle SaaS

Le choix architectural a dominé tous les autres leviers du projet. Nous avons opté pour une conception axée sur les processus plutôt que pour un MVP code-first ou un modèle SaaS de livraison de courses sur étagère, car les compromis correspondaient à un distributeur disposant de magasins, de personnel et de clients — mais d'aucune règle opérationnelle pour les coordonner. Un MVP code-first aurait figé la première intuition de l'équipe concernant le workflow du préparateur, la politique de substitution et la passation avec le livreur dans les schémas ; corriger cette intuition après le lancement aurait impliqué une migration de schéma, quatre releases clients et une reformation du personnel en magasin. Un SaaS de livraison de courses sur étagère résout le problème du schéma, mais au prix de l'opinion d'un tiers sur chaque levier opérationnel sur lequel le distributeur doit se différencier.

La conception axée sur les processus a inversé ces deux compromis. Nous avons cartographié les étapes du préparateur, les attentes du client et la passation avec le livreur lors d'ateliers avec le personnel réel du magasin, validé le flux sur trois équipes réelles avant de figer le moindre schéma, et seulement alors écrit le moteur de workflow de commandes Laravel que les quatre applications consomment. Le résultat est un écosystème de livraison où les quatre applications partagent un seul workflow — et non quatre opinions rapportées — et où une modification de la politique de substitution est une simple mise à jour de configuration dans le moteur, pas une release sur quatre clients.

Conception axée sur les processus vs MVP code-first vs modèle SaaS — synthèse pour un écosystème de livraison de courses
Dimension Axée sur les processus (Grocery Delivery) MVP code-first Modèle SaaS
Exactitude du workflow au lancementValidé sur des équipes réelles avant le codePremière intuition figée dans les schémasOpinion du fournisseur sur le workflow moyen
Adéquation de la politique de substitutionPolitique conçue avec le personnel du magasinIndicateur de substitution — logique minimalePolitique fixe ou module payant
Ergonomie multi-magasinsRoutage multi-magasins natif dans le moteurMono-magasin d'abord, adapté ensuiteModèle de magasin défini par le fournisseur
Coût d'un changement de workflow après le lancementMise à jour de configuration dans un seul moteurMigration de schéma + quatre releases clientsTicket fournisseur — attente de la feuille de route
Adéquation de l'application préparateur à la disposition du magasinRoutage entrepôt construit à partir du plan du magasinListe génériqueRoutage défini par le fournisseur
Cohérence de l'état temps réelUn seul canal WebSocket depuis le moteurPolling ou sockets par applicationPub/sub fournisseur, souvent facturé à l'usage
Dépendance fournisseurFramework ouvert — portableFramework ouvert — modéréeForte dépendance fournisseur

Références : Documentation du framework Laravel, Documentation Apple UserNotifications, Documentation Android foreground service.

Application préparateur — application native Kotlin et Swift avec routage entrepôt, flux de substitution et minuteries d'étape

Développement de l'application préparateur — Kotlin, Swift et routage entrepôt

L'application préparateur est le cœur opérationnel du projet. Elle s'exécute nativement sous Android avec Kotlin et sous iOS avec Swift, selon le parc d'appareils du magasin, et le service de premier plan la maintient active pendant les cycles d'optimisation de la batterie qui interrompent autrement une longue équipe de préparation en plein milieu d'une commande. L'écran est conçu autour d'une seule grande action à la fois — scanner, confirmer, substituer, transférer — car un préparateur qui parcourt les rayons ne peut pas consulter un tableau de bord dense en poussant un chariot. Le routage entrepôt lit le plan des allées du magasin depuis le backend et ordonne le parcours du préparateur de façon à ce que le trajet le plus long soit un seul aller-retour bout en bout, et non le va-et-vient qu'une liste alphabétique produirait.

Le flux de substitution est l'interaction la plus intéressante de l'application. Lorsque le préparateur scanne un article en rupture, le moteur évalue la commande selon trois signaux — préférence client, taxonomie produit, disponibilité multi-magasins — et présente une substitution candidate que le préparateur peut proposer en un seul tap. Le client reçoit une notification push avec la proposition, accepte ou contre-propose via la messagerie intégrée, et le préparateur poursuit la collecte. Chaque transition est enregistrée dans le journal d'audit de la commande, de sorte qu'un examen du service client peut ultérieurement reconstituer exactement ce qui a été proposé, accepté et substitué. L'ensemble de la surface mobile est livré dans le cadre de notre pratique de développement d'applications mobiles.

Panneau d'administration — console opérationnelle React + Laravel avec tableau de bord KPI, catalogue multi-magasins, gestion de l'équipe de livreurs

Panneau d'administration — React, Laravel et la console opérationnelle multi-magasins

Le panneau d'administration est construit en React sur le même backend Laravel qui alimente toutes les autres surfaces, de sorte que chaque lecture dans l'administration est une lecture en direct du moteur de workflow de commandes plutôt qu'un instantané issu d'un job de synchronisation. Les responsables voient une boîte de réception unique avec toutes les commandes en cours dans l'ensemble du réseau de magasins, filtrées par étape, magasin, livreur et statut de substitution. Le tableau de bord KPI présente des métriques par équipe — commandes par heure de préparateur, taux d'acceptation des substitutions, respect des fenêtres de passation avec le livreur, temps de réponse dans la messagerie client — avec des alertes de dérive qui se déclenchent avant le début de l'équipe suivante, et non après qu'elle s'est déjà mal passée.

La gestion du catalogue est unifiée entre les magasins : une mise à jour produit se propage à chaque magasin qui le référence, et des remplacements par magasin gèrent les promotions locales, les stocks régionaux et les assortiments saisonniers sans dupliquer la fiche produit. La gestion de l'équipe de livreurs s'effectue dans le même panneau, avec les affectations d'équipes, les vérifications de documents et les vues des rémunérations qui dispensent le responsable de jongler entre trois tableurs distincts. Ce même backend pilote le déploiement cloud & DevOps de l'ensemble de l'écosystème, de sorte que l'intégration d'un nouveau magasin se résume à une ligne de configuration et au téléversement d'un plan du magasin, sans aucune modification du code.

Suivi de livraison — état de commande WebSocket en temps réel, localisation du livreur, architecture audit-ready

État temps réel, messagerie intégrée et posture de confidentialité

L'état temps réel est le tissu conjonctif des quatre applications. Un seul canal WebSocket publie les transitions de commande — passée, acceptée, en préparation, substitution en cours, préparée, livreur assigné, en route, livrée — et chaque client s'abonne au segment qui le concerne. L'application client affiche des indicateurs d'étape qui avancent dès que le préparateur scanne le dernier article. L'application préparateur affiche une réponse de messagerie de substitution à la seconde où le client répond. Le panneau d'administration surveille la dérive sur toutes les commandes en cours sans interrogation périodique. La fenêtre de modification de commande — les quelques minutes après le paiement pendant lesquelles un client peut encore ajouter ou supprimer des articles avant que le préparateur n'assemble le panier — est propulsée par le même moteur qui notifie le client dès que le préparateur accepte la commande.

La confidentialité des clients est intégrée à la plateforme dès le premier jour. Lors du paiement, l'écran affiche un formulaire de consentement RGPD granulaire pour les utilisateurs de l'Union européenne et une divulgation CCPA / CPRA « Ne pas vendre ni partager mes informations personnelles » pour les utilisateurs de Californie dans le même flux. Les flux de localisation du livreur sont supprimés immédiatement après la livraison, les transcriptions de messages ont une durée de conservation plus courte que les reçus de commande, et une demande de suppression est un seul traitement backend qui se propage à l'application client, à l'application préparateur et au panneau d'administration dans la même transaction. Il en résulte un écosystème qui résiste à l'examen tant aux États-Unis que dans l'Union européenne, sans avoir à adapter la conformité après coup.

Posture de conformité : aligné RGPD · prêt ISO 27001 · SOC 2 Type II en cours · compatible HIPAA · CCPA pris en compte.

Méthodologie de livraison

Un projet en cinq phases qui a conduit l'écosystème de livraison de courses d'un distributeur sans processus opérationnel à quatre applications en production et un moteur de politique de substitution.

Phase 1

Conception des processus & modélisation des risques

Ateliers sur les étapes du préparateur, conception de la politique de substitution, règles de passation avec le livreur, chemins d'escalade, cartographie de la posture RGPD + CCPA, validation du parc de magasins sur trois équipes réelles.

Phase 2

Moteur & colonne vertébrale temps réel

Moteur de workflow de commandes Laravel, module de politique de substitution, canal temps réel WebSocket, modèle de catalogue multi-magasins, taxonomie produit et index de disponibilité.

Phase 3

Développement des applications

Application client native Swift / Kotlin, application préparateur avec routage entrepôt, panneau d'administration React ; messagerie intégrée, notifications push, modification de commande, assignation des livreurs.

Phase 4

Durcissement audit-ready

Contrôle d'accès basé sur les rôles, politiques de conservation, flux de consentement géolocalisés, cycle de vie des flux de localisation du livreur, journal d'audit des substitutions, mise en place de l'évaluation tierce.

Phase 5

Lancement & télémétrie

Soumission App Store + Google Play pour les marchés américain et européen, intégration de l'équipe de préparateurs, télémétrie KPI, boucle de correction du premier cycle sur le réseau multi-magasins.

Télémétrie KPI, gestion de l'équipe de livreurs et fondations pour le déploiement dark-store

La couche de télémétrie KPI a été conçue pour que le distributeur puisse détecter la dérive par équipe avant le début de la suivante. Le nombre de commandes par heure de préparateur, le taux d'acceptation des substitutions, le respect des fenêtres de passation avec le livreur, le temps de réponse dans la messagerie intégrée et la satisfaction client à la livraison se regroupent tous dans un tableau de bord unique avec des alertes qui se déclenchent lorsqu'une métrique dépasse un seuil configurable. La gestion de l'équipe de livreurs s'effectue dans le même panneau d'administration avec les affectations d'équipes, les vérifications de documents et les vues des rémunérations qui dispensent le responsable d'exploitation de jongler entre trois tableurs distincts. Le routage multi-magasins est natif dans le moteur, de sorte qu'un déploiement dark-store — un site dédié à la préparation de commandes qui dessert la livraison sans accueil du public — correspond à une ligne de configuration dans les tables de catalogue et de routage, et non à une release de code distincte. L'ensemble du sous-système est conçu pour qu'un futur programme de fidélité, un abonnement à la livraison pour les États-Unis et l'Union européenne ou un canal de livraison contractuelle B2B pour les petites entreprises soit une modification de configuration dans le moteur de workflow de commandes et le service d'habilitations, et non une release de code.

Lancement aux États-Unis et dans l'Union européenne

L'écosystème a été lancé sur l'App Store d'Apple et Google Play avec des vitrines actives aux États-Unis et dans l'Union européenne, ainsi que le panneau d'administration React déployé pour les équipes opérationnelles du distributeur des deux côtés de l'Atlantique. La version en langue anglaise dessert les acheteurs en Californie, New York, Texas, Floride et Washington aux États-Unis, et les acheteurs aux Pays-Bas, en Allemagne, en France, en Irlande et en Suède dans l'UE, sans base de code distincte par région. Les flux de consentement sont géolocalisés au niveau de la couche client : les utilisateurs de l'UE et de l'EEE reçoivent un écran de consentement RGPD granulaire avec des interrupteurs distincts pour le marketing et l'analytique ; les utilisateurs de Californie reçoivent une divulgation CCPA de type « Ne pas vendre ni partager mes informations personnelles » dans le même flux. Les pratiques de traitement des données sont alignées sur le RGPD pour les utilisateurs européens et sur le patchwork de lois américaines sur la vie privée — CCPA / CPRA (Californie), VCDPA (Virginie), CPA (Colorado), CTDPA (Connecticut), UCPA (Utah), TDPSA (Texas) et Oregon CPA. Le routage multi-magasins rend le déploiement régional incrémental : une nouvelle zone métropolitaine dans n'importe quel État américain ou pays de l'UE correspond au téléversement du plan du magasin et d'un instantané du catalogue.

L'application client, l'application préparateur et le panneau d'administration ont été déployés en parallèle dans les magasins pilotes américains et européens — Pays-Bas, Allemagne, France, Suède et Irlande pour la couverture UE ; régions pilotes Est et Ouest des États-Unis pour l'Amérique du Nord — chaque région étant provisionnée de manière identique sur le même backend Laravel. Le service de mise en correspondance qui sélectionne le magasin et le livreur adéquat par commande s'exécute sur des workers stateless pouvant être ancrés dans les régions UE ou US indépendamment pour de futurs engagements de résidence des données. L'équipe d'ingénierie à l'origine du projet est répartie sur le fuseau CET et travaille avec un chevauchement quotidien de quatre heures avec la côte Est américaine (9 h–13 h ET) pour les points d'équipe côté distributeur, la coordination des équipes en magasin et la gestion des incidents.

Stack technique et feuille de route

PHP Laravel React Kotlin Swift PostgreSQL Redis WebSockets REST API Notifications push Messagerie intégrée Moteur de workflow de commandes Moteur de politique de substitution Ingestion de catalogue Routage multi-magasins Tableau de bord analytique Export BI Docker Nginx

La feuille de route active de développement logiciel sur mesure pour l'écosystème de livraison de courses inclut un abonnement à la livraison avec une fenêtre garantie, une couche de préparation dark-store réutilisant le même moteur de routage, un canal contractuel B2B pour les petites entreprises avec des remises sur volume et un programme de fidélité client connecté au moteur de politique de substitution pour l'apprentissage des préférences. Un portail d'auto-inscription pour les livreurs est prévu, et le sous-système d'habilitations est déjà structuré pour l'assignation multi-poste. Les plans d'infrastructure comprennent une optimisation supplémentaire des performances du moteur de routage, un environnement de régression interne de la qualité des substitutions et une future évaluation indépendante de l'état de préparation, intégrée à la feuille de route cloud & DevOps.

Construire un écosystème de livraison similaire — parlons-en

Si vous planifiez un écosystème de livraison de courses, une plateforme multi-applications de dernier kilomètre, ou tout produit opérationnel où le processus métier doit être conçu avant les écrans pour des audiences aux États-Unis et en Europe, nous avons livré ce stack de bout en bout et pouvons réduire significativement le délai de développement. L'équipe d'ingénierie à l'origine du projet est intégrée à YuSMP Group, et la surface du produit en production reste confidentielle à la demande du distributeur. Nous travaillons en prix fixe pour les MVP bien délimités et en équipes dédiées pour la livraison continue, avec un travail sur le fuseau CET et une fenêtre garantie de chevauchement avec la côte Est américaine (9 h–13 h ET) pour les points d'équipe, les démos et la gestion des incidents.

Réserver un appel de découverte Voir nos services mobile

Questions fréquentes

Combien coûte le développement d'un écosystème de livraison de courses avec une application préparateur et un back-office ?

Un MVP ciblé de livraison de courses comprenant une application client iOS et Android, une application préparateur, un panneau d'administration web, un backend Laravel, le suivi en temps réel, la messagerie intégrée et un catalogue mono-magasin coûte généralement entre 180 k€ et 340 k€. L'ajout d'un moteur de politique de substitution, du routage multi-magasins, d'un tableau de bord KPI, de la gestion de l'équipe de livreurs et de l'intégration avec les systèmes comptables et de gestion des stocks porte un écosystème complet à 360 k€–720 k€. Les principaux postes de coût sont la conception du flux de substitution, la logique de routage entrepôt du préparateur et la machine à états temps réel multi-applications.

Pourquoi concevoir le processus métier avant de se lancer dans un MVP code-first ?

Une activité de livraison de courses présente plus de complexité opérationnelle que de complexité logicielle. Le préparateur doit savoir quel rayon visiter en premier, le client doit être informé dès qu'une substitution est proposée, le livreur doit être dispatché dans la bonne fenêtre de collecte et le back-office doit détecter la dérive des KPI avant qu'elle n'affecte la prochaine équipe. Concevoir le processus métier — workflow préparateur, politique de substitution, passation avec le livreur, chemins d'escalade — avant d'écrire le code client garantit que les quatre applications partagent un seul workflow plutôt que quatre opinions séparées sur ce qui doit se passer ensuite.

Comment fonctionne le moteur de politique de substitution ?

Lorsque le préparateur scanne un article en rupture, le moteur évalue la commande selon trois signaux : la préférence de substitution exprimée par le client lors du paiement, la taxonomie produit (le lait entier correspond d'abord au lait entier, puis au lait demi-écrémé) et la disponibilité en magasin dans le magasin assigné et les magasins voisins du même rayon de routage multi-magasins. Une substitution candidate est proposée au client via la messagerie intégrée ; le client accepte, refuse ou contre-propose, et le préparateur poursuit la collecte — chaque transition est enregistrée dans le journal d'audit de la commande.

À quoi ressemble la conformité RGPD et CCPA pour une application de livraison de courses ?

Une application de livraison de courses détient des noms, des adresses, des métadonnées de paiement et un historique d'achat détaillé — les obligations sont de premier ordre. Lors du paiement, l'écran affiche un formulaire de consentement RGPD granulaire pour les utilisateurs de l'Union européenne et une divulgation CCPA / CPRA pour les utilisateurs de Californie dans le même flux. Les données de commande sont soumises à des durées de conservation limitées ; les transcriptions de messages ont une durée de conservation plus courte que le reçu de commande ; les flux de localisation du livreur sont supprimés immédiatement après la livraison ; et une demande de suppression est un seul traitement backend couvrant l'application client, l'application préparateur et le panneau d'administration.

Combien de temps faut-il pour livrer un écosystème de livraison de courses sur iOS, Android, l'application préparateur et le back-office ?

Un MVP ciblé comprenant un backend Laravel, une application client iOS et Android, une application préparateur, un panneau d'administration web, le suivi en temps réel, la messagerie intégrée avec le livreur et un catalogue mono-magasin prend généralement 18 à 24 semaines. L'ajout d'un moteur de politique de substitution, du routage multi-magasins, d'un tableau de bord KPI, de la gestion de l'équipe de livreurs et de l'export BI ajoute 6 à 10 semaines. La phase de durcissement audit-ready — machine à états temps réel multi-applications, politiques de conservation, contrôle d'accès basé sur les rôles — est fréquemment sous-estimée et doit être budgétée à 4 à 6 semaines.

Partager cette étude de cas

LinkedIn X

Planifier un projet similaire

Réserver un appel de découverte

Demander une proposition

Partagez quelques détails et un consultant senior vous répondra dans un délai d'un jour ouvrable.

Vous préférez nous appeler directement ? ☎ Appeler le +374 44 871 811 ✉ sales@yusmpgroup.com