Skip to content

About

Outil de gestion du cycle de vie des comptes Active Directory pour les établissements scolaires.

Topics

Resources

Contributing

Security policy

Stars

1 star

Watchers

0 watching

Forks

Repository files navigation

EduSync AD

EduSync AD

La gestion du cycle de vie Active Directory — Sans jamais ouvrir une console Microsoft.

Import CSV → comptes créés. Restructuration → comptes migrés. Départ → compte archivé. En quelques clics, pas en PowerShell.

📖 Guide utilisateur · 📥 Télécharger la dernière version · 🗺️ Feuille de route Go · 📊 État avancement


Pour qui ?

Profil Cas d'usage typiques
Admin réseau établissement Rentrée 1 500 élèves, mutations fin d'année, départs ponctuels, réinitialisation MDP classe complète
Admin PME / Collectivité Onboarding/offboarding collaborateurs, gestion OU par service/équipe, délégation helpdesk, conformité RGPD
MSSP / Intégrateur Multi-clients (multisite), déploiement standardisé, audit centralisé, modèles réutilisables

Pas seulement éducation : la logique « prénom/nom/équipe » s'applique à toute structure hiérarchique (service, équipe, projet, site) — il suffit de renommer « classe » en « équipe » dans l'UI.


Fonctionnalités clés

Cycle de vie complet (v1.x — Déployé)

Module Description
Création de comptes / Arrivées Import CSV, génération identifiants/MDP/mail auto, résolution doublons, vérification AD existants, export CSV étiquettes prêt à imprimer
Migration (restructuration) Via CSV (prénom/nom/équipe) ou interface (sélection OU), déplacement AD + groupes auto, résolution par prénom/nom
Gestion des départs Désactivation immédiate ou archivage + purge planifiée (délai configurable, 30j par défaut)
Réinitialisation MDP Par OU, groupe AD ou CSV, politiques différées (élèves/personnels), forçage changement à la prochaine connexion
Explorateur AD Arborescence OUs/groupes, panneau central unifié (utilisateurs + groupes + sous-OU), clic droit complet (modif, move, MDP, groupes, suppr), recherche temps réel
Export (CSV / Étiquettes PDF) Sélection OU ± sous-OU, champs cochables (incl. MDP mémorisés), PDF Avery L7160/L7163, QR codes, couleurs pastel
Journal d'actions Filtres date/type/résultat/domaine/opérateur, export CSV, stockage local SQLite (append-only)
Mode simulation Toute écriture AD = prévisualisation modifiable avant validation

Sécurité & Exploitation

  • LDAPS par défaut (port 636), fallback LDAP explicite avec avertissement, certificat CA custom
  • Coffre MDP AES-256 local (machines admin), jamais sur l'AD
  • Mise à jour intégrée : vérification, téléchargement, installation, redémarrage auto, vérification somme de contrôle
  • Configuration chiffrée (domaine, utilisateur) via platformdirs + AES

Disponible (v4.0 — Livré)

Étiquettes avancées : éditeur WYSIWYG, badges/cartes, trombinoscope photo A4/A3 et envoi d'une étiquette par mail, multisite : plusieurs domaines/forêts AD gérés depuis une seule instance (profils chiffrés, sélecteur de site, journal par domaine), délégation d'administration (RBAC) : 5 rôles, portées par OU/groupe, garde-fou sur chaque écriture AD, journal filtrable par opérateur, portail auto-service élève/parent : réinitialisation MDP par code mail, consultation identifiant/mail, demande création compte avec validation admin (serveur web stdlib, sans dépendance externe), API REST + Webhooks : intégration SIS (PRONOTE, etc.), notifications externes (Teams, Slack, mail, SIG), synchronisation bidirectionnelle, IA / Assistant : détection anomalies (doublons, comptes orphelins), suggestion nettoyage fin d'année, génération identifiants 'intelligents', analyse logs → recommandations sécurité, conformité RGPD (rapport, droit à l'oubli, chiffrement exports), MFA admin, session unique, granularité MDP (PSO), signature numérique exports, sauvegarde & restauration (backup ZIP, restore 1-clic, migration vN→vN+1).

Prochainement (v5+)


Prérequis

  • Active Directory accessible (Windows Server 2012 → 2025)
  • Compte avec droits création/modification utilisateurs (Délégation OU ciblée recommandée)
  • Pas de Python requis sur le poste admin (binaires Windows/Linux fournis)

Installation rapide

# Windows 10/11
EduSyncAD-Setup.exe
# → Raccourcis Menu Démarrer/Bureau, désinstallation standard via Paramètres Windows

# Linux
flatpak install EduSyncAD-linux.flatpak

Connexion

Champ Exemple
Domaine entreprise.local ou lycee-victor-hugo.fr
Contrôleur dc01.entreprise.local ou 10.0.0.5
Utilisateur admin (ou ENTREPRISE\admin)
Mot de passe Jamais stocké

La connexion LDAPS chiffrée est tentée en priorité. Repli automatique sur LDAP (port 389) si indisponible. Si le contrôleur utilise un certificat émis par une autorité interne (cas courant), voir la section dépannage du guide.


Format CSV (exemple universel)

prenom;nom;equipe
Thomas;Martin;Comptabilité
Léa;Petit;IT

Seuls prenom et nom sont obligatoires. equipe (ex classe, service, projet, site) → OU auto-résolue. Colonne ou (DN complet) acceptée pour cas avancés — voir guide utilisateur.

Des exemples sont disponibles dans le dossier exemples/.


Build depuis les sources

git clone <url-du-depot>
cd EduSync-AD
python -m venv .venv && source .venv/bin/activate  # Windows : .venv\Scripts\activate
pip install -e ".[dev]"
python src/edusync_ad/app.py

Build Windows (.exe) :

pip install pyinstaller cairosvg pillow
python tools/generate_icon.py
pyinstaller packaging/edusync_ad.spec
# → dist/EduSyncAD/EduSyncAD.exe

Tests :

pytest

Migration Go / Wails (en cours)

La prochaine génération d'EduSync AD est réécrite en Go (backend + UI desktop Wails v3, HTML + HTMX embarqués) : binaire unique léger, LDAP natif concurrent, démarrage instantané, cross-compile en une commande — sans perte de fonctionnalité.

📖 Feuille de route de migration · Architecture · État d'avancement · Résumé migration · CLAUDE.md / AGENTS.md (contexte IA)

# Prérequis : Go 1.27+, Task (go install github.com/go-task/task/v3/cmd/task@latest)
task --list          # toutes les commandes
task dev             # application desktop
task cli -- paths --json
task test            # tests Go (65 tests)
task lint            # gofmt + go vet
task build:all       # cross-build → dist/ (5 cibles CLI)

La version Python publiée reste la version de production jusqu'à la fin de la migration : les deux stacks sont testées à chaque commit (ci.yml).


Documentation

Document Description
État d'avancement Vue rapide de l'avancement réel (modules, tests, build, prochaine action)
Architecture Go Architecture cible, flux UI, paquets, formats partagés Python↔Go
Environnement test AD Samba AD DC en container (LDAPS, Kerberos, DNS, GPO, PSO)
Guide utilisateur Manuel complet v1.x (modules, connexion, dépannage)
Migration Go
Résumé migration 3 priorités, phases, critères acceptation, risques
Phase 0 + Core M1-M11 Fondations + câblage bout en bout (Lot A en cours)
Modules avancés M12-M24 Photos, profils, quotas, scripts, M365, Exchange, RDS, cache T2 (Lot B)
Modules v4.0 M25-M32 Multisite, RBAC, portail, API, IA, conformité, sauvegarde (Lot C)
Alpha Windows/Linux Packaging InnoSetup, AppImage, auto-update, checklist
Campagne tests post-alpha Intégration Samba, e2e Playwright, benchmarks, couverture
Modules (fiches détaillées) docs/modules/MXX-*.md — une fiche par module (objectif, Python ref, Go à faire, validation)
Python v1.x (référence parité)
Fonctionnalités Périmètre complet M1-M32 + fondations T0-T2
État réel Statut vérifié dans le code, dette tests identifiée
Tests manquants Gaps à combler en Go (M26-M32, scénarios erreur, perf)

Licence

MIT — Usage libre, modification, distribution, usage commercial autorisé.

About

Outil de gestion du cycle de vie des comptes Active Directory pour les établissements scolaires.

Topics

Resources

Contributing

Security policy

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages