===== JAVA ===== ---- ==== Compiler et exécuter le code Java avec javac et java ==== Exemple de code Java pour tester l’accès LDAP : import javax.naming.*; import javax.naming.directory.*; import java.util.Hashtable; public class LdapTest { public static void main(String[] args) { String ldapUrl = "ldap://your-ad-server.dom:389"; // ou ldaps://...:636 pour SSL String baseDn = "OU=UTILISATEURS,DC=DOMAIN,DC=dom"; String username = "jdupont"; // sAMAccountName String bindDn = "DOMAIN\\ldap-reader"; // Compte ayant droit de lecture LDAP (remplace par le tien) String password = "yourPassword"; // Mot de passe du compte de service Hashtable env = new Hashtable<>(); env.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.ldap.LdapCtxFactory"); env.put(Context.PROVIDER_URL, ldapUrl); env.put(Context.SECURITY_AUTHENTICATION, "simple"); env.put(Context.SECURITY_PRINCIPAL, bindDn); // DN ou DOMAIN\\User env.put(Context.SECURITY_CREDENTIALS, password); try { DirContext ctx = new InitialDirContext(env); String searchFilter = "(sAMAccountName=" + username + ")"; SearchControls sc = new SearchControls(); sc.setSearchScope(SearchControls.SUBTREE_SCOPE); NamingEnumeration results = ctx.search(baseDn, searchFilter, sc); if (results.hasMore()) { SearchResult result = results.next(); System.out.println("✅ Utilisateur trouvé : " + result.getNameInNamespace()); } else { System.out.println("❌ Utilisateur non trouvé."); } ctx.close(); } catch (NamingException e) { System.err.println("Erreur LDAP : " + e.getMessage()); e.printStackTrace(); } } } Edition du fichier LdapTest.java: #vim LdapTest.java (coller le code ci-dessus) Compilation du code: #javac LdapTest.java Exécution du programme: #java LdapTest