Skip to main content

Synchronisation des ressources

Synchronisation automatique des ressources depuis Active Directory, Azure AD ou fichiers CSV.

Vue d'ensemble​

La synchronisation des ressources permet d'importer et maintenir Ă  jour automatiquement les utilisateurs depuis des sources externes :

  • Active Directory (via LDAP)
  • Azure Active Directory (via Microsoft Graph API)
  • Fichiers CSV

Cette synchronisation peut être manuelle (via Process Studio) ou automatique (via agent planifié).

Types de synchronisation​

Synchronisation LDAP/Active Directory​

Importe les utilisateurs depuis un Active Directory d'entreprise via le protocole LDAP.

Avantages :

  • Synchronisation en temps rĂ©el avec l'annuaire d'entreprise
  • RĂ©cupĂ©ration automatique des attributs (email, fonction, etc.)
  • Gestion des groupes et services

Prérequis :

  • Accès au serveur Active Directory
  • Compte de service avec droits de lecture
  • Configuration rĂ©seau appropriĂ©e

Synchronisation Azure AD​

Importe les utilisateurs depuis Azure Active Directory via Microsoft Graph API.

Avantages :

  • IdĂ©al pour environnements cloud
  • Authentification moderne (OAuth 2.0)
  • Support des attributs Office 365

Prérequis :

  • Tenant Azure AD
  • Application enregistrĂ©e avec permissions Graph API
  • Client ID et Client Secret

Import CSV​

Importe les utilisateurs depuis un fichier CSV.

Avantages :

  • Simple Ă  mettre en Ĺ“uvre
  • AdaptĂ© aux petites structures
  • Compatible avec exports Excel

Prérequis :

  • Fichier CSV avec structure dĂ©finie
  • Correspondance des colonnes

Configuration des filtres​

Filtre LDAP​

Un filtre LDAP définit quelles ressources importer depuis l'Active Directory.

Création d'un filtre LDAP​

  1. Dans Process Studio, menu Synchronisation des ressources → LDAP
  2. Cliquer sur Nouveau filtre
  3. Renseigner les paramètres :

Nom du filtre : Nom explicite pour identifier le filtre

Chemin LDAP : Serveur LDAP Ă  interroger

  • Laisser vide pour utiliser le serveur par dĂ©faut
  • Format : LDAP://serveur.domaine.com

Authentification :

  • Connexion anonyme : Si le serveur l'autorise
  • Login/Mot de passe : Compte de service AD

Valeur du filtre : RequĂŞte LDAP pour filtrer les ressources

Exemples de filtres :

# Tous les utilisateurs actifs
(&(objectclass=user)(useraccountcontrol=512))

# Utilisateurs d'un OU spécifique
(&(objectclass=user)(memberof=CN=Groupe,OU=Services,DC=domain,DC=com))

# Utilisateurs avec email
(&(objectclass=user)(mail=*))

Type de ressource : user, group, service, etc.

Correspondance des champs :

  • Nom court : Attribut LDAP pour le DN (ex: sAMAccountName)
  • Nom complet : Attribut LDAP pour le CN (ex: displayName)
  • Attributs additionnels : Mapping vers attributs personnalisĂ©s

Exemple de correspondances :

sAMAccountName → Nom court (DN)
displayName → Nom complet (CN)
mail → Email
title → Fonction
telephoneNumber → Téléphone
  1. Prévisualiser : Tester le filtre et voir les résultats
  2. Valider : Enregistrer le filtre

Filtre Azure AD​

Similaire au filtre LDAP mais avec authentification OAuth.

Paramètres spécifiques :

  • Tenant ID : Identifiant du tenant Azure
  • Client ID : ID de l'application enregistrĂ©e
  • Client Secret : Secret de l'application
  • Filtre : RequĂŞte Microsoft Graph

Exemple de filtre Graph :

accountEnabled eq true and userType eq 'Member'

Filtre CSV​

Définit comment lire un fichier CSV.

Création d'un filtre CSV​

  1. Menu Synchronisation des ressources → CSV
  2. Cliquer sur Nouveau filtre
  3. Paramètres :

Nom du filtre : Nom du filtre

Chemin source : Emplacement du fichier CSV

  • Ex: C:\Import\users.csv
  • Peut ĂŞtre un partage rĂ©seau : \\serveur\partage\users.csv

Chemin d'archive : Où archiver les fichiers traités

  • Les fichiers sont dĂ©placĂ©s après traitement
  • Permet de tracer les imports

Séparateur : Caractère de séparation

  • ; (point-virgule) : Standard français
  • , (virgule) : Standard international
  • \t (tabulation)

Correspondance : Mapping colonnes CSV → Attributs APS

Format du fichier CSV :

login;nom;prenom;email;fonction;service
jdoe;Doe;John;john.doe@company.com;Développeur;IT
msmith;Smith;Marie;marie.smith@company.com;Manager;RH

Correspondances :

login → Nom court (DN)
nom + prenom → Nom complet (CN)
email → Email
fonction → Fonction
service → Service
  1. Valider

Processus de synchronisation​

SynchronizationProcess​

Le processus de synchronisation suit ces étapes :

  1. Lecture de la source : Récupération des données (AD, Azure AD ou CSV)
  2. Comparaison : Confrontation avec les ressources existantes
  3. Détection des changements :
    • Nouvelles ressources
    • Ressources modifiĂ©es
    • Ressources supprimĂ©es
    • Ressources inchangĂ©es
  4. Application des changements : Mise Ă  jour de la base Directory
  5. Rapport : Génération du rapport de synchronisation

Collections de ressources​

public class SynchronizationProcess
{
public GenericCollection<SynchroResource> AddedResources { get; }
public GenericCollection<SynchroResource> ModifiedResources { get; }
public GenericCollection<SynchroResource> DeletedResources { get; }
public GenericCollection<SynchroResource> UnchangedResources { get; }
}

Actions sur les ressources supprimées​

Pour les ressources présentes dans APS mais absentes de la source :

Options configurables :

  • Ne rien faire : Laisser la ressource
  • Notifier : Envoyer une alerte
  • Marquer : Ajouter un attribut SYNCHRO_TODELETE_STAMP
  • Supprimer : Supprimer dĂ©finitivement

Configuration dans les paramètres de synchronisation :

public class SynchronizationParameters
{
public bool RemoveDoNotify { get; set; }
public bool RemoveDoStamp { get; set; }
public bool RemoveDoRemove { get; set; }
}

Import manuel​

Import LDAP manuel​

  1. Dans Process Studio, Organisation → LDAP
  2. Sélectionner le filtre configuré
  3. Cocher les utilisateurs Ă  importer
  4. Options :
    • Ouvrir les fiches après import : Pour vĂ©rifier/complĂ©ter
  5. Cliquer sur Démarrer l'import
  6. Les fiches sont créées dans l'organisation

Import CSV manuel​

  1. Organisation → CSV
  2. Sélectionner le filtre ou en créer un
  3. Configurer :
    • SĂ©parateur
    • Correspondances
    • Type de ressource
  4. Démarrer l'import
  5. Vérifier les fiches créées

Agent de synchronisation​

SynchronizationAgent​

L'agent de synchronisation permet d'automatiser les imports.

[AgentDesignerAttribute(
"Avanteam.Application.Agents.Directory.UI",
"Avanteam.Application.Agents.Directory.UI.SynchronizationPanel"
)]
public class SynchronizationAgent : AgentBase
{
protected override void Execute()
{
// Récupération du filtre
// Lancement de la synchronisation
// Envoi du rapport par email
}
}

Configuration de l'agent​

Dans Process Studio, Paramètres → Agents :

  1. Créer un nouvel agent de type Synchronisation
  2. Configurer :
    • Filtre : Filtre LDAP/Azure AD/CSV Ă  utiliser
    • Planification : FrĂ©quence d'exĂ©cution
    • Email : Destinataires du rapport
    • Actions sur suppression : Que faire des ressources supprimĂ©es
  3. Activer l'agent

Planification​

Exemples de planification :

  • Quotidienne : Tous les jours Ă  6h du matin
  • Hebdomadaire : Tous les lundis
  • Mensuelle : Le 1er de chaque mois

Rapport de synchronisation​

Contenu du rapport​

Le rapport contient :

  • Nombre de ressources ajoutĂ©es
  • Nombre de ressources modifiĂ©es
  • Nombre de ressources supprimĂ©es
  • Nombre de ressources inchangĂ©es
  • Liste dĂ©taillĂ©e des erreurs
  • DurĂ©e de l'opĂ©ration

Format du rapport​

Le rapport est envoyé par email au format HTML avec :

  • RĂ©sumĂ© en haut
  • Tableau des ajouts
  • Tableau des modifications
  • Tableau des suppressions
  • DĂ©tail des erreurs

Exemple de log​

Synchronization started at 2025-12-08 06:00:00
Filter: Users_ActiveDirectory
Source: LDAP://dc.company.com

Results:
- Added: 5
- Deleted: 2
- Updated: 12
- Unchanged: 243

Duration: 00:02:15
Status: Success

Gestion des attributs​

Mapping d'attributs​

Configuration du mapping source → APS :

LDAP :

sAMAccountName → dn_name (login)
displayName → cn_name (nom affiché)
mail → attribut 'mail'
title → attribut 'function'
telephoneNumber → attribut 'telephone'
mobile → attribut 'mobile'
department → attribut 'service'
manager → relation 'manager_of'

Azure AD :

userPrincipalName → dn_name
displayName → cn_name
mail → attribut 'mail'
jobTitle → attribut 'function'
mobilePhone → attribut 'mobile'
department → attribut 'service'

Actions sur les attributs​

public enum AttributeAction
{
Ignore, // Ne pas importer
Create, // Créer si absent
Update, // Mettre à jour si différent
Replace // Toujours remplacer
}

Configuration par attribut dans les paramètres.

Gestion des conflits​

DN existant​

Si un utilisateur existe déjà avec le même DN :

  • La ressource est considĂ©rĂ©e comme existante
  • Comparaison des attributs
  • Mise Ă  jour si diffĂ©rences

CN différent​

Si le CN a changé dans la source :

  • Mise Ă  jour automatique du CN
  • Marquage comme "modifiĂ©"

Erreurs de validation​

En cas d'erreur :

  • La ressource est ignorĂ©e
  • Ajout Ă  la liste des erreurs
  • Continuation de la synchronisation
  • Rapport dĂ©taillĂ© dans l'email

Synchronisation incrémentale vs complète​

Incrémentale​

  • Traite uniquement les changements
  • Plus rapide
  • RecommandĂ©e pour synchronisations frĂ©quentes
  • DĂ©tecte ajouts, modifications, suppressions

Complète​

  • Traite toutes les ressources
  • Plus lente
  • RecommandĂ©e pour audit/vĂ©rification
  • Garantit cohĂ©rence totale

Bonnes pratiques​

Filtres LDAP​

  • Tester les filtres sur un petit Ă©chantillon d'abord
  • Exclure les comptes systèmes et dĂ©sactivĂ©s
  • Documenter les filtres complexes
  • PrĂ©voir un filtre par type d'utilisateur

Planification​

  • Synchroniser en heures creuses (nuit/weekend)
  • Éviter les heures de pointe
  • Espacer les synchronisations (1x/jour suffit gĂ©nĂ©ralement)
  • Monitorer les rapports rĂ©gulièrement

Sécurité​

  • Utiliser un compte de service dĂ©diĂ© pour LDAP
  • Stocker les credentials de façon sĂ©curisĂ©e
  • Limiter les permissions au strict nĂ©cessaire
  • Auditer les synchronisations

Performance​

  • Limiter le nombre de ressources par synchronisation
  • Utiliser des filtres efficaces
  • Monitorer les temps d'exĂ©cution
  • Optimiser les requĂŞtes LDAP

Dépannage​

Erreurs courantes​

"Unable to connect to LDAP server" :

  • VĂ©rifier connectivitĂ© rĂ©seau
  • VĂ©rifier firewall
  • VĂ©rifier nom du serveur

"Authentication failed" :

  • VĂ©rifier login/mot de passe
  • VĂ©rifier permissions du compte
  • Tester en connexion anonyme si possible

"No resources found" :

  • VĂ©rifier syntaxe du filtre LDAP
  • VĂ©rifier le chemin de recherche
  • Tester le filtre avec un outil LDAP

Logs​

Consulter les logs de l'agent :

  • Localisation : Logs/Agents/SynchronizationAgent/
  • Format : Un fichier par exĂ©cution
  • Niveau : Info, Warning, Error

Références​