# Transport et déploiement

> Adresses d’écoute par défaut, transport, format de streaming et organisation des URL d’un service LMSP, et façon dont il s’exécute comme service du système d’exploitation, séparé des processus de modèle.

Source: https://madeforagent.com/fr/lmsp/1.0/transport/
Language: fr
Specification: LMSP 1.0 (draft)
Updated: 2026-11-08

## 2.1 Déploiement par défaut {#deployment}

Un service **DOIT** écouter par défaut sur les adresses de loopback `127.0.0.1` et `::1`. Le port conventionnel est `17832`, ce qui donne l’adresse de base par défaut `http://127.0.0.1:17832`.

| Élément | Valeur |
| --- | --- |
| Adresses d’écoute | `127.0.0.1` et `::1` |
| Transport | HTTP/1.1 ou HTTP/2 transportant du JSON |
| Streaming | Événements envoyés par le serveur, `Content-Type: text/event-stream` |
| Préfixe de l’interface principale | `/lmsp/v1` |
| Préfixe compatible OpenAI | `/v1` |
| Description du service | `GET /.well-known/lmsp.json` |
| Contrat lisible par machine | `GET /lmsp/v1/openapi.json` |
| Canal local facultatif | Socket de domaine Unix ou canal nommé Windows |

Les requêtes et les réponses utilisent du JSON en UTF-8 (`Content-Type: application/json`), sauf les flux (`text/event-stream`) et les erreurs (`application/problem+json`). Les horodatages sont des entiers : des secondes depuis l’epoch Unix. Les identifiants sont des chaînes opaques ; un préfixe de type tel que `resp_` ou `task_` est **RECOMMANDÉ**.

Le contrat de l’interface est un document OpenAPI 3.2. OpenAPI 3.2 sait décrire les événements envoyés par le serveur, le JSON Lines et les JSON Sequences, de sorte que les points de terminaison de streaming sont spécifiés dans le même document que le reste. Le contrat de cette version est publié à l’adresse [`/lmsp/1.0/openapi.json`](https://madeforagent.com/lmsp/1.0/openapi.json).

Un service **PEUT** aussi accepter des connexions sur un socket de domaine Unix ou un canal nommé Windows, avec la même sémantique HTTP. Dans la version 1.0, la façon d’annoncer de tels points de terminaison est laissée aux extensions.

## 2.2 Fonctionnement permanent {#operation}

Un service **DEVRAIT** être hébergé par le système d’exploitation : launchd sous macOS, systemd sous Linux et le gestionnaire de services sous Windows.

Le processus du service et les processus de modèle **DEVRAIENT** être séparés. Le plantage d’un modèle **DEVRAIT** n’affecter que les tâches qui utilisent ce modèle. Il **NE DEVRAIT PAS** rendre indisponibles la découverte du service, le catalogue de modèles ni les requêtes sur les tâches antérieures.
