> ## Documentation Index
> Fetch the complete documentation index at: https://developers.0flaw.fr/llms.txt
> Use this file to discover all available pages before exploring further.

# Organigramme

> 0flaw dessine l'organigramme de votre entreprise à partir de deux champs de votre annuaire : le département et le manager. Vous validez, corrigez, et vos corrections survivent aux synchronisations.

L'organigramme est construit automatiquement depuis votre annuaire — le même que celui du [provisioning SCIM](/scim). Il se consulte et s'édite en plein écran depuis le dashboard : **Paramètres avancés → Organisation → « Ouvrir l'organigramme »**.

Deux champs de l'annuaire suffisent :

| Champ annuaire  | Rôle dans l'organigramme                             |
| --------------- | ---------------------------------------------------- |
| **Département** | Définit les unités (les « boîtes »)                  |
| **Manager**     | Définit qui dirige quoi, et l'emboîtement des unités |

<Note>
  L'**intitulé de poste n'est jamais utilisé** : « Manager grands comptes » est un titre commercial, pas une position hiérarchique. Seule la relation manager fait foi.
</Note>

## Les trois règles de construction

<Steps>
  <Step title="Chaque département devient une unité">
    Le libellé exact fait l'unité. « IT Dev » et « Informatique » restent **deux unités séparées** : 0flaw ne fusionne jamais de lui-même. Quand deux libellés se ressemblent (préfixe commun, mot partagé, faute de frappe probable), il vous **suggère** le rapprochement — la décision reste humaine. Les employés sans département sont regroupés dans une unité « Non rattachés », pensée comme une corbeille de reprise.
  </Step>

  <Step title="Le gérant d'une unité est celui que personne dedans n'encadre">
    Soit son manager est dans une autre unité, soit il n'en a pas du tout (sommet de chaîne). Entre plusieurs candidats, celui qui encadre le plus de monde l'emporte ; à égalité stricte, personne n'est désigné et une anomalie vous demande de trancher.
  </Step>

  <Step title="L'unité se range sous l'unité du manager de son gérant">
    Si le gérant de « Commercial » est encadré par quelqu'un de « Direction », alors Commercial se place sous Direction. Sans gérant identifiable, l'unité reste à la racine : un arbre plat mais juste, plutôt qu'une hiérarchie inventée.
  </Step>
</Steps>

## Exemple

Avec cet annuaire :

| Employé | Département | Manager |
| ------- | ----------- | ------- |
| Hélène  | Direction   | —       |
| Marc    | Commercial  | Hélène  |
| Sophie  | Commercial  | Marc    |
| Karim   | IT Dev      | Hélène  |
| Léa     | *(vide)*    | Marc    |

0flaw propose cet arbre :

```mermaid theme={null}
flowchart TD
    DIR["Direction<br/>Gérant : Hélène"]
    COM["Commercial<br/>Gérant : Marc · Membre : Sophie"]
    IT["IT Dev<br/>Gérant : Karim"]
    NR["Non rattachés<br/>Léa (département vide)"]
    DIR --> COM
    DIR --> IT
```

Marc est gérant de Commercial parce que son manager (Hélène) est **hors** de l'unité (règle 2). Commercial se range sous Direction parce qu'Hélène est dans Direction (règle 3). Léa, sans département, atterrit dans « Non rattachés » — jamais perdue.

## Cycle de vie : proposition, application, corrections

```mermaid theme={null}
flowchart LR
    AD["Annuaire<br/>(SCIM / connecteur)"] -->|Recalculer| PROP["Proposition + diff"]
    PROP -->|Appliquer| ARBRE["Arbre officiel"]
    EDIT["Vos éditions manuelles"] --> ARBRE
```

* **Recalculer** régénère la proposition depuis l'annuaire et affiche le **diff** avec l'arbre en place. L'opération n'écrit rien : vous voyez toujours ce qui changerait avant que quoi que ce soit ne change.
* **Appliquer** est toujours un clic explicite de votre part.
* **Vos corrections manuelles sont protégées** : renommer une unité, déplacer un membre, désigner un autre gérant… l'élément passe en origine « manuelle » et les recalculs suivants ne l'écrasent pas.
* **Supprimer une unité est définitif** : elle ne réapparaît pas au recalcul suivant. Les employés que l'annuaire continue d'y placer sont reversés vers l'unité de votre choix, ou à défaut dans « Non rattachés » — personne ne disparaît jamais de l'arbre.

## Quand l'annuaire est ambigu, rien n'est inventé

Plutôt que de produire un organigramme faux d'apparence sûre, 0flaw signale une **anomalie** et vous laisse arbitrer :

| Situation                                                          | Comportement                                                                                        |
| ------------------------------------------------------------------ | --------------------------------------------------------------------------------------------------- |
| Deux gérants possibles, à égalité                                  | L'unité reste sans gérant, anomalie « plusieurs gérants possibles »                                 |
| Deux managers se désignent mutuellement (A ↔ B)                    | Cycle détecté et signalé ; les personnes concernées restent à la racine de leur unité               |
| Deux unités se déclarent parentes l'une de l'autre                 | La boucle est cassée : la branche remonte à la racine, anomalie signalée                            |
| Le manager du gérant est introuvable (désactivé, autre entreprise) | L'unité reste à la racine, anomalie « manager hors périmètre »                                      |
| Un employé est seul dans son service sans encadrer personne        | Il reste simple membre : le désigner gérant inventerait une hiérarchie que l'annuaire ne décrit pas |

## Accès et traçabilité

<CardGroup cols={2}>
  <Card title="Réservé aux administrateurs et MSP" icon="lock">
    L'organigramme expose l'annuaire nominatif de l'entreprise : seuls les rôles administrateur y accèdent, chacun strictement borné à sa propre entreprise. Un prestataire MSP y accède aussi pour chaque entreprise qu'il gère, depuis sa page **Entreprises** — jamais au-delà de son périmètre.
  </Card>

  <Card title="Chaque écriture est journalisée" icon="scroll">
    Application d'une proposition, renommage, déplacement, suppression : tout laisse une trace dans les journaux d'audit.
  </Card>

  <Card title="Lecture seule côté annuaire" icon="shield">
    Comme pour le provisioning, 0flaw ne modifie jamais rien dans votre annuaire : corriger l'organigramme dans 0flaw ne touche ni vos départements ni vos liens managers côté Microsoft.
  </Card>

  <Card title="Reconstruction déterministe" icon="rotate">
    À annuaire identique, le recalcul produit exactement le même arbre : un diff vide signifie « rien n'a changé », jamais un artefact d'ordre de lecture.
  </Card>
</CardGroup>

## Questions fréquentes

<AccordionGroup>
  <Accordion title="Pourquoi « IT Dev » et « Informatique » ne sont-ils pas fusionnés ?">
    Parce que la maille fine **est** l'information : fusionner automatiquement des libellés proches reviendrait à décider à votre place que deux services n'en font qu'un. 0flaw détecte les rapprochements probables et vous les propose ; vous fusionnez d'un clic si c'est justifié.
  </Accordion>

  <Accordion title="Une unité n'a pas de gérant, est-ce un bug ?">
    Non : c'est le signe que l'annuaire ne permet pas de trancher — plusieurs candidats à égalité, ou aucun membre n'encadrant personne. Désignez le gérant à la main : votre choix passe en origine « manuelle » et survit aux recalculs.
  </Accordion>

  <Accordion title="Que deviennent mes corrections quand l'annuaire change ?">
    Elles sont conservées. Le recalcul ne touche jamais un élément d'origine « manuelle » : il propose seulement les nouveautés venues de l'annuaire (nouvelles unités, nouveaux arrivants), et le diff vous montre exactement ce qui serait appliqué.
  </Accordion>

  <Accordion title="D'où vient le champ manager ?">
    Du même flux que le reste de l'annuaire : l'attribut **manager** de vos utilisateurs Microsoft Entra ID (extension enterprise SCIM), ou l'équivalent de votre connecteur. Si vos liens managers ne sont pas renseignés dans l'annuaire, l'organigramme restera plat — complétez-les à la source ou directement dans 0flaw.
  </Accordion>
</AccordionGroup>
