Aller au contenu
Bastide Connexion Créer un compte
Appuyez sur / pour chercher

Organisations et membres

EnglishMarkdownv0.3.0

Une organisation réunit des personnes, des projets et une facturation. Cette page explique les rangs et ce que chacun permet, comment inviter, changer un rôle ou retirer un membre, ce que voient les agences qui gèrent plusieurs clients, et comment un compte passe d'une organisation à l'autre.

Les notions

  • Organisation : le conteneur de vos projets. Elle naît avec votre compte, à l'ouverture (voir Votre compte), et vous en êtes la Propriétaire. Les sièges ne sont pas facturés : invitez autant de personnes que nécessaire.
  • Membre : un compte qui tient au moins un rôle dans l'organisation ou sur l'un de ses projets.
  • Habilitation : un rôle, posé sur une portée. La portée est soit toute l'organisation, soit un seul projet. Une habilitation sur un projet peut porter une date de fin ; une habilitation sur toute l'organisation, non.
  • Compte de service : un jeton pour une machine, qui tient un rang sur des projets seulement. Il se gère sur le même écran, mais il a sa page : Comptes de service.

Les rangs

Cinq rangs forment une échelle : chacun reprend tous les droits du rang en dessous. Deux rôles transversaux, Sécurité et Facturation, s'ajoutent au rang sans entrer dans l'échelle.

RôleCe qu'il ouvre, en plus du rang inférieur
LecteurLire les projets, les déploiements, les domaines, les journaux d'exécution, le journal d'audit du projet.
DéveloppeurDéployer, annuler et restaurer un déploiement ; lire et écrire les variables hors production ; lire la base en SQL ; gérer les prévisualisations, rejouer un webhook.
MainteneurCréer un projet ; variables de production ; écrire en SQL et migrer la base ; politiques, authentification et temps réel du backend ; ajouter un domaine ; réglages du projet.
AdministrateurMembres, invitations et rôles ; comptes de service ; clés du backend ; webhooks sortants ; retirer un domaine ; raccordements GitHub ; décider des accès de Glowsoft.
PropriétaireSupprimer un projet ; obligation du second facteur et ses exemptions ; projets d'agent revendiqués d'office ; plafond de dépense et moyen de paiement.
SécuritéLire le journal d'audit, celui de l'organisation compris ; régler le second facteur obligatoire et ses exemptions ; lister et révoquer les comptes de service ; protéger les prévisualisations.
FacturationLire la facturation, les factures et la consommation ; changer le palier d'un projet ; moyen de paiement et réglages de facturation.

Le rang exact de chaque opération figure dans sa fiche de référence (ligne « Rang minimal »), par exemple member.manage.

Trois règles complètent le tableau :

  • Le rang le plus précis l'emporte. Un Administrateur de l'organisation ramené à Lecteur sur un projet y est Lecteur.
  • Le second facteur est exigé pour les rôles qui écrivent en SQL ou gèrent les clés. Mainteneur, Administrateur et Propriétaire ne s'attribuent qu'à un compte qui tient un second facteur confirmé, quelle que soit l'organisation. Sinon la plateforme refuse avec second_factor_required, et rien n'est écrit. Voir Sécurité du compte et de l'organisation.
  • Personne ne donne plus que son rang. On ne donne, ne change ni ne retire un rôle au-dessus du sien : un Administrateur ne fait ni ne défait un Propriétaire.

Inviter une personne

Une invitation est nominative : une adresse, un rôle et une portée, tous trois obligatoires. Elle expire sept jours après son envoi et se révoque tant qu'elle n'est pas acceptée. Une seule invitation peut attendre par personne et par portée.

Depuis la console :

  1. Ouvrez Membres, puis + Inviter.
  2. Saisissez l'adresse, choisissez le rôle (Administrateur, Développeur ou Lecteur) et l'endroit : toute l'organisation ou un projet.
  3. Envoyez. L'invitation apparaît dans la carte « Invitations en attente », avec son échéance ; le bouton de la ligne la révoque.

La personne reçoit un courriel avec un lien vers /rejoindre. Sans compte, elle y choisit son mot de passe : le compte s'ouvre et l'habilitation naît d'un seul geste. Avec un compte, elle se connecte d'abord, puis accepte sous sa session ; l'adresse du compte doit être celle de l'invitation.

Note. Un rôle qui exige un second facteur (Mainteneur et au-dessus) ne s'accepte qu'une fois un facteur enrôlé. Le compte s'ouvre quand même ; l'invitation reste valable, et la personne l'accepte après avoir ajouté son second facteur sur l'écran Compte.

Par la ligne de commande ou l'API, l'invitation accepte tous les rôles, Mainteneur, Propriétaire, Sécurité et Facturation compris :

bastide organization invitation create --organization-id org_01JQ8ZK4M7NP2RSTVWXYZ34567 \
  --email camille@exemple.fr --role developer --project-id prj_01JQ8ZK4M7NP2RSTVWXYZ34567
curl -X POST https://api.bastide.app/v1/organizations/org_01JQ8ZK4M7NP2RSTVWXYZ34567/invitations \
  -H "Authorization: Bearer $BASTIDE_TOKEN" -H "Content-Type: application/json" \
  -d '{ "email": "camille@exemple.fr", "role": "reader" }'

Les invitations ne passent pas par le serveur MCP : un agent ne fait entrer personne dans votre organisation. Références : organization.invitation.create, organization.invitation.list, organization.invitation.revoke, account.invitation.accept.

Changer ou retirer un rôle

L'écran Membres liste chaque membre avec ses habilitations, l'état de son second facteur et sa dernière venue. Il est réservé au rang Administrateur, parce qu'il montre des adresses. Choisissez un membre : la carte « Rôle d'un membre » s'ouvre sur ce qu'il tient.

  • Un rôle de l'échelle remplace celui que le membre tient au même endroit.
  • Sécurité et Facturation s'ajoutent.
  • « Retirer ce qu'il y tient » enlève tout ce que le membre tient à cet endroit.
  • « Jusqu'au » date une habilitation, seulement sur un projet.

La carte n'agit que sur un membre existant : un compte extérieur entre par invitation. Si un agent a touché aux rôles d'un membre, la ligne le dit.

Un agent peut changer un rôle par l'outil member_manage, dans le rang de la personne qui l'a autorisé. L'opération est de classe E : une personne valide l'appel avant qu'il parte. La liste se lit par member_list.

{
  "organizationId": "org_01JQ8ZK4M7NP2RSTVWXYZ34567",
  "accountId": "acc_01JQ8ZK4M7NP2RSTVWXYZ34567",
  "role": "developer",
  "projectId": "prj_01JQ8ZK4M7NP2RSTVWXYZ34567",
  "expiresAt": "2026-12-31T23:59:59Z"
}

Un role à null retire l'habilitation. Un changement de rôle ferme toutes les sessions de console du membre : il se reconnecte avec ses nouveaux droits.

Transférer la propriété, quitter l'organisation

L'organisation garde toujours au moins un Propriétaire. Tout geste qui retirerait le dernier est refusé avec dernier_proprietaire.

Pour transférer la propriété :

  1. Assurez-vous que la personne qui reprend est membre et tient un second facteur.
  2. Donnez-lui le rôle Propriétaire sur toute l'organisation (seul un Propriétaire le peut).
  3. Elle, ou vous, retire ensuite votre rôle Propriétaire, ou le ramène au rang voulu.

Il n'existe pas de bouton « Quitter ». Retirer un rôle demande le rang Administrateur : un membre de rang inférieur demande à un Administrateur de le retirer. Une organisation entière ne se supprime pas encore (organization.delete est déclarée, pas servie) ; un projet, si : voir Quitter Bastide.

Les réglages de l'organisation

L'écran Réglages de l'organisation regroupe ce qui vaut pour toute l'organisation :

  • Organisation : le nom, l'identifiant court, l'identifiant org_… et vos rôles. Le nom ne se change pas encore : aucune opération ne renomme une organisation.
  • Second facteur : l'obligation et les exemptions des comptes de service (voir Sécurité).
  • GitHub : les comptes GitHub raccordés par l'application de Glowsoft, pour les dépôts privés (voir Git).
  • Agents : décider si un projet créé par un agent naît revendiqué par le compte qui l'a autorisé (voir Sécurité des agents).

Plusieurs organisations par compte

Un même compte peut tenir des rôles dans plusieurs organisations, par invitation. À la connexion, s'il n'en a qu'une, la console y entre ; s'il en a plusieurs, elle les propose par leur nom, la dernière choisie sur ce poste en premier. L'en-tête de chaque écran permet d'en changer. Un compte sans aucun rôle n'a rien à ouvrir : un administrateur doit l'inviter.

Par l'API ou la ligne de commande, bastide account organization list rend les organisations du compte, avec leur identifiant, leur identifiant court et vos rôles (account.organization.list).

Agences et clients

Une agence qui gère plusieurs clients se fait inviter dans l'organisation de chacun. L'écran Clients rassemble alors toutes les organisations du compte : leurs projets, et ce qui demande l'attention (un dernier déploiement en échec, un projet suspendu, un projet en cours de suppression). Il ne lit que de l'exploitation, jamais une donnée applicative, et ce qu'il montre de chaque client dépend du rôle que ce client vous a donné.

La grille tarifaire prévoit une remise de volume (20 % de 5 à 99 projets actifs, 25 % dès 100 sur devis) et une option de marque blanche ; voir Facturation. La console sait s'afficher sous le nom d'un revendeur quand elle est servie sur son domaine, mais aucun écran ni aucune opération ne permet encore de régler cette marque soi-même. La consommation par client n'est pas encore affichée.

Erreurs fréquentes

CodeCe qui se passeQue faire
insufficient_rankVotre rang sur cette portée est trop bas.Demandez le rang à un Administrateur.
habilitation_au_dela_du_rangLe rôle visé, ou celui que le membre tient, dépasse le vôtre.Faites faire le geste par un rang au moins égal.
dernier_proprietaireLe geste retirerait le dernier Propriétaire.Nommez d'abord un autre Propriétaire.
second_factor_requiredLe compte visé n'a pas de second facteur pour ce rôle.Il enrôle un facteur sur Compte, puis on recommence.
invitation_invalideLe lien est inconnu, échu, révoqué ou déjà servi.Demandez une nouvelle invitation.
invitation_d_une_autre_adresseVous êtes connecté avec une autre adresse que celle invitée.Connectez-vous avec l'adresse invitée.

Voir aussi : Authentification unique, Sécurité, Journal d'audit, Comptes de service, Facturation.

Signaler une erreur sur cette page