Problème de variables php vers sh
Résolu
Bonjour,
Pour les personnes intéressées, voici le code php & sh complet, par contre je sais pas si on peut faire plus propre, j'ai bien entendu donné des exemples de username, password et nom de domaine pour des raisons de sécurité.
Et je n'arrive pas à passer mes variables dans mon shell (voir code plus bas).
Code page PHP :
Code Shell de heb.sh : (se trouvant dans le même dossier)
Avez-vous des idées pour améliorer le code, passer les variables dans mon shell et le rendre plus propre svp ?
Merci d'avance
Pour les personnes intéressées, voici le code php & sh complet, par contre je sais pas si on peut faire plus propre, j'ai bien entendu donné des exemples de username, password et nom de domaine pour des raisons de sécurité.
Et je n'arrive pas à passer mes variables dans mon shell (voir code plus bas).
Code page PHP :
<?php
//affichage des erreurs php
error_reporting(E_ALL);
ini_set('display_errors', TRUE);
ini_set('display_startup_errors', TRUE);
require('config.php');
$username="supraSupra";
$password="test";
$path = "/var/www/".$username;
if (!is_dir($path)) {
mkdir($path, 0777, true);
}
$vhost = $username.".conf";
$query_mysql_user = "CREATE USER $username@'%' IDENTIFIED BY '$password'";
$res_mysql_user = mysqli_query($conn, $query_mysql_user);
$query_mysql_grant = "GRANT USAGE ON * . * TO $username@'%' IDENTIFIED BY '$password'";
$res_mysql_grant = mysqli_query($conn, $query_mysql_grant);
$query_mysql_create_db = "CREATE DATABASE IF NOT EXISTS $username DEFAULT CHARACTER SET = utf8 DEFAULT COLLATE = utf8_general_ci";
$res_mysql_create_db = mysqli_query($conn, $query_mysql_create_db);
$query_mysql_all_privilege = "GRANT ALL PRIVILEGES ON $username . * TO $username@'%'";
$res_mysql_all_privilege = mysqli_query($conn, $query_mysql_all_privilege);
$query_ftp = "INSERT INTO `ftpd` (`User`, `status`, `Password`, `Uid`, `Gid`, `Dir`, `ULBandwidth`, `DLBandwidth`, `comment`, `ipaccess`, `QuotaSize`, `QuotaFiles`) VALUES ('$username', '1', '".hash('MD5', $password)."', '2001', '2001', '$path', '0', '0', '', '*', '0', '0')";
$res_ftp = mysqli_query($conn, $query_ftp);
file_put_contents("/etc/apache2/sites-available/".$vhost, "<VirtualHost *:80>\r\n ServerName $username.test.be\r\n\r\n\r\nServerAdmin admin@test.be\r\n DocumentRoot $path\r\n\r\n\r\n ErrorLog /var/logs/apache2/error.log\r\n CustomLog /var/logs/apache2/access.log combined\r\n\r\n\r\n</VirtualHost>");
$output = exec("./heb.sh $vhost");
?>
Code Shell de heb.sh : (se trouvant dans le même dossier)
#!/bin/bash sudo a2ensite $vhost sudo service apache2 reload
Avez-vous des idées pour améliorer le code, passer les variables dans mon shell et le rendre plus propre svp ?
Merci d'avance
5 réponses
-
yg_be Messages postés 23437 Date d'inscription Statut Contributeur Dernière intervention Ambassadeur 1 588
bonjour,
oublions provisoirement le php.
peux-tu donner un exemple simple de réception de variables en shell, par exemple à partir d'un appel en ligne de commande? -
Bonsoir,
Tu avais posé la question dans ta précédente discussion....
à quoi je t'avais répondu :
https://forums.commentcamarche.net/forum/affich-37619992-bash-les-arguments-parametres
-
J’ai lu et relu la page, mais je suis sûr de pas comprendre quelque chose, j’ai essayer
$output = exec("./heb.sh ‘$vhost’");
Et dans mon sh :
#!/bin/bash set $vhost sudo a2ensite $vhost sudo service apache2 reload
Mais rien ne change, donc je présume que je comprends mal quelque chose …
Merci d’avance- Relis bien le chapitre
Paramètres positionnels
il faut utiliser les variables$1 $2 $3 ...
chaque $x correspondant à la variable dans l'ordre de son passage
Si tu appelles un script avec trois paramètres ( ici des nombres .. )./affiche_param.sh 1 2 3
Alors, pour récupérer chaque paramètre.. tu ferasecho "Le 1er paramètre est : $1" echo "Le second paramètre est : $2" echo "Le 3ème paramètre est : $3"
Bref... suffit de lire le lien que je t'ai donné... je ne pense pas qu'on puisse trouver plus limpide et plus simple comme explications...
-
-
Bonjour,
Quelques modifications sur le PHP, car ce vhost correspond plutôt au nom de dossier (du coup j'ai renommé vhost en vhost_conf), et en général le vhost et l'utilisateur SQL ne sont pas forcément égaux (d'ailleurs, les logins SQL sont généralement écrits en minuscules).
J'ai un peu corrigé aussi les droits car 777 c'est open bar. En tout rigueur, tout le contenu de ton dossier /var/www/supraSupra devrait appartenir à l'utilisateur www-data, groupewww-data
(chown -R root:www-data
) avec des droits 750 sur les dossiers (ainsi au moins, seul l'utilisateur apache peut y accéder) et même plutôt 640 sur les fichiers (ainsi seul l'administrateur de la machine peut modifier le site).
<?php //affichage des erreurs php error_reporting(E_ALL); ini_set('display_errors', TRUE); ini_set('display_startup_errors', TRUE); require('config.php'); $vhost="supraSupra" $username=$vhost; $password="test"; $vhost_conf = $username.".conf"; $path = "/var/www/".$vhost; if (!is_dir($path)) { mkdir($path, 0755, true); } $query_mysql_user = "CREATE USER $username@'%' IDENTIFIED BY '$password'"; $res_mysql_user = mysqli_query($conn, $query_mysql_user); $query_mysql_grant = "GRANT USAGE ON * . * TO $username@'%' IDENTIFIED BY '$password'"; $res_mysql_grant = mysqli_query($conn, $query_mysql_grant); $query_mysql_create_db = "CREATE DATABASE IF NOT EXISTS $username DEFAULT CHARACTER SET = utf8 DEFAULT COLLATE = utf8_general_ci"; $res_mysql_create_db = mysqli_query($conn, $query_mysql_create_db); $query_mysql_all_privilege = "GRANT ALL PRIVILEGES ON $username . * TO $username@'%'"; $res_mysql_all_privilege = mysqli_query($conn, $query_mysql_all_privilege); $query_ftp = "INSERT INTO `ftpd` (`User`, `status`, `Password`, `Uid`, `Gid`, `Dir`, `ULBandwidth`, `DLBandwidth`, `comment`, `ipaccess`, `QuotaSize`, `QuotaFiles`) VALUES ('$username', '1', '".hash('MD5', $password)."', '2001', '2001', '$path', '0', '0', '', '*', '0', '0')"; $res_ftp = mysqli_query($conn, $query_ftp); file_put_contents("/etc/apache2/sites-available/".$vhost_conf, "<VirtualHost *:80>\r\n ServerName $username.test.be\r\n\r\n\r\nServerAdmin admin@test.be\r\n DocumentRoot $path\r\n\r\n\r\n ErrorLog /var/logs/apache2/error.log\r\n CustomLog /var/logs/apache2/access.log combined\r\n\r\n\r\n</VirtualHost>"); $output = exec("./heb.sh $vhost_conf"); ?>
Du coup au niveau du script shell, tu peux relativement extraire le nom du vhost. On en profite pour utilisersystemctl
plutôt queservice
qui n'est pas toujours utilisable.
#!/bin/bash vhost=$(grep vhost toto.txt | sed -e 's/\$vhost\s*=\s*\"\(.*\)\"/\1/') sudo a2ensite $vhost sudo systemctl reload apache2
Bonne chance-
-
-
A mon avis j’ai un problème de permission sur mon serveur car cela ne change rien, il n’a pas l’air de tenir compte de mon heb.sh tout le reste se fait sauf cela (Apache2 est installé avec l’user et le groupe www-data) tandis que les commandes de mon script sh doivent être exécutée en root je pense.
Y’a t’il une solution ? Je suis en Ubuntu 18.04.
Merci d’avance -
-
La commande ne fait rien,
Aussi bien ma page dossier.php et heb.sh sont dans le même dossier qui est /var/www/hebergeur/
Je sais que ces commandes dans le .sh doivent être lancé par root, mais je sais pas comment faire.
Tout le reste de la page php fonctionne cependant on dirait qu’il ignore heb.sh
Merci d’avance
-
-
Bonjour,
Voilà où j'en suis tout est dans le même répertoire /var/www/hebergeur/
Tout fonctionne à part l'execution du shell, j'ai mis les logs erreurs & sortie ci-dessous.
Merci d'avace pour votre aide.
Code php : (dossier.php)
<?php //affichage des erreurs php error_reporting(E_ALL); ini_set('display_errors', TRUE); ini_set('display_startup_errors', TRUE); require('config.php'); $vhost="suprasupra"; $username=$vhost; $password="test"; $vhost_conf = $username.".conf"; $path = "/var/www/".$vhost; $ftpuser = "ftpuser"; $ftpgroup = "ftpgroup"; if (!is_dir($path)) { mkdir($path, 0777, true); chown($path, $ftpuser); chgrp($path, $ftpgroup); } $query_mysql_user = "CREATE USER $username@'%' IDENTIFIED BY '$password'"; $res_mysql_user = mysqli_query($conn, $query_mysql_user); $query_mysql_grant = "GRANT USAGE ON * . * TO $username@'%' IDENTIFIED BY '$password'"; $res_mysql_grant = mysqli_query($conn, $query_mysql_grant); $query_mysql_create_db = "CREATE DATABASE IF NOT EXISTS $username DEFAULT CHARACTER SET = utf8 DEFAULT COLLATE = utf8_general_ci"; $res_mysql_create_db = mysqli_query($conn, $query_mysql_create_db); $query_mysql_all_privilege = "GRANT ALL PRIVILEGES ON $username . * TO $username@'%'"; $res_mysql_all_privilege = mysqli_query($conn, $query_mysql_all_privilege); $query_ftp = "INSERT INTO `ftpd` (`User`, `status`, `Password`, `Uid`, `Gid`, `Dir`, `ULBandwidth`, `DLBandwidth`, `comment`, `ipaccess`, `QuotaSize`, `QuotaFiles`) VALUES ('$username', '1', '".hash('MD5', $password)."', '2001', '2001', '$path', '0', '0', '', '*', '0', '0')"; $res_ftp = mysqli_query($conn, $query_ftp); file_put_contents("/etc/apache2/sites-available/".$vhost_conf, "<VirtualHost *:80>\r\n ServerName $username.test.be\r\n\r\n\r\nServerAdmin admin@test.be\r\n DocumentRoot $path\r\n\r\n\r\n ErrorLog /var/logs/apache2/error.log\r\n CustomLog /var/logs/apache2/access.log combined\r\n\r\n\r\n</VirtualHost>"); $output = exec("./heb.sh $vhost_conf"); ?>
Code shell : (heb.sh)
#!/bin/bash LOG_FILE=Sortie.log ERR_FILE=Erreurs.log exec 1>$LOG_FILE exec 2>$ERR_FILE ls -hal # Sortie 'normale' -> STDOUT apt-get update # Erreur de droits -> STDERR vhost=$(grep vhost dossier.php | sed -e 's/\$vhost\s*=\s*\"\(.*\)\"/\1/') sudo a2ensite $vhost sudo systemctl reload apache2
Log erreurs : (Erreurs.log)
E: Could not open lock file /var/lib/apt/lists/lock - open (13: Permission denied)
E: Unable to lock directory /var/lib/apt/lists/
W: Problem unlinking the file /var/cache/apt/pkgcache.bin - RemoveCaches (13: Permission denied)
W: Problem unlinking the file /var/cache/apt/srcpkgcache.bin - RemoveCaches (13: Permission denied)
sudo: no tty present and no askpass program specified
sudo: no tty present and no askpass program specified
Log sortie : (Sortie.log)
total 20K
drwsrwsrwt 2 www-data root 4.0K Jun 29 01:37 .
drwsrwsrwt 34 www-data www-data 4.0K Jun 29 01:34 ..
-rwxrwxrwt 1 www-data root 0 Jun 29 01:37 Erreurs.log
-rwxrwxrwt 1 www-data root 0 Jun 29 01:37 Sortie.log
-rwxrwxrwt 1 www-data root 443 Jun 21 00:26 config.php
-rwxrwxrwt 1 root root 1.8K Jun 25 02:26 dossier.php
-rwxrwxrwt 1 root root 296 Jun 29 01:33 heb.sh
Reading package lists... -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
Bonjour,
Bon j'ai adapté mon fichier sudoers sur ubuntu 18.04, mais il y'a une erreur autre part.
Tout fonctionne bien sauf que dans donc le fichier suprasupra.conf se créer bien dans /etc/apache2/sites-available avec tout ce qu'il le faut dedans et tout.
Mais le sauf que le sudo a2ensite $vhost et le sudo systemctl reload apache2, ne se font toujours pas.
Quelqu'un a une idée svp ?
Merci d'avance.
Voici les adaptations :
Je rappel que mon php et mon script shell se trouve dans le même dossier.
Code php : (dossier.php)
<?php //affichage des erreurs php error_reporting(E_ALL); ini_set('display_errors', TRUE); ini_set('display_startup_errors', TRUE); require('config.php'); $vhost="suprasupra"; $username=$vhost; $password="test"; $vhost_conf = $username.".conf"; $path = "/var/www/".$vhost; $ftpuser = "ftpuser"; $ftpgroup = "ftpgroup"; if (!is_dir($path)) { mkdir($path, 0777, true); chown($path, $ftpuser); chgrp($path, $ftpgroup); } $query_mysql_user = "CREATE USER $username@'%' IDENTIFIED BY '$password'"; $res_mysql_user = mysqli_query($conn, $query_mysql_user); $query_mysql_grant = "GRANT USAGE ON * . * TO $username@'%' IDENTIFIED BY '$password'"; $res_mysql_grant = mysqli_query($conn, $query_mysql_grant); $query_mysql_create_db = "CREATE DATABASE IF NOT EXISTS $username DEFAULT CHARACTER SET = utf8 DEFAULT COLLATE = utf8_general_ci"; $res_mysql_create_db = mysqli_query($conn, $query_mysql_create_db); $query_mysql_all_privilege = "GRANT ALL PRIVILEGES ON $username . * TO $username@'%'"; $res_mysql_all_privilege = mysqli_query($conn, $query_mysql_all_privilege); $query_ftp = "INSERT INTO `ftpd` (`User`, `status`, `Password`, `Uid`, `Gid`, `Dir`, `ULBandwidth`, `DLBandwidth`, `comment`, `ipaccess`, `QuotaSize`, `QuotaFiles`) VALUES ('$username', '1', '".hash('MD5', $password)."', '2001', '2001', '$path', '0', '0', '', '*', '0', '0')"; $res_ftp = mysqli_query($conn, $query_ftp); file_put_contents("/etc/apache2/sites-available/".$vhost_conf, "<VirtualHost *:80>\r\n ServerName $username.test.be\r\n\r\n\r\nServerAdmin admin@test.be\r\n DocumentRoot $path\r\n\r\n\r\n ErrorLog /var/logs/apache2/error.log\r\n CustomLog /var/logs/apache2/access.log combined\r\n\r\n\r\n</VirtualHost>"); $output = exec("sudo /var/www/hebergeur/heb.sh $vhost_conf"); exit; ?>
Voici le script shell : (heb.sh)
#!/bin/bash LOG_FILE=Sortie.log ERR_FILE=Erreurs.log exec 1>$LOG_FILE exec 2>$ERR_FILE ls -hal # Sortie 'normale' -> STDOUT vhost=$(grep vhost dossier.php | sed -e 's/\$vhost\s*=\s*\"\(.*\)\"/\1/') sudo a2ensite $vhost sudo systemctl reload apache2
Voici le fichier Erreurs.log :
ERROR: No site found matching *:80>\r\n!
ERROR: Site suprasupra; does not exist!
ERROR: Site $username=$vhost; does not exist!
ERROR: Site $vhost does not exist!
ERROR: Site = does not exist!
ERROR: Site $username..conf; does not exist!
ERROR: Site $path does not exist!
ERROR: Site = does not exist!
ERROR: Site /var/www/.$vhost; does not exist!
ERROR: Site file_put_contents(/etc/apache2/sites-available/.$vhost_conf, does not exist!
ERROR: Site "<VirtualHost does not exist!
ERROR: Site ServerName does not exist!
ERROR: Site $username.test.bernrnrnServerAdmin does not exist!
ERROR: Site admin@test.bern does not exist!
ERROR: Site DocumentRoot does not exist!
ERROR: Site $pathrnrnrn does not exist!
ERROR: Site ErrorLog does not exist!
ERROR: Site /var/logs/apache2/error.logrn does not exist!
ERROR: Site CustomLog does not exist!
ERROR: Site /var/logs/apache2/access.log does not exist!
ERROR: Site combinedrnrnrn</VirtualHost>"); does not exist!
ERROR: Site $output does not exist!
ERROR: Site = does not exist!
ERROR: Site exec("sudo does not exist!
ERROR: Site /var/www/hebergeur/heb.sh does not exist!
ERROR: Site $vhost_conf"); does not exist!
ERROR: Site exit; does not exist!
Voici le fichier Sortie.log :
total 20K
drwsrwsrwt 2 www-data root 4.0K Jun 29 01:37 .
drwsrwsrwt 34 www-data www-data 4.0K Jul 4 23:58 ..
-rwxrwxrwt 1 www-data root 0 Jul 5 00:06 Erreurs.log
-rwxrwxrwt 1 www-data root 0 Jul 5 00:06 Sortie.log
-rwxrwxrwt 1 www-data root 443 Jun 21 00:26 config.php
-rwsrwsrwt 1 www-data root 1.8K Jul 5 00:05 dossier.php
-rwxrwxrwt 1 www-data root 243 Jul 5 00:05 heb.sh-
Bonjour,
Il y a des erreurs dans ton script php (confusions entre la syntaxe shell et PHP) qu'on retrouve dansErreurs.log
au niveau des commandes construites à partir de variables PHP (en PHP, tu ne peux pas évaluer le contenu d'une variable à l'intérieur d'une chaîne de caractères). Ainsi, l'instruction :
$query_mysql_user = "CREATE USER $username@'%' IDENTIFIED BY '$password'";
devrait être corrigée en :
$query_mysql_user = "CREATE USER ".$username."@'%' IDENTIFIED BY \'".$password."\"";
Idem pour$query_mysql_grant
,$query_mysql_create_db
,$query_mysql_all_privilege
.
Bonne chance- PHP: La fonctionnalité la plus intéressante des chaîne de caractères guillemets doubles est que les noms de variables seront interprétés.
https://www.php.net/manual/fr/language.types.string.php - Bonjour,
J'ai essayé ta méthode, si j'ai bien compris le concepte.
Code php : (dossier.php)
<?php //affichage des erreurs php error_reporting(E_ALL); ini_set('display_errors', TRUE); ini_set('display_startup_errors', TRUE); require('config.php'); $vhost="suprasupra"; $username=$vhost; $password="test"; $vhost_conf = $username.".conf"; $path = "/var/www/".$vhost; $ftpuser = "ftpuser"; $ftpgroup = "ftpgroup"; if (!is_dir($path)) { mkdir($path, 0777, true); chown($path, $ftpuser); chgrp($path, $ftpgroup); } $query_mysql_user = "CREATE USER ".$username."@'%' IDENTIFIED BY \'".$password."\'"; $res_mysql_user = mysqli_query($conn, $query_mysql_user); $query_mysql_grant = "GRANT USAGE ON * . * TO ".$username."@'%' IDENTIFIED BY \'".$password."\'"; $res_mysql_grant = mysqli_query($conn, $query_mysql_grant); $query_mysql_create_db = "CREATE DATABASE IF NOT EXISTS ".$username." DEFAULT CHARACTER SET = utf8 DEFAULT COLLATE = utf8_general_ci"; $res_mysql_create_db = mysqli_query($conn, $query_mysql_create_db); $query_mysql_all_privilege = "GRANT ALL PRIVILEGES ON ".$username." . * TO ".$username."@'%'"; $res_mysql_all_privilege = mysqli_query($conn, $query_mysql_all_privilege); $query_ftp = "INSERT INTO `ftpd` (`User`, `status`, `Password`, `Uid`, `Gid`, `Dir`, `ULBandwidth`, `DLBandwidth`, `comment`, `ipaccess`, `QuotaSize`, `QuotaFiles`) VALUES ('$username', '1', '".hash('MD5', $password)."', '2001', '2001', '$path', '0', '0', '', '*', '0', '0')"; $res_ftp = mysqli_query($conn, $query_ftp); file_put_contents("/etc/apache2/sites-available/".$vhost_conf, "<VirtualHost *:80>\r\n ServerName $username.test.be\r\n\r\n\r\nServerAdmin admin@test.be\r\n DocumentRoot $path\r\n\r\n\r\n ErrorLog /var/logs/apache2/error.log\r\n CustomLog /var/logs/apache2/access.log combined\r\n\r\n\r\n</VirtualHost>"); $output = exec("sudo /var/www/hebergeur/heb.sh $vhost_conf"); exit; ?>
Cela me donne toujours les mêmes fichiers log, je rassure j'avais bien vider mes 2 fichiers log avant d'essayer et je l'ai fais plusieurs fois.
Erreurs.log :
ERROR: No site found matching *:80>\r\n!
ERROR: Site suprasupra; does not exist!
ERROR: Site $username=$vhost; does not exist!
ERROR: Site $vhost does not exist!
ERROR: Site = does not exist!
ERROR: Site $username..conf; does not exist!
ERROR: Site $path does not exist!
ERROR: Site = does not exist!
ERROR: Site /var/www/.$vhost; does not exist!
ERROR: Site file_put_contents(/etc/apache2/sites-available/.$vhost_conf, does not exist!
ERROR: Site "<VirtualHost does not exist!
ERROR: Site ServerName does not exist!
ERROR: Site $username.test.bernrnrnServerAdmin does not exist!
ERROR: Site admin@test.bern does not exist!
ERROR: Site DocumentRoot does not exist!
ERROR: Site $pathrnrnrn does not exist!
ERROR: Site ErrorLog does not exist!
ERROR: Site /var/logs/apache2/error.logrn does not exist!
ERROR: Site CustomLog does not exist!
ERROR: Site /var/logs/apache2/access.log does not exist!
ERROR: Site combinedrnrnrn</VirtualHost>"); does not exist!
ERROR: Site $output does not exist!
ERROR: Site = does not exist!
ERROR: Site exec("sudo does not exist!
ERROR: Site /var/www/hebergeur/heb.sh does not exist!
ERROR: Site $vhost_conf"); does not exist!
ERROR: Site exit; does not exist!
Sortie.log
total 20K
drwsrwsrwt 2 www-data root 4.0K Jun 29 01:37 .
drwsrwsrwt 34 www-data www-data 4.0K Jul 4 23:58 ..
-rwxrwxrwt 1 www-data root 0 Jul 5 00:06 Erreurs.log
-rwxrwxrwt 1 www-data root 0 Jul 5 00:06 Sortie.log
-rwxrwxrwt 1 www-data root 443 Jun 21 00:26 config.php
-rwsrwsrwt 1 www-data root 1.8K Jul 5 00:05 dossier.php
-rwxrwxrwt 1 www-data root 243 Jul 5 00:05 heb.sh
Si cela peut aider a résoudre mon problème mon but et qu'à la création d'un utilisateur cela crée son dossier personnel dans /var/www/ avec comme user ftpuser & ftpgroup et que sa ajoute son compte avec son accès dans mon pureftpd-mysql.
Que sa créer l'user sql et sa table.
Que cela créer le fichier vhost en ".conf" dans le dossier /etc/apache2/sites-available/ et que cela active le vhost dans le dossier /etc/apache2/sites-enabled/ et que cela reload la configuration d'apache2.
Genre me permettre de créer un hébergement complet via formulaire.
Merci d'avance. - Bonjour,
Je te recommande d'ajouter desecho
dans ton script pour vérifier pas à pas la valeur de chacune de tes variables (idem dans le script shell).
Ton fichiererror.log
semble suggérer que la valeur passée en paramètre àa2ensite
est incorrecte. Peux-tu nous redonner le contenu deheb.sh
afin qu'on voit s'il extrait correctement l'information de ton fichierdossier.php
?
Pour l'histoire des double-quotes en PHP, je ne savais pas que cette syntaxe marchait (ça fait des années que je n'ai pas écrit de PHP), donc si tes erreurs ne sont pas dues à ça, utilise la syntaxe qui te plaît.
Bonne chance
-