Organisations et membres
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ôle | Ce qu'il ouvre, en plus du rang inférieur |
|---|---|
| Lecteur | Lire les projets, les déploiements, les domaines, les journaux d'exécution, le journal d'audit du projet. |
| Développeur | Dé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. |
| Mainteneur | Cré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. |
| Administrateur | Membres, 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étaire | Supprimer 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. |
| Facturation | Lire 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 :
- Ouvrez Membres, puis + Inviter.
- Saisissez l'adresse, choisissez le rôle (Administrateur, Développeur ou Lecteur) et l'endroit : toute l'organisation ou un projet.
- 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é :
- Assurez-vous que la personne qui reprend est membre et tient un second facteur.
- Donnez-lui le rôle Propriétaire sur toute l'organisation (seul un Propriétaire le peut).
- 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
| Code | Ce qui se passe | Que faire |
|---|---|---|
insufficient_rank | Votre rang sur cette portée est trop bas. | Demandez le rang à un Administrateur. |
habilitation_au_dela_du_rang | Le 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_proprietaire | Le geste retirerait le dernier Propriétaire. | Nommez d'abord un autre Propriétaire. |
second_factor_required | Le compte visé n'a pas de second facteur pour ce rôle. | Il enrôle un facteur sur Compte, puis on recommence. |
invitation_invalide | Le lien est inconnu, échu, révoqué ou déjà servi. | Demandez une nouvelle invitation. |
invitation_d_une_autre_adresse | Vous ê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.