Établissements & structures — détails techniques
Description et usage : Établissements & structures.
Rangement des structures par académie
La vue arborescente s'appuie sur la hiérarchie de sous-structures d'Open ENT (relation Neo4j
(:Structure)-[:HAS_ATTACHMENT]->(:Structure)). La mise en place de ce rangement est assurée par le
script scripts/organize-structures-by-academy.mjs (dépôt open-ent-mods, Node ESM, sans
dépendance).
Ce que fait le script
Constat : les établissements sont déjà regroupés par type via des conteneurs globaux (COLLEGE,
LYCEE, PRIMAIRE, MATERNELLE) mais pas par académie. Le script crée le niveau académique
manquant et y rattache ces conteneurs, sans déplacer le moindre établissement :
Académie de <Nom>
├── Collèges – <Nom> (= conteneur COLLEGE renommé)
├── Lycées – <Nom> (= conteneur LYCEE renommé)
└── DSDEN – <Nom> (niveau départemental, écoles)
├── Écoles élémentaires – <Nom> (= conteneur PRIMAIRE renommé)
└── Écoles maternelles – <Nom> (= conteneur MATERNELLE renommé)
Les collèges et lycées relèvent directement de l'académie (rectorat) ; les écoles maternelles et élémentaires relèvent de la DSDEN (DASEN).
Mécanismes (API officielle de l'annuaire, super-admin)
| Opération | Endpoint |
|---|---|
| Créer un conteneur | POST /directory/school {name} (le feeder génère id/externalId, pose source=MANUAL et crée les ProfileGroups) |
| Renommer une structure | PUT /directory/structure/:id {name} |
| Rattacher une sous-structure | PUT /directory/structure/:enfant/parent/:parent (crée HAS_ATTACHMENT, avec garde anti-boucle) |
Les libellés d'académie (academy) et les types sont lus dans Neo4j. Le script est idempotent
(re-jouable sans effet de bord) et tourne en DRY-RUN par défaut ; ajouter --apply pour exécuter.
node scripts/organize-structures-by-academy.mjs # simulation
node scripts/organize-structures-by-academy.mjs --apply # exécution
Variables d'environnement : ENT_URL, ENT_USER, ENT_PASSWORD, NEO4J_URL, ONLY_ACADEMY.
Ce mode suppose une académie unique (réutilisation des conteneurs de type existants). Pour plusieurs académies, un mode « recréer par académie + déplacer les établissements » serait nécessaire. Les structures purement administratives (rectorat, inspections, services) restent au niveau racine.
Couverture de tests
La vue arborescence est couverte par les tests e2e du dashboard — dossier
apps/dashboard-e2e/src/modules/03_admin.
Scénario e2e — voir le détail
Admin — gestion des structures 03_gestion_structures.spec.ts
- liste des structures, recherche, détail, métriques
- vue arborescence par académie (
?view=tree)