Documentation
Tout ce qu’il faut pour installer, configurer et utiliser ADFlowManager.
Démarrage
ADFlowManager est une application de bureau Windows qui remplace les workflows de gestion Active Directory basés sur PowerShell par une interface native rapide et moderne.
Prérequis :
- Windows 10 (1809+) ou Windows 11
- Connectivité au domaine Active Directory
- Compte utilisateur du domaine (admin recommandé pour toutes les fonctionnalités)
- ~100 Mo d'espace disque
Le runtime .NET 10 Desktop est inclus dans l’installateur — aucune installation séparée n’est requise.
Connexion & Authentification
Au premier lancement, vous êtes invité à saisir vos identifiants AD :
- Domaine — nom de votre domaine Active Directory
- Identifiant — votre compte de domaine (sAMAccountName)
- Mot de passe — votre mot de passe de domaine
Se souvenir de moi stocke les identifiants en toute sécurité dans le Windows Credential Manager — aucun stockage en clair.
Auto-login est disponible pour les environnements de confiance et peut être activé dans Paramètres > Général.
Gestion des Utilisateurs
- •Créer des utilisateurs avec support complet des attributs AD sur 5 onglets (Identité, Contact, Organisation, Groupes, Options)
- •Auto-générer le SamAccountName, UserPrincipalName et l’email depuis le prénom/nom selon le format configuré
- •Détecter les doublons en temps réel et incrémenter automatiquement (jane.doe → jane.doe1)
- •Validation en temps réel de chaque champ (injection LDAP, max 20 caractères, conformité mot de passe)
- •Générer des mots de passe forts automatiquement (copie presse-papiers, effacé après 60 s)
- •Assigner des groupes AD via une liste consultable avec cases à cocher
- •Cibler l’UO correcte depuis un menu déroulant des Unités Organisationnelles du domaine
- •Configurer les options du compte (expiration, changer au premier login, compte désactivé)
Flux de création utilisateur
foreach group → FindByIdentity() → Members.Add(user) → group.Save()
Attributs AD écrits
Note : L’écriture LDAP #2 (DirectoryEntry.CommitChanges()) est une opération séparée. Un échec sur cette passe est journalisé en Warning — l’utilisateur est déjà créé dans AD à ce stade.
Créer un nouveau membre de l’équipe IT :
- Naviguer vers Créer un utilisateur
- Saisir le prénom et le nom — le login, l’UPN et l’email sont générés automatiquement
- Vérifier (et ajuster si besoin) le SamAccountName dans l’onglet Identité
- Remplir l’onglet Contact (téléphone, mobile) et l’onglet Organisation (poste, département)
- Dans l’onglet Groupes, rechercher et cocher les groupes AD à assigner
- Dans l’onglet Options, définir le mot de passe (ou cliquer sur Générer) et les options du compte
- Sélectionner l’UO cible depuis le menu déroulant
- Cliquer sur Créer — l’utilisateur est créé dans AD avec tous les groupes assignés
Tutoriel — Créer un utilisateur depuis un template
Gestion des Groupes
La page Groupes permet de parcourir et gérer tous les groupes AD.
Parcourir les groupes :
Utilisez la barre de recherche pour filtrer par nom. Les groupes se chargent dans le panneau gauche.
Gérer les membres :
Cliquez sur un groupe pour ouvrir sa vue détaillée. Depuis là, vous pouvez :
- Ajouter / supprimer des membres individuellement
- Ajout / suppression en masse (coller une liste d'identifiants)
Créer un groupe :
Cliquez sur Nouveau groupe et choisissez :
- Nom et description
- Type : Sécurité ou Distribution
- Portée : Local au domaine, Globale ou Universelle
- OU cible
Conseil performances : Si votre AD comporte beaucoup de groupes, activez "Ne pas charger les groupes au démarrage" dans Paramètres > Active Directory pour améliorer le temps de démarrage.
Templates
- •Créer des templates réutilisables capturant : poste, département, société, bureau, UO cible, groupes AD, options du compte
- •Appliquer un template lors de la création d’un utilisateur — le formulaire se pré-remplit instantanément
- •Stocker les templates en local (AppData\ADFlowManager\Templates\) ou sur un partage réseau pour toute l’équipe
- •Fallback automatique vers le stockage local si le partage réseau est inaccessible
- •Copier depuis un utilisateur existant — extraire le profil organisationnel d’un compte AD comme point de départ
- •Sauvegarder le formulaire en cours directement comme nouveau template
- •Importer / Exporter les templates en JSON
- •Gérer les templates depuis la page dédiée (créer, supprimer, exporter)
Flux du système de templates
GetFiles("*.json") → Désérialiser → Tri alphabétique → Menu déroulant
IMPORT
OpenFileDialog → Désérialiser → Nouveau GUID → Sauvegarder
EXPORT
Sélectionner → SaveFileDialog → Sérialisation JSON
COPIER UTILISATEUR
Rechercher AD → Extraire profil org + UO + groupes
Structure d'un template (JSON)
{
"id": "a1b2c3d4-e5f6-...",
"name": "Stagiaire IT",
"description": "Profil standard pour les stagiaires du département IT",
"createdBy": "admin.doe",
"createdAt": "2025-09-01T08:30:00",
"modifiedAt": "2025-09-01T08:30:00",
"jobTitle": "Stagiaire",
"department": "IT",
"company": "ACME Corp",
"office": "Paris",
"defaultOU": "OU=Stagiaires,OU=IT,DC=acme,DC=local",
"groups": ["Domain Users", "VPN-Stagiaires", "Imprimantes-Paris"],
"mustChangePasswordAtLogon": true,
"isEnabled": true,
"expirationDays": 90
} Créer un template "Stagiaire IT" :
- Naviguer vers Templates et cliquer sur + Nouveau template
- Renseigner le nom, le poste (Stagiaire), le département (IT) et l’UO cible
- Ajouter les groupes AD à assigner automatiquement
- Définir l’expiration (ex. 90 jours) et les options du compte
- Sauvegarder — le template est disponible pour toute l’équipe si un partage réseau est configuré
Utiliser le template pour créer un utilisateur :
- Naviguer vers Créer un utilisateur
- Sélectionner Stagiaire IT depuis le menu déroulant des templates
- Les champs organisation, groupes et UO se pré-remplissent instantanément
- Saisir uniquement le prénom et le nom — le login est généré automatiquement
- Définir le mot de passe et cliquer sur Créer
Tutoriel — Créer un template pour les administrateurs du domaine
Audit & Historique
Chaque opération AD effectuée via ADFlowManager est enregistrée dans un journal d'audit.
Accéder au journal :
Naviguer vers Historique dans le menu principal.
Filtrer :
- Sélecteur de plage de dates
- Opérateur (quel utilisateur a effectué l’action)
- Type d’action (créer, modifier, désactiver, activer, reset mot de passe, changement de groupe)
- Entité cible (nom de l’utilisateur ou du groupe)
Exporter :
Cliquer sur Exporter CSV pour télécharger les résultats filtrés. Utilisable pour le reporting de conformité.
Base de données d’audit réseau :
Définir un chemin SQLite partagé dans Paramètres > Audit. Plusieurs opérateurs écriront dans la même base, offrant une visibilité à toute l’équipe.
Politique de rétention :
Configurer la purge automatique des anciens logs dans Paramètres > Audit (ex. garder les 90 derniers jours).
Paramètres
Les paramètres sont organisés en 7 onglets :
Sécurité & Vie Privée
ADFlowManager est conçu avec une approche privacy-first :
- •Zéro télémétrie — aucune donnée ne quitte votre infrastructure
- •Windows Credential Manager — les identifiants sont stockés en toute sécurité par l'OS
- •Protection mémoire — identifiants en mémoire de session uniquement ; aucun stockage longue durée en clair
- •Nettoyage automatique du presse-papiers — les mots de passe générés sont effacés du presse-papiers après 60 secondes
- •Validation anti-injection LDAP — toutes les saisies utilisateur sont sanitisées avant les requêtes AD
- •Blocage du path traversal — les chemins de fichiers sont validés
- •Logs sécurisés — les informations sensibles n’apparaissent qu’au niveau DEBUG
Déploiement de Packages
Créez, signez et déployez des packages d’installation sur les ordinateurs du domaine — entièrement via des protocoles Windows natifs. Aucun agent, aucun WinRM requis.
- •Créer des packages (.exe, .msi, .ps1) avec métadonnées complètes : nom, version, catégorie, tags
- •Détection automatique des métadonnées — glissez n’importe quel .exe ou .msi : nom, version, éditeur et arguments silencieux sont pré-remplis automatiquement
- •Déployer sur un ou plusieurs ordinateurs du domaine simultanément
- •Signer les packages avec une clé ECDSA P-256 pour garantir l’intégrité avant tout déploiement
- •Vérification automatique du hash SHA-256 à chaque déploiement
- •Configurer des étapes pré/post installation : vérification de processus, validation de fichier, nettoyage
- •Importer / Exporter au format JSON pour partage d’équipe
- •Stocker localement ou sur un partage réseau
Détection Automatique des Métadonnées :
Lorsque vous ajoutez un installeur, ADFlowManager lit les métadonnées intégrées pour pré-remplir le formulaire.
- •.exe — lit FileDescription, ProductName, ProductVersion, CompanyName depuis la ressource version PE. Les signatures des éditeurs connus sont détectées pour suggérer le bon argument silencieux :
/S,/silent,--silent,/quiet,/norestart. - •.msi — interroge la table des propriétés MSI : ProductName, ProductVersion, Manufacturer. Les arguments silencieux standards (
/qn /norestart) sont pré-remplis automatiquement.
Copie installeur
via \\PC\admin$
Reçoit le fichier installeur
Création service
entrée SCM temporaire
Service Windows créé
Progression remontée
3Exécuté en LOCAL SYSTEM
Surveillance
polling + lecture log
Polling statut + log
Nettoyage
service + fichiers supprimés
Service et fichiers supprimés
Sécurité :L’installeur s’exécute en LOCAL SYSTEM sur le poste cible. Aucun mot de passe administrateur n’est transmis à la machine distante. L’authentification repose exclusivement sur les droits Kerberos du compte de domaine connecté.
Signature des Packages (ECDSA P-256) :
- •Clé privée stockée dans le Windows Certificate Store (
CurrentUser\\My— CN : ADFlowManager Package Signing) - •La signature couvre : hash installeur · nom · version · arguments · type · chemin · étapes
- •Un package signé affiche un badge Signé ✓ — toute modification invalide la signature
- •L’édition d’un package signé nécessite de détenir la clé privée correspondante
- •Statuts possibles : Signé ✓ · Signature invalide · Non signé
Exemple d’Utilisation — Déployer Google Chrome:
- Naviguer vers Déploiement de Packages et cliquer sur + Nouveau Package
- Renseigner nom, version, catégorie
- Dans l’onglet Installeur, déposer le .msi — nom, version et arguments silencieux sont auto-remplis
- (Optionnel) Cliquer sur Signer le package
- Dans la liste des Ordinateurs, cocher les postes cibles
- Cliquer sur Déployer et confirmer — déploiement en parallèle sur tous les postes
- Suivre la progression en temps réel ; consulter le résultat par poste à la fin
Tutoriel — Création et déploiement d'un package sur un PC
Tutoriel — Use case : package non signé
Problèmes Connus (Bêta)
- Le changement de langue nécessite le redémarrage de l’application
- Certaines étiquettes UI peuvent ne pas être entièrement traduites (~95% FR/EN)
- Les templates réseau nécessitent des permissions d’écriture sur le dossier partagé
- Le premier chargement du cache peut prendre du temps selon la taille de l’AD
- 7 warnings NU1701 (package CredentialManagement legacy — fonctionnel)
- ~200 warnings CA1416 (appels API Windows — attendu pour application Windows uniquement)
Utilisation de l’IA
Ce site et sa documentation ont été construits avec l'aide d'outils IA comme outil de productivité. La structure du site, le contenu bilingue et cette documentation ont été rédigés et affinés avec l'aide de l'IA. Chaque information technique a été vérifiée et reflète le comportement réel de l'application.
ADFlowManager, c'est une autre histoire. Fin 2022, j'ai développé un outil interne pour mon entreprise afin d'accélérer tous les workflows IT : gestion des utilisateurs, création automatique de comptes en environnement hybride, gestion des boîtes mail et licences Office 365, Intune, SharePoint, et bien plus encore. ADFlowManager est une réécriture complète open source de cette même idée, repartie de zéro sur de meilleures bases. Même vision, architecture plus propre.
L'architecture du logiciel, la logique métier et chaque décision qui le compose sont les miennes. L'IA a aidé sur l'échafaudage, la génération de code et le débogage. Chaque ligne qui compte a été relue, comprise et adaptée par moi avant d'être intégrée.
L'objectif n'est pas de livrer des fonctionnalités le plus vite possible, mais de les livrer correctement. Je prends le temps de vérifier tout le code avant de l'intégrer. La progression peut être lente, mais la qualité passe avant tout.
Je suis ouvert aux demandes de nouvelles fonctionnalités et aux audits pour améliorer le logiciel. Mon objectif est un bon équilibre entre sécurité et confort d'utilisation, pas un verrouillage total. Un compromis solide et pratique pour les workflows du quotidien.
Si vous êtes réfractaire à l'utilisation de l'IA dans ce projet, je comprends parfaitement. Si cela signifie qu'ADFlowManager n'est pas pour vous, c'est tout à fait acceptable. N'hésitez pas à m'en parler.
Pour le contexte complet sur ce projet et l'utilisation de l'IA, voir la page Contribuer.