adalanDocumentation
Collaborateurs

Publier un site

Une présentation, une maquette ou un site statique : le choix du nom, le dossier à envoyer, les vérifications obligatoires, l’envoi et le contrôle. Claude suit ce parcours pour vous ; le voici en clair.

Choisir le nom du projet

Le nom forme la fin de l’adresse : https://spaces.adalan.ai/durand/offre-rh/.

  • 3 à 40 caractères : minuscules sans accent, chiffres et tirets, sans double tiret.
  • www, admin, api, mail et portail sont réservés.
  • Le nom est lu par tous les visiteurs : jamais le nom d’un client pour un contenu confidentiel. Préférez offre-rh à offre-banque-dupont.
  • Publier sous un nom existant remplace le site.
  • Pour une adresse introuvable sans son lien, faites tirer le nom au hasard : adalan deploy --token en SSH, ou demandez à Claude « un nom tiré au hasard ». Le site reçoit un nom comme k7mqd-2xpt9-wfb3h-nc8ra-4mxpq (environ 124 bits, autant qu’un UUID), que la réponse indique : gardez-le pour les mises à jour.

Préparer le dossier

  • Le dossier contient index.html à sa racine : c’est la page d’accueil du site.
  • Une adresse qui ne nomme pas de fichier ouvre l’index.html du dossier : …/offre-rh/ ouvre index.html, …/offre-rh/annexes/ ouvre annexes/index.html. Un dossier sans index.html répond 404 : la liste de ses fichiers n’est jamais affichée.
  • Projet à construire : lancez la construction et publiez le dossier de sortie (dist/, build/, out/, _site/…), pas les sources.
  • Présentation en un seul fichier : nommez-la index.html, dans un dossier à elle.

Un site statique est servi tel quel, sans exécuter de code : un index.php n’y sert pas de page d’accueil, et ses fichiers .php partiraient en clair, code source compris. Le serveur signale les fichiers PHP à la publication (warning). Pour du PHP, publiez une application.

Les fichiers système (.DS_Store, __MACOSX, Thumbs.db) sont ignorés. Un envoi par SSH compte au plus 2 Go et 20 000 fichiers ; par le connecteur, 16 Mo et 1 000 fichiers.

Des liens relatifs

Tous les sites partagent l’adresse spaces.adalan.ai : chacun est servi sous son chemin, /durand/offre-rh/, pas à la racine. Un lien qui commence par / mène donc hors du site, et la page s’affiche sans ses styles ni ses images.

ÉcrireNe pas écrire
css/style.css/css/style.css
img/logo.pngfile:///Users/jean/Bureau/logo.png
page2.html, ../index.htmlC:\Users\jean\site\page2.html

Seules les ressources de la charte adalan, servies par la plateforme, s’écrivent en absolu : /_adalan/adalan.css, /_adalan/logos/logo-label.svg, /_adalan/logos/logo.svg.

Pour un projet construit, réglez le chemin de base de l’outil :

OutilRéglage
Vitebase: './' dans vite.config.js
Next.js (export statique)output: 'export' et basePath: '/durand/offre-rh'
Create React App"homepage": "." dans package.json
Jekyll, Hugobaseurl à /durand/offre-rh

Le serveur repère les liens absolus dans les pages et les feuilles de style, et les signale à la publication (warning).

Vérifications avant envoi

Elles sont obligatoires, et Claude les fait avec vous :

  • Aucun secret : fichier .env, clé, jeton d’API écrit dans le JavaScript. Le serveur refuse les fichiers sensibles connus, pas un jeton caché dans le code.
  • Aucune donnée personnelle réelle, ni donnée client confidentielle sans accord écrit. En cas de doute, demandez avant de publier.
  • Des liens relatifs, vers des fichiers présents dans le dossier.
  • L’habillage adalan si c’est demandé : Claude connaît la charte graphique.

Fichiers refusés sauf confirmation (--force) : .env, .env.*, .htpasswd, .git, .ssh, id_rsa, id_ecdsa, id_ed25519, *.pem, *.key, *.p12, *.pfx, *.kdbx, *.sqlite, *.sqlite3, *.db, credentials*.json, service-account*.json. N’employez --force que si vous êtes sûr(e) que ce ne sont pas des secrets. Le connecteur claude.ai n’a pas cette option : il ne publie jamais ces fichiers.

Choisir l’accès

AccèsPourOption
PublicDémonstration sans contenu sensible. Quiconque a le lien y accède ; les moteurs de recherche ne l’indexent pas.par défaut
Mot de passeProposition commerciale, document destiné à un client. Mot de passe généré (par exemple k7mq-2xpt-9wfb) ou choisi ; le visiteur le saisit sur une page adalan.--protect
InterneOutil interne. Les collaborateurs se connectent avec leur compte Microsoft adalan ; les freelances inscrits dans Grace reçoivent un code par e-mail. Pas de mot de passe partagé.--interne

Dans claude.ai, dites « protégé par mot de passe » ou « en accès interne ». L’accès interne suppose que le SSO soit configuré sur la plateforme ; sinon, la publication le signale. --sso, son ancien nom, est toujours accepté.

Envoyer

Depuis bash, ou Git Bash sous Windows :

COPYFILE_DISABLE=1 tar -czf - -C dossier . | ssh adalan adalan deploy offre-rh

Ajoutez --protect ou --interne pour l’accès, et --json pour une réponse lisible par Claude. COPYFILE_DISABLE=1 évite que macOS n’ajoute ses fichiers cachés à l’archive. La commande attend que le site réponde, puis affiche :

✓ offre-rh publié : 12 fichiers, 2,3 Mo
  Adresse    https://spaces.adalan.ai/durand/offre-rh/
  Expire le  29/12/2026 (prolonger : adalan extend offre-rh --days 90)

La mise en ligne est atomique : les visiteurs voient l’ancienne version, puis la nouvelle, jamais un site à moitié copié. Si le site ne répond pas encore, réessayez une minute plus tard :

curl -sI https://spaces.adalan.ai/durand/offre-rh/

Réponse attendue : 200 pour un site public, 302 (vers la page de connexion) pour un site protégé par mot de passe ou en accès interne. Avec le mot de passe, curl -sI -u adalan:mot-de-passe répond 200.

Mettre à jour

Pour tout remplacer, republiez le dossier sous le même nom. Pour ne changer que quelques fichiers, relisez ce qui est en ligne, puis n’envoyez que les fichiers modifiés avec --merge :

ssh adalan adalan files offre-rh
ssh adalan adalan files offre-rh index.html
COPYFILE_DISABLE=1 tar -czf - -C fichiers-modifies . | ssh adalan adalan deploy offre-rh --merge

--remove chemin, avec --merge, retire un fichier ou un dossier du site. Dans claude.ai, demandez la correction : Claude relit les fichiers en ligne et n’envoie que ceux qu’il modifie.

Transmettre le lien

  • Donnez l’adresse et la date d’expiration.
  • Pour un site protégé, transmettez le mot de passe par un autre canal que le lien : l’un par courriel, l’autre par SMS par exemple.
  • Pour un site interne, rien à transmettre : un collaborateur se connecte avec Microsoft, un freelance demande un code sur la page de connexion. Un freelance qui ne reçoit rien doit être inscrit dans Grace (monespace.adalan.ai) avec cette adresse.
  • Le mot de passe se réaffiche à tout moment : ssh adalan adalan password offre-rh, « Afficher le mot de passe » sur la page du site, ou « redonne-moi le mot de passe » dans claude.ai. Pour l’envoyer avec le lien : adalan invite (voir Gérer ses sites).