PRIONATION.io
Démarrer un Diagnostic →
Réalisation · 🇫🇷 France · Logistique

Expedion × Expeditoo : un groupe logistique, deux produits, une seule source de vérité

Share:
TL;DR

Un groupe logistique français exploite deux marques. Expedion livre jusqu'à la porte de l'acheteur les lots remportés aux enchères ; Expeditoo est le réseau de transporteurs qui reprend les missions que les chauffeurs du groupe ne peuvent pas assurer. PRIONATION a construit les deux sur une seule base de données : un modèle de vision LLM lit le bordereau d'adjudication, un service de tarification partagé en établit le devis, une mission payée toujours sans chauffeur au bout de 48 heures est publiée automatiquement auprès de transporteurs vérifiés, et leurs mises à jour de livraison remontent dans le suivi de l'acheteur.

Expedion et Expeditoo appartiennent au même groupe français. Expedion, c'est le côté acheteur : une personne qui vient de remporter un lot dans une maison de ventes envoie son bordereau d'adjudication, obtient un prix de livraison fixe, paie en ligne et suit la livraison. Expeditoo, c'est le côté transporteur : une plateforme web où des entreprises de transport vérifiées enchérissent sur les missions que les chauffeurs du groupe ne peuvent pas assurer.

PRIONATION a construit les deux produits — l'application Expedion en Flutter et la plateforme Expeditoo en Next.js — ainsi que l'intégration entre les deux. Cette page explique comment ils partagent un même système, où se trouve réellement l'IA, et ce qui a été délibérément laissé de côté. Les résultats commerciaux seront publiés une fois que le client les aura mesurés.

Deux métiers, une seule expédition

Un acheteur aux enchères et un transporteur n'attendent pas la même chose d'une même mission. L'acheteur veut un prix fixe unique, un enlèvement avant que les frais de stockage ne commencent à courir à la maison de ventes, une assurance optionnelle sur le lot, et un seul endroit pour suivre la livraison. Le transporteur veut des consignes claires, un prix juste pour la course et un paiement garanti. Expedion sert le premier ; Expeditoo sert le second.

Les chauffeurs du groupe prennent en charge ce qu'ils peuvent. Le plus difficile, c'est le débordement : quand la flotte est complète ou que la course est spécialisée, la mission doit parvenir vite à un transporteur extérieur — sans que personne ne ressaisisse la commande, ne refasse le devis ni ne perde la trace du lot.

Lire le bordereau d'adjudication avec un modèle de vision

L'étape la plus lente à faire à la main est la première : comprendre, à partir d'un PDF ou d'une photo du bordereau d'adjudication prise au téléphone, ce qui a été acheté, où cela se trouve et de quoi il s'agit. Expedion envoie ce document à un modèle de vision LLM — GPT-4.1 d'OpenAI à température 0, contraint par un schéma JSON strict — avec Gemini comme fournisseur de secours. L'acheteur vérifie ensuite les informations extraites sur un écran de confirmation, avant qu'aucun devis ne soit établi.

Le modèle indique aussi son propre niveau de confiance. En dessous d'un seuil fixe, le document envoyé est considéré comme n'étant pas du tout un bordereau d'adjudication, et l'acheteur est invité à fournir le bon document. Si le service d'extraction est indisponible, la demande passe quand même, avec un avertissement, et le bordereau est vérifié par une personne — une panne ralentit le tunnel au lieu de le fermer.

Une base de données, un prix, un fil de suivi

Les deux produits tournent sur la même base PostgreSQL. Un devis Expedion et l'annonce Expeditoo qu'il peut devenir sont des enregistrements liés, pas deux copies maintenues synchronisées — la décision d'architecture fondatrice, car faire passer une mission d'une base de données à une autre aurait été une transaction distribuée prête à mal tourner. Expedion fonctionnait auparavant sur Airtable ; ses 4 656 devis existants ont été migrés vers la base partagée en septembre 2026.

Les prix viennent eux aussi d'un seul endroit : le devis automatique d'Expedion réutilise le service de tarification d'Expeditoo, si bien que les deux produits ne peuvent jamais chiffrer la même course différemment. Et quand un transporteur extérieur prend une mission, ses mises à jour de statut sont réécrites dans Expedion : l'acheteur suit un seul fil de livraison, que le chauffeur fasse partie des équipes du groupe ou vienne du réseau de transporteurs.

Le relais vers les transporteurs, sans dispatcheur

Quand un acheteur paie, le devis reçoit une échéance fixée 48 heures plus tard. Toutes les dix minutes, une tâche planifiée recherche les devis payés qui n'ont toujours pas de transporteur après cette échéance et publie chacun d'eux sur Expeditoo sous forme d'annonce portant sa référence Expedion. Les opérateurs peuvent aussi transférer une mission à la main depuis la console d'administration, à côté de l'attribution d'un chauffeur, de la révision du prix d'un devis ou de la gestion du stockage.

Sur Expeditoo, les transporteurs envoient des offres avec un prix, un ETA et un véhicule, et un opérateur attribue les missions transférées. La vérification des transporteurs repose sur des documents — numéro SIRET, attestation d'assurance, licence de transport, pièce d'identité et coordonnées bancaires — et un administrateur valide chaque compte avant qu'il puisse enchérir.

L'argent ne bouge que lorsqu'une personne le décide

Côté acheteur, le paiement passe par Stripe Checkout, et le serveur confirme chaque session auprès de Stripe avant de signaler le paiement à Expeditoo. Côté transporteur, Expeditoo conserve une commission de 10 % et crédite le reste sur le solde du transporteur. Un transporteur peut demander un retrait à partir de 20 € ; un opérateur effectue le virement bancaire et en enregistre la référence. Rien dans la plateforme ne déplace d'argent automatiquement.

Cette règle est délibérée. Automatiser les versements aurait obligé à choisir un circuit de paiement et un cadre juridique pour rémunérer les chauffeurs avant que l'entreprise n'ait tranché l'un ou l'autre — une question qui relève de l'avocat du client. Une étape manuelle avec une référence enregistrée est plus lente, mais derrière chaque versement il y a une personne et une référence bancaire.

Une ingénierie qui tient en production

Expeditoo tourne sur Next.js avec Drizzle et PostgreSQL sur Neon, Better Auth, Stripe, Cloudflare R2 pour les documents et Resend pour l'e-mail, le tout hébergé sur Vercel ; le tableau de bord opérateur se rafraîchit à partir de signaux Ably plutôt que par interrogation périodique. Expedion est une application Flutter qui se connecte via le même service d'authentification avec un jeton bearer — une application native n'a pas de stockage de cookies de navigateur — et conserve un repli Firebase restreint pour que les comptes créés avant la migration fonctionnent toujours.

La plateforme est couverte par Vitest et Playwright, avec 2 655 tests unitaires au vert lors de la dernière exécution enregistrée, et Expeditoo est en production en version 2.63. De petites contraintes ont guidé de vraies décisions : les envois sont plafonnés à 3 Mo pour rester sous la limite de taille de requête de l'hébergeur, les photos HEIC sont refusées parce que l'API de vision les rejette, et le balayage de transfert tourne sur GitHub Actions parce que l'offre d'hébergement limite les tâches planifiées.

Ce qui n'a délibérément pas été construit

Expeditoo a démarré en 2025 comme une marketplace plus large qui mettait aussi des marchandises aux enchères. La refonte de 2026 a abandonné cela : plus d'enchères sur des marchandises et plus de marketplace publique à parcourir — chaque mission affichée sur la plateforme est une véritable expédition Expedion. Les API de suivi des transporteurs, les intégrations avec les maisons de ventes, une application iOS native pour les transporteurs et d'autres pays ont aussi été laissés pour plus tard.

Plusieurs questions restent ouvertes à dessein : la répartition de la commission sur les missions transférées, les prestataires pour l'assurance et la vérification d'identité, et la publication et l'appariement d'itinéraires. Les transporteurs peuvent déjà filtrer le tableau le long d'un trajet qu'ils effectuent, mais l'appariement vient après les enchères, par choix : les enchères sont le produit, les itinéraires le rendront plus efficace ensuite. Chacune de ces questions est plus simple à trancher une fois que de vraies missions circulent dans un seul modèle de données partagé.

La leçon transférable

Deux produits qui servent les deux côtés d'une même transaction doivent partager une colonne vertébrale, pas une intégration. Ici, la colonne vertébrale, c'est un seul enregistrement de devis, un seul service de tarification et un seul fil de suivi ; l'application de l'acheteur, le tableau du transporteur et la console opérateur sont des vues posées dessus.

L'IA se place là où une personne faisait une transcription lente et sujette aux erreurs, elle indique son propre niveau de confiance, et le tunnel continue de fonctionner quand elle échoue. C'est généralement la bonne forme pour une première fonctionnalité d'IA dans un métier opérationnel : étroite, vérifiable, et jamais seule sur le chemin critique.

Questions fréquentes

Qu'a construit PRIONATION pour Expedion et Expeditoo ?

Les deux produits et le lien entre eux : l'application acheteur Expedion (Flutter), qui lit le bordereau d'adjudication, propose un prix fixe et suit la livraison ; la plateforme transporteurs Expeditoo (Next.js), où des transporteurs vérifiés enchérissent sur les missions transférées ; et la console opérateur qui pilote les deux.

Comment fonctionne la lecture du bordereau d'adjudication ?

Un modèle de vision LLM (GPT-4.1, avec Gemini en secours) extrait les informations du lot et de l'enlèvement dans un schéma JSON strict, accompagnées d'un score de confiance. L'acheteur confirme les informations ; les documents à faible confiance sont rejetés comme n'étant pas un bordereau d'adjudication, et si le service est indisponible, une personne vérifie le bordereau.

Quand une mission part-elle chez un transporteur extérieur ?

Quand un devis payé n'a toujours pas de chauffeur 48 heures après le paiement, ou quand un opérateur le transfère à la main. Un balayage planifié publie alors la mission automatiquement sur Expeditoo, et les mises à jour de statut du transporteur sont réécrites dans le suivi de l'acheteur.

Expedion et Expeditoo sont-elles des sociétés distinctes ?

Non. Les deux marques appartiennent au même groupe logistique français : Expedion est la porte d'entrée des acheteurs aux enchères et Expeditoo est le réseau de transporteurs du groupe.

Où sont les métriques commerciales ?

Pas encore publiées. Ce qui est documenté relève de l'ingénierie : 4 656 devis existants migrés vers la base partagée, 2 655 tests unitaires au vert, et Expeditoo en production en version 2.63. Les résultats opérationnels seront ajoutés une fois que le client les aura mesurés.

Commencez par un Diagnostic

Deux semaines. 5 000 €. Un goulot d'étranglement cartographié et un plan prêt pour la production — sans obligation de poursuivre vers un Build.

Démarrer un Diagnostic →