Créer des unités organisationnelles
Une fois vos niveaux existants, vous les remplissez d'unités — les choses concrètes qui obtiennent un responsable, un nombre de membres et une épingle sur la carte. Une unité est une ligne dans la table org_units ; la page sur laquelle vous atterrissez pour elle est votre hub pour tout ce que cette unité fait.
Deux façons d'entrer
GCM vous laisse créer des unités depuis deux surfaces. Elles écrivent dans la même table ; choisissez celle qui convient au moment.
| Surface | Convient pour | URL |
|---|---|---|
| Arbre Structure organisationnelle | L'image complète descendante. Pas de glisser, mais vous voyez chaque niveau d'un coup | /org-structure |
| Page de niveau | Ajouter en masse des pairs à un niveau (par exemple 12 cellules d'affilée) | /hierarchy/3 |
La page d'arbre est l'atterrissage par défaut du module. Elle montre les unités de niveau 1 à la racine et vous permet d'étendre pour entrer dans leurs enfants.

Depuis la page d'arbre
Cliquez sur Ajouter une branche (ou quel que soit le nom de votre niveau 1) en haut à droite pour créer une unité de niveau supérieur. Pour les niveaux inférieurs, étendez un parent, cliquez sur le menu trois-points sur la ligne et choisissez Ajouter un centre (ou quel que soit le nom du niveau suivant).
La boîte de dialogue demande :
- Nom (obligatoire) — par exemple Branche du centre-ville. Jusqu'à deux lignes s'enroulent sur les cartes, donc les noms descriptifs vont bien.
- Parent (obligatoire pour les niveaux > 1) — choisi dans une liste déroulante recherchable des unités un niveau au-dessus. Le sélecteur est filtré au bon niveau automatiquement.
- Adresse (optionnel) — adresse de rue en texte libre. Alimente le module carte si vous définissez aussi un emplacement de carte.
- Emplacement sur carte (optionnel) — ouvre un sélecteur Leaflet. Déposez une épingle ou collez lat/lng. Si vous définissez une adresse mais pas un emplacement sur carte, GCM met en file d'attente un géocodage en arrière-plan et remplit
estimated_map_locationune fois le résultat arrivé.
Cliquez sur Créer. La nouvelle ligne apparaît dans l'arbre, le comptage d'enfants du parent augmente, la statistique "X unités" du tableau de bord se rafraîchit.
Depuis une page de niveau
Si vous ajoutez de nombreuses unités au même niveau — disons douze cellules pour une branche — entrez via l'URL /hierarchy/3 (substituez le niveau sur lequel vous travaillez). Vous verrez une grille de cartes de chaque unité à ce niveau filtrée par le sélecteur de parent en haut.
Le flux de travail de page de niveau est la même boîte de dialogue sous le capot, mais vous obtenez :
- Un filtre de parent afin que les unités nouvellement ajoutées se mettent par défaut sur le bon parent.
- Actions en masse — sélectionnez 3 unités et reparentez-les à une nouvelle branche en un clic.
- Contrôles de tri — nom A-Z, comptage de membres décroissant, récemment ajouté.
C'est le chemin plus rapide quand vous semez beaucoup d'unités de niveau feuille après une restructuration.
Ce qui est stocké
Chaque ligne d'unité a ces colonnes que l'interface fait surgir :
| Colonne | Type | Notes |
|---|---|---|
id | UUID | Généré côté client |
organization_id | UUID | Défini automatiquement depuis votre session |
level_index | int | Le palier auquel l'unité appartient |
parent_unit_id | UUID | Null au niveau 1, obligatoire en dessous |
name | text | Nom d'affichage |
address | text | Adresse postale optionnelle |
map_location | text | Lat/lng optionnel — l'emporte sur estimé |
estimated_map_location | text | Rempli par le géocodeur quand l'adresse est définie |
leader_member_id | UUID | Optionnel — voir Affecter des responsables |
archived_at | timestamptz | Null pour les lignes actives |
deleted_at | timestamptz | Null pour les lignes visibles ; suppression douce |
Les horodatages créé/mis à jour + les ID d'acteur sont écrits automatiquement. Vous pouvez les voir sur la page de détails de l'unité dans la ligne "audit" juste sous le nom.
Modifier une unité
Ouvrez l'unité (cliquez sur sa ligne dans l'arbre ou sa carte sur une page de niveau). Cliquez sur Modifier dans l'en-tête. La même boîte de dialogue revient peuplée. Vous pouvez changer :
- Le nom.
- Le parent — déplacer l'unité déplace tous ses descendants avec elle. Les membres sur l'unité restent où ils sont ; la cascade ne change que la forme de l'arbre.
- L'adresse et l'emplacement sur carte.
L'enregistrement ne demande pas de confirmation. Les rapports se rafraîchissent la prochaine fois qu'ils ré-interrogent.
Déplacer des unités change la portée des rapports
Si vous reparentez Centre du centre-ville de Branche Sud à Branche Nord, chaque membre affecté à Centre du centre-ville (et à ses enfants) monte maintenant vers Branche Nord. Les tableaux de bord de présence du dimanche peuvent se décaler du jour au lendemain — communiquez le changement avant de le faire.
Emplacement sur carte et module carte
Définir map_location sur une unité lui donne une épingle sur le module Carte. La couleur de l'épingle est déterminée par le niveau. Le regroupement d'épingles s'active autour du niveau 3+ si vous avez de nombreuses unités dans une petite zone.
Vous pouvez aussi laisser map_location vide et laisser l'adresse géocoder en arrière-plan. L'emplacement estimé peuple estimated_map_location et la carte affiche l'épingle dans une couleur légèrement atténuée pour indiquer que c'est une supposition.
Si le géocodage échoue (mauvaise adresse, limite de débit), le badge de statut sur la page d'unité affiche pending → failed. Vous pouvez corriger l'adresse et cliquer dans l'unité à nouveau pour redéclencher le géocodeur.
Comptages de membres auto-générés
Le badge de comptage de membres sur chaque ligne d'unité est calculé via le RPC count_org_unit_members, et non en lisant les lignes brutes. Le RPC gère la cascade — il somme les affectations propres de l'unité plus chaque descendant. C'est pourquoi déplacer une unité ne casse pas le comptage.
Le badge se met à jour dans les quelques secondes d'un changement d'affectation. S'il semble obsolète, rafraîchissez la page ; React Query revalide au focus.
Questions courantes
Pourquoi ne puis-je pas glisser les unités pour reparenter ? L'arbre n'a intentionnellement pas d'affordance de glisser parce que les déplacements de hiérarchie cascadent de manière non évidente. Le flux délibéré Modifier → changer parent → Enregistrer force un temps de réflexion.
Puis-je avoir deux unités avec le même nom ? Oui. L'interface n'impose pas l'unicité parce que Cellule Nord pourrait légitimement exister sous deux branches différentes. Si vous voulez dédupliquer, utilisez le nom du parent comme préfixe.
Quel est le maximum pratique d'unités ? Quelques milliers par organisation ont été testés. Le rendu d'arbre virtualise quand vous étendez un sous-arbre lourd ; les requêtes paginent. Au-delà de ~10 000 unités, demandez-vous si certaines sont en réalité des membres (par exemple si chaque foyer est une unité) et restructurez.
Étapes suivantes
- Câbler les relations parent-enfant — lire l'arbre, étendre et réduire, entrer.
- Affecter des membres — lier les personnes à vos nouvelles unités brillantes.
- Affecter des responsables — donner aux bergers une portée.
