Organigramme

À propos des organigrammes

Un organigramme cartographie la structure hiérarchique formelle d'une organisation — qui gère qui, quelles équipes relèvent de quels responsables, et où les postes ouverts et les conseillers externes s'inscrivent. Les équipes RH y ont recours lors de la planification des effectifs ; les fondateurs les utilisent avant les réunions du conseil d'administration ; les directeurs des opérations les font circuler lors des restructurations. Contrairement à un organigramme de flux générique, un organigramme traite les personnes (et les postes) comme les entités principales, avec la hiérarchie encodée par l'indentation ou des arêtes explicites.

Schematex suit les conventions générales des organigrammes avec des extensions pour les postes ouverts/non pourvus, les liens hiérarchiques matriciels (en pointillés) et les relations d'assistant. Il n'existe pas de standard ISO unique pour les organigrammes ; les conventions implémentées ici sont issues de la pratique RH et des normes du secteur logiciel. Pour le contexte académique faisant autorité, voir Fayol (1916) et l'article Wikipedia sur les organigrammes.

orgchart·§
↘ preview
100%
Acme Corp — Q3 2025 Organizational chart with 15 people and 12 relationships Acme Corp — Q3 2025 Jamie Torres CEO Raj Patel CTO Priya Nair Engineering Lead Alex Kim Senior Engineer Jordan Lee Engineer NEW open "TBH" Frontend Engineer Omar Hassan Engineering Lead Yuki Tanaka Staff Engineer draft "TBH" Senior Engineer $ Maria Santos CFO Nour Ahmed Finance Manager Ellen Wu CPO Tyler Brooks Product Lead Suki Ito Product Lead Dr. Alan Ford Board Advisor
UTF-8 · LF · 18 lines · 878 chars✓ parsed·1.3 ms·14.8 KB SVG

1. Votre premier organigramme

L'organigramme utile le plus simple : une hiérarchie à trois niveaux avec un poste ouvert.

orgchart·§
↘ preview
100%
Engineering Team Organizational chart with 4 people and 2 relationships Engineering Team Wei Zhang CTO Sam Obi Engineering Lead Ana Rossi Engineer open "TBH" Engineer
UTF-8 · LF · 5 lines · 209 chars✓ parsed·1.7 ms·6.1 KB SVG

Quatre règles couvrent 80 % des usages :

  1. Commencez avec le mot-clé orgchart, suivi optionnellement d'un titre entre guillemets.
  2. Chaque personne est un nœudid: "Nom" | "Titre" | "Département" [propriétés]. Le | sépare les champs nom, titre et département.
  3. L'indentation détermine la hiérarchie — chaque deux espaces supplémentaires (ou plus) déplace un nœud d'un niveau plus profond sous le nœud le moins indenté situé au-dessus de lui.
  4. Déclarez les postes ouverts avec open id: ou draft id:, et les conseillers externes avec advisor id:.

Les commentaires doivent commencer par # sur leur propre ligne (les // de fin de ligne en ligne sont également supprimés).


2. Nœuds

Une ligne de nœud a la forme [type] id: champs [propriétés]. L'id doit correspondre à [A-Za-z][A-Za-z0-9_-]*.

2.1 Champs (séparés par des barres verticales)

La partie après : et avant le bloc optionnel [propriétés] est divisée sur | :

alice: "Alice Zhang"                                # nom uniquement
alice: "Alice Zhang" | "VP Engineering"             # nom + titre
alice: "Alice Zhang" | "VP Eng" | "Platform"        # nom + titre + département
alice: "Alice Zhang" | "VP Eng" | "Platform" | "x@co.com"  # + ligne d'info
PositionContenuNotes
1reNomEntre guillemets ou sans guillemets
2eTitre / niveau de posteOptionnel
3eDépartementOptionnel
4eLigne d'infoOptionnel ; également définissable via les propriétés note:, email:, phone:, location:
orgchart·§
↘ preview
100%
Field count demo Organizational chart with 4 people and 2 relationships Field count demo AL Alice BO Bob "CTO" CA Carol "Engineer" DA Dave "VP Sales" "dave@co.com"
UTF-8 · LF · 5 lines · 161 chars✓ parsed·0.4 ms·4.1 KB SVG

2.2 Types de nœuds

Le mot-clé de type optionnel avant l'id change la façon dont le nœud est rendu :

Mot-clé(s)TypeSignification
(aucun)personPersonne ordinaire
role, openrolePoste ouvert / non pourvu
draft, tbhdraftPoste planifié, pas encore en recrutement actif
advisor, externaladvisorConseiller externe, membre du conseil d'administration ou prestataire
orgchart·§
↘ preview
100%
Node kinds Organizational chart with 5 people and 2 relationships Node kinds Jordan Kim CEO Priya Nair Engineering Lead TBH Senior Engineer HIRING TBH Staff Engineer Dr. Lee Board Advisor
UTF-8 · LF · 6 lines · 289 chars✓ parsed·0.5 ms·6.4 KB SVG

2.3 Propriétés des nœuds

Les propriétés vont dans [clé: valeur, …] à la fin d'une ligne de nœud.

PropriétéValeursEffet
role:voir le tableau ci-dessousIcône de rôle affichée dans l'avatar
icon:identique à role:Alias de role:
department:texteRemplace le champ département
status:new | leaving | on-leavePastille de statut sur la carte
avatar-color:couleur hexadécimale (ex. "#7B1FA2")Couleur d'arrière-plan de l'avatar
gender:male | femaleSilhouette de l'avatar (utilisée quand aucune icône de rôle n'est définie)
note:texteLigne d'info (la première l'emporte)
email:texteLigne d'info
phone:texteLigne d'info
location:texteLigne d'info
assistant-of:id de nœudRend ce nœud comme un assistant du nœud nommé
matrix:ids de nœuds séparés par des espaces ou des virgulesAjoute des lignes matricielles en pointillés de ces nœuds vers celui-ci
reports:id de nœudRemplacement explicite du parent (au lieu de l'indentation)
open(drapeau nu)Marque le nœud comme ouvert ; équivalent à l'utilisation du mot-clé de type role
draft ou tbh(drapeau nu)Marque le nœud comme brouillon ; équivalent au mot-clé de type draft
external(drapeau nu)Marque le nœud comme externe ; équivalent à advisor

Icônes de rôle — la valeur de role: se résout en une icône d'affichage. Mots-clés acceptés (insensible à la casse) :

Mots-clésIcône
ceoCEO
ctoCTO
cfoCFO
cooCOO
cmoCMO
cpoCPO
vpVP
engineer, engineeringIngénieur
designer, designDesigner
salesVentes
hrRH
legalJuridique
ops, operationsOps
marketingMarketing
productProduit
dataDonnées
advisorConseiller
internStagiaire
vacantVacant
orgchart·§
↘ preview
100%
People directory Organizational chart with 8 people and 3 relationships People directory Jamie Torres CEO Raj Patel CTO Priya Nair Staff Engineer NEW Jordan Lee Senior Engineer $ Maria Santos CFO Nour Ahmed Finance Manager ON LEAVE Dr. Alan Ford Board Advisor TBH General Counsel
UTF-8 · LF · 9 lines · 470 chars✓ parsed·0.7 ms·8.3 KB SVG

3. Hiérarchie

La hiérarchie est exprimée par l'indentation — le modèle le plus courant. Chaque nœud devient un enfant du nœud le plus proche au-dessus de lui qui a une indentation moindre. Les tabulations sont traitées comme deux espaces.

ceo: "CEO"
  cto: "CTO"           # enfant du ceo (indentation 2)
    eng: "Engineer"    # enfant du cto (indentation 4)
  cfo: "CFO"           # enfant du ceo (indentation 2, même niveau que cto)

Alternativement, utilisez la propriété reports: pour définir un parent explicitement, quelle que soit l'indentation :

orgchart "Flat file"
ceo: "CEO"
cto: "CTO" [reports: ceo]
eng: "Engineer" [reports: cto]
orgchart·§
↘ preview
100%
Series A Startup Organizational chart with 12 people and 8 relationships Series A Startup Lena Brandt CEO James Osei CTO Platform Lead Engineering Fatima Al-Rashid Backend Engineer Marco Ricci Backend Engineer Frontend Lead Engineering Yumi Tanaka Frontend Engineer NEW open "TBH" Frontend Engineer Diana Russo CPO Chris Obi Product Manager Kai Nakamura CMO draft "TBH" Growth Marketer
UTF-8 · LF · 13 lines · 647 chars✓ parsed·2.3 ms·12.4 KB SVG

4. Arêtes

Deux types d'arêtes existent. La plupart des lignes hiérarchiques proviennent automatiquement de la hiérarchie d'indentation. Vous pouvez également les écrire explicitement — ou ajouter des lignes matricielles (en pointillés).

OpérateurType d'arêteSignification
from -> toreportLigne hiérarchique pleine
from -.-> tomatrixLigne hiérarchique matricielle en pointillés (indirecte)

Les arêtes explicites requièrent que les deux ids de nœuds soient déjà déclarés. Une arête report créée explicitement n'est pas dupliquée si la même relation est déjà impliquée par l'indentation.

Les étiquettes d'arêtes sont prises en charge :

pm1 -.-> design [label: "product partnership"]
orgchart·§
↘ preview
100%
Matrix org Organizational chart with 5 people and 3 relationships Matrix org design partner Ellen Wu CPO Core PM Product Manager Growth PM Product Manager Suki Ito Design Lead Ben Park Data Lead
UTF-8 · LF · 10 lines · 378 chars✓ parsed·0.5 ms·5.4 KB SVG

5. Configuration

Les lignes config: ajustent la disposition et l'orientation. Chacune va sur sa propre ligne.

Clé de configValeursDéfautEffet
directionTD, LRTDFlux de haut en bas ou de gauche à droite
layouttree, list, directory, compacttreeMode de disposition visuelle

Notes sur la disposition :

  • tree — arbre hiérarchique standard avec des connecteurs ramifiés. Idéal pour la plupart des organigrammes.
  • list / directory / compact — vue en répertoire indenté compact. Idéal pour les grandes listes d'effectifs où la ramification de l'arbre devient difficile à gérer.

Disposition en arbre (défaut) — cartes avatar avec connecteurs ramifiés et codage couleur des départements. Idéal pour les équipes jusqu'à ~30 personnes.

orgchart·§
↘ preview
100%
Acme Engineering — tree Organizational chart with 8 people and 5 relationships Acme Engineering — tree Wei Zhang CTO Platform Lead Engineering Amara Diallo Staff Engineer Ben Novak Senior Engineer draft "TBH" Engineer Growth Lead Engineering NEW Fatima Al-Rashid Senior Engineer Marco Ricci Engineer
UTF-8 · LF · 9 lines · 454 chars✓ parsed·0.7 ms·10.4 KB SVG

Disposition en liste — lignes de répertoire compactes avec des guides d'indentation. Idéal pour les grandes équipes où la ramification de l'arbre devient difficile à gérer.

orgchart·§
↘ preview
100%
Engineering Directory — list Organizational directory with 8 people and 5 reporting relationships Engineering Directory — list · Wei Zhang CTO PT Platform Team 3 reports · Amara Diallo Staff Eng · Ben Novak Senior Eng · draft "TBH" Engineer GT Growth Team 2 reports · Fatima Al-Rashid Senior Eng · Marco Ricci Engineer
UTF-8 · LF · 10 lines · 421 chars✓ parsed·1.0 ms·8.4 KB SVG

6. Étiquettes et commentaires

  • Titre : orgchart "Acme Corp" — première ligne uniquement.
  • Champ nom : premier champ délimité par des barres verticales après le deux-points ; peut être entre guillemets ("Alice Zhang") ou sans guillemets (Alice).
  • Champs titre/département : deuxième et troisième champs délimités par des barres verticales.
  • Ligne d'info : quatrième champ délimité par des barres verticales, ou défini via les propriétés note:, email:, phone: ou location:. Le premier rencontré l'emporte.
  • Commentaires : # au début d'une ligne (après les espaces en tête). Les // en ligne sont également supprimés.

7. Mots réservés et échappement

Réservé en début de ligne : orgchart (en-tête), config:, role, open, draft, tbh, advisor, external.

Tokens opérateurs réservés — évitez ces séquences dans les ids : ->, .->

Règles d'ID : doit correspondre à [A-Za-z][A-Za-z0-9_-]*. Les noms avec des espaces vont dans le champ nom entre guillemets, pas dans l'id.

Les chaînes avec des espaces dans les valeurs de propriétés (ex. department: "Platform Eng") doivent être entre guillemets doubles.


8. Erreurs courantes

Ce que vous avez écritCe que dit le parseurCorrection
alice: Alice Zhang (nom sans guillemets avec espace)Analyse Alice comme le nom, Zhang est perdu ou mal luMettez le nom entre guillemets : alice: "Alice Zhang"
open1 open: "TBH"open après l'id n'est pas un mot-clé de type ; échoue la regex d'idLe mot-clé de type vient en premier : open open1: "TBH"
alice -> bob avant que l'un ou l'autre nœud soit déclaréOrgchartParseError: Edge references unknown nodeDéclarez les nœuds en premier, puis écrivez les arêtes à la fin
config: direction = top-downValeur inconnue ignorée ; la direction reste TDUtilisez TD ou LR
config: layout = compactAccepté — correspond à la disposition listCorrect ; compact, directory et list fonctionnent tous
alice [matrix: bob charlie]Ids séparés par des espaces dans matrix: — les deux sont ajoutésFonctionne également avec des virgules : matrix: "bob, charlie"
Id de nœud avec un espace : fe leadLe parseur prend fe comme id ; lead échoueUtilisez un underscore : fe_lead
Id en doubleOrgchartParseError: Duplicate node idChaque nœud nécessite un id unique

9. Grammaire (EBNF)

document       = header (blank | comment | config | edge | node)*

header         = "orgchart" ( WS quoted-string )? NEWLINE
quoted-string  = '"' any-char-but-quote* '"'

config         = "config" WS ":" WS key WS "=" WS value NEWLINE
key            = "direction" | "layout"

node           = INDENT* kind? id ":" WS fields ( "[" node-attrs "]" )? NEWLINE
kind           = "role" | "open" | "draft" | "tbh" | "advisor" | "external" | "person"
fields         = field ( "|" field )*
field          = quoted-string | unquoted-text
node-attrs     = node-attr ("," node-attr)*
node-attr      = "role:" role-keyword
               | "icon:" role-keyword
               | "department:" text
               | "status:" ( "new" | "leaving" | "on-leave" )
               | "avatar-color:" quoted-hex
               | "gender:" ( "male" | "female" )
               | "note:" text
               | "email:" text
               | "phone:" text
               | "location:" text
               | "assistant-of:" id
               | "matrix:" id-list
               | "reports:" id
               | bare-flag

bare-flag      = "open" | "draft" | "tbh" | "external"

edge           = id WS edge-op WS id ( "[" edge-attrs "]" )? NEWLINE
edge-op        = "->" | ".->"  // -.-> for matrix
edge-attrs     = "label:" quoted-string

id             = [A-Za-z] [A-Za-z0-9_-]*
comment        = ( "#" | "//" ) any NEWLINE

Source faisant autorité : src/diagrams/orgchart/parser.ts. Si cela diverge du parseur, le parseur a la priorité — veuillez ouvrir un ticket.


10. Feuille de route

Prévu — pas encore analysable. N'utilisez pas ces éléments dans le DSL généré aujourd'hui ; le parseur les rejettera ou les ignorera.

  • Rendu visuel assistant-of: — la propriété est analysée et stockée dans l'AST mais le rendu ne trace pas encore le connecteur en coude pour l'assistant.
  • Config coloring — thèmes de couleurs basés sur les départements (coloring: department).
  • Niveaux de taille compact en config — contrôle explicite de la taille des cartes (size: small | medium | large).
  • Largeur de nœud span: — étaler un nœud sur plusieurs colonnes de même niveau dans la disposition en arbre.
  • Photo / URL d'avataravatar: "https://…" pour afficher une vraie photo de profil.
  • Exportation vers les formats HRIS — sortie structurée JSON/CSV à côté du SVG.

Suivez dans les tickets GitHub si vous avez besoin de l'un de ces éléments plus tôt.


Exemples associés

Scénarios prêts à l'emploi depuis la galerie d'exemples :

orgchart·§ HR convention
Acme — Series A Team Organizational chart with 15 people and 13 relationships Acme — Series A Team Jamie Torres CEO Raj Patel CTO Priya Nair Eng Lead Alex Kim Senior Engineer Jordan Lee Engineer NEW open "TBH" Frontend Engineer Omar Hassan Eng Lead Yuki Tanaka Staff Engineer draft "TBH" Senior Engineer Ellen Wu CPO Tyler Brooks Product Lead Suki Ito Product Lead Maria Santos COO Nour Ahmed Finance Manager Dr. Alan Ford Board Advisor
Series-A tech startup org
Three-level org chart for a ~30-person Series-A startup — CEO with engineering, product, and ops directs, showing open roles and a board advisor.
saas
orgchart·§ HR convention
Scaleup — Matrixed Product Lines Organizational chart with 14 people and 17 relationships Scaleup — Matrixed Product Lines Jamie Torres CEO Raj Patel CTO Priya Nair Eng Lead Alex Kim Senior Engineer Jordan Lee Engineer Omar Hassan Eng Lead Yuki Tanaka Staff Engineer Maya Patel Engineer Ellen Wu CPO Tyler Brooks PM Suki Ito PM Liu Wei CDO Ana Rossi Designer Kai Park Designer
Scale-up with matrix reporting
Org chart for a 60-person scale-up with two product lines — solid-line functional reporting plus dotted-line product-manager reporting into each engineering lead.
saas

Found this useful?

Schematex is free, fully open source, and zero-dependency. A star helps other developers discover it.