From 9d8c2436b84cfd45e66ca26e875d0e693e02f040 Mon Sep 17 00:00:00 2001
From: Rachid Aliouat <rachid.aliouat@univ-lille.fr>
Date: Wed, 4 Jun 2025 08:46:31 +0200
Subject: [PATCH] Gestion des sets : cle api dans fichier dedie cle.key

---
 gestion_des_sets/cle.exemple        |  2 ++
 gestion_des_sets/config.exemple     |  4 +---
 gestion_des_sets/recup-sets-alma.pl | 29 +++++++++++++++++++++++++----
 3 files changed, 28 insertions(+), 7 deletions(-)
 create mode 100644 gestion_des_sets/cle.exemple

diff --git a/gestion_des_sets/cle.exemple b/gestion_des_sets/cle.exemple
new file mode 100644
index 0000000..a0b34fe
--- /dev/null
+++ b/gestion_des_sets/cle.exemple
@@ -0,0 +1,2 @@
+api_user_conf	RecupConfSandBox
+api_cle_conf	l8xx403e####################bcf612
diff --git a/gestion_des_sets/config.exemple b/gestion_des_sets/config.exemple
index 07ec343..4923efd 100644
--- a/gestion_des_sets/config.exemple
+++ b/gestion_des_sets/config.exemple
@@ -1,6 +1,4 @@
-api_user_conf	RecupConfSandBox
-api_cle_conf	l8xx403e####################bcf612
-set_id	123456891011213141516
+set_id	8674129520005601
 fic_sortie	resultats.csv
 horodatage	no
 
diff --git a/gestion_des_sets/recup-sets-alma.pl b/gestion_des_sets/recup-sets-alma.pl
index 790472f..2210697 100644
--- a/gestion_des_sets/recup-sets-alma.pl
+++ b/gestion_des_sets/recup-sets-alma.pl
@@ -4,7 +4,8 @@
 # Le 07/02/2023
 # API Configuration and Administration
 # Récupérer les résultats de recherche d'un jeu
-# 23-02-2023 correctif si jeu de resultat existe mais ne retourne aucun resultat
+# 	23-02-2023 correctif si jeu de resultat existe mais ne retourne aucun resultat
+#	04/06/2025 : fichier cle.key dedié aux clés api. les clés api ne sont plus mise dans les fichier de conf. plus pratique pour la gestion GIT.
 #################
 use strict;
 use warnings;
@@ -17,8 +18,11 @@ my @tab_resultats=();
 my @tab_ppn=();
 my $indice=0;
 my $j=0;
+my $nom_fic_cle="cle.key"; # les clés API impérativement dans ce fichier
 my $nom_fic_conf="";
 my $nom_fic_csv="";
+my %hash_conf=();
+my @tab_inter=();
 my %hash_entete=(); # pour retrouver plus facilement une valeur
 my @tab_entete=(); # pour parcourir dans l'ordre les colonnes
 my $ligne_entete_csv="";
@@ -28,16 +32,33 @@ my $taille_lot=100; # taille d'un lot de resultat i.e "la limite"
 #my $max_ppn_url = 100; # nombre max de bloc ppn dans l'url : attention une url est limitée en nombre d'octect : pas plus de 100 PPN car c'est encapsulé dans des balises XML verbeuses...
 #my $compteur_ppn=0;
 
+if (!(exists $ARGV[0])) {print "Manque des fichiers en parametre : perl recup-sets-alma.pl	fichier-conf.conf.\n";exit(0)};
 $nom_fic_conf=$ARGV[0];
 
+##### LIRE LE FICHIER DE CLE
+
+open (CONF, $nom_fic_cle) or die "Ouverture fichier de cle api $nom_fic_cle impossible , cause : $! \n";
+print "lecture des cle api:\n";
+print "-" x 20, "\n";
+@tab_inter = <CONF>; 
+close(CONF);
+my $i=0;
+for ($i=0;$i<=$#tab_inter;$i++) {
+	#print $tab_inter[$i];
+	my @ligne=split('\t',$tab_inter[$i]); # decoupage ligne
+	$hash_conf{$ligne[0]}=epure($ligne[1]); # alimentation de la table de hash avec les cles
+	
+
+}
+
 ##### LIRE LE FICHIER DE CONF
-my %hash_conf=();
+
 open (CONF, $nom_fic_conf) or die "Ouverture fichier de configuration $nom_fic_conf impossible , cause : $! \n";
 print "lecture de la configuration:\n";
 print "-" x 20, "\n";
-my @tab_inter = <CONF>; 
+@tab_inter = <CONF>; 
 close(CONF);
-my $i=0;
+$i=0;
 for ($i=0;$i<=$#tab_inter;$i++) {
 	print $tab_inter[$i];
 	my @ligne=split('\t',$tab_inter[$i]); # decoupage ligne
-- 
GitLab