Docs
Démarrage rapide
Dans un projet buildé, lancez une commande. Pas besoin de compte : le site dure 6 heures, sauf si vous vous connectez et le récupérez.
npx lobsite
Le dossier est l’argument, dir dans lobsite.toml, ou le premier qui existe parmi dist/, build/, out/, _site/, public/. Seuls les fichiers modifiés sont envoyés.
Agents IA
Les agents de code (Claude Code, Cursor, Codex et d’autres) déploient avec la même commande. Sous un agent, la CLI ne pose jamais de question, et sa sortie se termine par une ligne « Tell the user: » avec l’URL et, pour un site sans compte, le lien de récupération qui permet de le garder.
npx -y lobsite --yes
Il existe aussi un serveur MCP pour les agents de code, un serveur distant pour ChatGPT et Claude.ai, et une commande curl pour les bacs à sable sans Node. Configurez votre agent.
Glisser-déposer
Connectez-vous et déposez un dossier ou un zip n’importe où sur le tableau de bord. Les mêmes vérifications ont lieu avant tout envoi ; les fichiers secrets sont toujours exclus.
lobsite.toml
site = "quiet-fox-4821"
dir = "dist"
spa = false # true: paths that aren't files open index.html
[[redirects]]
from = "/blog/:slug"
to = "/posts/:slug"
status = 301 # 301 | 302 | 307 | 308
[[headers]]
for = "/assets/*"
[headers.values]
Cache-Control = "public, max-age=31536000, immutable"
[forms.contact]
required = ["email", "message"]
redirect = "/thanks"
Les clés inconnues sont une erreur, avec une suggestion de la clé valide la plus proche. La configuration voyage avec chaque déploiement : un retour arrière la restaure.
Applications monopages
Les applications avec un routage côté client, comme React Router, Vue Router ou TanStack Router, ont un seul index.html et dessinent chaque page dans le navigateur. Ouvrir /dashboard/settings directement, ou recharger la page, demande au serveur un fichier qui n’existe pas. Le mode monopage répond à ces chemins avec votre index.html, et le routeur de l’application prend le relais. Il y a trois façons de l’activer :
spa = truedanslobsite.toml. Le réglage voyage avec chaque déploiement : un retour arrière le restaure. Nécessite lobsite 0.1.8 ou plus récent ; les versions plus anciennes s’arrêtent avec « Unknown key ».- Application monopage dans les réglages du site, dans le tableau de bord. C’est la solution pour les sites déposés par glisser-déposer, puisqu’un dossier déposé n’envoie pas de
lobsite.toml. C’est un réglage du site : il ne change pas au fil des déploiements et des retours arrière. - Un
200.htmlà la racine du site. Il est servi à la place deindex.htmlet fonctionne avec toutes les versions de la CLI et avec le glisser-déposer. C’est ainsi que procède Surge.
Avec Vite (React, Vue, Svelte ou Solid), ajoutez le réglage et déployez dist/ comme d’habitude :
npm run build
npx lobsite
Seules les requêtes de pages reçoivent l’application : un chemin dont la dernière partie n’a pas d’extension (/dashboard, /users/42), ou toute requête d’un navigateur qui demande du HTML (/users/jane.doe). Un fichier manquant comme /assets/index-3f9a.js reçoit un vrai 404. Cela compte juste après un déploiement : un visiteur qui a encore l’ancienne version ouverte obtient une erreur claire pour l’ancien script, pas votre HTML à sa place.
| Le site a | Une page manquante (/dashboard) |
Un fichier manquant (/old.js) |
|---|---|---|
| rien | « Not found » de Lobsite, 404 | « Not found » de Lobsite, 404 |
404.html |
404.html, 404 |
404.html, 404 |
| le mode monopage | index.html, 200 |
« Not found » de Lobsite, 404 |
le mode monopage et 404.html |
index.html, 200 |
404.html, 404 |
200.html (avec ou sans le réglage) |
200.html, 200 |
404.html s’il existe, sinon « Not found », 404 |
En venant de Netlify, la règle _redirects /* /index.html 200 correspond à spa = true ; en venant de Vercel, une réécriture de /(.*) vers /index.html revient au même.
.lobsiteignore
Les fichiers qui correspondent à un motif de .lobsiteignore ne sont pas déployés. La syntaxe est celle de .gitignore :
drafts/
*.psd
/notes.txt
!keep.psd
Le fichier est lu dans le dossier déployé et à la racine du projet (à côté de lobsite.toml) ; les motifs du fichier racine sont relatifs à la racine. .git, node_modules, .DS_Store et .lobsiteignore lui-même sont toujours exclus.
Les fichiers secrets (.env*, clés privées comme *.pem et id_rsa, .npmrc, .netrc et similaires) arrêtent un déploiement jusqu’à ce qu’ils soient retirés ou ignorés. Dans un terminal, la CLI propose de les ajouter à .lobsiteignore et de déployer sans eux.
Formulaires
<form action="/_lobsite/forms/contact" method="POST">
<input name="email" type="email" required>
<textarea name="message" required></textarea>
<button>Send</button>
</form>
Les formulaires sont détectés au déploiement. La protection anti-spam (un champ piège, un contrôle du délai et des limites de débit) est ajoutée pour vous. Les réponses arrivent sur la page Envois de votre tableau de bord et par e-mail. Plus sur les formulaires : exemples, envoi en JavaScript, frameworks et réglages.
Avec l’offre gratuite, les formulaires fonctionnent en mode limité : un quota mensuel par site, des notifications uniquement vers l’e-mail du compte, et pas de webhooks. L’offre Standard ajoute les webhooks, toute adresse de notification vérifiée et un quota plus élevé.
Domaines personnalisés
Les domaines personnalisés sont inclus dans chaque compte, offre gratuite comprise. lobsite domain add www.example.com affiche l’enregistrement à ajouter : un CNAME vers cname.lobsite.app. Les certificats sont émis et renouvelés pour vous. Si un autre compte a aussi ajouté le domaine, un enregistrement TXT prouve qu’il est à vous.
Aperçus et retour arrière
Chaque déploiement a sa propre URL, <id>--<site>.lobsite.app. lobsite deploy --preview ne touche pas à la production ; lobsite rollback et lobsite promote changent le déploiement en ligne sans rien envoyer.
CLI
lobsite [dir] | Déployer un dossier (la commande par défaut) |
lobsite deploy --preview | Envoyer sans modifier la production |
lobsite deploys | Lister les déploiements conservés |
lobsite rollback [id] | Remettre en ligne un déploiement antérieur |
lobsite promote <id> | Mettre en ligne n'importe quel déploiement |
lobsite login / logout / whoami | Votre compte |
lobsite claim [site] | Conserver un site anonyme |
lobsite account [use <email>|me] | Passer à un compte dont vous êtes membre |
lobsite token create|ls|revoke | Jetons CI pour LOBSITE_TOKEN (Standard) |
lobsite ls / open / rm | Vos sites |
lobsite domain add|status|rm | Domaines personnalisés |
lobsite forms ls / export <name> --csv | Envois de formulaires |
lobsite mcp | Un serveur MCP pour les agents IA |
Limites
| Anonyme | Free | Standard | |
|---|---|---|---|
| Sites | Sans plafond | 1 | 5 |
| Fichiers par site | 100 | 100 | 10 000 |
| Par fichier | 5 MB | 5 MB | 100 MB |
| Taille du site | 50 MB | 50 MB | 2 GB |
| Stockage | — | 1 GB | 20 GB |
| Déploiements par heure | 10 | 30 | 100 |
| Déploiements par jour et par site | 3 | Sans plafond | Sans plafond |
| Historique des déploiements | Live deploy only | 7 days | 30 days |
| Domaines personnalisés par compte | — | 1 | 5 |
| Domaines personnalisés par site | — | 1 | 1 |
| Bande passante | 1 GB | 10 GB | Unlimited, fair use |
| Envois de formulaires par mois | — | 25 | Unlimited |
| Statistiques | — | — | Yes |
| Automatisations (Zapier, n8n) | — | — | Yes |
| Badge « Powered by lobsite! » | Yes | Yes | No |
Bandwidth is per month per account (per site lifetime for anonymous sites). At the limit, free and anonymous sites stop serving until the next month; on Standard there's no cap and sites keep serving: past 1 TB a month, we contact you.