Réponse courte. Les données d'abord : chaque commande a une adresse géocodée avec sa zone, un créneau éventuel, un poids et un volume ; chaque véhicule a une capacité et une heure de départ. Un moteur de trajets, logiciel libre installé sur le serveur avec les cartes OpenStreetMap, calcule une matrice de temps de trajet entre toutes les paires d'arrêts et propose un ordre quasi optimal ; le problème est connu pour n'avoir pas de solution exacte rapide, et un ordre proche du meilleur suffit. Le plan est calculé la veille à 18 h : regrouper par zone, vérifier la charge de chaque groupe, ordonner les arrêts, vérifier que l'heure prévue de chaque arrêt tient dans son créneau ; le planificateur peut déplacer un arrêt à la main, et le plan recalcule les heures de tous les suivants. L'application chauffeur affiche la tournée dans l'ordre, hors ligne, et horodate l'arrivée et le départ à chaque arrêt, avec la preuve de livraison et les exceptions. La journée compare prévu et réel ; une panne ou un refus déclenche une replanification en minutes, avec un message aux clients déplacés. Et le réel d'aujourd'hui, temps par zone et par arrêt, corrige le plan de demain.
Ce guide s'adresse au distributeur et au grossiste qui livrent des détaillants avec leurs propres camionnettes, à la société de livraison qui veut une tournée calculée plutôt que mémorisée, au commerçant en ligne qui livre lui-même dans sa ville, et au fondateur installé en France qui veut lire le soir les kilomètres, les arrêts par heure et les créneaux tenus. Il ne redit pas comment on livre sans adresse ni comment on construit l'application livreur avec preuve de livraison et contre-remboursement, décrits dans le guide sur la livraison sans adresse et le guide sur la plateforme de livraison ; il décrit ce qui manque à ces deux guides : le calcul de la tournée elle-même, et il prolonge notre page sur l'ingénierie logicielle.
La planification des tournées, en cinq couches
Le moteur de trajets est la couche accentuée : il remplace la mémoire du chauffeur par des temps réels entre toutes les adresses.
Données. Les adresses sont géocodées et rattachées à une zone de livraison, selon le guide sur la livraison sans adresse ; chaque commande porte son créneau éventuel, son poids et son volume, calculés depuis les conditionnements de la fiche produit ; chaque véhicule porte sa capacité, son heure de départ et son dépôt. Moteur de trajets. Un logiciel libre de calcul d'itinéraires, installé sur le serveur avec les cartes OpenStreetMap de la région, expose deux services : d'après sa documentation publique, la table calcule la durée du trajet le plus rapide entre toutes les paires de coordonnées fournies, et le trip résout l'ordre de passage par une heuristique, c'est-à-dire un ordre proche du meilleur, pas garanti optimal, parce que le problème sous-jacent, le voyageur de commerce, n'a pas de solution exacte rapide. Pour trois camionnettes, l'application regroupe d'abord par zone, puis demande un ordre par groupe.
Plan. Zones, charge, ordre, créneaux ; calculé la veille à 18 h par une tâche de le guide sur les tâches en arrière-plan ; chaque plan est daté et gardé, jamais écrasé, pour comparer prévu et réel. Application chauffeur. Tournée dans l'ordre, hors ligne par construction selon le guide sur le hors-ligne ; arrivée et départ horodatés par arrêt ; preuve de livraison selon le guide sur les photos qui font foi ; exceptions avec motif. Journée et mesure. Suivi des écarts, replanification, messages aux clients déplacés ; arrêts par heure, kilomètres par arrêt, créneaux tenus, et réinjection des temps réels dans le plan suivant. Le moteur tourne sur le serveur de l'entreprise ou chez l'hébergeur choisi dans le guide sur l'hébergement ; aucune adresse client ne part chez un tiers.
Les 38 arrêts de mardi dans trois camionnettes
La figure suit le plan d'un mardi : trente-huit arrêts, trois camionnettes, quatre étapes de calcul.
Regrouper par zone : les trente-huit arrêts tombent dans trois zones voisines, Ouest, Centre, Est ; une zone trop lourde cède un arrêt frontalier à sa voisine. Vérifier la charge : la camionnette B est à 1 180 kilos sur 1 200, et le plan le dit ; un groupe au-dessus de la capacité déplace un arrêt la veille, pas au chargement. Ordonner les arrêts : pour chaque groupe, la matrice de temps de trajet est demandée au moteur, une requête pour une douzaine d'arrêts, et l'ordre proposé en découle ; la rue en sens unique et le pont comptent, pas le vol d'oiseau. Vérifier les créneaux : l'heure prévue de chaque arrêt est calculée depuis l'heure de départ, les temps de trajet et un temps de service par arrêt ; un créneau manqué ajuste l'ordre ou déclenche une alerte au planificateur.
Le résultat : A, douze arrêts, 46 kilomètres, retour prévu 12 h 50 ; B, douze arrêts, 38 kilomètres, un créneau serré à l'arrêt 3 avec huit minutes de marge ; C, quatorze arrêts, 52 kilomètres. Le planificateur voit tout cela la veille à 18 h, peut déplacer un arrêt à la main, et l'application recalcule les heures de tous les suivants et le dit. Le lendemain, chaque chauffeur voit sa tournée dans l'ordre sur son téléphone, et le remplaçant du chauffeur malade suit la même. Arrêts, charges, kilomètres et heures sont un exemple construit.
«L'ordre des arrêts vient d'une matrice de temps de trajet entre toutes les paires d'adresses, pas du vol d'oiseau ni de la mémoire du chauffeur.»
La journée du chauffeur, en six temps
L'application chauffeur est ce qui transforme un plan en réel mesuré. Elle fonctionne hors ligne dans la cage d'escalier.
Charger : chaque colis est scanné au chargement, et un colis manquant ou en trop est vu au dépôt, pas chez le client, selon les mouvements de le guide sur le stock. Partir : la tournée dans l'ordre, avec les heures prévues, est sur le téléphone avant de quitter le réseau du dépôt. Arriver : l'arrivée est horodatée par l'application, et le chauffeur peut appeler ou écrire au client depuis l'application, par le canal de le guide sur les notifications ; c'est l'étape accentuée, parce que ce couple arrivée-départ par arrêt est la seule mesure vraie de la journée.
Livrer : scan, photo, signature ou code, encaissement saisi si contre remboursement, comme dans le guide sur la plateforme de livraison. Signaler : absent, refusé, adresse introuvable, avec un motif choisi dans une liste, une photo, et une nouvelle tentative planifiée. Rentrer : les retours sont scannés au dépôt, et l'écart prévu-réel par arrêt entre dans la revue du soir. Pour la chaîne du froid, la température à l'ouverture s'ajoute au même arrêt, selon le guide sur la chaîne du froid.
Six situations réelles, et ce que l’application fait
Chaque ligne est une phrase entendue chez un distributeur, et la réponse est un calcul, pas un chauffeur plus expérimenté.
Le camion repasse dans le même quartier : les zones puis l'ordre par temps de trajet ramènent, dans l'exemple, 70 kilomètres à 46 pour le même travail ; la mesure est le kilomètre par arrêt. Le client exigeait avant 10 h : le créneau est sur la commande, l'heure prévue est vérifiée la veille, et le plan le place tôt ou alerte. Une camionnette tombe en panne : replanification en minutes, arrêts redistribués, clients prévenus avant l'heure.
Le chauffeur « connaît » la ville : l'ordre est calculé et affiché, et le remplaçant suit la même tournée ; la connaissance du chauffeur sert à corriger le plan, pas à le remplacer. Trop de colis pour le véhicule : la charge est vérifiée au plan, et l'arrêt est déplacé la veille. Personne ne sait où en est la tournée : les arrivées horodatées donnent une heure prévue recalculée par arrêt, visible du gérant et envoyée au client ; le commercial de le guide sur la prévente voit la même chose pour ses clients.
La journée réelle : panne à 10 h 40, six arrêts bougent
La figure suit le même mardi en vrai. Le plan de la veille est une hypothèse, et la journée la corrige.
À 10 h 40, la camionnette B tombe en panne, six arrêts faits sur douze. Le planificateur ouvre les six restants : leurs positions, leurs poids, les positions actuelles de A et de C et les temps de trajet sont déjà connus. En quatre minutes, trois arrêts partent vers A, qui finira une heure plus tard, et trois vers C ; le plan recalcule les heures prévues de tous les arrêts suivants des deux camionnettes. À 10 h 44, les six clients déplacés reçoivent la nouvelle heure prévue par le canal de le guide sur les notifications, avec une réponse possible : quatre confirment, un reporte à demain, un ne répond pas et le planificateur l'appelle à 11 h. Un agent construit comme dans le guide sur l'agent WhatsApp peut tenir cet échange, jamais la redistribution.
Résultat : tout est livré, le dernier retour a lieu à 14 h 20 au lieu de 13 h 10, et deux créneaux sont manqués en ayant prévenu avant l'heure. Le soir, le réel est écrit arrêt par arrêt ; la revue montre les écarts, et les temps réels par zone remplacent les estimations dans le plan de la semaine suivante. Trois chiffres vont dans le tableau de bord du gérant : arrêts par heure, kilomètres par arrêt, créneaux tenus, avec une seule définition chacun. Horaires, arrêts et messages sont un exemple construit.
«Redistribuer six arrêts prend quatre minutes parce que les charges, les positions et les temps de trajet sont déjà connus ; à la main, c'est une heure de téléphone.»
Planifier les tournées en 2027, en semaines
Sept semaines, la première sans code, et deux pour le plan, parce que c'est lui que le gérant voit chaque soir.
- Ce que le gérant voit : le plan de demain à 18 h, charge et créneaux vérifiés ; la journée en cours, arrêt par arrêt ; trois chiffres le soir.
- Ce que le chauffeur ne fait plus : choisir l'ordre, déclarer les heures le soir, appeler le dépôt pour savoir où aller après une panne.
- Ce qui est mesuré : arrêts par heure, kilomètres par arrêt, créneaux tenus, premières livraisons réussies, temps réels par zone.
Semaine 1, règles : véhicules et capacités, heure de départ, zones, créneaux clients, temps de service par arrêt, motifs d'exception ; avec le gérant et le responsable d'exploitation. Semaine 2, données et moteur : adresses géocodées, poids et volume par commande, moteur de trajets installé avec les cartes, matrice de temps testée sur une tournée réelle de la semaine passée, pour comparer ses temps aux temps vécus. Semaines 3 et 4, plan : zones, charge, ordre, créneaux, écran du planificateur, modification à la main avec recalcul, plan de la veille à 18 h.
Semaine 5, application chauffeur : tournée hors ligne, arrivée et départ horodatés, preuve de livraison, exceptions, retours, en réutilisant ce qui existe déjà. Semaine 6, journée : suivi des écarts, replanification, messages aux clients déplacés, revue du soir. Semaine 7, mesure : arrêts par heure, kilomètres par arrêt, créneaux tenus, premières livraisons réussies, et réinjection des temps réels. La mise en production suit le guide sur la livraison d'une application : une camionnette la première semaine, les autres ensuite, le plan de la veille comparé à la tournée réelle avant de retirer le carnet.
- Faut-il un service de cartes payant ?
- Pas nécessairement. Le moteur de trajets est un logiciel libre installé sur le serveur de l'entreprise, avec les cartes OpenStreetMap de la région ; il calcule la matrice de temps de trajet et l'ordre de passage sans envoyer les adresses des clients à un tiers. La qualité des cartes locales se vérifie la deuxième semaine sur une tournée réelle.
- L'ordre des arrêts est-il optimal ?
- Proche du meilleur, pas garanti optimal : le problème sous-jacent, le voyageur de commerce, n'a pas de solution exacte rapide, et le moteur utilise une heuristique au-delà d'une dizaine d'arrêts, d'après sa documentation. En pratique, c'est l'écart avec l'ordre d'arrivée des commandes qui compte, et il se mesure en kilomètres par arrêt.
- Et les créneaux clients ?
- Ils sont sur la commande. Le plan calcule l'heure prévue de chaque arrêt depuis l'heure de départ, les temps de trajet et le temps de service, et vérifie qu'elle tient dans le créneau ; sinon l'ordre est ajusté ou le planificateur est alerté la veille.
- Que se passe-t-il quand une camionnette tombe en panne ?
- Les arrêts restants sont redistribués en quelques minutes vers les autres véhicules, parce que les charges, les positions et les temps de trajet sont connus ; les heures prévues sont recalculées et les clients déplacés reçoivent un message avec une réponse possible.
- Le chauffeur peut-il changer l'ordre ?
- Oui, et c'est souhaitable quand il sait quelque chose que la carte ignore : un marché qui bloque une rue, un client fermé le mardi. Le changement est enregistré, les heures prévues sont recalculées, et l'écart apparaît dans la revue du soir, pour corriger le plan suivant.
- Ça marche sans réseau ?
- L'application chauffeur, oui : la tournée, les heures prévues et la preuve de livraison fonctionnent hors ligne et se synchronisent au retour du réseau. Le calcul du plan et la replanification se font sur le serveur, au dépôt ou depuis le téléphone du planificateur.
- Combien de temps pour mettre ça en place ?
- Sept semaines dans le calendrier type, la première sans code et deux pour le plan. Une entreprise qui a déjà l'application livreur et les adresses géocodées prend moins ; une qui part de bons papier et d'adresses en texte libre prend les sept.