Guide de configuration des Spaces
Apprenez à créer et configurer des espaces de travail où vos agents IA peuvent lire des fichiers, écrire du code et gérer des projets.
Table des matières
- Ce que vous allez apprendre
- Prérequis
- Comprendre les Spaces
- Créer un Space
- Travailler avec des fichiers
- Variables d’environnement
- Configuration de l’espace de travail
- Bonnes pratiques
- Dépannage
Ce que vous allez apprendre
À la fin de ce guide, vous saurez comment :
- ✅ Créer des espaces de travail isolés pour les agents
- ✅ Télécharger et gérer des fichiers
- ✅ Configurer des variables d’environnement de manière sécurisée
- ✅ Définir la structure du projet
- ✅ Contrôler les accès et permissions
- ✅ Travailler avec un stockage persistant
Temps nécessaire : 15-20 minutes
Prérequis
Avant de commencer, assurez-vous d’avoir :
- ✅ Un compte TeamDay (Guide d’inscription)
- ✅ Une organisation (Configuration de l’org)
- ✅ Au moins un agent créé (Guide agent)
- ✅ Personal Access Token (Guide PAT)
Comprendre les Spaces
Que sont les Spaces ?
Les Spaces sont des environnements de système de fichiers isolés où les agents IA peuvent :
- Lire et écrire des fichiers
- Exécuter du code et des commandes
- Stocker des données persistantes
- Travailler avec des dépôts Git
- Accéder aux variables d’environnement
Considérez un space comme un espace de travail virtuel pour vos agents - comme un dossier de projet survitaminé.

Fonctionnalités clés
Isolation
- Chaque space a son propre système de fichiers
- Les agents ne peuvent pas accéder aux fichiers d’autres spaces
- Multi-location sécurisée
Persistance
- Les fichiers survivent entre les exécutions d’agents
- Sauvegarde automatique sur stockage S3
- Contrôle de version avec Git
Flexibilité
- Commencer de zéro (space vide)
- Cloner un dépôt Git existant
- Utiliser des modèles de démarrage
Collaboration
- Partager des spaces avec les membres de l’équipe
- Plusieurs agents peuvent travailler dans le même space
- Synchronisation de fichiers en temps réel
Cas d’usage des Spaces
Développement logiciel
Space : "Projet API Backend"
- Cloner un dépôt Git
- Les agents examinent et écrivent du code
- Commiter les changements dans le dépôt
- Exécuter les tests et la compilation
Analyse de données
Space : "Analyse des ventes Q1"
- Télécharger des jeux de données CSV
- Exécuter des scripts d'analyse Python
- Générer des visualisations
- Stocker les résultats et rapports
Création de contenu
Space : "Pipeline de contenu Blog"
- Rédiger des articles en Markdown
- Itérer avec les retours de l'agent
- Stocker les images et ressources
- Publier le contenu final
Scripts d’automatisation
Space : "Utilitaires DevOps"
- Stocker les scripts d'automatisation
- Fichiers de configuration
- Manifestes de déploiement
- L'agent exécute les tâches
Créer un Space
Méthode 1 : Via l’interface (Recommandé)
Étape 1 : Accéder aux Spaces
- Connectez-vous à TeamDay
- Cliquez sur “Spaces” dans la barre latérale
- Cliquez sur le bouton ”+ New Space”

Étape 2 : Configurer les paramètres de base
Nom du Space :
- Descriptif et spécifique
- 1-100 caractères
- Exemples :
- ✅ “API Backend Client”
- ✅ “Contenu Site Marketing”
- ❌ “Space 1”, “Test”, “Espace de travail”
Description (Optionnel) :
- Aperçu bref du but du space
- Aide les membres de l’équipe à comprendre le contexte
- Exemple : “API backend pour système de gestion client construit avec Node.js et PostgreSQL”

Étape 3 : Choisir le type d’initialisation
Option A : Espace de travail vide
Idéal pour : Démarrer un nouveau projet de zéro
Ce que vous obtenez :
- Répertoire vide
- Dépôt Git initialisé
- Fichier d’instructions
CLAUDE.mdpar défaut - Prêt pour le travail de l’agent
Cliquez sur “Create Empty Space”

Option B : Cloner un dépôt Git
Idéal pour : Travailler avec des bases de code existantes
Requis :
- URL du dépôt Git (HTTPS ou SSH)
- Identifiants d’accès (pour dépôts privés)
Étapes :
- Sélectionnez “Clone from Git”
- Entrez l’URL du dépôt
https://github.com/username/repository.git - (Optionnel) Spécifiez la branche
- Par défaut :
mainoumaster - Exemple :
develop,staging
- Par défaut :
- Cliquez sur “Clone Repository”

Option C : Utiliser un modèle de démarrage
Idéal pour : Configuration rapide de projet avec bonnes pratiques
Modèles disponibles :
- Nuxt - Framework Vue full-stack
- Next.js - Framework React
- Vue - Framework frontend
- React - Bibliothèque frontend
- Express - Backend Node.js
- FastAPI - Backend Python
Chaque modèle inclut :
- Boilerplate du projet
- Dépendances configurées
CLAUDE.mdavec instructions du projet- Structure de fichiers avec bonnes pratiques
Sélectionnez le modèle et cliquez sur “Create from Template”

Étape 4 : Définir la visibilité
Contrôlez qui peut accéder à votre space :
Privé (Par défaut)
- Seulement vous pouvez accéder
- Idéal pour : Projets personnels, expérimentations
- Accès agent : Seulement les agents que vous assignez
Organisation
- Tous les membres de l’organisation peuvent accéder
- Idéal pour : Collaboration d’équipe
- Accès agent : Tous les agents de l’org disponibles
Public
- Quiconque avec le lien peut voir (lecture seule)
- L’exécution nécessite l’adhésion à l’org
- Idéal pour : Démos, open source, vitrines

Étape 5 : Créer le Space
Cliquez sur “Create Space”
Processus d’initialisation :
- Création du système de fichiers
- Initialisation de Git (si applicable)
- Clonage du dépôt / configuration du modèle (si applicable)
- Configuration de la synchronisation S3
- Prêt ! ✅
Progression affichée dans l’interface. Prend généralement 10-30 secondes.

Étape 6 : Accéder à votre Space
Une fois prêt, vous verrez :
- Onglet Files - Parcourir et gérer les fichiers
- Onglet Chat - Interagir avec les agents dans ce space
- Onglet Settings - Configurer les options du space
- Onglet History - Historique des commits Git

Méthode 2 : Via API
Créer un Space vide :
curl -X POST "https://us.teamday.ai/api/v1/spaces" \
-H "Authorization: Bearer $TEAMDAY_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "API Backend Client",
"description": "API backend pour gestion client",
"visibility": "organization",
"type": "empty"
}'
Cloner un dépôt Git :
curl -X POST "https://us.teamday.ai/api/v1/spaces" \
-H "Authorization: Bearer $TEAMDAY_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "Projet existant",
"type": "git",
"gitUrl": "https://github.com/username/repo.git",
"gitBranch": "main"
}'
Utiliser un modèle de démarrage :
curl -X POST "https://us.teamday.ai/api/v1/spaces" \
-H "Authorization: Bearer $TEAMDAY_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "Nouvelle app Nuxt",
"type": "starterKit",
"starterKit": "nuxt"
}'
Réponse :
{
"id": "s-abc123xyz",
"name": "API Backend Client",
"description": "API backend pour gestion client",
"visibility": "organization",
"status": "initializing",
"organizationId": "org_xyz789",
"createdAt": "2025-01-15T10:00:00Z",
"s3Bucket": "teamday-workspaces",
"s3Prefix": "org_xyz789/spaces/s-abc123xyz/"
}
Surveiller le statut d’initialisation :
curl -X GET "https://us.teamday.ai/api/v1/spaces/s-abc123xyz" \
-H "Authorization: Bearer $TEAMDAY_API_TOKEN"
Attendez status: "ready" avant d’utiliser le space.
Travailler avec des fichiers
Structure du système de fichiers
Chaque space inclut :
/data/sandbox/{orgId}/spaces/s-{spaceId}/
├── CLAUDE.md # Instructions pour l'agent (auto-généré)
├── .git/ # Dépôt Git
├── .gitignore # Ignores standards
└── ...vos fichiers...
Le fichier CLAUDE.md
Instructions auto-générées pour les agents travaillant dans ce space :
# Projet : API Backend Client
API backend pour système de gestion client
## Contexte
Ceci est un espace de travail TeamDay pour : Développement backend
Organisation : Acme Corp
ID du Space : s-abc123xyz
Créé : 2025-01-15
## Directives
Lors du travail dans ce space :
- Suivre les modèles de code existants
- Écrire des messages de commit clairs
- Tester avant de commiter
- Documenter les changements significatifs
## Fichiers
[Agent : Utilisez l'outil filesystem pour explorer les fichiers]
Personnaliser CLAUDE.md pour ajouter des instructions spécifiques au projet :
# Projet API Client
## Stack technique
- Node.js 20+ avec TypeScript
- Express.js pour le framework API
- Base de données PostgreSQL
- Authentification JWT
## Normes de code
- Utiliser le mode strict TypeScript
- Suivre le guide de style Airbnb
- Longueur max de fonction : 50 lignes
- Écrire des commentaires JSDoc pour les fonctions publiques
## Tests
Exécuter les tests avant de commiter :
```bash
bun test
Commandes courantes
Développement
bun run dev # Démarrer le serveur dev (port 3000)
bun run build # Compiler pour production
Base de données
bun run migrate # Exécuter les migrations
bun run seed # Initialiser les données de test

### Télécharger des fichiers
**Via l'interface :**
1. Ouvrir le space → Onglet **Files**
2. Cliquer sur le bouton **"Upload Files"**
3. Sélectionner les fichiers depuis votre ordinateur
- Max 20 fichiers à la fois
- Max 100MB par fichier
4. Choisir le répertoire de destination (par défaut : racine)
5. Cliquer sur **"Upload"**
Les fichiers apparaissent immédiatement dans l'explorateur de fichiers.

**Via CLI :**
```bash
# Télécharger un seul fichier
teamday spaces upload s-abc123xyz \
--file data.csv \
--dest /data/
# Télécharger plusieurs fichiers
teamday spaces upload s-abc123xyz \
--files config.json,schema.sql,README.md \
--dest /
# Télécharger un répertoire
teamday spaces upload s-abc123xyz \
--directory ./src \
--dest /src
Via API :
curl -X POST "https://us.teamday.ai/api/v1/spaces/s-abc123xyz/files" \
-H "Authorization: Bearer $TEAMDAY_API_TOKEN" \
-F "[email protected]" \
-F "path=/data/data.csv"
Lire des fichiers
Via l’agent :
Demandez à votre agent de lire des fichiers :
Utilisateur : "Montre-moi le contenu de package.json"
Agent : [Utilise l'outil filesystem pour lire le fichier]
Utilisateur : "Quels fichiers sont dans le répertoire src/ ?"
Agent : [Liste le contenu du répertoire]

Via l’interface :
- Accéder à l’onglet Files
- Cliquer sur n’importe quel fichier
- Voir le contenu dans l’éditeur intégré
Via API :
curl -X GET "https://us.teamday.ai/api/v1/spaces/s-abc123xyz/files?path=/package.json" \
-H "Authorization: Bearer $TEAMDAY_API_TOKEN"
Écrire des fichiers
Via l’agent :
Les agents peuvent créer et modifier des fichiers :
Utilisateur : "Créer un nouveau fichier src/utils/helpers.ts avec des fonctions utilitaires courantes"
Agent : [Crée le fichier avec du contenu]
Utilisateur : "Mettre à jour src/api/users.ts pour ajouter la validation des entrées"
Agent : [Lit le fichier, effectue les changements, réécrit]

Via l’interface :
- Cliquer sur le bouton “New File”
- Entrer le nom et le chemin du fichier
- Écrire le contenu dans l’éditeur
- Cliquer sur “Save” (ou Cmd/Ctrl+S)
Via API :
curl -X POST "https://us.teamday.ai/api/v1/spaces/s-abc123xyz/files" \
-H "Authorization: Bearer $TEAMDAY_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"path": "/src/utils/helpers.ts",
"content": "export function formatDate(date: Date): string {\n return date.toISOString();\n}"
}'
Télécharger des fichiers
Via l’interface :
- Accéder à l’onglet Files
- Clic droit sur le fichier → Download
- Ou sélectionner plusieurs → Download as ZIP
Via CLI :
# Télécharger un seul fichier
teamday spaces download s-abc123xyz \
--file src/app.ts \
--output ./app.ts
# Télécharger l'ensemble du space
teamday spaces download s-abc123xyz \
--all \
--output backup.zip
Via API :
curl -X GET "https://us.teamday.ai/api/v1/spaces/s-abc123xyz/files/download?path=/src/app.ts" \
-H "Authorization: Bearer $TEAMDAY_API_TOKEN" \
-o app.ts
Supprimer des fichiers
Via l’agent :
Utilisateur : "Supprimer les anciens fichiers de test dans /tests/deprecated/"
Agent : [Supprime les fichiers]
Via l’interface :
- Sélectionner le(s) fichier(s) dans l’explorateur
- Cliquer sur le bouton Delete (ou appuyer sur Suppr)
- Confirmer la suppression
Via API :
curl -X DELETE "https://us.teamday.ai/api/v1/spaces/s-abc123xyz/files?path=/old-file.txt" \
-H "Authorization: Bearer $TEAMDAY_API_TOKEN"
Variables d’environnement
Stockez la configuration sensible de manière sécurisée.
Pourquoi utiliser des variables d’environnement ?
Sécurité :
- Clés API et secrets pas dans le code
- Chiffrées au repos
- Pas exposées dans l’historique Git
Flexibilité :
- Valeurs différentes par environnement
- Facile à mettre à jour sans changements de code
- Partager des spaces sans partager les secrets
Bonnes pratiques :
- Ne jamais commiter d’identifiants dans Git
- Utiliser des variables d’environnement pour tous les secrets
- Faire tourner les clés régulièrement
Définir des variables d’environnement
Via l’interface :
- Ouvrir le space → Onglet Settings
- Cliquer sur “Environment Variables”
- Cliquer sur ”+ Add Variable”
- Entrer la clé et la valeur :
Clé : DATABASE_URL Valeur : postgresql://user:pass@host:5432/db - Cliquer sur “Save”
Les variables sont chiffrées avant le stockage.

Variables courantes :
# Base de données
DATABASE_URL=postgresql://user:pass@localhost:5432/mydb
REDIS_URL=redis://localhost:6379
# Clés API
ANTHROPIC_API_KEY=sk-ant-xxx
OPENAI_API_KEY=sk-xxx
STRIPE_SECRET_KEY=sk_test_xxx
# Application
NODE_ENV=development
PORT=3000
LOG_LEVEL=debug
# Authentification
JWT_SECRET=your-secret-key
SESSION_SECRET=another-secret
Via API :
curl -X POST "https://us.teamday.ai/api/v1/secrets/set" \
-H "Authorization: Bearer $TEAMDAY_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"spaceId": "s-abc123xyz",
"key": "DATABASE_URL",
"value": "postgresql://user:pass@host:5432/db"
}'
Utiliser des variables d’environnement
Dans le code de l’agent :
Les agents peuvent accéder aux variables lors de l’exécution de code :
# Exemple Python
import os
database_url = os.environ.get('DATABASE_URL')
api_key = os.environ.get('ANTHROPIC_API_KEY')
// Exemple JavaScript
const databaseUrl = process.env.DATABASE_URL;
const apiKey = process.env.ANTHROPIC_API_KEY;
Dans les fichiers de configuration :
Utiliser la syntaxe de placeholder :
{
"database": "${DATABASE_URL}",
"apiKey": "${ANTHROPIC_API_KEY}"
}
Consulter les variables
Via l’interface :
- Settings → Environment Variables
- Voir la liste des clés (valeurs masquées)
- Cliquer sur “Reveal” pour afficher temporairement la valeur
Via API :
curl -X GET "https://us.teamday.ai/api/v1/spaces/s-abc123xyz/environment" \
-H "Authorization: Bearer $TEAMDAY_API_TOKEN"
Réponse (valeurs chiffrées) :
{
"variables": {
"DATABASE_URL": "***encrypted***",
"ANTHROPIC_API_KEY": "***encrypted***"
}
}
Supprimer des variables
Via l’interface :
- Settings → Environment Variables
- Trouver la variable
- Cliquer sur l’icône Delete
- Confirmer
Via API :
curl -X DELETE "https://us.teamday.ai/api/v1/secrets/DATABASE_URL?spaceId=s-abc123xyz" \
-H "Authorization: Bearer $TEAMDAY_API_TOKEN"
Configuration de l’espace de travail
Limites du système de fichiers
- Taille totale : 10 GB par space
- Nombre de fichiers : Illimité (usage raisonnable)
- Fichier unique : Max 100 MB de téléchargement
- Fréquence de synchro : Toutes les 5 minutes + sur changements
Synchronisation S3
Tous les spaces se synchronisent automatiquement vers S3 pour la durabilité :
Comment ça marche :
- L’agent modifie des fichiers localement
- Les changements détectés par le surveillant de fichiers
- Fichiers modifiés téléchargés vers S3
- Synchro toutes les 5 minutes + immédiatement à l’enregistrement
Avantages :
- Sauvegarde automatique
- Récupération de désastre
- Partage entre sessions
- Accès depuis plusieurs emplacements
Synchro manuelle :
# Forcer le téléchargement vers S3
teamday spaces sync s-abc123xyz --direction up
# Forcer le téléchargement depuis S3
teamday spaces sync s-abc123xyz --direction down
Vérifier le statut de synchro :
teamday spaces sync-status s-abc123xyz
Sortie :
{
"spaceId": "s-abc123xyz",
"lastSync": "2025-01-15T10:30:00Z",
"pendingChanges": 0,
"syncEnabled": true
}
Assigner des agents
Donnez l’accès à des agents spécifiques à un space :
Via l’interface :
- Ouvrir le space → Settings → Agents
- Cliquer sur “Assign Agent”
- Sélectionner l’agent dans le menu déroulant
- Cliquer sur “Add”
Les agents assignés :
- Peuvent lire/écrire des fichiers
- Voir le contexte du space
- Recevoir les instructions depuis
CLAUDE.md

Via API :
curl -X POST "https://us.teamday.ai/api/v1/spaces/s-abc123xyz/agents" \
-H "Authorization: Bearer $TEAMDAY_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"agentId": "char_def456"
}'
Bonnes pratiques
1. Organiser vos fichiers
Utilisez une structure de projet standard :
project-space/
├── CLAUDE.md # Instructions
├── README.md # Docs du projet
├── package.json # Dépendances
├── src/ # Code source
│ ├── api/ # Routes API
│ ├── services/ # Logique métier
│ ├── utils/ # Utilitaires
│ └── types/ # Types TypeScript
├── tests/ # Fichiers de test
├── docs/ # Documentation
└── .github/ # CI/CD
2. Utiliser .gitignore
Toujours ignorer :
# Dépendances
node_modules/
vendor/
# Sorties de compilation
dist/
build/
.next/
# Environnement
.env
.env.local
# Logs
*.log
logs/
# OS
.DS_Store
3. Documenter dans CLAUDE.md
Facilitez la tâche aux agents :
# Référence rapide
## Démarrer le développement
```bash
bun install
bun run dev
Exécuter les tests
bun test
Tâches courantes
- Ajouter un endpoint API : Créer un fichier dans
src/api/ - Migration base de données : Exécuter
bun run migrate - Déployer : Push vers la branche
main(déploiement auto)
### 4. Sécuriser vos secrets
**À faire :**
- ✅ Utiliser des variables d'environnement pour tous les secrets
- ✅ Ajouter `.env` à `.gitignore`
- ✅ Faire tourner les clés régulièrement
- ✅ Utiliser des clés différentes par environnement
**À ne pas faire :**
- ❌ Commiter des secrets dans Git
- ❌ Partager des secrets dans les messages de chat
- ❌ Utiliser des clés de production en développement
### 5. Garder les Spaces focalisés
Créer des spaces séparés pour :
- **Développement** - Travail actif
- **Staging** - Tests pré-production
- **Production** - Référence en lecture seule
- **Expérimentations** - Essayer de nouvelles idées
### 6. Sauvegardes régulières
Même avec la synchro S3, maintenez des sauvegardes :
```bash
# Script de sauvegarde hebdomadaire
#!/bin/bash
DATE=$(date +%Y%m%d)
teamday spaces download s-abc123xyz \
--all \
--output "backups/project-$DATE.zip"
7. Surveiller la taille du Space
Gardez les spaces sous 1GB pour de meilleures performances :
# Vérifier la taille du space
teamday spaces info s-abc123xyz | grep size
Gros fichiers à éviter :
node_modules/(utiliser .gitignore)- Artefacts de compilation (
.next/,dist/) - Grands jeux de données (utiliser stockage externe)
- Fichiers binaires (images, vidéos)
8. Nettoyer régulièrement
Supprimer les fichiers non utilisés :
Utilisateur : "Supprimer les fichiers inutilisés dans /tmp et les anciennes branches"
Agent : [Nettoie l'espace de travail]
Dépannage
Space bloqué en “Initializing”
Problème : Le statut n’atteint jamais “ready”
Solutions :
# Vérifier les logs d'initialisation
teamday spaces logs s-abc123xyz --tail 50
# Annuler et réessayer
teamday spaces delete s-abc123xyz
teamday spaces create --name "My Space" --type empty
Fichiers non synchronisés
Problème : Les changements n’apparaissent pas dans S3
Solutions :
# Vérifier que la synchro est activée
teamday spaces config s-abc123xyz --get SYNC_ENABLED
# Forcer la synchro
teamday spaces sync s-abc123xyz --direction up
# Vérifier les logs
teamday spaces logs s-abc123xyz --grep sync
Erreurs “Permission Denied”
Problème : L’agent ne peut pas accéder aux fichiers
Vérifier :
- Agent assigné au space
- Visibilité du space correcte
- Adhésion à l’organisation valide
teamday spaces info s-abc123xyz
Échec de téléchargement volumineux
Problème : Le téléchargement de fichier expire
Solutions :
- Diviser en fichiers plus petits (moins de 100MB chacun)
- Utiliser CLI au lieu de l’interface (plus fiable)
- Compresser avant téléchargement (fichiers zip)
# Télécharger via CLI
teamday spaces upload s-abc123xyz \
--file large-dataset.csv.gz \
--dest /data/
Prochaines étapes
Maintenant que vous avez un space configuré :
1. Activer l’intégration Git
- Se connecter aux dépôts GitHub
- Guide : Intégration Git
2. Travailler avec des agents dans les Spaces
- Exécuter des agents avec contexte du space
- Guide : Créer votre premier agent
3. Installer des plugins MCP
- Ajouter des outils pour vos agents
- Guide : Plugins MCP
4. Configurer l’automatisation
- Planifier des tâches récurrentes dans les spaces
- Guide : Automatisation
Ressources d’apprentissage
- [Référence API Spaces - Documentation API complète
- [Opérations de fichiers - Gestion avancée de fichiers
- [Bonnes pratiques de sécurité - Sécuriser vos spaces
Bon développement d’espace de travail ! 🚀