artifact-site — Un espace commun pour les pages et documents générés par l'IA, sur votre propre serveur. Open source, auto-hébergé, prêt pour les agents.

artifact-site

English | 简体中文 | 日本語 | Deutsch | Français | Español

CI Licence : Apache-2.0 OR MIT Node 24 Feuille de route npm GitHub Release

Cette traduction est maintenue en parallèle de la version anglaise ; en cas de divergence, l'anglais fait foi.

Il existe aujourd’hui une multitude d’agents d’IA, mais leurs productions se dispersent entre votre ordinateur, les historiques de conversation et les clouds des différentes plateformes, ce qui complique leur gestion, leur partage et leur consultation ultérieure. **artifact-site est un espace de travail auto-hébergé pour les particuliers et les équipes, comparable à Claude Artifacts ou OpenAI Sites.** Vos différents agents créent les contenus ; artifact-site les centralise : pages et documents deviennent des liens pour faciliter le partage, les commentaires et retours, le contrôle d’accès et la conservation des versions. Les agents que vous utilisez déjà peuvent continuer à modifier, publier, rechercher et mettre à jour ces créations via la CLI ou MCP. Vous pouvez auto-héberger artifact-site ou utiliser la version cloud hébergée par Lexmount. > **[Utiliser la version cloud](https://yours.lexmount.com/artifact-site)** — hébergée par Lexmount, sans déploiement à gérer. Glissez-déposez un fichier pour le publier et obtenir un lien de partage. Téléversez un fichier sans vous connecter ou **connectez-vous avec Google ou GitHub** pour conserver vos sites, les classer dans des dossiers et contrôler qui peut ouvrir chaque lien. > > Les envois anonymes expirent après quelques jours.

Un tableau de bord HTML déposé sur artifact-site : il devient un lien en quelques secondes, s'affiche dans un cadre isolé, et le panneau de partage copie le lien

Déposez un fichier, obtenez un lien, partagez-le. Consultez votre travail publié en ligne et choisissez qui peut l'ouvrir dans les réglages de partage.

## Pourquoi artifact-site - **Gardez le travail à un seul endroit.** Organisez pages et documents dans des dossiers et retrouvez-les par recherche plein texte, y compris en chinois. Les membres de l'équipe et les agents trouvent le travail auquel ils ont accès. - **Déposez et partagez.** Téléversez du HTML, un dossier de build, un ZIP ou un document pour obtenir un lien. Les sites volumineux sont envoyés par morceaux. Partagez avec tout le monde, les utilisateurs connectés, des personnes nommées ou les détenteurs d'un code d'accès. - **Continuez d'améliorer le travail publié.** Modifiez le texte ou la source HTML dans le navigateur, ou laissez un agent mettre à jour tout le site. Chaque modification conserve une version, avec retour en arrière et possibilité d'enregistrer une copie. - **Laissez les agents reprendre là où ils s'étaient arrêtés.** Publiez et mettez à jour via le guide, la CLI ou MCP, puis recherchez par contenu et lisez le texte extractible. Par exemple, retrouvez un rapport précédent et mettez-le à jour à la même adresse pour que votre équipe le consulte. ## Comparaison avec les produits hébergés | Pour votre équipe | Claude Artifacts / Claude Code Artifacts | ChatGPT Sites (OpenAI) | artifact-site | | --- | --- | --- | --- | | Hébergement | Géré par Anthropic | Géré par OpenAI | **Votre serveur**, avec stockage de fichiers local ou compatible S3 | | Publication | Dans Claude / Claude Code | Dans ChatGPT Sites | **Tout outil**, via téléversement, CLI ou MCP distant | | Contenus privilégiés | Artefacts interactifs | Sites web et applications hébergés | HTML statique, dossiers de build, ZIP, PDF et documents Office¹ | | Identité | Comptes Claude | Comptes ChatGPT | **Votre fournisseur OIDC**, par exemple Google, Keycloak ou Okta | ¹ L’aperçu en ligne des documents Office nécessite Gotenberg. artifact-site héberge des fichiers prêts à publier ; il n’exécute ni backends applicatifs ni tâches de build. Claude Artifacts et ChatGPT Sites associent création et partage hébergé. artifact-site complète ces flux avec un espace commun sur votre propre infrastructure pour les pages et documents produits par différents outils. Les fonctionnalités et le partage varient selon l’offre et évoluent ; consultez les guides officiels de [Claude Artifacts](https://support.claude.com/en/articles/9487310-what-are-artifacts-and-how-do-i-use-them) et [ChatGPT Sites](https://learn.chatgpt.com/docs/sites). ## Sommaire - [Ce que vous pouvez publier](#ce-que-vous-pouvez-publier) - [Démarrage rapide (déploiement local)](#démarrage-rapide-déploiement-local) - [Connecter un agent de codage](#connecter-un-agent-de-codage) - [Déployer pour votre équipe](#déployer-pour-votre-équipe) - [Fonctionnement](#fonctionnement) - [Documentation](#documentation) - [Contribuer](#contribuer) - [Licence](#licence) ## Ce que vous pouvez publier | Contenu | Ce que vous pouvez faire | | --- | --- | | HTML, dossiers de sites statiques, ZIP | Téléverser et prévisualiser des sites d'une ou plusieurs pages, y compris la sortie de build comme `dist/`. Les pages HTML acceptent l'édition visuelle du texte et l'édition de la source. | | PDF | Lire en ligne, rechercher et extraire le texte. | | Documents Office, comme PPTX et DOCX | Stocker et télécharger les originaux ; activer Gotenberg pour l'aperçu en ligne. | Compilez les projets web en fichiers statiques avant de les téléverser ; la plateforme n'exécute ni backends d'application ni tâches de build. Les documents PDF et Office ne prennent pas en charge l'édition HTML visuelle, et les images numérisées ne passent pas automatiquement par l'OCR. Les pages hébergées s'exécutent dans un bac à sable et ne peuvent pas utiliser la session de connexion de la plateforme. Les connexions à des API externes exigent une liste d'origines autorisées. Voir les [limites d'exécution](../src/content/publish-skill.md) et la [conception de la sécurité](../SECURITY.md). ## Démarrage rapide (déploiement local) Vous pouvez utiliser la [version cloud](https://yours.lexmount.com/artifact-site) sans rien installer. Pour un déploiement local, exécutez les trois commandes ci-dessous. Il vous faut Git, Make, Bash, Docker 24+ et le plugin Compose 2.24+. Sur macOS, utilisez Docker Desktop ; sur Windows, exécutez les commandes dans WSL2 avec l’intégration WSL de Docker Desktop activée. Aucune installation de Node, aucun domaine ni fournisseur d’identité n’est nécessaire. ```bash git clone https://github.com/lexmount/artifact-site.git && cd artifact-site cp .env.example .env make build up ``` Une fois démarré, ouvrez **http://127.0.0.1:4300** et déposez du HTML, un dossier de site statique ou un PDF pour voir votre travail. Les nouveaux sites sont privés par défaut ; créez un lien avec l'accès voulu dans le partage (Sharing) avant de l'envoyer à quelqu'un. Le premier lancement télécharge les dépendances et construit l'image, puis démarre l'application et Postgres. Utilisez ces commandes dans un clone tout neuf. Le service n'est accessible qu'en local par défaut ; `make down` l'arrête et conserve les données. Pour le rendre accessible à votre équipe, suivez [Déployer pour votre équipe](#déployer-pour-votre-équipe).
Besoin d'un fichier pour essayer ? Créez une page d'exemple ```bash printf 'Hello

Hello, artifact-site!

' > hello.html ``` Déposez `hello.html` sur la page d'accueil (ou choisissez **Upload**). Vous devriez voir « Hello, artifact-site! ». Copiez un lien depuis les réglages de partage ; les liens d'un déploiement local ne s'ouvrent que sur la même machine.
## Connecter un agent de codage Choisissez le point d’entrée adapté à votre agent : - **Skill**: `npx skills add lexmount/artifact-site` — installez le [skill pour agents](../skills/artifact-site/SKILL.md) et indiquez à votre agent l’URL de votre serveur. - **CLI**: `npm install -g @artifact-site/cli` — nécessite Node 24+ ; exemples de commandes ci-dessous. - **MCP**: `https://your-server/mcp` — connectez ChatGPT, Claude ou un autre client MCP via la connexion OAuth du serveur ; aucune installation de la CLI n’est nécessaire. Un client qui ne lance que des serveurs MCP locaux peut utiliser `artifact-site mcp` de la CLI à la place. **CLI et MCP créent des œuvres privées par défaut, sans lien indépendant.** Pour partager le lien principal, utilisez `artifact-site visibility unlisted` ou MCP `artifact_site_set_visibility`.

Un agent de codage publie un dossier de build avec la CLI artifact-site et renvoie le lien de partage

Ou laissez faire votre agent de codage. Avec le guide des agents (/for-agents.md), la CLI ou le serveur MCP, « publie ceci et donne-moi un lien » tient en une seule instruction — et le site peut être mis à jour, recherché et lu de la même façon.

Donnez cette instruction à Claude Code, Cursor, Codex ou tout autre agent de codage capable de lire des URL, avec une adresse de serveur qu'il peut atteindre. La page d'accueil propose aussi un bouton de copie avec l'adresse de votre serveur déjà renseignée : ```text Publie la sortie de ce projet sur artifact-site. Guide de publication : https://your-server/for-agents.md ``` Exemples CLI (`login` nécessite OIDC) : ```bash artifact-site login --base https://your-server # connexion d'appareil, une seule fois artifact-site publish dist/ --title "Q3 dashboard" # publier et renvoyer les liens artifact-site find "quota" # rechercher par contenu artifact-site read YOUR_SITE_SLUG # remplacer par le slug d'un site pour lire son texte ```
Détails de l’authentification Ouvrez **Agent guide** (le guide des agents) sur votre déploiement pour choisir la voie du prompt, de la CLI ou de MCP. `/for-agents#cli` et `/for-agents#mcp` fournissent les commandes propres au serveur, les étapes d'authentification et la configuration des clients. Le MCP distant authentifie chaque requête : ChatGPT, Claude et les autres clients compatibles OAuth se connectent via la page de consentement du serveur, les autres clients portent un jeton personnel. La création est privée par défaut ; modifiez explicitement l’accès du lien principal. Les liens indépendants sont une fonction avancée. Les déploiements d'équipe avec OIDC prennent en charge l'approbation de connexion d'appareil ; l'installation locale anonyme ci-dessus n'en a pas besoin. L'agent suit le guide et la politique de publication du serveur pour choisir l'authentification. Un agent dans le cloud ne peut pas atteindre directement `127.0.0.1` sur votre ordinateur. L'exemple de connexion requiert OIDC. Le MCP distant est un point d'entrée distinct et complet à l'adresse `https://your-server/mcp` : aucune installation de la CLI n'est nécessaire. ChatGPT, Claude et tout client qui implémente l'autorisation MCP se connectent avec la seule adresse et s'authentifient via la page de consentement OAuth du serveur ; pour les autres clients, la page `/for-agents#mcp` du déploiement crée un jeton personnel et copie la configuration authentifiée. Il prend en charge la publication, la mise à jour, la recherche, la lecture, le partage, les versions, l'export et la suppression, y compris les fichiers binaires et l'envoi de répertoires via les outils MCP. Voir les [commandes de la CLI](../cli/README.md) et la [configuration et les outils du MCP distant](MCP.md).
## Déployer pour votre équipe Partez de [.env.example](../.env.example) et suivez [SELFHOST.md](../SELFHOST.md) pour un déploiement en production. Utilisez une adresse publique stable pour `ARTIFACT_PUBLIC_URL` : les rappels de connexion, les vérifications d'origine des requêtes et l'adresse donnée aux agents en dérivent : - Définissez une `ARTIFACT_PUBLIC_URL` joignable et configurez un reverse proxy, ou définissez `ARTIFACT_WITH_CADDY=on` avec `ARTIFACT_DOMAIN` pour activer Caddy et les certificats automatiques. - Choisissez une politique de publication. `login` exige OIDC ; `token` sert les scripts ou agents munis d'un jeton Bearer ; `open` laisse publier quiconque peut atteindre le service et convient aux réseaux internes de confiance. La publication anonyme accepte des quotas et une expiration distincts. - Connectez Google ou un fournisseur OIDC tel que Keycloak, Logto, Authentik, Okta ou Auth0. Les comptes possèdent les sites et les dossiers ; les agents peuvent recevoir des jetons de longue durée via la connexion d'appareil. La valeur par défaut `ARTIFACT_ENFORCE_OWNERSHIP=on` active le contrôle d'accès par compte dès qu'OIDC est configuré. Ajoutez les adresses e-mail de connexion vérifiées des administrateurs à `ARTIFACT_ADMIN_EMAILS` pour activer la console d'administration. - Activez l'aperçu Office avec `ARTIFACT_WITH_GOTENBERG=on`. La console d'administration gère les retraits, les quotas, l'expiration des sites anonymes et les commutateurs de politique. Choisissez la visibilité par défaut et planifiez les sauvegardes. L'application est livrée sous forme d'une seule image Docker, avec Postgres intégré dans la configuration mono-hôte. Pour utiliser une image préconstruite disponible, définissez `ARTIFACT_IMAGE` et exécutez `make pull`. `make doctor` vérifie la configuration ; `make backup` et `make restore` gèrent les sauvegardes et la restauration. Pour plusieurs réplicas, un Postgres externe et un stockage compatible S3, voir [DEPLOY.md](../DEPLOY.md). ## Fonctionnement - **Application et stockage.** Next.js sert l'interface et l'API, Postgres stocke les métadonnées, et les fichiers résident sur le disque local ou dans un stockage compatible S3. Une base de données et un stockage objet externes permettent plusieurs réplicas de l'application. - **Versions immuables.** Chaque téléversement ou modification écrit une nouvelle version du fichier et préserve le contenu antérieur. Le verrouillage optimiste (`expected_version`) détecte les conflits de mises à jour simultanées. - **Isolation du contenu.** Les aperçus utilisent des iframes en bac à sable sans `allow-same-origin` et une CSP restrictive pour isoler le contenu téléversé de la plateforme. Les vérifications de chemin et les limites de décompression protègent contre la traversée de répertoires et les bombes ZIP. Voir [ARCHITECTURE.md](../ARCHITECTURE.md) pour l'architecture, le modèle de données et les flux de requêtes. ## Documentation | Document | Contenu | | --- | --- | | [SELFHOST.md](../SELFHOST.md) | Déploiement sur une seule machine avec `make up`, sauvegardes, mises à niveau, FAQ | | [DEPLOY.md](../DEPLOY.md) | Déploiement multi-réplicas : Postgres externe, stockage objet, OIDC | | [.env.example](../.env.example) | Chaque réglage, regroupé et expliqué | | [ARCHITECTURE.md](../ARCHITECTURE.md) | Forme du système, modèle de données, chemins des requêtes, le bac à sable | | [SECURITY.md](../SECURITY.md) | Modèle de menace et comment signaler une vulnérabilité | | [cli/README.md](../cli/README.md) | La CLI | | [src/content/publish-skill.md](../src/content/publish-skill.md) | Le contrat d'API et les limites d'hébergement, tels que servis aux agents | | [ROADMAP.md](../ROADMAP.md) | La suite : recherche sémantique, commentaires sur les sites, et plus | | [CHANGELOG.md](../CHANGELOG.md) | Ce qui a changé, version par version | ## Contribuer Le développement local requiert Node 24+ et Docker : ```bash npm install make dev # démarrer un Postgres jetable et le serveur de développement npm test # tests unitaires, sans service externe ``` Voir [CONTRIBUTING.md](../CONTRIBUTING.md) pour le processus de contribution, la signature DCO et les exigences de la CI. Signalez bugs et idées dans les [issues](https://github.com/lexmount/artifact-site/issues) ; posez vos questions dans les [discussions](https://github.com/lexmount/artifact-site/discussions). Si artifact-site vous est utile, une ⭐ aide d’autres personnes à le découvrir. Votre équipe l’utilise ? Présentez-vous dans les [Discussions](https://github.com/lexmount/artifact-site/discussions) — nous serions ravis de vous citer parmi les utilisateurs. ## Licence Sous licence, au choix, - Apache License, version 2.0 ([LICENSE-APACHE](../LICENSE-APACHE)) - Licence MIT ([LICENSE-MIT](../LICENSE-MIT)) Sauf déclaration explicite de votre part, toute contribution que vous soumettez intentionnellement pour inclusion dans ce projet est placée sous cette double licence, sans conditions supplémentaires. © 2025–2026 LexMount. Les composants tiers sont listés dans [NOTICE](../NOTICE).