diff --git a/create_mass_primtux_users.sh b/create_mass_primtux_users.sh
index ef4566cff4b72ac51dcfd8d33d198885031be147..726b15cb8b7ced53811b2372651ad9689c09746d 100755
--- a/create_mass_primtux_users.sh
+++ b/create_mass_primtux_users.sh
@@ -21,10 +21,26 @@ then
 fi
 
 rm -f users.txt
+scriptbinpath="/usr/share/lcs/sbin"
 . /etc/slis/slis.conf
-while read first last level
+
+if [ ! -x $scriptbinpath/userAdd.pl ]
+then
+    echo "Critical error : $scriptbinpath/userAdd.pl does not exist or is not executable"
+    exit 1
+fi
+
+while read first last level gender categorie
 do
+    echo "Creating user for $first $last"
+    $scriptbinpath/userAdd.pl $first $last "xxx" "" $gender $categorie
     uid=`ldapsearch -x cn="$first $last" | grep "^uid:" | cut -d ' ' -f 2`
+    if [ -z "$uid" ]
+    then
+    	KO="$KO $uid"
+        echo "Failed to create user for $first $last"
+        continue
+    fi
     $DIR/create_primtux_user.sh $uid $level
     # set initial password
     echo "dn: uid=$uid,ou=People,$LDAP_BASE_DN" > $$.ldiff
@@ -35,4 +51,13 @@ do
     rm $$.ldiff
     echo -e "$uid\n$uid" | smbpasswd -s -U $uid
     echo $uid >> users.txt
+    echo "Done creating $uid"
+    OK="$OK $uid"
 done < $1
+echo "The following users where correctly created"
+echo -e "\t$OK"
+if [ ! -z $KO ]
+then
+    echo "Some errors where encountered while creating the following users :"
+    echo -e "\t$KO"
+fi
diff --git a/create_primtux_user.sh b/create_primtux_user.sh
index bafbbeb373a5877ca3426cfa2661ed83b56588d6..e189394c5415a0b1c37d66761465e62969513307 100755
--- a/create_primtux_user.sh
+++ b/create_primtux_user.sh
@@ -85,9 +85,9 @@ find $home/.wine/drive_c/ -type l ! -exec test -e {} \; -print | while read f
 do
     ln -sf "$home/`basename \"$f\" | sed 's/.* \(.*\)/\u\1/'`" "$f"
 done
-sed -i s@${SKELS[$level]}@$user@g $home/.config/xfce4/panel/launcher-4/14504679941.desktop
-sed -i s@/home/${SKELS[$level]}/Documents@/home/$user/Documents @g $home/.handymenu.conf
-sed -i s@${SKELS[$level]}@$user@g $home/.handymenu.conf
+sed -i "s@${SKELS[$level]}@$user@g" $home/.config/xfce4/panel/launcher-4/14504679941.desktop
+sed -i "s@/home/${SKELS[$level]}/Documents@/home/$user/Documents @g" $home/.handymenu.conf
+sed -i "s@${SKELS[$level]}@$user@g" $home/.handymenu.conf
 # fix samba passwd
 # echo "You will  be prompted twice for samba password, please enter the same as for LDAP"
 # smbpasswd -U $user
diff --git a/generate_users.sh b/generate_users.sh
index a5bacfd63cc3981d502b98fdcbd5463c4bbd3244..dd193160baadbe3046109a19631d00662586ac27 100755
--- a/generate_users.sh
+++ b/generate_users.sh
@@ -8,34 +8,29 @@ then
     usage
     exit 1
 fi
+output="users.txt"
 save_uid (){
-    echo $2 $1 $3 >> names.txt
+    echo $@ >> $output
+}
+randomgender(){
+    [ $(( $RANDOM % 2 )) == 1 ] && echo "M" || echo "F"
 }
 STUDENT_LEVELS="cycle1 cycle2 cycle3"
 TEACH_LEVELS="prof"
-rm classes.txt eleves.txt profs.txt names.txt
+rm -f $output
 for i in `seq 1 $1`
 do
     for l in $STUDENT_LEVELS
     do
-        gender=`[ $(( $RANDOM % 2 )) == 1 ] && echo "M" || echo "F"`
-        echo "|$l|-$i|19700101|$gender|Primtux" >> eleves.txt
-        save_uid $l -$i $l
+        save_uid -$i $l $l `randomgender` Eleves
     done
     for l in $TEACH_LEVELS
     do
-        gender=$(( 1 + $RANDOM % 2 ))
-        echo "|$l|$i|19700101|$gender" >> profs.txt
-        save_uid $l $i $l
+        gender=`[ $(( $RANDOM % 2 )) == 1 ] && echo "M" || echo "F"`
+        save_uid $i $l $l `randomgender` Profs
     done
 done
-echo "|direction|1|19700101|$gender" >> profs.txt
-save_uid direction 1 direction
-echo "|administratif|1|19700101|$gender" >> profs.txt
-save_uid administratif 1 direction
-for level in $STUDENT_LEVELS $TEACH_LEVELS direction
-do
-    echo "$level|classe des $level|" >> classes.txt
-done
-echo "All done, please import eleves.txt, profs.txt and classes.txt"
-echo "Then run `dirname $0`/create_mass_primtux_users.sh names.txt"
+save_uid 1 direction direction `randomgender` Administratifs
+save_uid 1 administratif direction `randomgender` Administratifs
+echo "All done"
+echo "Run `dirname $0`/create_mass_primtux_users.sh $output to actually create the users"