Modifié par Aurelie Bertrand le 2026/05/07 10:59

Masquer les derniers auteurs
Aurelie Bertrand 44.1 1 {{ddtoc/}}
2
3 ----
4
5 = **{{id name="__RefHeading___Toc1848_2652393712"/}}**Description =
6
7 **importtools **est un outil pour gérer les utilisateurs dans le LDAP DigDash. Il est notamment utile dans le cas de gestion d’une grosse base d’utilisateurs.
8
9 L'importtools peut être lancé directement via le fichier de commande « importtools.bat » fourni, avec les arguments par défaut (modifiables en éditant le fichier .bat)
10 — ou  —
11 être exécuté via l’outil Java "importtools.jar" fourni dans le dossier <digdash_install>\add-ons\tools\lib avec les arguments par défaut ou personnalisables (voir partie suivante).
12
13 (% class="box infomessage" %)
14 (((
15 java -jar importtools.jar [-conf configfile] [-users userfile] [-out outputfile]
16 )))
17
18 = Import d’utilisateurs =
19
20 L'import repose sur deux fichiers en entrée :
21
22 * le fichier de configuration au format XML : le fichier d’exemple conf.xml est livré dans <digdash_install>\add-ons\tools\importtools ; il permet de faire la correspondance entre une colonne du fichier utilisateurs (voir suite) et un attribut d’un utilisateur LDAP dans le fichier de sortie (voir suite).
23 * le fichier utilisateurs au format Excel ou CSV : Il s’agit de la base utilisateurs (une ligne par utilisateur) à importer dans LDAP. Ses colonnes correspondent aux attributs du fichier de configuration XML. Vous pouvez consulter le fichier d'exemple [[users_example.xls>>attach:users_example.xls]] et la description des [[attributs utilisateur>>doc:.User_attributes.WebHome]].
24
25 Et un fichier en sortie :
26
27 * le fichier de sortie au format XML : nommé « out.xml » par défaut, il est généré au lancement de l’outil « importtools » avec les deux fichiers mentionnés précédemment en entrée ; il est généré de manière à se mapper sur la structure LDAP.
28
29 |=Tag|=Description
30 |**-conf** <config file>|Chemin du fichier de configuration XML. Par défaut, conf.xml.
31 |**-users** <excel file / csvfile>|Chemin du fichier en entrée des utilisateurs à importer. Il s’agit d’un fichier Excel ou d’un fichier CSV. Par défaut, users.xls.
32 |**-out** <outputfile>|Chemin du fichier de sortie XML faisant le mapping avec LDAP. Par défaut, out.xml.
33 |**-help**|Commande d’aide d’usage.
34 |**-debug**|Affiche les traces dans les cas erreurs.
35 |**-import**|Envoie le fichier de sortie (par défaut out.xml) au serveur pour l’importer dans LDAP.
36 |**-importonly**|Utilise un fichier de sortie existant (par défaut, out.xml) et l’envoie au serveur pour l’importer dans LDAP.
37 |**-server**|Adresse du serveur DigDash.
38 |**-domain**|Nom du domaine DigDash Enterprise (par exemple, ddenterpriseapi)
39 |**-user**|L’utilisateur superviseur.
40 |**-pass**|Le mot de passe de l’utilisateur superviseur.
41
42 = {{id name="__RefHeading___Toc476_3721803795"/}}Modes d'ajout d'utilisateurs =
43
44 (% class="box infomessage" %)
45 (((
46 ℹ Si un utilisateur a un élément (rôle, groupe ACL et profil) qui n'existe pas au moment de l'import, l'utilisateur est quand même ajouté sans cet élément.
47 )))
48
49 Un utilisateur peut être ajouté selon trois méthodes dans le LDAP :
50
51 == create ==
52
53 Dans ce mode l'utilisateur sera ajouté si, et seulement si, il n'existe pas.
54 En d'autres termes, avec la commande create, l'ajout d'un utilisateur existant est une erreur.
55
56 (% class="box" %)
57 (((
58 💡 **Import de profils utilisateur**
59
60 Il est possible d'importer des profils utilisateur en mode création de la même manière que des utilisateurs.
61 Pour cela, vous pouvez utiliser le même fichier au format Excel ou CSV que pour l'importation des utilisateurs :
62
63 1. Dans les colonnes **uid**, **dn** et **cn**, à la place du nom de l'utilisateur, entrez le nom des profils avec le préfixe "**dd_profil_**"
64 Par exemple : //"dd_profil_profilA" //avec //profilA //le nom du profil.
65 Vous pouvez consulter le fichier [[import_profil.csv>>attach:import_profil.csv]] pour exemple.
66 1. Lancez importtools normalement.
67 ➡ Les profils renseignés dans le fichier vont être créés avec les rôles, ACLs... associés.
68 )))
69
70 == overwrite ==
71
72 Ce mode va écraser un utilisateur existant.
73 L'utilisateur est d’abord supprimé, puis recréé avec les nouveaux attributs. S’il n’existe pas encore, il est simplement ajouté.
74
75 == update ==
76
77 Ce mode va mettre à jour l’utilisateur avec les attributs présents dans votre fichier d’import.
78 L’utilisateur doit donc exister au préalable. Il ne sera pas supprimé : ses attributs seront simplement complétés par ceux du fichier d'import.
79
80 = {{id name="__RefHeading___Toc476_3721803795"/}}Suppression d’utilisateurs{{id name="del_user"/}} =
81
82 Il est possible de supprimer tout ou partie des utilisateurs de la base LDAP DigDash selon certains critères. L'argument optionnel //-remove_content// permet de définir si les données utilisateurs (tableaux de bord, flux, etc.) doivent également être supprimées.
83
84 |=Tag|=Description
85 |**-removeall**|Supprime TOUS les utilisateurs présents dans LDAP ET la licence.
86 |**-removeall -remove_content **"true"|Supprime TOUS les utilisateurs présents dans LDAP ET la licence ainsi que toutes les données utilisateurs associées (notamment, les modèles de données, flux et tableaux de bord personnels).
87 |**-removeall -attr **"nom de l'attribut ldap" **-regexp **"valeur de l'attribut ou expression régulière"|Supprime tous les utilisateurs dont la valeur de l'attribut ldap spécifié vérifie l'expression régulière.
88 |**-removeall -license_type **"all.missing.forbidden.[type d'utilisateur]"|(((
89 Supprime tous les utilisateurs selon leur type ou leur statut dans la licence :
90
91 * **all** : tous
92 * **missing **:  les utilisateurs absents de la licence
93 * **forbidden** : les utilisateurs dans la licence mais non autorisés
94 * **[type d'utilisateur]** : les valeurs possibles sont **named**, **extranet**, **concurrent**, **public**, **broadcast**.
95 Aucun, un ou plusieurs valeurs sont utilisables, séparés par un ".".
96 Exemple : named.extranet ou missing.extranet.named
97
98 Au moins un de ces paramètres doit être utilisé.
99 )))
100
101 Il est possible de combiner les commandes; par exemple, pour supprimer tous les utilisateurs, ainsi que leurs données, répondant à une expression régulière :
102
103 **-removeall -attr "ldap_attribute_name" -regexp "regex expression" -remove_content "true"**
104
105 = {{id name="__RefHeading___Toc478_3721803795"/}}Export d’utilisateurs =
106
107 Il est possible d’exporter les utilisateurs de la base LDAP.
108
109 **Options :**
110
111 |=Tag|=Description
112 |**-export**|Exporte tous les utilisateurs dans un fichier CSV. Par défaut, le fichier d’export se nomme users_export.csv.
113 |**-exportfile** "file.csv"|Exporte tous les utilisateurs dans le fichier CSV mentionné par son chemin absolu (précédé de **-export**).
114
115 (% id="HIV.Exemples" %)
116 = {{id name="__RefHeading___Toc1856_2652393712"/}}Paramètres généraux =
117
118 |(% colspan="2" %)**Logs**
119 |**-log** "C:\temp"|Le fichier log sera créé dans le répertoire spécifié, nommé de la manière suivante : importtool-yyyy-mm-dd_hh-mm-ss.log.
120 |**-log** "C:\log.txt"|Le fichier log sera créé dans le répertoire et sous le nom spécifiés.
121 |(% colspan="2" %)**Autres**
122 |**-loginForm**|Force l’authentification LDAP dans le cas SSO.
123
124 = Exemples =
125
126 * **java -jar importtools.jar**
127 * **java -jar importtools.jar -conf ../importtools/conf.xml -users ../importtools/users.xls -out ../importtools/out.xml**
128 * **java -jar importtools.jar -conf ../importtools/conf.xml -users ../importtools/users.xls -out ** **../importtools/out.xml -import -server http:~/~/localhost:8080 -domain ddenterpriseapi -user admin -pass admin**
129 * **java -jar importtools.jar -export -server http:~/~/localhost:8080 -domain ddenterpriseapi -user admin -pass admin**
130 * **java -jar importtools.jar -export -exportfile "D:\my_users_export.csv" -server http:~/~/localhost:8080 -domain ddenterpriseapi -loginForm -user admin -pass admin**
131 * **java -jar importtools.jar -removeall -server http:~/~/localhost:8080 -domain ddenterpriseapi -user admin -pass admin**
132 * **java -jar importtools.jar -removeall -attr "license_type" -regexp "extranet" -server http:~/~/localhost:8080 -domain ddenterpriseapi -user admin -pass admin**
133 * **java -jar importtools.jar -removeall -attr "uid" -regexp "toto1[0-9]*" -server http:~/~/localhost:8080 -domain ddenterpriseapi -user admin -pass admin**
134
135 = Résolution d'erreur d'encodage sous Windows =
136
137 Sous Windows, il peut y avoir des erreurs d'encodage. Afin de pallier à ces erreurs, il faut rajouter la commande suivante lors de l'export :
138
139 {{code language="shell"}}
140 -Dfile.encoding=utf-8
141 {{/code}}
142
143 Cette commande est un paramètre pour JAVA, il faut donc la placer en amont des options pour l'importtool.jar. Par exemple :
144
145 {{code language="shell"}}
146 "C:\java.exe" -Dfile.encoding=utf-8 -jar "importtools.jar" %* -export -exportFile "export_.csv" -server https://serveur.digdash.com -domain ddenterpriseapi -user admin -pass "AdminPassWrd"
147 {{/code}}
148
149 = Problématique de certificat SSL =
150
151 (% class="wikigeneratedid" id="HContexte" %)
152 L'exécution du module **importtools **afin d'importer des utilisateurs en masse sur un serveur DigDash protégé par un **certificat SSL, **depuis votre poste local ou un poste qui n'est pas le serveur DigDash, peut échouer en raison d'une mauvaise configuration du certificat SSL.
153 Vous êtes susceptibles d'obtenir le message suivant à l'exécution du script :
154
155 (% class="box errormessage" %)
156 (((
157 2020-11-09 20:39:34,407 INFO [main] (DDEnterpriseAPIRest.java:1593) - Exception raised (params: clientId=ImportTool, method=login, pass=~*~*~*~*~*~*, user=~#~#~#~##@~#~##.fr): Erreur de téléchargement de l'URL: https:~/~/~#~##.fr/~#~#~#~#DOMAINE~#~##/DDEnterpriseAuthServlet
158 )))
159
160 (% class="wikigeneratedid" id="HContournement" %)
161 Pour contourner ce problème :
162
163 1. Modifiez le fichier **importools.bat.**
164 1. Ajoutez le paramètre **-DSSLNoPathCheck=true **avant **-jar **comme dans l'exemple ci-dessous :
165
166 (% class="box" %)
167 (((
168 java -Dlog4j.configuration="file:~/~//%importtoolshome%/import_log4j.properties" **-DSSLNoPathCheck=true** -jar "%importtoolshome%/importtools.jar" %* -conf conf.xml -users users.xls -out out.xml -import -server https:~/~/~#~##.fr -domain ~#~##DOMAINE~#~## -user admin -pass ~#~#PASS~#~#
169 )))
170
171 = Pages connexes =
172
173 * [[Attributs utilisateur>>doc:.User_attributes.WebHome]]
174 * [[Import : Autorisations (acls) et groupes d'autorisations (groupacl)>>doc:.User_attributes.acls_groupacl_import.WebHome]]
175 * [[Gérer les utilisateurs>>doc:Digdash.deployment.configuration.administration.User_management.User_management.WebHome]]