diff --git a/script/generate_collection.sh b/script/generate_collection.sh
old mode 100755
new mode 100644
index 032690d503dcffcb62bc50ead85450ddf0a77176..d5190a2c18c098987857395cc48dcc9553f26847
--- a/script/generate_collection.sh
+++ b/script/generate_collection.sh
@@ -70,13 +70,14 @@ usage () {
 # ou de tous les paramètres.
 
 dir="collection"
-nbjobsmin=10
-nbjobsmax=100
-nbjobsstep=10
-tmin=0.1
-tmax=0.5
-tstep=0.1
-nbinstances=10
+nbjobsmin=30
+nbjobsmax=50
+nbjobsstep=1
+tmin=1
+tmax=5
+tstep=1
+nbinstances=15
+#IMPORTANT: ces nombres ont ete changes car le script ne marche pas avec les float (jsp pk)
 
 
 # GESTION DE PARAMÈTRES DONNÉS PAR L'UTILISATEUR
@@ -96,6 +97,42 @@ nbinstances=10
 # N'oubliez pas à remettre les # dans les deux lignes !
 
 # A FAIRE
+while getopts ":d:j:t:i:h" opt; do
+  case ${opt} in
+    d )
+      dir=$OPTARG
+      ;;
+    j )
+      nbjobsmin=$(echo "$OPTARG" | cut -d: -f1)
+      nbjobsmax=$(echo "$OPTARG" | cut -d: -f2)
+      nbjobsstep=$(echo "$OPTARG" | cut -d: -f3)
+      ;;
+    t )
+      tmin=$(echo "$OPTARG" | cut -d: -f1)
+      tmax=$(echo "$OPTARG" | cut -d: -f2)
+      tstep=$(echo "$OPTARG" | cut -d: -f3)
+      ;;
+    i )
+      nbinstances=$OPTARG
+      ;;
+    h )
+      usage
+      exit 0
+      ;;
+    \? )
+      echo "Option Invalide: $OPTARG" 1>&2
+      usage
+      exit 1
+      ;;
+    : )
+      echo "Option Invalide: $OPTARG erreur" 1>&2
+      usage
+      exit 1
+      ;;
+  esac
+done
+
+shift $((OPTIND -1))
 
 
 # GÉNÉRATION DES INSTANCES ALÉATOIRES
@@ -115,4 +152,16 @@ nbinstances=10
 
 mkdir -p $dir
 
-# A FAIRE
\ No newline at end of file
+for nbjobs in $(seq $nbjobsmin $nbjobsstep $nbjobsmax); do
+if [ $nbjobs -gt $nbjobsmax ]; then
+    break
+  fi
+  for t in $(seq $tmin $tstep $tmax); do
+    for i in $(seq 1 $nbinstances); do
+      filename="${nbjobs}_${t}_${i}"
+      filepath="$dir/$filename"
+      i=1
+      bash generate_instance.sh "$filepath" "$nbjobs" "$t"
+    done
+  done
+done
diff --git a/script/generate_instance.sh b/script/generate_instance.sh
old mode 100755
new mode 100644
index 2109e71bfc7064e810df1fa48f16a2c8da78573f..b4caa5264cd56e777b5e7d9e1d0b0af6092b7821
--- a/script/generate_instance.sh
+++ b/script/generate_instance.sh
@@ -53,7 +53,14 @@ getParetoDistributionSample () {
 # le cas contraire.
 # Affectez les paramètres aux variables.
 
-# A FAIRE
+if [ "$#" -ne 3 ]; then
+echo "Usage: $0 <filename> <nbTasks> <liberationParameter>"
+exit 1
+fi
+
+filename="$1"
+nb_tasks="$2"
+liberation_parameter="$3"
 
 
 # GÉNÉRATION DE DURÉES OPÉRATOIRES ALÉATOIRES
@@ -65,6 +72,8 @@ getParetoDistributionSample () {
 # fonction getParetoDistributionSample.
 
 # A FAIRE
+proc_times=($(for i in $(seq 1 $nb_tasks); do getParetoDistributionSample; done))
+
 
 
 # GÉNÉRATION DE DATES DE LIBÉRATION ALÉATOIRES
@@ -77,11 +86,28 @@ getParetoDistributionSample () {
 # correspond au troisième paramètre du script.
 
 # A FAIRE
+# Calcul de la somme des durées opératoires
+total_processing_time=$(echo ${proctimes[*]} | tr ' ' '\n' | paste -sd+ | bc)
 
+# Génération des dates de libération de chaque tâche
+release_dates=()
+for i in $(seq 1 $nb_tasks); do
+  release_date=$(getNormalDistributionSample 0 $(echo "$total_processing_time * $liberation_parameter" | bc -l))
+  release_dates+=($release_date)
+done
 
 # ÉCRITURE DES DONNÉES GÉNÉRÉES AU FICHIER
 #
 # Format du fichier à créer (chaque ligne) :
 # 		job_id processing_time release_date
 
-# A FAIRE
\ No newline at end of file
+# A FAIRE
+#les nombres dans printf sont la pour creer des colonnes d une certaine taille
+printf "#%-8s %-18s %-13s\n" "job_id" "processing_time" "release_date" > "$filename"
+
+for i in $(seq 1 $nb_tasks); do
+  printf "%-8d %-18d %-13d\n" "$i" "${processing_times[$i-1]}" "${release_dates[$i-1]}" >> "$filename"
+done
+
+echo "Instance generee dans $filename"
+
diff --git a/script/run_experiments.sh b/script/run_experiments.sh
old mode 100755
new mode 100644
index 58281d6c90ac98e8cbe18240660d43d18a546abd..369a80267900a20c4b6e7b8aefb263280befc48a
--- a/script/run_experiments.sh
+++ b/script/run_experiments.sh
@@ -25,6 +25,15 @@ LC_NUMERIC=en_US.UTF-8
 # Assurez vous que le premier paramètre correspond bien à un répertoire.
 
 # A FAIRE
+if [ $# -ne 5 ]; then
+    echo "Usage: $0 directory generated_file_name m_min m_max m_step"
+    exit 1
+fi
+
+if [ ! -d "$1" ]; then
+    echo "Error: $1 is not a valid directory."
+    exit 1
+fi
 
 # Affectation des paramètres aux variables.
 
@@ -48,4 +57,24 @@ m_step=$5
 # Colonnes 5-12 : résultats obtenus par l'exécution du programme "./expe"
 # Les colonnes sont séparées par une espace.
 
-# A FAIRE
\ No newline at end of file
+# A FAIRE
+# en-tete pour la presentation colonnes
+echo "Nombre de taches|t|Numero d'instance|Nombre de machines|Temp de traitement moyen|Ecart-type du temps de traitement|Temps de retard moyen|Ecart-type du temps de retard|Nombre moyen de taches en retard|Ecart-type du nombre de taches en retard|Nombre moyen de machines utilises|Ecart-type du nombre de machines utilisees" > $fname
+
+
+for instance in $dir/*; do
+
+
+    for m in `seq $m_min $m_step $m_max`; do
+        
+        instance_name=`basename $instance`
+        
+        nb_jobs=`echo $instance_name | cut -d_ -f1`
+        t=`echo $instance_name | cut -d_ -f2`
+        
+        results=`./expe $instance $m`
+        echo "$nb_jobs $t ${instance_name%.*} $m $results" >> $fname
+        
+    done
+    
+done