Web Hosting
Dernière mise à jour : 22 juin 2026
Web Hosting est une ressource qui met en ligne un site web statique compilé dans un Space et le diffuse à l'adresse {subdomain}.weegloo.app. Pour reprendre l'exemple d'une boutique de vêtements, héberger le site de boutique compilé sur dailywear-shop.weegloo.app constitue un Web Hosting.
La mise en ligne se déroule comme suit. Vous regroupez d'abord le résultat de la compilation dans une archive ZIP ou tar.gz, vous l'envoyez via l'API Upload et vous obtenez un Upload. Vous référencez ensuite cet Upload pour créer un Web Hosting avec POST /web-hostings. Lorsque le système a traité les fichiers envoyés et que sys.state passe à COMPLETED, le site est accessible via url. Dans la CMA, un Web Hosting est une ressource enfant d'un Space et son chemin se base sur /spaces/{spaceId}/web-hostings.
Structure de la ressource
Voici la réponse de consultation unitaire du Web Hosting « Site de la boutique DailyWear » une fois le traitement terminé. Outre sys (propriétés système), il porte des propriétés de corps (name, description, isSpa, subdomain, url).
{
"sys": {
"id": "3trmXRM3RqbgSnifyg7PWeb01Examp",
"type": "WebHosting",
"space": { "sys": { "id": "HnQ32YiH", "type": "Refer", "targetType": "Space" } },
"createdBy": { "sys": { "id": "3p4tcFbQRwz503VXdtHXNI5dZH5TVB", "type": "Refer", "targetType": "User" } },
"updatedBy": { "sys": { "id": "3p4tcFbQRwz503VXdtHXNI5dZH5TVB", "type": "Refer", "targetType": "User" } },
"createdAt": "2026-06-18T11:40:00.000Z",
"updatedAt": "2026-06-18T11:40:05.000Z",
"state": "COMPLETED",
"totalFileSize": 245786,
"version": 3
},
"name": "Site de la boutique DailyWear",
"description": "Site statique pour la boutique de vêtements et accessoires",
"isSpa": true,
"subdomain": "dailywear-shop",
"url": "https://dailywear-shop.weegloo.app"
}Clés principales :
subdomain: le sous-domaine sous lequel le site est diffusé. Dans l'exemple ci-dessus, c'estdailywear-shop, ce qui donne l'adresse finaledailywear-shop.weegloo.app.url: l'adresse du site, accessible une fois le traitement terminé.isSpa: indique s'il s'agit d'une application monopage (SPA). Sitrue, toutes les requêtes de chemin sont dirigées versindex.html.state: l'état de traitement du déploiement des fichiers envoyés. Décrit ci-dessous dans Propriétés système (sys).
Propriétés système (sys)
Chaque Web Hosting porte ses propriétés système communes dans l'objet sys. space, createdBy et updatedBy adoptent la forme Refer ({ "sys": { "id", "type": "Refer", "targetType" } }).
| Propriété | Type | Description |
|---|---|---|
id | string | Identifiant unique de la ressource. S'insère dans le {webHostingId} des chemins de consultation unitaire, de modification et de suppression. |
type | string | Type de la ressource. Pour un Web Hosting, toujours "WebHosting". |
space | Refer<Space> | Le Space auquel appartient ce Web Hosting. |
createdBy | Refer<User> | L'utilisateur qui a créé la ressource. |
createdAt | string (date-time) | Date et heure de création. |
updatedBy | Refer<User> | Le dernier utilisateur ayant modifié la ressource. |
updatedAt | string (date-time) | Date et heure de la dernière modification. |
state | string (enum) | État de traitement du déploiement. L'une des 4 valeurs ci-dessous. |
error | string | En cas d'échec du traitement, le motif de l'échec. Vide en l'absence d'échec. |
totalFileSize | integer | Taille totale des fichiers envoyés (en octets). |
version | integer (≥1) | Version de la ressource. Incrémentée de 1 à chaque création et modification. C'est la valeur à transmettre dans x-weegloo-version lors des requêtes de modification et de modification partielle. |
state représente l'étape de traitement du déploiement des fichiers envoyés. Il ne s'agit pas de l'état de publication d'un Content : un Web Hosting n'a pas de notion de publication ni d'archivage. Une fois les fichiers traités et state passé à COMPLETED, le site est accessible via url.
state | Signification |
|---|---|
PENDING | En attente de traitement. |
PROCESSING | En cours de traitement. |
COMPLETED | Traitement terminé. Accessible via url. |
FAILED | Échec du traitement. Le motif figure dans sys.error. |
Propriétés du corps
Les propriétés de corps d'un Web Hosting sont les suivantes.
| Propriété | Type | Description |
|---|---|---|
name | string (1~64) | Nom du Web Hosting. Obligatoire à la création. |
description | string (≤128) | Description. Facultatif. |
isSpa | boolean | Indique s'il s'agit d'une application monopage. Si true, toutes les requêtes de chemin sont dirigées vers index.html (routage SPA). Obligatoire à la création. |
subdomain | string (3~32) | Sous-domaine de diffusion. Motif ^[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$ (minuscules, chiffres et traits d'union ; pas de trait d'union en début ni en fin). Obligatoire à la création. |
upload | Refer<Upload> | Référence vers les fichiers à envoyer. Archive ZIP ou tar.gz, qui doit contenir index.html à sa racine et référencer ses ressources par chemins relatifs. |
url | string | URL d'accès une fois le traitement terminé. Renseignée par le système. |
fromPath | string | Chemin de référence du déploiement. |
customDomain | string | Domaine personnalisé associé. Facultatif. Décrit ci-dessous dans Domaine personnalisé. |
Vérification du sous-domaine
Avant de créer un Web Hosting, vous pouvez vérifier si le sous-domaine que vous comptez utiliser est disponible. Transmettez le sous-domaine à vérifier dans le paramètre de requête subdomain à GET /web-hostings/availability?subdomain=....
La réponse a la forme suivante : si available vaut true, le sous-domaine est utilisable.
{ "subdomain": "dailywear-shop", "available": true }Domaine personnalisé
Au lieu de l'adresse par défaut {subdomain}.weegloo.app, vous pouvez associer à un Web Hosting un domaine dont vous disposez. L'état du domaine associé est représenté par l'objet customDomain, de forme { id, domain, dns, cert }. dns et cert correspondent respectivement à l'état de la validation de propriété du domaine (DNS) et à celui de l'émission du certificat (cert), tous deux de forme { status, txtName, txtContent }. txtName et txtContent sont le nom et la valeur de l'enregistrement DNS TXT à créer côté domaine.
{
"id": 1024,
"domain": "shop.dailywear.example",
"dns": {
"status": "PENDING",
"txtName": "_weegloo.shop.dailywear.example",
"txtContent": "weegloo-verify=3trmXRM3RqbgSnifyg7PWebVerifyEx"
},
"cert": {
"status": "PENDING",
"txtName": "_acme-challenge.shop.dailywear.example",
"txtContent": "acme-verify=3trmXRM3RqbgSnifyg7PWebCertEx"
}
}Après avoir créé les enregistrements TXT côté domaine, déclenchez la validation avec PUT /web-hostings/{webHostingId}/custom-domain/status/verify, et consultez l'état courant avec GET /web-hostings/{webHostingId}/custom-domain/status. Une fois la validation terminée, dns.status et cert.status passent à VERIFIED. Appeler la consultation d'état sur un Web Hosting auquel aucun domaine personnalisé n'est associé renvoie WGL404001.
API
L'URL de base de tous les endpoints ci-dessous est https://cma.weegloo.com/v1, et l'en-tête Authorization doit contenir un jeton Bearer authentifiant la CMA. Les modifications et modifications partielles doivent transmettre en plus l'en-tête X-Weegloo-Version (le sys.version courant de la ressource) pour assurer le contrôle de concurrence optimiste. Les requêtes de création et de suppression n'utilisent pas cet en-tête.
Documents associés
- API Upload : la requête qui envoie l'archive ZIP de fichiers statiques et renvoie l'Upload à utiliser pour créer un Web Hosting.
- Space : le Space auquel appartient un Web Hosting.
