Aller au contenu

Monitorig Ulta Simple Du Dossier Homes


DaffY

Messages recommandés

Bonjour,

j'ai cherché (peut être pas bien) mais je n'ai pas trouvé comment SIMPLEMENT avoir un script ou une application linux qui me permettrait tout simplement de scruter de temps à autre les dossiers homes afin de savoir si des dépôts sont réalisés.

en clair être informé autrement qu'en allant scruter les logs, d'un upload fait par un user.

Je suis tout seul à me poser cette question ?

Pardon si elle est résolue mais je ne trouve pas...

Merci

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

j'ai cherché (peut être pas bien) mais je n'ai pas trouvé comment SIMPLEMENT avoir un script ou une application linux qui me permettrait tout simplement de scruter de temps à autre les dossiers homes afin de savoir si des dépôts sont réalisés.

en clair être informé autrement qu'en allant scruter les logs, d'un upload fait par un user.

Je suis tout seul à me poser cette question ?

Pardon si elle est résolue mais je ne trouve pas...

Merci

J ai fait, et cela fonctionnes.

-Ce script nécessite :

Installation de php en mode texte par ipkg

Installation de esmtp en ipkg

Création des fichiers vide : mail, oldsize.stt,oldstatut.stt,tailleoriginale.stt

Mettre une tache planifié dans le cron qui appelle le script que j'ai appellé personnellement 'surveilleftp.php'

Mon Script (a modifier par rapport au répertoire a surveiller)

<?php

// ouverture du fichier et recuperation de l'ancienne taille

$oldsizefile = fopen ("/volume1/PASCAL/surveilleftp/oldsize.stt", "r+");

$oldsize = fgets($oldsizefile);

fclose ($oldsizefile); 

// ouverture du fichier et recuperation du statut (idem ou different)

$oldstatutfile = fopen ("/volume1/PASCAL/surveilleftp/oldstatut.stt", "r+");

$oldstatut = fgets($oldstatutfile);

fclose ($oldstatutfile); 

// récupétation de la taille originale

$tailleoriginalefile = fopen ("/volume1/PASCAL/surveilleftp/tailleoriginale.stt", "r+"); 

$tailleoriginale = fgets($tailleoriginalefile);

fclose ($tailleoriginalefile);


//recuperation de la taille du repertoire


$folder = "/volume2/UPLOADFTP";	 //adresse du repertoire

$dossier = opendir($folder);

while ($Fichier = readdir($dossier)) 

{

  if ($Fichier != "." && $Fichier != "..") 

	  {

	$nomFichier = $folder."/".$Fichier;

 $size = filesize($nomFichier);

	   }

}

 $path="/volume2/UPLOADFTP"; //adresse du repertoire

$ar=getDirectorySize($path);

// fin récuperation taille répertoire taille dans $ar['size']



// mise a jour du fichier avec la nvlle taille

$newsize = $ar['size'];

$oldsizefile = fopen ("/volume1/PASCAL/surveilleftp/oldsize.stt", "w+"); 

fputs ($oldsizefile, $newsize);

fclose ($oldsizefile);


//mise a jour status et ecriture

if ($oldsize >= $newsize) //je verifie si les tailles ont changés

	{

	$newstatut = "idem";

	}

	 else 

	{

	$newstatut = "different"; 

	}


$oldstatutfile = fopen ("/volume1/PASCAL/surveilleftp/oldstatut.stt", "w+"); 

fputs ($oldstatutfile, $newstatut);

fclose ($oldstatutfile);



//vérification des differences

if ($newstatut =="different" || $oldstatut =="different") //Je verifie s'il y a transfert ou s'il y a eu transfert

	{ 

	if ($oldsize==$newsize) //les tailles sont identique le transfert est terminé j envoie le mail

		{


//envoie du mail


$mailfile= fopen("/volume1/PASCAL/surveilleftp/mail", "w+");

fputs ($mailfile, "From: \"SYNO Maison\" <postmaster@zimko.org>"."\n");

fputs ($mailfile, "To: <postmater@zimko.org>"."\n");

fputs ($mailfile, "Subject: Modification répertoire FTP"."\n");

fputs ($mailfile, "X-Priority: 1"."\n");

fputs ($mailfile, "Content-Type: text/plain; charset=iso-8859-1"."\n");

fputs ($mailfile, "Content-Transfer-Encoding: 8bit"."\n");

fputs ($mailfile, "MIME-Version: 1.0"."\n");

fputs ($mailfile, "Date: ".date("d/m/Y H:i:s")."\n"."\n");

fputs ($mailfile, sizeFormat($newsize-$tailleoriginale)." on ‚t‚ rajout‚ dans votre repertoire ftp"."\n");


fclose ($mailfile);


// adresse du destinataire de l'email

exec("esmtp utilisateur@xxxx.xxx < /volume1/PASCAL/surveilleftp/mail"); 


//et je remet a 0 la taille originale

		$tailleoriginalefile = fopen ("/volume1/PASCAL/surveilleftp/tailleoriginale.stt", "w+"); 

		fputs ($tailleoriginalefile, "0");

		fclose ($tailleoriginalefile);



		}


		else //le transfert est en cours

		{


		//copie de la taille originale des la premiere détection

		if ($tailleoriginale==0)

			{

				$tailleoriginalefile = fopen ("/volume1/PASCAL/surveilleftp/tailleoriginale.stt", "w+"); 

				fputs ($tailleoriginalefile, $oldsize);

				fclose ($tailleoriginalefile);

			}

		}

	}

else //pas de transfert detecté

	{


	}		 



//fonction ......

function getDirectorySize($path)

{

  $totalsize = 0;

  $totalcount = 0;

  $dircount = 0;

  if ($handle = opendir ($path))

  {

	while (false !== ($file = readdir($handle)))

	{

	  $nextpath = $path . '/' . $file;

	  if ($file != '.' && $file != '..' && !is_link ($nextpath))

	  {

		if (is_dir ($nextpath))

		{

		  $dircount++;

		  $result = getDirectorySize($nextpath);

		  $totalsize += $result['size'];

		  $totalcount += $result['count'];

		  $dircount += $result['dircount'];

		}

		elseif (is_file ($nextpath))

		{

		  $totalsize += filesize ($nextpath);

		  $totalcount++;

		}

	  }

	}

  }

  closedir ($handle);

  $total['size'] = $totalsize;

  $total['count'] = $totalcount;

  $total['dircount'] = $dircount;

  return $total;

}


function sizeFormat($size)

{

	if($size<1024)

	{

		return $size." bytes";

	}

	else if($size<(1024*1024))

	{

		$size=round($size/1024,1);

		return $size." KB";

	}

	else if($size<(1024*1024*1024))

	{

		$size=round($size/(1024*1024),1);

		return $size." MB";

	}

	else

	{

		$size=round($size/(1024*1024*1024),1);

		return $size." GB";

	}


} 

?>

En esperant que ca puisse aider.

Lien vers le commentaire
Partager sur d’autres sites

oups...

:hi:

un grand merci pour ta réponse.

Ce n'est pas ce que je pensais comme "ultra simple" mais cela peut répondre à mes attentes.

Pardon d'insister auprès d'autres encores : personne n'a eu recours à une application linux ou un script pour facilement réaliser la chose.

encore merci Zimko, mais si jamais quelqu'un d'autres avait une solution sans devoir installer php en mode texte ni esmtp en ipkg ?

Lien vers le commentaire
Partager sur d’autres sites

Bonsoir,

C'est vraiment une question qui revient régulièrement.

Bon j'ai créé un petit script fonctionnel sans ESMTP (IPKG) mais qui nécessite un firmware 6xx mini.

Changer la variable dossier !

#!/bin/sh

#

dossier="/root"

lang="fre"

#

script=$0

nom=`echo $script | sed "s'/..*/''"`

mail="/usr/syno/bin/synomail"

ficmail="/usr/syno/synoman/webman/texts/$lang/mails"

[ -f $ficmail-origine ] || cp $ficmail $ficmail-origine

#

clear

if [ ! -e $mail ]; then

echo -e "\n\n synomail N'existe pas, votre firmware est trop ancien pour ce script. \n\n"

exit 0

fi

#

###########################################################################

liste=`ls -rt $dossier | awk '{printf $1}'`

[ -f /tmp/$nom-liste ] || echo $liste > /tmp/$nom-liste

#

[ "`cat /tmp/$nom-liste`" = "$liste" ] && exit 0

#

echo -e "\n[Mail]

Subject: Modification du dossier => $dossier\n\n

Cher utilisateur, chère utilisatrice,\n

Le dossier $dossier a été modifié.\n

Cordialement,\nLe SYNO masqué " >> $ficmail

$mail Mail

cp $ficmail"-origine" $ficmail

echo $liste > /tmp/$nom-liste

###########################################################################

# Fin du script 'dirmail' version  15 Mars 2009

# par Fred.

Reste ensuite a inclure ce script en tache dans /etc/crontab.

C'est du brut de brut, mais fonctionnel tel quel.

Je pousserais plus loin si nécessaire (installation, mise a jour, choix dossier auto, etc)

A+

Fred.

Lien vers le commentaire
Partager sur d’autres sites

Excellent ! :yahoo:

Simple et efficace c'est absolument ce que j'attendais.

Je confirme que cela fonctionne à merveille et si un user dépose un truc dans son dossier home j'en suis averti par mail.

Merci beaucoup.

PS : pour les newbies (encore plus que moi) :D : accès Telnet, script à mettre dans dossier /bin et gérer son exécution par un chmod +x nomdufichier.

:good:

Lien vers le commentaire
Partager sur d’autres sites

PS : pour les newbies (encore plus que moi) :D : accès Telnet, script à mettre dans dossier /bin et gérer son exécution par un chmod +x nomdufichier.

Mieux vaut le mettre sous /usr/local/bin (ou /usr/local/etc/rc.d pour une execution automatique au démarrage du syno), c'est fait pour. Sinon sous /bin il risque de disparaître à une prochaine mise à jour du firmware.

Pascal

Lien vers le commentaire
Partager sur d’autres sites

Ok merci pour l'info.

A savoir qu'après analyse du code et tests plus avancés, il faut que la commande LS tiennent compte des changements date donc c'est un R et non un r

liste=`ls -Rt $dossier | awk '{printf $1}'`

et delà cela fonctionne à merveille en cas d'ajout, suppression par un utilisateur dans son dossier "home"

Simple et diablement efficace.

Merci

:yahoo:

Lien vers le commentaire
Partager sur d’autres sites

A savoir qu'après analyse du code et tests plus avancés, il faut que la commande LS tiennent compte des changements date donc c'est un R et non un r

Bonjour,

Euhh, je pense que tu viens de dire une bonne boulette :D

Le R majuscule donne une liste récursive du dossier a surveiller. Et tu risques de fausser la comparaison.

Bon, le point faible du script est justement cette commande 'ls' mal adapté pour tous les cas de figure.

Mais bon, il n'a que 5 minutes de réflexion et 10 minutes d'écriture ;)

A+ :hi:

Fred.

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

Euhh, je pense que tu viens de dire une bonne boulette :D

Le R majuscule donne une liste récursive du dossier a surveiller. Et tu risques de fausser la comparaison.

Bon, le point faible du script est justement cette commande 'ls' mal adapté pour tous les cas de figure.

Mais bon, il n'a que 5 minutes de réflexion et 10 minutes d'écriture ;)

A+ :hi:

Fred.

Joli taf Fred comme d'hab et tous ca en 10 mn ......

Mais question que se passe t'il si un utilisateur est en train d'écrire au moment de l'utilisation de ton script ?

Lien vers le commentaire
Partager sur d’autres sites

Joli taf Fred comme d'hab et tous ca en 10 mn ......

Bonsoir,

Ouai, 10 minutes ? A y réfléchir, avec le débugage, on va dire ~30 :D

Mais 10 faisait un bon chiffre...... :P

En fait, le plus dur est d'avoir l'inspiration, l'idée. Ensuite, sa roule tout seul.

Mais question que se passe t'il si un utilisateur est en train d'écrire au moment de l'utilisation de ton script ?

Bien rien de particulier, si il y a une différence, le mail est envoyé. Sinon il le sera au prochain lancement du script.

C'est du listage de dossier, rien de bloquant.

A+ :hi:

Fred.

Lien vers le commentaire
Partager sur d’autres sites

Ok merci Fred

chez moi cela fonctionne bien et toutes les 20 minutes le script tourne et m'alerte au cas où.

Simple et efficace.

quant au -R je confirme que ça marche mieux avec...

Dans l'uatre cas une suppression ou un ajout de faisait pas systématiquement le mail.

Là si.

Après je laisse aux grands manitous des scripts l'expertise et la pédagogie.

Moi je dis qu'en 10 minutes c'est parfait et que cela me va bien.

Merci ô grand manitou

:hi:

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

Permet au soit disant 'ô grand manitou' :D d'insister....

Avec le R majuscule, tu risques de ne pas détecter tous les changement.

Ou alors, tu ne m'as pas tout dit :acute: et que tu surveilles également les sous dossiers ?

Si oui, la meilleur syntaxe doit être :

liste=`ls -Rrt $dossier | awk '{printf $0}'`

=> Ajout du R majuscule

=> Changement 'printf $1' en 'printf $0'

Mais se n'était pas dans le contrat de départ :D

A+ :hi:

Fred.

Lien vers le commentaire
Partager sur d’autres sites

hello,

oui je te confirme Fred que les sous répertoires sont inclus dans mon petit audit.

Oui la chose fonctionne en l'état.

si je comprend ta modification

=> Ajout du R majuscule

=> Changement 'printf $1' en 'printf $0'

ajout du R je pige, print $1 je ne comprend pas.

Peux tu m'expliquer la différence StP, merci.

sinon te biles pas parce que chez moi ça remplit bien les fonctions attendues.

Donc contrat rempli !

:yahoo:

Même si l'EBU n'était pas correctement (comme d'hab) réalisée au départ :lol:

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

liste=`ls -Rrt $dossier | awk '{printf $0}'`

ls liste le dossier.

R Mode récursif, liste également les sous dossiers.

r trie par date.

t inverse l'ordre de trie par date. Fichier plus récent listé en dernier. Non utile mais je préfère :spiteful:

$dossier Dossier a lister

awk '{printf $0}' permet de formater la sortie de la commande 'ls' en supprimant les retours charriots (printf) et en affichant toutes les données ($0). Avec le ($1), seul la première chaine de caractère avant un espace est retourné. Pas l'idéale si tu as des fichiers contenant des espaces ou si tu listes le dossier et les sous dossiers..

Le but de cette commande est de créer une chaine de caractères contenant la liste des fichiers triés par date. Cette chaine est mémorisée et comparée a chaque lancement du script.

Cette comparaison est rapide et consomme peu de ressource pour le SYNO. Toutefois, elle n'est pas fiable a 100%.

Pour l'ajout ou la suppression de fichier, pas de soucis.

Par contre, si on modifie le dernier fichier de la liste (trie par date), cette comparaison ne marchera pas, vu que l'ordre de la chaine n'aura pas changé. C'est le seul hic.

A+ :hi:

Fred.

Lien vers le commentaire
Partager sur d’autres sites

Hello,

modification réalisée ce matin

tests 'manuels' ==> OK

Le script fonctionne toujours.

heu pas de différence , mais si tu dis que c'est mieux je te crois (en tout cas pas de régression).

Tu pourras m'expliquer $1 versus $0

(variable script par rapport au nom du script lui même si mes souvenirs sont bons par rapport à la variable $0 non ?)

En quoi c'est important ?

Merci

Lien vers le commentaire
Partager sur d’autres sites

Tu pourras m'expliquer $1 versus $0

En quoi c'est important ?

Pour çà, je te l'ai expliqué un message plus haut, mais pour la variable 'script=$0' c'est autre chose.

script=$0

nom=`echo $script | sed "s'/..*/''"`
La première ligne renseigne le nom et le chemin complet du script en cour a la variable. La seconde isole le nom du script dans la variable. Ainsi, si ton script a été lancer par la commande sh /bin/dirmail, tu as : script = /bin/dirmail nom = dirmail Et a quoi sa sert ?? :search: A anticiper une prochaine demande de Daffy dans le cas où il veut surveiller plusieurs dossiers :spiteful: Donc tu copies ton script avec un autre nom, tu changes la variable $dossier de cette copie, et roule.... Le fichier temporaire créé et qui contient le nom du script n'entrera pas en conflit.
[ -f /tmp/$nom-liste ] || echo $liste > /tmp/$nom-liste
et
echo $liste > /tmp/$nom-liste

Il faut penser a tout....

A+ :hi:

Fred.

Lien vers le commentaire
Partager sur d’autres sites

:clapping:

Excellent !

ça c'est tip top anticiper mes évnetuelles demandes, !

un grand bravo !

car oui ça me trotte de le faire en effet avec une personnalisation du mail afin de savoir qui a fait le dépôt.

Thanks a lot !

Bye

Et à charge de revanche si jamais je peux apporter (peut être pas là mais qui sait)

:drinks:

Lien vers le commentaire
Partager sur d’autres sites

Une petite modification du script permettant de savoir qui a fait le depot :

 #!/bin/sh

 #

 dossier="/volume1/homes"

 lang="fre"

 #

 mail="/usr/syno/bin/synomail"

 ficmail="/usr/syno/synoman/webman/texts/$lang/mails"

 [ -f $ficmail-origine ] || cp $ficmail $ficmail-origine

 #

 clear

 if [ ! -e $mail ]; then

 echo -e "\n\n synomail N'existe pas, votre firmware est trop ancien pour ce script. \n\n"

 exit 0

 fi

 #

 ###########################################################################

 for nom in `ls $dossier`

 do

 liste=`ls -Rrt $dossier/$nom | awk '{printf $0}'`

 [ -f /tmp/$nom-liste ] || echo $liste > /tmp/$nom-liste

 #

 if [ "`cat /tmp/$nom-liste`" != "$liste" ]; then

 echo -e "\n[Mail]

 Subject: Modification du dossier => $nom\n\n

 Cher utilisateur, chère utilisatrice,\n

 Le dossier $nom a été modifié.\n

 Cordialement,\nLe SYNO masqué " >> $ficmail

 $mail Mail

 cp $ficmail"-origine" $ficmail

 echo $liste > /tmp/$nom-liste

 #

 fi

 #

 done

 ###########################################################################

 # Fin du script 'dirmail' version  23 Mars 2009

Dites moi si vous voyez quelque chose de louche, mais normalement d'après les tests ça fonctionne bien.

Merci Fred pour ce super code tout de même.

Lien vers le commentaire
Partager sur d’autres sites

Bonsoir,

Il ne faudra pas d'espace dans le nom ou dans le chemin du dossier, sinon cela plantera ta boucle 'for'

Et a y réfléchir, je crois bien que sur ma version, on peux avoir le même probleme :shok:

Pour palier a ce probleme, sur la version simple, il faudra mettre des guillemets sur :

liste=`ls -Rrt "$dossier" | awk '{printf $0}'`

donc

#!/bin/sh

#

dossier="/root"

lang="fre"

#

script=$0

nom=`echo $script | sed "s'/..*/''"`

mail="/usr/syno/bin/synomail"

ficmail="/usr/syno/synoman/webman/texts/$lang/mails"

[ -f $ficmail-origine ] || cp $ficmail $ficmail-origine

#

clear

if [ ! -e $mail ]; then

echo -e "\n\n synomail N'existe pas, votre firmware est trop ancien pour ce script. \n\n"

exit 0

fi

#

###########################################################################

# Supprimer le R majuscule pour non récursif

#

liste=`ls -Rrt "$dossier" | awk '{printf $0}'`

[ -f /tmp/$nom-liste ] || echo $liste > /tmp/$nom-liste

#

[ "`cat /tmp/$nom-liste`" = "$liste" ] && exit 0

#

echo -e "\n[Mail]

Subject: Modification du dossier => $dossier\n\n

Cher utilisateur, chère utilisatrice,\n

Le dossier $dossier a été modifié.\n

Cordialement,\nLe SYNO masqué " >> $ficmail

$mail Mail

cp $ficmail"-origine" $ficmail

echo $liste > /tmp/$nom-liste

###########################################################################

# Fin du script 'dirmail' version  23 Mars 2009

# Simple recursif .

Pour ta version, c'est un peu plus compliqué comme modif.

Je peux regarder demain si cela intéresse du monde.

Voir, rendre ce script plus conviviale.. ;)

A+ :hi:

Fred.

Lien vers le commentaire
Partager sur d’autres sites

  • 4 semaines après...

Hello,

de retour après une longue absence.

Merci pour vos contributions.

Ceci dit je confirme qu'un pb persiste dans la version de djramzy.

si des noms de fichiers sont longs ou avec espaces ça boucle et ça indique à chaque fois une modif alors que rien n'a été changé.

idem pour le script simple.

j'ai tenté d'encadrer le ls par des " rien n'y change

En revanche dans un cadre très nominal "type unix/dos utf 8" ça marche.

3 questions à vous les gourous

1°) peut on améliorer ou corriger ce bug ?

2°) peut on imaginer d'exclure un dossier de l'audit (par exemple le dossier où l'on est sur d'avoir des dépôts fichiers aux noms longs)

3°) chaque fois que je lance manuellement le script il tourne mais j'ai une erreur

*awk: cmd. line:1: Invalid format specifier

Merci pour votre aide !

Lien vers le commentaire
Partager sur d’autres sites

Coucou !

y'a plus personne ?

:shok:

Personne ne souhaite ou ne peut faire une petite modif pour le script afin que les noms de fichiers longs ne soient pas "hors process" et que cela ne génère autant de mails que de fichiers en question, alors qu'aucun changement n'est fait dans le dossier "home/user".

Hé ho les gourous : je suis tout perdu sans vous

:unknw:

Merci pour votre support.

:cray:

Lien vers le commentaire
Partager sur d’autres sites

Bonsoir,

Tu utilises quel script ?

Celui que je donne ? La dernière version sur ce post ?

Je pense avoir résolu le probleme de nom long, sur cette version ?

Ou elle bug chez toi ? Dit-moi..

A+ :hi:

Fred.

PS: Je préfère Maitre, voir grand Maitre ou monseigneur a la limite :D

parce-que 'gourou', sa ne m'inspire pas :P

Lien vers le commentaire
Partager sur d’autres sites

:D

Monseigneur....

en fait j'utilise le script de djramzy.

ça marche sauf que, dès qu'un fichier ou sous dossier contient des espaces j'ai droit à une tonne de mail.

Le tiens ne me semblait pas permettre sauf à le dupliquer et personnaliser un audit pour chaque dossier.

L'autre script permet de savoir quel dossier est modifier.

Oui je sais j'en demande toujours plus, mais bon, Monseigneur connaît surement la solution pour les ptites gens comme moi...

:crazy:

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

Allez, bon Prince que je suis :D J'ai modifié la version de monsieur 'djramzy'

Les tests ont été rapide, mais cela fonctionne chez moi.

Donc tel quel, le script liste le dossier /volume1/homes et traite tous les sous dossiers qui s'y trouvent.

Et seulement ces dossiers (avec leur sous dossier), Les fichiers présent dans /volume1/homes ne seront pas traités.

#!/bin/sh

#

dossier="/volume1/homes"

lang="fre"

#

mail="/usr/syno/bin/synomail"

ficmail="/usr/syno/synoman/webman/texts/$lang/mails"

[ -f $ficmail-origine ] || cp $ficmail $ficmail-origine

#

clear

if [ ! -e $mail ]; then

echo -e "\n\n synomail N'existe pas, votre firmware est trop ancien pour ce script. \n\n"

exit 0

fi

#

#########################################################

for doss_user in `ls -dF $dossier/*  2> /dev/null | grep "^/..*/$" | sed "s' '?'g; s'/$''"`

do

Nom=`echo $doss_user | sed "s' '_'g; s'/.*/''"`

liste=`ls -Rrt "$doss_user" | awk '{printf $0}'`

[ -f /tmp/$Nom-liste ] || echo $liste > /tmp/$Nom-liste

#

if [ "`cat /tmp/$Nom-liste`" != "$liste" ]; then

echo -e "\n[Mail]

Subject: Modification du dossier => $Nom\n\n

Cher utilisateur, chère utilisatrice,\n

Le dossier $dossier a été modifié.\n

Cordialement,\nLe SYNO masqué " >> $ficmail

$mail Mail

cp $ficmail"-origine" $ficmail

echo $liste > /tmp/$Nom-liste

#

echo "modification du dossier $Nom"

sleep 2

fi

#

done

###########################################################################

# Fin du script 'dirmail2' version  25 Avril 2009

A+ :hi:

Fred.

Lien vers le commentaire
Partager sur d’autres sites

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.