lobsite! Se connecter S'inscrire

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 = true dans lobsite.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 de index.html et 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 --previewEnvoyer sans modifier la production
lobsite deploysLister 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 / whoamiVotre compte
lobsite claim [site]Conserver un site anonyme
lobsite account [use <email>|me]Passer à un compte dont vous êtes membre
lobsite token create|ls|revokeJetons CI pour LOBSITE_TOKEN (Standard)
lobsite ls / open / rmVos sites
lobsite domain add|status|rmDomaines personnalisés
lobsite forms ls / export <name> --csvEnvois de formulaires
lobsite mcpUn serveur MCP pour les agents IA

Limites

AnonymeFreeStandard
SitesSans plafond15
Fichiers par site10010010 000
Par fichier5 MB5 MB100 MB
Taille du site50 MB50 MB2 GB
Stockage—1 GB20 GB
Déploiements par heure1030100
Déploiements par jour et par site3Sans plafondSans plafond
Historique des déploiementsLive deploy only7 days30 days
Domaines personnalisés par compte—15
Domaines personnalisés par site—11
Bande passante1 GB10 GBUnlimited, fair use
Envois de formulaires par mois—25Unlimited
Statistiques——Yes
Automatisations (Zapier, n8n)——Yes
Badge « Powered by lobsite! »YesYesNo

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.