Index: tmp/org.txm.groovy.core/src/groovy/org/txm/macro/projects/antract/ListerIdentifiantsSujetsMacro.groovy
===================================================================
--- tmp/org.txm.groovy.core/src/groovy/org/txm/macro/projects/antract/ListerIdentifiantsSujetsMacro.groovy	(revision 3188)
+++ tmp/org.txm.groovy.core/src/groovy/org/txm/macro/projects/antract/ListerIdentifiantsSujetsMacro.groovy	(revision 3189)
@@ -10,7 +10,7 @@
 import org.txm.searchengine.cqp.CQPSearchEngine
 
 if (!(corpusViewSelection instanceof CQPCorpus)) {
-	println "Erreur: la sélection n'est pas un corpus."
+	println "Erreur: la sélection de la vue Corpus n'est pas un corpus ($corpusViewSelection)."
 	return false
 } 
 
Index: tmp/org.txm.groovy.core/src/groovy/org/txm/macro/projects/antract/OkapiSaphirAPI.groovy
===================================================================
--- tmp/org.txm.groovy.core/src/groovy/org/txm/macro/projects/antract/OkapiSaphirAPI.groovy	(revision 3188)
+++ tmp/org.txm.groovy.core/src/groovy/org/txm/macro/projects/antract/OkapiSaphirAPI.groovy	(revision 3189)
@@ -27,7 +27,7 @@
 	public static final String baseUrl = "https://okapi.ina.fr/antract/api/saphir/";
 	public static final String okapiUrl = "https://okapi.ina.fr/antract/html/resource_587884135/resource_996999332.html";
 
-	public static boolean debug = true;
+	public static boolean debug = false;
 	
 	public static String getDirectAccessURL(String id) {
 		return OkapiSaphirAPI.okapiUrl+"?linkedObjectUri="+URLEncoder.encode(id, "UTF-8")
Index: tmp/org.txm.groovy.core/src/groovy/org/txm/macro/projects/antract/ImporterUnCorpusOkapiMacro.groovy
===================================================================
--- tmp/org.txm.groovy.core/src/groovy/org/txm/macro/projects/antract/ImporterUnCorpusOkapiMacro.groovy	(revision 3188)
+++ tmp/org.txm.groovy.core/src/groovy/org/txm/macro/projects/antract/ImporterUnCorpusOkapiMacro.groovy	(revision 3189)
@@ -15,13 +15,13 @@
 
 // BEGINNING OF PARAMETERS
 
-@Field @Option(name="name", usage="Nom du sous-corpus à créer", widget="String", required=true, def="")
-def name
-@Field @Option(name="identifiants", usage="Liste des identifiants de notice séparés par des '|'", widget="Text", required=true, def="")
-def identifiants
+@Field @Option(name="nom_sous_corpus", usage="Nom du sous-corpus à créer", widget="String", required=true, def="")
+def nom_sous_corpus
+@Field @Option(name="liste_identifiants_sujets", usage="Liste des identifiants de notice séparés par des '|'", widget="Text", required=true, def="")
+def liste_identifiants_sujets
 
 if (!(corpusViewSelection instanceof CQPCorpus)) {
-	println "Erreur: la sélection n'est pas un corpus."
+	println "Erreur : la sélection de la vue Corpus n'est pas un corpus ($corpusViewSelection)."
 	return false
 } 
 
@@ -36,26 +36,26 @@
 } else if (parentCorpusName.startsWith("AFNOTICES") || parentCorpusName.startsWith("AF-NOTICES")) {
 	
 } else {
-	println "Erreur: le corpus n'est pas un corpus d'AF-VOIX-OFF ni AFNOTICE"
+	println "Erreur : le corpus n'est pas un corpus d'AF-VOIX-OFF ni AFNOTICE."
 	return false
 }
 
 // Open the parameters input dialog box
 if (!ParametersDialog.open(this)) return;
 
-println "Création du sous-corpus avec la liste: $identifiants"
+println "Création du sous-corpus avec la liste d'identifiants: $liste_identifiants_sujets"
 String prop = "div_id"
 if (parentCorpusName.startsWith("AFNOTICES") || parentCorpusName.startsWith("AF-NOTICES")) {
 	prop = "notice_identifiantdelanotice"
 }
 
-String query = "[_.$prop=\"$identifiants\"] expand to $prop"
-println "Query=$query"
-Subcorpus sub = parentCorpus.createSubcorpus(new CQLQuery(query), name)
+String query = "[_.$prop=\"$liste_identifiants_sujets\"] expand to $prop"
+println "Requête CQL de création du corpus : $query"
+Subcorpus sub = parentCorpus.createSubcorpus(new CQLQuery(query), nom_sous_corpus)
 
 int s = sub.getSize()
 if (s > 0) {
-	println "$name subcorpus is created."
+	println "Le sous-corpus $nom_sous_corpus a été créé."
 	monitor.syncExec(new Runnable() {
 					public void run() {
 						CorporaView.refresh();
@@ -63,5 +63,5 @@
 					}
 				});
 } else {
-	println "Error: the created corpus is empty!"
+	println "Erreur : Le corpus créé et vide ! >_<'"
 }
\ No newline at end of file
Index: tmp/org.txm.groovy.core/src/groovy/org/txm/macro/projects/antract/ExporterSousCorpusSujetsDansOkapiMacro.groovy
===================================================================
--- tmp/org.txm.groovy.core/src/groovy/org/txm/macro/projects/antract/ExporterSousCorpusSujetsDansOkapiMacro.groovy	(revision 3188)
+++ tmp/org.txm.groovy.core/src/groovy/org/txm/macro/projects/antract/ExporterSousCorpusSujetsDansOkapiMacro.groovy	(revision 3189)
@@ -13,12 +13,12 @@
 import org.txm.backtomedia.preferences.BackToMediaPreferences
 
 if (!(corpusViewSelection instanceof CQPCorpus)) {
-	println "Erreur: la sélection n'est pas un corpus."
+	println "Erreur : la sélection de la vue Corpus n'est pas un corpus ($corpusViewSelection)."
 	return false
 } 
 
-@Field @Option(name="titre_du_nouveau_corpus_okapi", usage="Nom du corpus à créer", widget="String", required=false, def="")
-def titre_du_nouveau_corpus_okapi
+@Field @Option(name="titre_corpus_okapi", usage="Nom du corpus à créer", widget="String", required=false, def="")
+def titre_corpus_okapi
 
 if (!ParametersDialog.open(this)) return;
 
@@ -37,34 +37,35 @@
 } else if (parentCorpusName.startsWith("AFNOTICES") || parentCorpusName.startsWith("AF-NOTICES")) {
 	ids = gse.run(ListerIdentifiantsSujetsMacro, ["args":[:], "corpusViewSelection":corpusViewSelection, "monitor":monitor])
 } else {
-	println "Erreur: le corpus n'est pas un corpus d'AF-VOIX-OFF ni AFNOTICE"
+	println "Erreur : le corpus n'est pas un corpus d'AF-VOIX-OFF ni AFNOTICE"
 	return false
 }
 
 monitor.syncExec(new Runnable() {
 	public void run() {
-		if (!OkapiSaphirAPI.initializeCredentials(org.eclipse.swt.widgets.Display.getCurrent().getActiveShell(), BackToMediaPreferences.MEDIA_AUTH_LOGIN, BackToMediaPreferences.MEDIA_AUTH_PASSWORD, "OKAPI - Antract", "You must authenticate to access the okapi corpus API", "OKAPI - Antract", monitor)) {
-			println "Cancel corpus export"
+		if (!OkapiSaphirAPI.initializeCredentials(org.eclipse.swt.widgets.Display.getCurrent().getActiveShell(), BackToMediaPreferences.MEDIA_AUTH_LOGIN, BackToMediaPreferences.MEDIA_AUTH_PASSWORD, "OKAPI - Antract", "S'identifier sur la plateforme Okapi.", "OKAPI - Antract", monitor)) {
 			return null;
 		}
 	}
 });
 
-
 String user = System.getProperty(BackToMediaPreferences.MEDIA_AUTH_LOGIN)
 String password = System.getProperty(BackToMediaPreferences.MEDIA_AUTH_PASSWORD)
+if (user == null || user.length() == 0 || password == null || password.length() == 0) {
+	println "Annulation."
+}
 
 String sessionID = OkapiSaphirAPI.login(user, password)
 if (sessionID.length() > 0) {
-	String corpusID = OkapiSaphirAPI.create_corpus(sessionID, titre_du_nouveau_corpus_okapi, ids)
+	String corpusID = OkapiSaphirAPI.create_corpus(sessionID, titre_corpus_okapi, ids)
 	if (corpusID.length() > 0 && corpusID.startsWith("http")) {
-		println "New Okapi corpus $titre_du_nouveau_corpus_okapi created with ID "+corpusID
-		println "Direct access link: "+OkapiSaphirAPI.getDirectAccessURL(corpusID)
+		println "Le corpus 'titre_corpus_okapi' son identifiant est $corpusID"
+		println "Lien d'accès direct : "+OkapiSaphirAPI.getDirectAccessURL(corpusID)
 	} else {
-		println "Error: Okapi corpus not created (return value="+corpusID+")"
+		println "Erreur : Le corpus Okapi n'a pas été créé (code d'erreur=$corpusID)"
 	}
 } else {
-	println "Error: Okapi session not started. Resetting credentials."
+	println "Erreur : La session Okapi n'a pu être démarrée."
 	System.setProperty(BackToMediaPreferences.MEDIA_AUTH_LOGIN, "")
 	System.setProperty(BackToMediaPreferences.MEDIA_AUTH_PASSWORD, "")
 }
\ No newline at end of file
Index: tmp/org.txm.groovy.core/src/groovy/org/txm/macro/projects/antract/AjouterDesSujetsAuCorpusOkapiMacro.groovy
===================================================================
--- tmp/org.txm.groovy.core/src/groovy/org/txm/macro/projects/antract/AjouterDesSujetsAuCorpusOkapiMacro.groovy	(revision 3188)
+++ tmp/org.txm.groovy.core/src/groovy/org/txm/macro/projects/antract/AjouterDesSujetsAuCorpusOkapiMacro.groovy	(revision 3189)
@@ -12,17 +12,12 @@
 
 import org.txm.backtomedia.preferences.BackToMediaPreferences
 
-if (!(corpusViewSelection instanceof CQPCorpus)) {
-	println "Erreur: la sélection n'est pas un corpus."
-	return false
-}
+@Field @Option(name="liste_identifiants_sujets", usage="Listes des identifiants sujets à ajouter", widget="String", required=false, def="")
+def liste_identifiants_sujets
 
-@Field @Option(name="liste_des_identifiants", usage="Listes des identifiants sujets à ajouter", widget="String", required=false, def="")
-def liste_des_identifiants
+@Field @Option(name="identifiant_corpus_okapi", usage="Identifiant Okapi du corpus à modifier", widget="String", required=false, def="")
+def identifiant_corpus_okapi
 
-@Field @Option(name="identifiant_du_corpus_okapi_a_modifier", usage="Identifiant Okapi du corpus à modifier", widget="String", required=false, def="")
-def identifiant_du_corpus_okapi_a_modifier
-
 if (!ParametersDialog.open(this)) return;
 
 CQPCorpus corpus = corpusViewSelection
@@ -34,31 +29,31 @@
 def struct_prop = null
 def finalValues = []
 
-// set Okapi user&password
-if (OkapiSaphirAPI.initializeCredentials(BackToMediaPreferences.MEDIA_AUTH_LOGIN, BackToMediaPreferences.MEDIA_AUTH_PASSWORD,
-	"OKAPI - Antract", "You must authenticate to access the okapi corpus API", "OKAPI - Antract", monitor)) {
-	System.setProperty(BackToMediaPreferences.MEDIA_AUTH_LOGIN, dialog.getUser());
-	System.setProperty(BackToMediaPreferences.MEDIA_AUTH_PASSWORD, dialog.getPassword());
-}
-else {
-	println "Cancel corpus update"
-	return null;
-}
+monitor.syncExec(new Runnable() {
+	public void run() {
+		if (!OkapiSaphirAPI.initializeCredentials(org.eclipse.swt.widgets.Display.getCurrent().getActiveShell(), BackToMediaPreferences.MEDIA_AUTH_LOGIN, BackToMediaPreferences.MEDIA_AUTH_PASSWORD, "OKAPI - Antract", "S'identifier sur la plateforme Okapi.", "OKAPI - Antract", monitor)) {
+			return null;
+		}
+	}
+});
 
 String user = System.getProperty(BackToMediaPreferences.MEDIA_AUTH_LOGIN)
 String password = System.getProperty(BackToMediaPreferences.MEDIA_AUTH_PASSWORD)
+if (user == null || user.length() == 0 || password == null || password.length() == 0) {
+	println "Annulation."
+}
 
 // start the Okapi session
 String sessionID = OkapiSaphirAPI.login(user, password)
 if (sessionID.length() > 0) {
-	String corpusID = OkapiSaphirAPI.update_corpus(sessionID, identifiant_du_corpus_okapi_a_modifier, liste_des_identifiants)
-	if (sessionID.length() > 0 && sessionID.startsWith("http")) {
-		println "Okapi corpus $identifiant_du_corpus_okapi_a_modifier updated with "+liste_des_identifiants
+	String corpusID = OkapiSaphirAPI.update_corpus(sessionID, identifiant_corpus_okapi, liste_identifiants_sujets)
+	if (corpusID.length() > 0 && corpusID.startsWith("http") && corpusID.equals(identifiant_corpus_okapi)) {
+		println "Le corpus Okapi $identifiant_corpus_okapi a été mis à jour avec $liste_identifiants_sujets"
 	} else {
-		println "Error: Okapi corpus not updated: "+sessionID
+		println "Erreur : Le corpus Okapi n'a pas été mis à jour  (session=$sessionID, corpus=$identifiant_corpus_okapi et identifiants=$liste_identifiants_sujets)"
 	}
 } else {
-	println "Error: Okapi session not started. Resetting credentials."
+	println "Erreur : la session Okapi n'a pas pu être démarrée."
 	System.setProperty(BackToMediaPreferences.MEDIA_AUTH_LOGIN, "")
 	System.setProperty(BackToMediaPreferences.MEDIA_AUTH_PASSWORD, "")
 }
\ No newline at end of file
