Aller au contenu
Support de Zwii

Messages recommandés

Bonsoir à tous,

 

Pour ceux que cela intéresse j'ai travaillé cette après midi sur la sauvegarde de données de module.

Je m'explique :

je prends l'exemple du livre d'or, actuellement il existe le fichier module.json qui enregistre toutes les données du module mais également de tous les autres modules.

pour les personnes qui désirent sauvegarder uniquement les données propre à leur module ( comme pour moi le livre d'or ) j'ai mis en place un bouton upload dans la config :

upload_json.jpg.e5fc3b91495fc3ac7c7812942a0e95d3.jpg

 

afin d'avoir une sauvegarde indépendante dans un répertoire data du module,

ce fichier contidra uniquement les données du module livred'or :

upload_json_02.jpg.cf16e7643ff4b9b39530d8ee48e4f5f6.jpg

 

je travaille également sur la possibilité de faire une restauration vers le fichier : module.json

 

Dites moi ce que vous en pensez !!

 

Cordialement

Mickael

 

 

 

Partager ce message


Lien à poster
Partager sur d’autres sites

Bonsoir Mickaël.

C'est une très bonne idée ce projet, en effet la sauvegarde d'un module réalisé par un membre ne bénéficie pas d'une telle fonction et se retrouve systématiquement "effacé" lors de la mise à jour du cms.

Ton idée pourrait être exploitée pour tout les autres modules réalisés par la communauté, un vrai plus en effet.

 

Ce serait idéal que ton idée puisse s'appliquer à tout les modules avec un bouton général qui permettrait de sauvegarder les données de tout les modules se trouvant  dans le dossier /data/fr/ pour pouvoir les y réinjecter par la suite.

 

Merci pour le partage de ton idée Mickaël.

Roger

 

Partager ce message


Lien à poster
Partager sur d’autres sites
il y a 6 minutes, roger a dit :

Ton idée pourrait être exploitée pour tout les autres modules réalisés par la communauté

Bonsoir @roger,

 

Effectivement c'est un plus, ça fais longtemps que j'y pense.

La sauvegarde n'est pas très compliqué à faire, je penche sur la restauration et quand cela sera codé entièrement ça sera intégré au module livre d'or en V_1.3 mais je n'en suis pas encore là.

 

il y a 13 minutes, roger a dit :

Ce serait idéal que ton idée puisse s'appliquer à tout les modules

quoi qu'il arrive le code sera mis à disposition pour tout le monde avec les explications.

 

il y a 14 minutes, roger a dit :

Merci pour le partage de ton idée Mickaël.

Mais de rien c'est comme ça que zwii et les modules évolueront.

 

Merci et bonne soirée

Cordialement

Mickael

  • J'aime 1

Partager ce message


Lien à poster
Partager sur d’autres sites

Pour compléter le propos de Roger, tout module devra à l'avenir respecter d'un certain nombre de règles dont nous devons convenir avec @sylvainlelievre mais vous en saurez plus un peu plus tard.

 

L'export pourrait tout à fait en faire partie, il est aussi possible d'imposer aux modules non officiels d'utiliser leur propre jeu de données.

 

Bonne journée.

  • J'aime 1
  • Merci 1

Partager ce message


Lien à poster
Partager sur d’autres sites
il y a 5 minutes, Fred a dit :

tout module devra à l'avenir respecter d'un certain nombre de règles dont nous devons convenir avec @sylvainlelievre mais vous en saurez plus un peu plus tard.

 

L'export pourrait tout à fait en faire partie, il est aussi possible d'imposer aux modules non officiels d'utiliser leur propre jeu de données.

Ce qui me parait fort judicieux à appliquer (surtout pour les modules entrant dans le catégorie des module pouvant être appelés depuis la création d'une page).

L'export pourrait même faire partie intégrante de l'administration des modules depuis l'interface administrative d'un Zwii.

Cela permet une homogénéité avec le cms ainsi que l''assurance pour ceux qui utiliseront les modules proposés par le communauté de ne perdre aucunes de leurs données lors d'une mise à jour ou autre du cms.

Partager ce message


Lien à poster
Partager sur d’autres sites

Bonsoir @Fred, @sylvainlelievre, @roger, @Gilux, @omega, ainsi qu'à tout le monde !!

 

Bon j'ai réussi à faire ce que je voulais concernant l'importation de données 

rien de mieux qu'une petite vidéo

J'attends que les impératifs concernant la structure du module.json afin d'avoir des modules homogènes, pour mieux se retrouver dans le code.

En parlant de code vous remarquerais qu'il n'est pas aboutis, il manque la question " attention les anciennes données seront effacées !! "

enfin le plus gros est fait maintenant reste les finitions .

 

Donc pour résumer :

on peut faire une sauvegarde indépendante dans son propre module ( ici le livre d'or, mais ça peut s'appliquer à d'autre !! ) puis si on vas sur un autre site on copie le module, dans la parti admin on crée une nouvelle page en sélectionnant le module livre d'or, on clique sur importer et c'est tout !! le fichier module.json se complète automatiquement.

Voilà dites moi ce que vous en pensé en sachant que c'est une ébauche .

 

Merci bonne soirée et bon visionnage ( il n'y as pas de son pour le poids de la vidéo )

 

Cordialement 

Mickael 

Modifié par mickaelgutt
  • J'aime 1

Partager ce message


Lien à poster
Partager sur d’autres sites

Il va falloir être prudent avec l'import 😉 

 

Sinon oui c'est très bien de bosser sur cette fonction, si tu veux je regarderai ton code d'import export pour les optimisations.

Partager ce message


Lien à poster
Partager sur d’autres sites
il y a 15 minutes, mickaelgutt a dit :

Voilà dites moi ce que vous en pensé en sachant que c'est une ébauche .

 

Merci bonne soirée et bon visionnage ( il n'y as pas de son pour le poids de la vidéo )

 

 Ce que j'en pense tient en un seul mot FORMIDABLE

(Heu pour le son, tu peux le mettre car ça ne mange pas de poids dans le fichier final, sauf si on a une voix affreuse comme la mienne 😊)

 

Il me tarde que tu fasses ton tutoriel pour justement pouvoir de mon coté l'utiliser par la suite (j'ai quelques idées de module en réserve et ton travail tombe à point pour justement la sauvegarde/restauration de tels fichiers .json

 

👍 Joli travail que le tien Mickaël, propre et net en tout sens me si ce n'est qu'une ébauche comme tu le précises.

Roger

 

Partager ce message


Lien à poster
Partager sur d’autres sites

Bonsoir @Fred,

il y a 4 minutes, Fred a dit :

l va falloir être prudent avec l'import

par rapport à quoi ? à l'utilisation ou le bouton mal placé ou autre ?

 

il y a 5 minutes, Fred a dit :

si tu veux je regarderai ton code d'import export pour les optimisations

Absolument car j'ai codé ça comme un cochon donc il y auras de la correction et des améliorations c'est certain, je ne suis pas développeur . Je fais ça pour le plaisir et je suis très content d'apprendre.

 

je vais mettre le fichier à dispo.

 

Cordialement

Mickael

Partager ce message


Lien à poster
Partager sur d’autres sites

@Fred, comment je fais pour mettre le fichier php?

je n'arrive pas à mettre ni en zip ni en php .

 

Est ce que je change l'extension en jpg puis vous remettrez en php ?

 

Cordialement

Partager ce message


Lien à poster
Partager sur d’autres sites

@Fred, @roger

sinon je peux mettre les deux fonctions :

 

	/**
	 * importation de données dans le fichier module.json
	 * @author communauté de zwii
 	 * @Février 2021
	 */
	public function import() {
		
				// chemin d'accès à votre fichier JSON
				$file = self::FILE_DIR.'../../module/livredor/data/livre.json'; 
				// mettre le contenu du fichier dans une variable
				$data = json_decode(file_get_contents($file), true);
				$json2 = json_encode($data);
				$data1= $this->setData(['module', $this->getUrl(0), $data]);
					
				$this->addOutput([
					'notification' => 'Importation avec succée <br />dans le fichier module.json ',
					'redirect' => helper::baseUrl() . $this->getUrl(0) .'/config',
					'state' => true
				]);
		}
	
	/**
	 * Exportation des données du livre d'or dans un fichier json indépendant
	 * @author communauté de zwii
 	 * @Février
	 */
	public function uploadjson() {
		
		$data = $this->getData(['module', $this->getUrl(0)]);
		//on verifie si le tableau est different de vide
			if ($data !== []) {
				// création du nom du fichier sous forme de : date + heure + seconde
				$jsonfilename = 'backup.json';
				// si le repertoire n'éxiste pas, le repertoire sera crée
				if (!file_exists(self::FILE_DIR.'../../module/livredor/data')) {
					mkdir(self::FILE_DIR.'../../module/livredor/data');
				}
				// On encode en serialisant le fichier Json puis on le crée
				$json = json_encode($data, JSON_PRETTY_PRINT);
				$file = file_put_contents(self::FILE_DIR.'../../module/livredor/data/'.$jsonfilename, $json);
				// notification si c'est enregistré
				$this->addOutput([
					'notification' => 'Création du fichier Json dans le repertoire Data du module <br />sous le nom '.$csvfilename,
					'redirect' => helper::baseUrl() . $this->getUrl(0) .'/config',
					'state' => true
				]);
			} else {
				// notification si le tableau est vide
				$this->addOutput([
					'notification' => 'Aucune donnée à uploader',
					'redirect' => helper::baseUrl() . $this->getUrl(0) .'/config'
				]);
			}
		}

Voilà ne pas oublier en debut de code d'ajouter les fonctions dans public static $actions ( enfin je vous apprends rien )

 

Bonne soirée,

Cordialement 

Mickael

Partager ce message


Lien à poster
Partager sur d’autres sites

Prudent parce que il y a un risque d’écrasement, mais ça tu t’en doutais. 
 

Ton code est propre, ce que tu appelles import c’est l’installation à partir d’un modèle où j’ai pas compris ?

Partager ce message


Lien à poster
Partager sur d’autres sites
il y a 28 minutes, Fred a dit :

tu appelles import c’est l’installation à partir d’un modèle

@Fred Bonsoir,

 

En faite le but est très simple on a un site A avec des données exemple les message du livre d'or ( ça peut être le blog ou les nouvelle , peut importe )qui sont là depuis plusieurs années  et on veux les récupérer pour les intégrer sur le site B mais il y as uniquement les messages à mettre car les site A et diffèrent du site B.

 

1er étape on fait un upload avec le bouton bleu ( upload ) sur le site A

2- étape on récupère le module entier avec le ftp que l'on met dans le répertoire module ( comme d'habitude ) sur le site B

3 - on fait la création d'une nouvelle page avec le module livre d'or sur le site B

4- on clique sur importé car normalement le livre d'or n'as aucun message sur le site B

 

donc grâce à cette manipulation simple on récupère les messages du site A enregistrées dans module/livredor/data (répertoire qui se crée lors de l'upload ) que l'on remet avec l'import dans le fichier module.json du site B et on se retrouve avec deux sites web différents mais avec les même messages du livre d'or ( ou autres si on intègre le code dans le module que l'on veux avoir un backup )

je sais le terme import et upload ne sont peut être pas approprié mais ça peut être backup et restauration .

J'espère avoir était simple dans l'explication.

 

Cordialement

Bonne soirée

Mickael

Partager ce message


Lien à poster
Partager sur d’autres sites
Il y a 8 heures, mickaelgutt a dit :

3 - on fait la création d'une nouvelle page avec le module livre d'or sur le site B

4- on clique sur importé car normalement le livre d'or n'as aucun message sur le site B

 

Il y a 8 heures, mickaelgutt a dit :

donc grâce à cette manipulation simple on récupère les messages du site A enregistrées dans module/livredor/data (répertoire qui se crée lors de l'upload ) que l'on remet avec l'import dans le fichier module.json du site B et on se retrouve avec deux sites web différents mais avec les même messages du livre d'or

 

💡 cela me fait penser à un autre cas de figure qui demanderait réponse:

Bonjour Mickaël.

==> Dans ton exemple, tu parles pour le site B de juste recréer sur le site B une page comprenant un livre d'or (ce pourrait être aussi un autre module) qui serait donc vierge de tout contenu.

==> Tu fais ensuite un import des données de livre d'or du site A vers le site B (ce qui rempli alors les pages du livre d'or avec un contenu strictement identique pour les deux sites)

 

❓ Mais que se passerait il alors si un livre d'or était mis en place sur deux sites en même temps et qu'ils soient totalement indépendants l'un de l'autre?

1° le site A ayant ses propres messages (par exemple un site ou l'on ne parle que de logiciels à télécharger et où il est possible de laisser un avis...).

2° le site B possédant aussi ses messages à lui (ce site étant complémentaire du premier mais là on y explique les fonctionnement des softs et touti...).

 

Il me semble que si l'on remplace un fichier quelconque par un autre cela écraserait les données, ou alors ton projet lors de son import vers le second site réécrit les données en tenant compte et conservant les données déjà présentes et n'y réinjectant que les données manquantes.

 

👉 C'est ma grosse interrogation dans ce cas bien précis d'une double installation déjà présente sur deux sites devant bénéficier du même import d'un même module.

 

Bien amicalement;

Roger

 

Partager ce message


Lien à poster
Partager sur d’autres sites

Bonjour Mickaêl @mickaelgutt

 

Et bravo pour ton travail ! très intéressant.

 

Comme te l'a dit @Fred nous sommes en réflexion et en tests sur une nouvelle fonctionnalité de Zwii permettant de gérer les modules depuis l'interface d'administration, en clair :

  1. Ne puis être obligé d'installer un module tiers par FTP, mais le faire depuis Zwii (après avoir chargé  avec RFM une archive zip),
  2. Pouvoir depuis Zwii faire une mise à jour du module, sans altérer les données du module,
  3. Si un module n'est plus utilisé pouvoir l'effacer depuis Zwii.

 

La liste est incomplète et avec des idées comme les tiennes on va sûrement pouvoir la compléter.

 

Une première conclusion de ce travail est qu'il faut absolument au niveau des modules séparer les scripts des données. Par exemple pour ton livre d'or tes 'data' ne devraient pas être dans ./module/livredor/data mais dans site/file/livredor/data (en considérant qu'on ne mettrait pas les pieds dans ./site/data réservé à Fred).

 

Une seconde conclusion est qu'il faut transmettre avec le module des informations qui pour l'instant (ça peut évoluer) seraient :

  • Version du module
  • autorisation du concepteur pour les maj depuis Zwii
  • autorisation du concepteur pour les suppressions depuis Zwii

Ton idée de sauvegarde puis export puis import des données est une très bonne idée.

 

A suivre...

 

Bonne journée

 

Sylvain

 

Partager ce message


Lien à poster
Partager sur d’autres sites
Il y a 1 heure, roger a dit :

si l'on remplace un fichier quelconque par un autre cela écraserait les données

Bonjour @roger,

Le script n'écrase pas le fichier il vas uniquement à l'endroit ( ici pour exemple ) du livre d'or, pour qu'il aille ailleurs il faut modifier l'accès de : $data1=$this->Setdata .

Pour le reste oui pour lemoment il ecrase les données existante du livre pour en injecter d'autre qui sont dans le répertoire data du module.

 

Attention c'est une ébauche !! comme je l'ai précisé hier soir, le script et loin d'être fini c'est pour ça qu'il n'est pas en ligne.

 

Bonjour @sylvainlelievre

il y a 50 minutes, sylvainlelievre a dit :

gérer les modules depuis l'interface d'administration

ah c'est une excellente nouvelle !!!

 

il y a 51 minutes, sylvainlelievre a dit :

pour ton livre d'or tes 'data' ne devraient pas être dans ./module/livredor/data mais dans site/file/livredor/data

oui peut importe, moi je les ai mis là pour ne pas polluer site/file mais effectivement c'est logique, de plus dans l'idée c'est de mettre une variable qui correspond à un chemin avec un input de type file afin de section le fichier à intégrer dans le fichier module.json ( ça remplacera le bouton vers ).

 

il y a 55 minutes, sylvainlelievre a dit :

Une seconde conclusion est qu'il faut transmettre avec le module des informations qui pour l'instant (ça peut évoluer) seraient :

  • Version du module
  • autorisation du concepteur pour les maj depuis Zwii
  • autorisation du concepteur pour les suppressions depuis Zwii

Oui mais tout y est déjà, le soucis c'est que là c'est qu'une partie du code, il est bien évident qu'il manque le début et la fin, ici on a uniquement les fonction des deux boutons import et upload , je n'ai pas mis les modifications à faire dans config.php et là on peut également voir qu'il manque les conditions dans l'import du style : si le fichier et vide alors si il n'est pas vide alors .

 

Mais pour l'instant je voudrais incrémenter les données dans le module et pas qu'il remplace dans la section livre d'or mais qu'il mette à la suite les données, ça pourrait être une option à ajouter avec une case  : cocher = tout supprimer, décocher = ajouter aux message déjà présents.

 

Voilà il y a encore du travail mais je pense qu'il faut sortir cette nouvelle version avec les remarques ci-dessous sinon merci pour la remonté d'infos.

je n'ai pas pu mettre le fichier dans le message !!?? 

 

Merci à tous

Bonne journée

Cordialement Mickael.

 

Partager ce message


Lien à poster
Partager sur d’autres sites

Bonjour Mickael, merci pour ta réponse à mon interrogation sur l’effacement des données.

 

il y a 34 minutes, mickaelgutt a dit :

je n'ai pas pu mettre le fichier dans le message !!?? 

Pour joindre un fichier dans un message c'est facile, cela se fait quand tu répond en utilisant (par glisser/déposer ou chois'r les fichiers)" Insérer un autre média."

 

1° sur ton pc tu transformes ton fichier en archive .zip

2° depuis ton pc tu glisses alors le zip (ou tu vas le chercher en cliquant sur "choisir les fichiers") dans la boite en dessous. Le zip sera alors transféré et affiché avec son nom dans la boite.

3° a l'endroit dans ton message tu cliques et c'est là que sera ton fichier joit.

 

==> Pour que ton fichier joint apparaisse et puisse être téléchargé, il faut dans la boite en dessous cliquer sur le "petit signe +" tu verras une popup te dire "inserrer dans le message"  ou un truc du genre... et puis c'est tout.

Ton fichier apparaîtra alors dans ton sujet et sera cliquable pour être téléchargé par qui le veut.

 

👉 Le seul hic, c'est que les pièces jointe sont réglées uniquement que pour des images dans ce genre de sujet. Il faudrait faire appel à @Fred pour qu'il y ajoute l’extension "zip" dans les pièce jointes autorisées

 

Glisser ici les fichiers à joindre, ou choisir les fichiers…
Types de fichiers acceptés : gif, jpeg, jpe, jpg, png, mp4, 3gp, mov, ogg, ogv, mpg, mpeg, flv, webm, wmv, avi, m4v 

 

Bonne journée à toi.

Roger

Modifié par roger

Partager ce message


Lien à poster
Partager sur d’autres sites

Bonjour @roger,

 

C'est exactement les manipulations que j'ai faite mais j'ai une erreur si le fichier en question ne corresponds pas aux extensions. 

ça fonctionne pas avec : Zip, Rar, ou php

 

erreur.jpg.6c8d064931ed39ed3f38d13a4788d809.jpg

 

je peux uniquement mettre un zip ou zar ou autre quand je fais une mise à jour de module.

 

Merci pour les infos mais j'ai déjà essayé.

 

Cordialement

Mickael

Partager ce message


Lien à poster
Partager sur d’autres sites

Mickael, si tu avais lu la dernière partie de ma réponse au dessus, tu aurais alors compris pour quoi ici spécialement (et pas dans la section téléchargement où là tu peux joindre zip et touti) pour tu ne peux le faire ici. Il te faudra attendre que @Fred passe dans le coin pour te donner une réponse concernant les pièce jointes dans le forum même;

 

il y a une heure, roger a dit :

👉 Le seul hic, c'est que les pièces jointe sont réglées uniquement que pour des images dans ce genre de sujet. Il faudrait faire appel à @Fred pour qu'il y ajoute l’extension "zip" dans les pièce jointes autorisées

 


Glisser ici les fichiers à joindre, ou choisir les fichiers…
Types de fichiers acceptés : gif, jpeg, jpe, jpg, png, mp4, 3gp, mov, ogg, ogv, mpg, mpeg, flv, webm, wmv, avi, m4v 

 

 

Je reconnais que parfois c'est un peu gênant de ne pouvoir joindre dans le forum autre chose que des fichiers images mais je suppose que cette limitation à cet endroit est voulue (pour des questions de sécurité peut être ou autre) 🙂

Je ne puis te dire autre chose sur le sujet.

 

A bientôt, bonne fin de matinée à toi.

Roger

 

Partager ce message


Lien à poster
Partager sur d’autres sites

@roger,

il y a 23 minutes, roger a dit :

Mickael, si tu avais lu la dernière partie de ma réponse au dessus

J'ai pour habitude de lire les commentaires entièrement que je reçois, c'est du respect envers celui qui prends le temps de me répondre.

 

il y a 11 minutes, roger a dit :

Je ne puis te dire autre chose sur le sujet.

Sinon pas de soucis j'avais compris les infos que tu m'as donnée.

 

De toute façon l'essentiel du code est présent plus haut dans les commentaires, donc celui qui veut prendre le code afin de l'ajouter à son module, les 3/4 du code est là car il ne faut pas oublier de déclarer la fonction et bien sûr modifier le config.php ( enfin tout dépend ou tu veux le mettre ) pour y avoir accès, on peut aussi créer une page import avec les différentes options et du coup il faudra ajouter au code présent l'accès à la page concernant les options à afficher sinon il y auras une erreur 404.

 

Bonne journée,

Cordialement

Mickael

Partager ce message


Lien à poster
Partager sur d’autres sites

Bonjour @mickaelgutt

 

Afin de préparer ton module être installé par le cms plutôt que par le ftp, tu devrais plutôt proposer un import par l'intermédiaire du gestionnaire de fichiers ce qui simplifie les choses.

Autrement dit :

- installation du module livre d'or par ftp (maintenant) ou par interface  cms (bientôt)

- bouton export des données sur le site A et téléchargement sur le client

- site b, copie du fichier de données dans le gestionnaire de fichiers puis import avec la fonction que tu as prévue.

 

Pour le moment, tu enregistres tes données avec un setData([('module','livredor')] , la possibilité d'un stockage dans un répertoire différencié pour les modules externes (ceux des membres) sera abordé plus tard étant donné que cela a une influence sur la v11 et le mode multi-langue.

 

Cette discussion est doublement intéressante car elle soulève des points qu'il faudra résoudre.

Partager ce message


Lien à poster
Partager sur d’autres sites

  • Contenu similaire

    • Par mickaelgutt
      Bonjour, @Fred
       
      j'ai remarqué depuis quelques mises à jour sur le Zwii, qu'il y avait des modifications sur la structure du module.json
      Est ce que vous avez décider d'une nouvelle structure pour l'organisation des enregistrements de données dans le json si oui laquel ?,
      c'est surtout pour avoir une structure de module homogène
      exemple sur le blog avant il y avait :
      module=>blog=>posts, or maintenant posts n'est plus présent donc sur une edition ou ajout on a :
      <div class="col6"> <?php echo template::date('newsEditPublishedOn', [ 'help' => 'La news est consultable à partir du moment ou la date de publication est passée.', 'label' => 'Date de publication', 'value' => $this->getData(['module', $this->getUrl(0), $this->getUrl(2), 'publishedOn']) ]); ?> </div> et plus une value =
      'value' => $this->getData(['module', $this->getUrl(0), 'posts', $this->getUrl(2), 'publishedOn'])  Pour la mise à jour des modules actuels et des nouveaux modules futur pour le zwii comment doit on procéder ?
       
      Car même si les modules sont indépendants des un des autres, il est plus simple un model de structure du json pour mieux si retrouver.
       
      Je pose la question mais c'est peut être pas le moment, donc pas de soucis si c'est pas le moment.
       
      Allez bon courage à tous 
       
      Cordialement
      Mickael
    • Par Seb
      Salut à tous,
       
      Un petit moment que je ne suis pas revenu ici (problèmes de santé et autres joyeusetés). Content de voir que le projet est toujours debout et plus que jamais (je m'étais inquiété suite au départ de Rémi). J'ai mis récemment à jour deux vieux sites et ça a marché impec. J'en profite pour vous féliciter du boulot accompli et pour vous souhaiter à tous une belle année 2019.
       
      Bon, passons aux choses pénibles...
      J'ai souhaité procéder à une fraîche installation d'un Zwii sur un de mes domaines. Et là, bing, je reçois ça à l'écran :
       
      Unable to read data file. J'ai zieuté le forum et j'ai vu que ce bug était reporté pour des mises à jour automatiques, pas pour une install neuve.
       
      Quelqu’un a-t-il une idée ? Je suis chez o2switch, j'ai d'anciennes Zwii en place, tout fonctionne, y compris les MàJ auto.
       
      Merci d'avance pour votre aide !
×
×
  • Créer...