Aller au contenu
Tous les articles
Blog

Sous-organisations, branches et groupes — et quand utiliser chacun

Une sous-organisation est un tenant enfant. Une branche est une arborescence interne où les rôles se propagent. Un groupe est ce par quoi on inscrit. Quand utiliser chacun.

The Lurno teamAugmental12 min de lecture

Une sous-organisation est une organisation enfant à part entière, imbriquée dans une autre, avec ses propres personnes, ses programmes, ses rôles, sa marque et son domaine. Une branche est une arborescence à l'intérieur d'une même organisation — campus, services, régions — où un rôle attribué sur une branche s'applique à tout ce qui se trouve en dessous. Un groupe est la promotion, la classe ou l'équipe par laquelle les personnes sont réellement inscrites. Presque toutes les plateformes vendent une ou deux de ces trois choses sous le même mot, et presque tous les acheteurs demandent les trois sans les distinguer.

Ce ne sont pas des options concurrentes. Une installation qui fonctionne utilise les trois à la fois, à des hauteurs différentes : les sous-organisations pour les frontières, les branches pour la portée, les groupes pour l'inscription. Placer un élément de votre structure à la mauvaise hauteur n'est pas fatal, mais c'est coûteux à défaire, parce qu'au moment où vous le constatez, les personnes ont un historique rattaché à ce dont vous voulez maintenant les sortir.

  • Sous-organisation — cette partie de la structure a-t-elle besoin de sa propre marque, de son propre domaine, de ses propres administrateurs, ou de sa propre frontière dans la revue de sécurité de quelqu'un ? Alors c'est une sous-organisation.
  • Branche — cette partie existe-t-elle pour qu'une personne puisse être mise à la tête d'une portion de l'organisation ? Alors c'est une branche.
  • Groupe — cette partie existe-t-elle pour qu'un ensemble de personnes soit inscrit, formé et évalué ensemble, entre deux dates ? Alors c'est un groupe.

L'ordre compte. La sous-organisation est la réponse la plus lourde et la plus difficile à défaire : ce doit donc être celle qu'il faut justifier. Le groupe est la plus légère, et une part surprenante de ce que réclame un cahier des charges se révèle être un groupe portant un nom qui sonne important.

ORGANISATION  Northwind Academy               one tenant, one contract
 SUB-ORG      Acme Corp                       own domain, own admins, own boundary
  BRANCH      EMEA                            a role granted here reaches all below
   BRANCH     Dubai office
    GROUP     Compliance intake, September     40 people, one programme, two dates

Lu de haut en bas, chaque niveau répond à une question différente. Qui est séparé de qui. Qui est responsable de quoi. Qui apprend ceci, ensemble, maintenant.

Sous-organisation : une frontière que vous pourriez confier

Dans un modèle à sous-organisations, l'organisation est un enregistrement de première classe, et une organisation peut avoir un parent. Marque, domaine, utilisateurs, rôles, contenus, inscriptions et reporting y sont tous rattachés. Un parent voit à l'intérieur de ses enfants ; un enfant ne voit ni vers le haut ni sur les côtés. L'imbrication descend aussi profond que votre structure réelle — un groupe scolaire, chaque établissement, et dans certains réseaux une fédération au-dessus du groupe.

Multi-tenant

Une seule installation d'une plateforme qui sert plusieurs organisations, où chaque organisation ne voit que ses propres personnes, contenus, marque et reporting. Une sous-organisation, c'est le multi-tenant appliqué à l'intérieur d'un client : un tenant enfant avec sa propre frontière, placé sous un parent qui peut voir à l'intérieur. Le test n'est pas de savoir si un tenant obtient un logo différent. C'est de savoir si la séparation survit à une erreur — un nouveau point d'export écrit sans filtre doit ne rien renvoyer, plutôt que les apprenants de quelqu'un d'autre.

Ce dernier point mérite d'être creusé chez n'importe quel éditeur, y compris chez nous. Si un tenant est une colonne sur une ligne, la séparation vaut ce que le code applicatif a pensé à filtrer, et elle tient jusqu'à la prochaine fonctionnalité livrée. Si la règle se trouve dans la base de données, la requête ne renvoie rien quand le filtre manque.

Le poids d'une sous-organisation est réel. Chacune se configure une fois : la marque, un domaine et son certificat, les administrateurs, les rôles, les règles de conservation et de consentement. En échange, vous obtenez quelque chose que vous pouvez confier à d'autres. Une sous-organisation a un propriétaire qui n'est pas vous, et sa sortie est un sous-arbre que vous supprimez plutôt qu'une liste d'utilisateurs, de groupes, de cours et de rapports dont quelqu'un espère qu'elle est complète.

Quelle est la différence entre une sous-organisation et une branche ?

Une sous-organisation sépare les données. C'est une organisation imbriquée avec ses propres utilisateurs, sa marque, son domaine, ses administrateurs et son reporting, et une frontière entre elle et ses sœurs. Une branche façonne la portée. C'est un nœud dans une arborescence à l'intérieur d'une seule organisation, elle ne porte ni marque ni domaine distincts, et elle existe pour qu'un rôle attribué sur ce nœud s'applique à tout ce qui est en dessous. La question qui tranche est de savoir si cette partie de la structure pourrait un jour être administrée par quelqu'un d'extérieur à votre administration. Si oui, c'est une sous-organisation. Si ce n'est jamais qu'une forme interne sur votre propre organigramme, c'est une branche.

La branche : là où s'arrête une attribution

Une branche est un nœud opérationnel à l'intérieur d'une seule organisation. Campus, services, facultés, régions, centres de formation, centres de coûts, zones de franchise — ce que dit réellement votre organigramme. Les branches partagent la marque de l'organisation, son domaine, ses utilisateurs et sa bibliothèque de contenus. Ce qu'elles portent, c'est la portée.

La propagation est tout l'intérêt. Attribuez à quelqu'un un rôle sur la branche EMEA et il couvre EMEA et tout ce qui est en dessous, aujourd'hui comme après l'ouverture de deux bureaux supplémentaires. Sans arborescence propagative, la même personne a besoin d'une attribution par nœud, et les attributions survivent à leur raison d'être. Personne ne pense à révoquer l'attribution Dubaï quand le bureau de Dubaï ferme, parce que personne n'a la liste.

Lurno

Une région est un nœud de l'arborescence, si bien que le responsable régional représente une attribution qui couvre déjà le campus que vous ouvrirez l'an prochain.

Not this

Une région est une convention de nommage, si bien que le responsable régional représente neuf attributions et un tableur qui suit lesquelles sont encore censées être actives.

C'est sur la profondeur que les arborescences de branches dérapent. L'arborescence doit refléter l'organigramme, pas l'emploi du temps. Chaque niveau ajouté est une décision qu'un humain prend à chaque arrivée d'une personne, et une arborescence de cinq niveaux avec un seul responsable dedans, c'est de l'administration sans lecteur. Si personne ne recevra jamais de rôle à un niveau donné, ce niveau est un filtre de rapport, pas une branche.

Le groupe : l'unité par laquelle on inscrit

Un groupe est un ensemble de personnes qui apprennent quelque chose ensemble. La classe 4B. La session conformité de septembre. La promotion de jeunes diplômés. L'équipe projet qui suit la formation au nouveau produit avant son lancement. Un groupe a une composition qui change, en général un programme rattaché, et une fin.

C'est dans les groupes que se loge le mouvement, et c'est l'argument pour les garder distincts des deux autres. La composition change toutes les semaines. Quelqu'un arrive en retard, quelqu'un est muté, quelqu'un refait un module avec la session suivante. Rien de tout cela ne doit réécrire les droits d'une personne ni la déplacer d'une organisation à une autre. Déplacer un apprenant d'un groupe à un autre est un geste anodin ; déplacer un apprenant d'une sous-organisation à une autre est une migration.

Un groupe peut-il déterminer ce que quelqu'un voit ?

Il ne devrait pas, et un système qui le permet installera de mauvaises habitudes chez vos administrateurs. Un groupe répond à une seule question : qui apprend ceci, ensemble, maintenant. Les droits viennent des rôles, attribués sur une organisation ou sur une branche. Quand les groupes servent à porter des droits, deux problèmes suivent. On ajoute des personnes à des classes dont elles ne font pas partie pour qu'elles puissent consulter un rapport, ce qui fausse tous les chiffres d'achèvement produits par cette classe. Et retirer quelqu'un d'une classe supprime discrètement un accès sans rapport, que personne ne relie au changement qui l'a causé. Le groupe décide de l'inscription ; le rôle décide de la portée.

Trois exemples détaillés

Un groupe scolaire

Un réseau de deux établissements, ou un éditeur qui en exploite 114, a la même forme à des largeurs différentes. Chaque établissement est une sous-organisation : il a un nom que les parents reconnaissent, un chef d'établissement qui est maître de sa propre liste de personnels, en général son propre domaine, et souvent sa propre inspection et sa propre convention de financement. Le réseau se situe au-dessus et voit vers le bas.

À l'intérieur d'un établissement, les cycles et les départements sont des branches — le responsable du département de sciences représente une attribution qui couvre toutes les classes de sciences de l'établissement. Les classes, les groupes de suivi et les groupes de niveau sont des groupes.

Riverside Trust                             the group
├── Riverside Primary       SUB-ORG         own domain, own head, own inspection
│   ├── Early years         BRANCH
│   └── Key stage 2         BRANCH
│       └── Class 4B        GROUP           28 pupils, one form tutor
└── Riverside High          SUB-ORG         own domain, own head
    ├── Sciences            BRANCH          head of department scoped here
    └── Humanities          BRANCH
        └── Year 10 history, set 2   GROUP

Le piège, ici, ce sont les niveaux. Quelqu'un veut les résultats par niveau à l'échelle du réseau, alors les niveaux sont créés comme des organisations, et voilà chaque élève dans le mauvais type de conteneur, avec la marque et les réglages de domaine de chaque établissement à répéter par niveau. Le niveau est un attribut d'un groupe et une dimension dans un rapport. Ce n'est pas un tenant.

Une académie d'entreprise

Prenez une académie d'entreprise qui assure la formation de 15 entreprises clientes depuis un seul tenant. Chaque entreprise cliente est une sous-organisation. Elle obtient son propre domaine, ses propres administrateurs qui peuvent publier et extraire des rapports sans écrire à l'académie, sa propre marque, et une frontière qui tient quand l'équipe sécurité du client pose des questions sur les 14 autres.

À l'intérieur d'un client, les unités opérationnelles et les régions sont des branches, parce que le directeur formation du client a besoin d'une attribution qui les couvre toutes et un responsable régional d'une attribution qui en couvre une partie. La session d'intégration de septembre, la campagne annuelle anti-corruption, les douze personnes qui suivent le programme de leadership — ce sont des groupes, et ils sont créés et refermés en permanence.

Le piège, ici, c'est une sous-organisation par mission. Un client signe pour trois cours, alors trois organisations sont créées, chacune avec sa marque à configurer et ses administrateurs à inviter, puis le client demande un rapport unique sur les trois et personne ne sait le produire. Un client, une sous-organisation. Trois cours, c'est trois groupes.

Un organisme de formation

Un organisme exploite un mélange, et c'est le mélange qui rend le modèle rentable. Il y a un catalogue public avec des inscriptions ouvertes sous la marque de l'organisme. Il y a des contrats grands comptes, dont chacun veut une académie qui ressemble au client. Il y a des formations certifiantes avec des promotions fermées, des évaluateurs et un organisme certificateur qui réclamera des enregistrements.

Your training company                       everything below is yours to administer
├── Public catalogue        BRANCH          open enrolments, your own brand
│   └── Project management, Nov intake      GROUP
├── Acme Corp               SUB-ORG         learn.acme.com, Acme's own admins
│   ├── EMEA                BRANCH
│   └── Americas            BRANCH
└── Borden Group            SUB-ORG         training.bordengroup.com
    └── Borden Manufacturing    SUB-ORG     a subsidiary with its own brand

Deux choses à remarquer. Le catalogue public est une branche, pas une sous-organisation, parce que c'est votre marque, votre domaine et vos équipes — il n'y a rien à séparer. Et le troisième niveau est réel : un client avec des filiales qui ont leur propre identité est un cas courant pour un organisme, et c'est précisément le cas qu'un modèle de sous-comptes sur un seul niveau ne sait pas exprimer sans convention de nommage.

Quatre questions avant de dessiner l'arborescence

  1. Pour quelles parties le navigateur d'un inconnu devrait-il afficher une marque différente et une adresse différente ? Ce sont des sous-organisations.
  2. De quelles parties une personne nommément désignée doit-elle avoir la charge ? Ce sont des branches.
  3. Quelles parties ont une date de début et une date de fin ? Ce sont des groupes.
  4. Quelles parties n'existent que parce qu'un rapport a besoin d'un filtre ? Ce ne sont aucune des trois.

C'est la quatrième question qui épargne le plus de travail. Une grande partie de la structure est construite parce que quelqu'un veut des chiffres découpés d'une certaine façon, et la structure est la manière la plus coûteuse qui soit d'obtenir un filtre. La portée du reporting doit suivre l'arborescence de branches et le groupe, et non l'inverse.

Chaque campus doit-il être sa propre sous-organisation ?

Seulement si le campus a quelque chose qu'une frontière protège : sa propre marque et son propre domaine, ses propres administrateurs qui ne doivent pas voir les autres campus, ou son propre régulateur, sa propre inspection ou son propre contrat. Un campus qui partage une marque, une liste de personnels et une seule équipe administrative est une branche. La différence pratique tient à qui fait le travail — les sous-organisations se configurent une par une, tandis que les branches se dessinent une fois et tout le reste hérite. Les groupes d'établissements portant des noms distincts finissent en général avec une sous-organisation par établissement. Une université unique répartie sur quatre sites finit en général avec des branches.

Comment cela fonctionne dans Lurno

Lurno traite les trois comme des primitives distinctes, et c'est ce qui justifie la longueur de ce billet. Les sous-organisations s'imbriquent sans limite de profondeur, chacune avec sa propre marque et son propre domaine personnalisé avec TLS automatique — le volet marque et domaines est exposé sur marque blanche. À l'intérieur d'une organisation, il existe une seconde arborescence, distincte, faite de branches, et un rôle attribué sur une branche s'y propage vers le bas. Les groupes sont la primitive d'inscription, et ils ne portent aucun droit propre.

La frontière est appliquée dans Postgres plutôt que dans le code applicatif : 868 politiques de sécurité au niveau des lignes réparties sur 676 migrations, si bien qu'une requête qui oublie son filtre ne renvoie rien. C'est l'affirmation à vérifier chez n'importe quel éditeur — le détail est sur la page sécurité.

Deux limites, énoncées clairement parce qu'elles changent la façon dont vous planifiez un déploiement. Les comptes sont créés par invitation — l'inscription en autonomie et les paiements sont en cours de développement, si bien qu'une organisation cliente est mise en place et facturée plutôt qu'elle ne s'achète elle-même un accès. Et l'authentification partenaire (SSO silencieux) est disponible aujourd'hui, tandis que SAML et OIDC sont sur la feuille de route et ne sont pas livrés ; si la DSI d'un client a déjà décidé comment ses équipes s'authentifieront, soulevez la question tôt. Le modèle de diffusion pour les organismes qui revendent de la formation est sur la page organismes de formation.

La version courte

Les sous-organisations séparent. Les branches délimitent la portée. Les groupes inscrivent. Quand vous hésitez sur la nature d'un élément de votre structure, demandez-vous ce qui casse si vous vous trompez : mettre une frontière là où il fallait une branche vous coûte une configuration répétée et un rapport que vous ne pouvez pas produire, et mettre une branche là où il fallait une frontière vous coûte une conversation avec l'équipe sécurité de quelqu'un. Dessinez l'arborescence avant de charger les données, et faites défendre par quelqu'un chaque sous-organisation de la liste.