← Retour à tous les articles
Temps de conduite 561/2006 Routage

La planification des pauses de conduite, directement sur l'itinéraire

8 juin 2026 · 8 min de lecture

Une application GPS grand public indique au conducteur où tourner. Elle ne dira pas à l'exploitant où tombe la limite de pause des 4,5 heures — ni, surtout, s'il y a une place de stationnement poids lourds libre à ce moment-là. C'est cette seconde question qui laisse un camion bloqué la nuit dans une aire de repos complète, le tachygraphe déjà à zéro.

L'endpoint de routage de NAPSPAN y répond désormais. Envoyez le compteur de temps de conduite du conducteur avec l'itinéraire, et la réponse renvoie un tableau hos[] : chaque point du corridor où le conducteur doit faire une pause ou cesser de conduire selon le régime sélectionné — le règlement (CE) n° 561/2006 par défaut — l'heure projetée à laquelle il l'atteint, l'échéance légale, ainsi que les aires de stationnement poids lourds et aires de repos accessibles avant cette échéance, à partir de données DATEX II normalisées issues des points d'accès nationaux européens.

Comment ça fonctionne

Cela passe par le même appel que le reste du routage : POST /api/v1/routing/route. Vous envoyez déjà une origine, une destination et un profil truck. Pour obtenir la projection, ajoutez un bloc hos à l'intérieur de l'objet truck décrivant le compteur du conducteur au départ.

curl -X POST "https://api.napspan.com/api/v1/routing/route" \
  -H "X-API-Key: your_key" \
  -H "Content-Type: application/json" \
  -d '{
    "origin":      { "lat": 48.1351, "lng": 11.5820 },
    "destination": { "lat": 45.4642, "lng": 9.1900 },
    "departure_time": "2026-06-08T05:00:00Z",
    "truck": {
      "profile":  "tractor",
      "weight_t": 40.0,
      "height_m": 4.0,
      "axles":    5,
      "hos": {
        "ruleset":           "eu",
        "drive_remaining_s": 32400,
        "since_break_s":     0
      }
    },
    "enrichment": {
      "include_features": ["truck_parking", "rest_areas"]
    }
  }'

C'est un trajet Munich→Milan par le Brenner pour un conducteur frais sous les règles UE : 9 heures de conduite restantes (32400 s) et zéro temps de conduite depuis la dernière pause. Chaque compteur est exprimé en « secondes restantes » par rapport à la limite du régime nommé.

Le compteur de temps de conduite

L'objet hos représente l'état du conducteur, pas une règle figée. Ne stockez que le ruleset sur un profil de camion réutilisable — les compteurs par trajet sont fournis en ligne à chaque requête et viennent se superposer.

ChampSignification
rulesetLe régime : eu, us ou canada_south. Vide, il est déduit de la région de déploiement (UE ici).
drive_remaining_sBudget de conduite journalier restant (UE : 9 h).
since_break_sTemps de conduite accumulé depuis la dernière pause valable (UE : une pause de 45 min est due après 4,5 h).
duty_remaining_sBudget de l'amplitude de service (utilisé par le régime américain ; l'UE n'a pas d'amplitude de service fixe).
cycle_remaining_sBudget hebdomadaire / bihebdomadaire (UE : 56 h/semaine, 90 h/quinzaine).

Tout compteur que vous omettez est interprété comme « un conducteur frais » — la limite pleine du régime. Les compteurs sont des pointeurs sous le capot, donc un 0 explicite (« hors temps de conduite à l'instant ») est distinct de « non fourni ».

La réponse

La projection est attachée à l'itinéraire principal sous forme de tableau hos[], aux côtés des warnings[] et features[] que vous utilisez peut-être déjà.

{
  "routes": [
    {
      "summary": { "distance_m": 492000, "duration_s": 21600 },
      "geometry": { "type": "LineString", "coordinates": [ /* ... */ ] },
      "hos": [
        {
          "reason": "break_required",
          "distance_along_route_m": 372000,
          "projected_time":  "2026-06-08T09:30:00Z",
          "legal_deadline":  "2026-06-08T09:30:00Z",
          "feasible": true,
          "suggested_stops": [
            { "type": "truck_parking", "distance_along_route_m": 366500,
              "properties": { "name": "Raststation Brennersee", "spaces": 60 } },
            { "type": "rest_areas",    "distance_along_route_m": 351000,
              "properties": { "name": "Area di servizio Trens", "spaces": 34 } }
          ]
        }
      ]
    }
  ],
  "route_id": "rt_3b7e0a91"
}

Chaque arrêt porte un reason — la limite qui se déclenche à cet endroit — le distance_along_route_m où il tombe, le projected_time auquel le conducteur l'atteint, et le legal_deadline autorisé par la règle. Les quatre raisons :

RaisonCe qui s'est déclenché
break_requiredLe conducteur a atteint la limite de conduite depuis la dernière pause et doit une pause (UE : 45 min après 4,5 h).
drive_limitLa limite de conduite journalière est épuisée — le conducteur doit s'arrêter pour la journée.
duty_windowL'amplitude de service s'est fermée avant la limite de conduite (US / Canada).
cycle_limitLe budget hebdomadaire/bihebdomadaire est épuisé.

Ce qui compte vraiment : le stationnement accessible

Projeter le compteur s'épuise est la moitié facile. La moitié vraiment utile en exploitation, c'est de savoir si le conducteur peut effectivement s'y arrêter. Chaque arrêt hos attache une liste suggested_stops[] — les aires de stationnement poids lourds, aires de repos poids lourds et aires de repos accessibles avant l'échéance légale, triées de la plus proche de l'échéance en premier, pour que le conducteur tire le maximum de conduite légale de sa journée. Cette liste provient des données de stationnement normalisées de NAPSPAN sur l'ensemble des NAPs européens — les mêmes flux DATEX II qui alimentent le reste de l'API.

Et l'indicateur qu'aucune application GPS grand public ne fait apparaître : feasible. Lorsqu'il vaut true, au moins un arrêt légal est accessible à temps. Lorsqu'il vaut false, aucun stationnement légal n'est accessible avant l'échéance — un véritable risque de conformité que vous voulez connaître au moment de l'affectation, pas au bord de la route. (feasible est entièrement omis si la recherche de stationnement n'a pas été exécutée, de sorte qu'un indicateur absent ne se lit jamais comme un « false » trompeur.)

Les régimes

Trois régimes de temps de conduite sont livrés aujourd'hui, chacun implémenté selon sa réglementation effective :

RulesetRéglementationLimites clés
euRèglement (CE) n° 561/20069 h de conduite, pause de 45 min après 4,5 h de conduite, repos journalier de 11 h
us49 CFR 395 (FMCSA, transport de marchandises)11 h de conduite, amplitude de service de 14 h, pause de 30 min après 8 h de conduite, repos journalier de 10 h
canada_southSOR/2005-313 (au sud du 60° N)13 h de conduite, amplitude de service de 14 h + fenêtre écoulée de 16 h, repos journalier de 10 h

L'extension de conduite UE de 10 heures deux fois par semaine et les limites de 56 h/90 h sont exprimées via le compteur en ligne (drive_remaining_s, cycle_remaining_s) plutôt que supposées. Le régime européen aetr (pour les pays AETR hors UE) et le régime canadien canada_north sont prévus. Si vous ne définissez pas de ruleset, le déploiement UE applique eu par défaut.

Où cela s'intègre

La projection est calculée sur la géométrie de l'itinéraire déjà en main — une pure projection sur la polyligne, pas un second tour de routage. Elle ne s'exécute que pour l'itinéraire principal et passe par l'appel de routage que vous faites déjà : pas d'endpoint séparé, pas de facturation séparée au-delà de la requête de routage elle-même. Le routage est une fonctionnalité des offres payantes, avec un essai gratuit de 14 jours.

Associez-la aux warnings[] du corridor — fermetures, travaux, restrictions de poids et de gabarit propres à chaque État membre — et une seule requête transfrontalière (DE → AT → IT en une seule interrogation) répond à trois questions à la fois : ce camion peut-il légalement emprunter ce corridor, où le conducteur devra-t-il s'arrêter, et y a-t-il un stationnement à ce moment-là.

À vous d'essayer

Planifiez l'itinéraire, la pause légale et le stationnement — en un seul appel

Envoyez le compteur du conducteur avec l'itinéraire et récupérez chaque pause et arrêt requis, plus le stationnement accessible avant chaque échéance. Essai gratuit de 14 jours. Sans carte.

Obtenir une clé API gratuite Explorer la carte