#!/usr/bin/perl

# script comparant le temps de 'syncronisation de fichier'
# par 'wget' et par 'rsync'

use Time::HiRes;


$version = "7";

# sert à l'automatisation des updates du côté serveur
if ($#ARGV == 0) {
	if ($ARGV[0] eq "v") {
		print "$version";
		exit;
	}
}

$options = $ARGV[0];
# premier paramètre

$nom_du_script = $0;
# $0 est une variable prédéfinie qui contient la commande qui a lancée l'exdecution du script
$nom_du_script =~ s/.*\///;
# enlever l'éventuel chemin précédant le nom du script

# procédure affichant avec le nom du script
sub ifdprint {
($string) = @_;
	  print "$nom_du_script : $string";
}

# deux versions différentes du script 'cs' , pour que 'rsync' doive 'travailler'
$first_version = "cs47-4";
$second_version = "cs47-6";

$server_130 = "192.168.30.130";

# créer le répertoire 'tt' s'il n'existe pas
if ( ! -d "tt") {
  mkdir ('tt');
}

# se mettre dans le répertoire 'tt' pour la suite du script
chdir('tt');
# 'chdir();' a le même effet que 'cd' à la ligne de commande, mais à l'intérieur du script)
# afficher le répertoire courant (pour montrer que c'est maintenant 'tt')
system("pwd");

# afficher le contenu du répertoire courant
system("ls -l");
print "\n";


# 1° requète : 'wget'

&ifdprint ("wget :\n");

$start = Time::HiRes::time;
system("/usr/bin/wget -nv http://$server_130/$first_version");
$after = Time::HiRes::time;

$relatif = $after - $start;
&ifdprint ("start = $start\n");
&ifdprint ("after = $relatif\n");


print "\n";
# afficher le contenu du répertoire courant
system("ls -l");

# copier le fichier pour que 'rsync' ait un fichier de départ à 'synchroniser'
system("cp $first_version $second_version");
# afficher le contenu du répertoire courant
system("ls -l");


# 2° requète : 'rsync'

print "\n";

&ifdprint ("rsync :\n");

$start = Time::HiRes::time;
system("rsync ${server_130}::cs/$second_version .");
$after = Time::HiRes::time;

$relatif = $after - $start;
&ifdprint ("start = $start\n");
&ifdprint ("after = $relatif\n");

# afficher le contenu du répertoire courant
system("ls -l");

print "\n";
