Skip to content

Identifiants, Scripts & Sauvegardes

Stib fournit trois fonctionnalités clés d'administration pour gérer votre instance : les identifiants pour l'authentification des agents IA, les scripts de projet pour exécuter des commandes personnalisées, et les sauvegardes & exports pour la protection des données.

INFO

La gestion des identifiants et les sauvegardes nécessitent les privilèges super admin (ou sont disponibles lorsque l'authentification est désactivée). Les scripts de projet sont configurés par projet et accessibles à tout utilisateur ayant accès au projet.

Identifiants

Les agents Stib ont besoin d'identifiants pour interagir avec Claude. Deux types d'identifiants sont supportés, chacun avec une méthode d'authentification différente.

Types d'identifiants

CaractéristiqueClé APIProfil OAuth
AuthentificationClé secrète statiqueFlux OAuth via navigateur
FormatChaîne sk-ant-*Token OAuth dans un répertoire de profil
StockageChiffré AES-256-GCM en base de donnéesRépertoire de profil (~/.stib-claude-profiles/cred-{uuid})
Suivi d'utilisationNon disponibleQuotas 5 heures et 7 jours
Idéal pourAccès API, automatisationUtilisation interactive avec un compte Anthropic

Ajouter une clé API

WARNING

La variable d'environnement STIB_ENCRYPTION_KEY doit être configurée avant d'ajouter des clés API. Sans elle, Stib ne peut pas chiffrer les valeurs de clés et l'opération échouera. Voir Configuration pour les instructions de mise en place.

  1. Allez dans Paramètres → Identifiants
  2. Cliquez sur Ajouter un identifiant et sélectionnez Clé API
  3. Saisissez un libellé (ex. « Clé Production », « Clé Équipe »)
  4. Collez votre clé API Claude (commence par sk-ant-)
  5. Stib valide le format de la clé et la teste auprès de l'API Anthropic
  6. Une fois validée, la clé est chiffrée et stockée de manière sécurisée

WARNING

Les clés API sont chiffrées au repos avec AES-256-GCM. La valeur de la clé n'est jamais exposée dans les réponses API — seuls le libellé et le statut sont retournés.

Ajouter un profil OAuth

  1. Allez dans Paramètres → Identifiants
  2. Cliquez sur Ajouter un identifiant et sélectionnez Profil OAuth
  3. Saisissez un libellé pour ce profil
  4. Cliquez sur Démarrer la connexion — votre navigateur ouvre la page OAuth d'Anthropic
  5. Connectez-vous avec votre compte Anthropic et autorisez Stib
  6. Stib attend la complétion et stocke les tokens OAuth dans un répertoire de profil dédié
  7. Une fois terminé, le profil est prêt à l'emploi

INFO

Les profils OAuth stockent les tokens dans ~/.stib-claude-profiles/cred-{uuid}/. Sur macOS, les tokens sensibles sont stockés dans le Trousseau système pour une sécurité renforcée.

Attribution des identifiants

Stib utilise une résolution en cascade pour déterminer quel identifiant un agent utilise. L'attribution la plus spécifique l'emporte :

┌─────────────────────────────────────────────┐
│  1. Identifiant de la carte   (priorité max)│
│     Défini dans les paramètres de la carte  │
├─────────────────────────────────────────────┤
│  2. Identifiant du projet                   │
│     Défini dans Paramètres du projet        │
├─────────────────────────────────────────────┤
│  3. Identifiant par défaut de l'organisation│
│     Défini dans Paramètres de l'organisation│
├─────────────────────────────────────────────┤
│  4. Valeur par défaut système  (priorité min)│
│     Retombe sur le répertoire ~/.claude/    │
└─────────────────────────────────────────────┘

Cela vous permet de définir un identifiant par défaut pour votre organisation tout en le surchargeant pour des projets ou des cartes spécifiques.

Suivi de l'utilisation

Les profils OAuth fournissent des données d'utilisation en temps réel depuis Anthropic :

QuotaDescription
Fenêtre de 5 heuresPourcentage d'utilisation sur une période glissante de 5 heures
Fenêtre de 7 joursPourcentage d'utilisation sur une période glissante de 7 jours

Les barres d'utilisation sont affichées à côté de chaque identifiant OAuth avec des seuils colorés :

CouleurUtilisationSignification
🟢 Vert0–70 %Utilisation normale
🟡 Jaune71–90 %Utilisation modérée
🟠 Orange91–94 %Utilisation élevée, approche de la limite
🔴 Rouge95–100 %À la limite ou proche du rate limit

TIP

Les données d'utilisation se rafraîchissent automatiquement toutes les 5 minutes via le vérificateur d'identifiants en arrière-plan. Lorsqu'un quota se réinitialise, le minuteur et le pourcentage d'utilisation se mettent à jour au prochain cycle de vérification.

Vérification & Santé

Stib exécute un vérificateur d'identifiants en arrière-plan toutes les 5 minutes qui :

  • Valide les clés API auprès de l'API Anthropic
  • Rafraîchit les tokens OAuth et récupère les dernières données d'utilisation
  • Met à jour les métadonnées des identifiants (email, type d'abonnement, statut de vérification)

Chaque identifiant affiche un indicateur de statut :

StatutSignification
✅ VérifiéL'identifiant est valide et fonctionnel
⚠️ Non vérifiéPas encore vérifié ou vérification en attente
❌ InvalideClé rejetée ou tokens OAuth expirés

Vous pouvez également déclencher une vérification manuelle en cliquant sur le bouton de vérification de n'importe quel identifiant.

Gestion des identifiants

Depuis la liste des identifiants dans les Paramètres, vous pouvez :

  • Modifier le libellé — Renommer un identifiant pour plus de clarté
  • Supprimer — Retirer un identifiant (les références dans les organisations, projets et cartes sont automatiquement nettoyées)
  • Définir par défaut — Attribuer un identifiant comme valeur par défaut de l'organisation
  • Rafraîchir OAuth — Relancer le rafraîchissement des tokens pour les profils OAuth
  • Vérifier — Vérifier manuellement la validité d'un identifiant

Chiffrement & Sécurité

Stib chiffre toutes les clés API au repos avec le chiffrement symétrique AES-256-GCM.

ParamètreDescription
STIB_ENCRYPTION_KEYClé de 32 octets encodée en hexadécimal, utilisée pour chiffrer les valeurs de clés API et les secrets des fournisseurs de sauvegarde

Générer une clé de chiffrement :

bash
openssl rand -hex 32

Définissez-la comme variable d'environnement avant de démarrer Stib :

bash
export STIB_ENCRYPTION_KEY="votre-chaine-hexadecimale-de-64-caracteres"

WARNING

Si vous perdez la STIB_ENCRYPTION_KEY, les clés API chiffrées ne pourront pas être déchiffrées. Conservez-la en sécurité avec votre configuration Stib.

Garanties de sécurité :

  • Les valeurs des clés API ne sont jamais retournées dans les réponses API
  • Suppression en cascade : supprimer un identifiant annule automatiquement les références dans les organisations, projets et cartes
  • Les tokens OAuth sont stockés dans des répertoires de profils isolés, avec intégration au Trousseau macOS lorsque disponible

Scripts de projet

Les scripts de projet vous permettent de définir et d'exécuter des commandes shell personnalisées directement depuis l'interface Stib — utile pour les builds, tests, déploiements ou toute tâche récurrente.

Configurer les scripts

  1. Allez dans Paramètres du projet → Scripts
  2. Cliquez sur Ajouter un script
  3. Renseignez les détails du script :
ChampRequisDescription
NomOuiNom d'affichage (ex. « Build », « Test », « Deploy »)
CommandeOuiCommande shell à exécuter (ex. npm run test)
DescriptionNonDescription optionnelle affichée dans le menu déroulant
  1. Glissez-déposez les scripts pour les réordonner — l'ordre est reflété dans le menu d'exécution

Exécuter les scripts

  1. Cliquez sur le bouton play (▶) dans la barre supérieure du projet
  2. Si plusieurs scripts sont configurés, un menu déroulant apparaît — sélectionnez le script à exécuter
  3. Un dialogue de sortie s'ouvre montrant l'exécution en temps réel :
    • La sortie standard est affichée en police monospace
    • La sortie d'erreur (stderr) apparaît en rouge
    • La sortie est limitée à 10 000 lignes dans le frontend
  4. Vous pouvez fermer le dialogue pendant l'exécution — le rouvrir affiche toute la sortie accumulée

INFO

Les scripts s'exécutent comme sous-processus bash dans le répertoire du dépôt du projet. La variable d'environnement CLAUDECODE est retirée par sécurité.

Annuler un script

Pour arrêter un script en cours, cliquez sur le bouton d'annulation dans le dialogue de sortie. Stib utilise un processus d'arrêt progressif :

  1. SIGTERM est envoyé à l'ensemble du groupe de processus
  2. Stib attend jusqu'à 5 secondes que le processus se termine
  3. S'il tourne encore, SIGKILL est envoyé pour forcer l'arrêt
  4. Le groupe de processus est entièrement nettoyé pour éviter les processus orphelins

Sauvegardes

Stib utilise VACUUM INTO de SQLite pour des sauvegardes atomiques qui n'interfèrent pas avec les agents en cours d'exécution. Les sauvegardes capturent l'état complet de la base de données.

Sauvegarde manuelle

Depuis Paramètres → Sauvegardes :

  1. Cliquez sur Créer une sauvegarde pour générer une nouvelle sauvegarde immédiatement
  2. La liste des sauvegardes affiche toutes les sauvegardes disponibles avec horodatage et taille
  3. Pour chaque sauvegarde, vous pouvez :
    • Télécharger — Enregistrer le fichier de sauvegarde localement
    • Supprimer — Retirer la sauvegarde du stockage

Fournisseurs de stockage

Les sauvegardes peuvent être stockées localement ou envoyées vers un fournisseur distant :

Stockage local

ParamètreValeur
EmplacementRépertoire data/backups/
ConfigurationAucune requise (par défaut)

Stockage S3-Compatible

ParamètreDescription
EndpointURL du endpoint S3 (ex. https://s3.amazonaws.com)
BucketNom du bucket
RégionRégion AWS (ex. us-east-1)
Access KeyIdentifiant de clé d'accès AWS
Secret KeyClé secrète d'accès AWS (chiffrée au repos)
Préfixe de cheminPréfixe optionnel pour les fichiers de sauvegarde dans le bucket

Fonctionne avec AWS S3, MinIO, Backblaze B2, et tout service compatible S3.

Stockage WebDAV

ParamètreDescription
URLURL du serveur WebDAV
Nom d'utilisateurIdentifiant d'authentification
Mot de passeMot de passe d'authentification (chiffré au repos)

Fonctionne avec Nextcloud, ownCloud, et tout serveur compatible WebDAV.

TIP

Utilisez le bouton Tester la connexion pour vérifier la configuration de votre fournisseur avant d'enregistrer. Les clés secrètes S3 et les mots de passe WebDAV sont chiffrés au repos avec le même chiffrement AES-256-GCM que les clés API.

Sauvegardes périodiques

Automatisez les sauvegardes avec un calendrier configurable :

ParamètreOptions
ActiverActiver/désactiver les sauvegardes périodiques
Intervalle1 heure, 6 heures, 12 heures ou 24 heures
Rétention1 à 100 sauvegardes (les plus anciennes sont automatiquement supprimées)

Le planificateur de sauvegardes :

  • Persiste la configuration en base de données
  • Rattrape les sauvegardes manquées au démarrage (ex. si le serveur était arrêté)
  • Envoie des événements WebSocket à la complétion (backup.periodic.completed) ou en cas d'échec (backup.periodic.failed)

Restaurer depuis une sauvegarde

WARNING

Restaurer une sauvegarde remplace l'intégralité de la base de données. Toutes les données actuelles seront écrasées. Assurez-vous d'avoir une sauvegarde récente de l'état actuel avant de procéder.

  1. Allez dans Paramètres → Sauvegardes
  2. Choisissez une source de restauration :
    • Depuis la liste — Sélectionnez une sauvegarde existante
    • Téléverser — Téléversez un fichier de sauvegarde .db
  3. Tapez RESTORE dans le champ de confirmation (vérification de sécurité)
  4. Cliquez sur Restaurer — tous les agents actifs sont arrêtés et la base de données est remplacée
  5. Redémarrez le serveur pour compléter le processus de restauration

INFO

Les opérations de sauvegarde et de restauration nécessitent les privilèges super admin (ou sont disponibles lorsque l'authentification est désactivée).

Exports de données

Stib peut exporter vos données sous forme de fichiers JSON structurés, utiles pour l'archivage, le transfert de données ou l'analyse.

Export de projet

Exportez un seul projet avec toutes ses données :

  1. Cliquez sur l'icône de téléchargement dans la barre supérieure du projet
  2. Un fichier JSON est téléchargé : stib-export-{nom-du-projet}-{AAAA-MM-JJ}.json

Export d'organisation

Exportez plusieurs projets à la fois :

  1. Ouvrez le menu utilisateur et sélectionnez Exporter les données
  2. Une modale apparaît avec des cases à cocher pour chaque projet de l'organisation
  3. Sélectionnez ou désélectionnez les projets selon vos besoins
  4. Cliquez sur Exporter pour télécharger le fichier JSON

Données incluses / exclues

CatégorieInclusExclu
ProjetsNom, paramètres, configuration
BoardsTous les boards avec leurs paramètres
ColonnesConfiguration des colonnes, positions
CartesTitre, prompt, configuration, statutChamps d'exécution (claudeSessionId, runningSummary)
ConversationsTous les messages d'agents
Pièces jointesMétadonnées (nom, type, taille)Contenu binaire des fichiers
UtilisateursToutes les données utilisateur
IdentifiantsTous les identifiants et tokens
ParamètresParamètres de l'application, config auth
SessionsLogs de sessions d'agents

INFO

Export vs. Sauvegarde : Les exports produisent du JSON structuré (portable, sélectif, pour l'archivage et le transfert). Les sauvegardes produisent une copie complète de la base SQLite (complète, restauration rapide, pour la reprise après sinistre). Utilisez les exports pour la portabilité des données et les sauvegardes pour la récupération du serveur.

Prochaines étapes

TIP

Maintenant que vous maîtrisez les identifiants, scripts et sauvegardes, consultez ces guides connexes :

  • Authentification — Configurer l'authentification utilisateur et OIDC SSO
  • Configuration — Configuration du serveur et variables d'environnement
  • Référence API — Points de terminaison de l'API REST pour l'accès programmatique