Jump to content

Site hors service


Recommended Posts

Bonjour,

A la veille de la mise en production (il ne me restait qu'à configurer le module de paiement qui était déjà actif), mon site m'a intégralement lâche. Plus de front office ni de back office.

Tout ce que j'arrive à avoir comme info c'est la chose suivante (sur le front office et rien sur le back office):

Fatal error: Uncaught Symfony\Component\Config\Util\Exception\XmlParsingException: [ERROR 522] Validation failed: no DTD found !
(in n/a - line 2, column 67) [ERROR 9] Input is not proper UTF-8, indicate encoding ! Bytes: 0xE9 0x63 0xE9 0x64 (in n/a - line 13, column 19) in /htdocs/vendor/symfony/symfony/src/Symfony/Component/Config/Util/XmlUtils.php:62 Stack trace: #0
/htdocs/vendor/symfony/symfony/src/Symfony/Component/Config/Util/XmlUtils.php(131): Symfony\Component\Config\Util\XmlUtils::parse('<?xml version="...', NULL) #1
/htdocs/vendor/symfony/symfony/src/Symfony/Component/Translation/Loader/XliffFileLoader.php(54): Symfony\Component\Config\Util\XmlUtils::loadFile(Object(Symfony\Component\Finder\SplFileInfo)) #2
/htdocs/vendor/symfony/symfony/src/Symfony/Component/Translation/Loader/XliffFileLoader.php(42): Symfony\Component\Translation\Loader\XliffFileLoader->extract(Object(Symfony\Component\Finder\SplFileInfo),
Object(Symfony\Component\Translation\MessageCatalogue), 'ShopThemeGlobal') #3 /htdocs/vendor/symfony/sym in /htdocs/vendor/symfony/symfony/src/Symfony/Component/Translation/Loader/XliffFileLoader.php on line 56

Type d’install (nouvelle/MàJ) : L'installation marchait bien depuis plusieurs mois, j'ai juste configuré le plugin e-transactions (qui était déjà actif)
Version de PS : 1.7.4.2
URL du site concerné : www.natureetbulles.com
Thème (défaut/perso) : thème acheté que j'ai corrigé car il faisait pleins d'erreurs
Code (original/modifié) : pas touché au code
Hébergement : LWS
Version de PHP : 7.2
Version de MySQL : 5.0.12
Navigateur(s) concerné(s): Safari mais tout le site est planté

Ce n'est pas la première fois que j'ai ce genre d'erreur, mais la dernière fois je m'en étais sorti en reprenant une précédente version.

Là, même l'ancienne version avec le répertoire var/cache/dev et prod vidés ne change rien à ce message...

 

Vous auriez une idée ?

Edited by yohm (see edit history)
Link to comment
Share on other sites

Et je ne peux pas avoir des infos sur le fichier qui cause cela ?

Je n'ai pas édité de fichiers sur le site depuis plusieurs mois, je ne vois pas du comment ça a pu arriver maintenant...

PS: j'utilise vim pour éditer mes fichiers...

Edited by yohm (see edit history)
Link to comment
Share on other sites

Merci pour votre réponse en tout cas, ça m'aide pas mal (même si je me retrouve à éditer tous les fichiers xml sans résultat).

Quand à l'instabilité de la 1.7, LWS propose les dernières versions, j'aurais du m'embêter à tout configurer tout seul plutôt que de prendre le pack pré-configuré proposé.

Je vous dis si je trouve l'origine du problème...

Link to comment
Share on other sites

Bon, j'en ai déjà trouvé 2 dans les fichiers suivants (pas touché à ça):

vendor/phpoffice/phpexcel/unitTests/rawTestData/Reader/XEETestValidUTF-16.xml

vendor/phpoffice/phpexcel/unitTests/rawTestData/Reader/XEETestInvalidUTF-16.xml

Mais ça ne change rien, je continue...

 

Après les XML et les XLF, faudrait que je regarde quoi ?

Edited by yohm (see edit history)
Link to comment
Share on other sites

Bonjour,

Si on regarde la stack que vous avez indiqué, la ligne 3 dit:

/htdocs/vendor/symfony/symfony/src/Symfony/Component/Translation/Loader/XliffFileLoader.php(42): Symfony\Component\Translation\Loader\XliffFileLoader->extract(Object(Symfony\Component\Finder\SplFileInfo),
Object(Symfony\Component\Translation\MessageCatalogue), 'ShopThemeGlobal') #3

On dirait donc que l'erreur vient du catalogue de traduction "ShopThemeGlobal". Les traductions de PS 1.7 sont dans app/Resources/translations, regardez les fichiers appelés ShopThemeGlobal (il y en a plusieurs, un par langue).

  • Like 1
Link to comment
Share on other sites

J'avais vu mais je n'avais rien trouvé dedans.

Aussi, je viens de reregarder les fichiers ShopThemeGlobal dans app/Resources/translations et dans le répertoire translations de mon thème (celui là, je l'ai modifié), resauvegardé les 2 en demandant le no BOM, envoyé sur le FTP, vidé les répertoires dans var/cache/

Et toujours le même message...

A toute fin utile, je vous joins le fichier ShopThemeGlobal de mon thème.

ShopThemeGlobal.fr-FR.xlf

Edited by yohm (see edit history)
Link to comment
Share on other sites

Depuis que j'ai effacé le fichier ShopThemeGlobal (et vidé à la main les répertoires cache) de mon thème, l'erreur a un peu évolué, elle commence comme ça maintenant:

Fatal error: Uncaught Symfony\Component\Config\Util\Exception\XmlParsingException: [ERROR 522] Validation failed: no DTD found ! (in n/a - line 2, column 67)
[ERROR 9] Input is not proper UTF-8, indicate encoding ! Bytes: 0xE9 0x66 0x69 0x6E (in n/a - line 7, column 53) in 

Le reste est identique.

Il y aurait d'autres répertoires caches à vider manuellement pour les traductions ?

 

EDIT: En fait, si je rajoute une ligne dans mon fichier shopThemeGlobal, ça se répercute sur l'erreur. Mais je ne vois pas d'où ça vient...

Edited by yohm (see edit history)
Link to comment
Share on other sites

Bonjour,

ce que j'aime le plus avec cette version bancale avec des pseudo briques Synfony, c'ets que les messages d'erreurs sont encore plus incompréhensible que l'erreur elle même.

Perso, je récupèrerais tout pour en monter une version de test en faisant un remplacement des fichiers de base (de votre version installée) répertoire par répertoire et trouver le répertoire qui avait un soucis, c'est long, c'est chiant mais pas d'autre réelle solution.

Link to comment
Share on other sites

J'ai essayé de parser tous les fichiers xml du site et je me suis filtré les erreurs... Aucun soucis pour tous mes fichier ShopThemeGlobal

Pour le moment, 2 fichiers m'ont retournés une erreur:

vendor/symfony/symfony/src/Symfony/Component/Routing/Tests/Fixtures/nonvalid.xml ( la balise fermée "route" a été commentée...)

vendor/symfony/symfony/src/Symfony/Component/Translation/Tests/fixtures/invalid-xml-resources.xlf (il manque une balise fermée "target")

Mais ça ne résout toujours pas mon problème.

(je ne serai pas déprimé par tout ça, la liste des fichiers xml qui n'arrivent pas à être parsé me ferait sourire)

(c'est fou la quantité de fichiers vides)

Edited by yohm (see edit history)
Link to comment
Share on other sites

Ce que j'aime beaucoup dans cette histoire, c'est qu'en temps normal, je suis consommateur de produit libre et là, je me suis dit "tiens, je vais utiliser un produit payant pour une fois, je me casserais pas les pieds à chercher des bugs, car c'est un produit professionnel".

Au final, j'aurais passé 2 heures à corriger un design que j'ai acheté (je passe tous les petits bugs dans le back office, notamment dans la gestion des modules) et là, j'ai passé ma journée à essayer de récupérer le site la veille du lancement. Bref, je suis très déçu de Prestashop.

Merci pour vos idées, je vais tenter une nouvelle installation et vous tiens au courant.

Link to comment
Share on other sites

Que je peux vous comprendre.

le monde du template PrestaShop est une jungle sans le moindre contrôle.

pour preuve, je navais qu’un seul fournisseur sur mon site, mais il a abandonné la production de nouveau template tellement le marché est pourris par les pays émergents sans scrupules avec des design tape à l’oei Mais toutalement inutilisables. Ils vendent des modules pas du template, c’est un vaste blague.

Link to comment
Share on other sites

Bon, finalement, j'ai continué à chercher le problème

Mon fichier ShopThemeGlobal posait bien problème, sauf que c'était les accents qui ne passaient pas. (et entre le cache de prestashop, et celui de mon hébergeur, je ne m'en sortais pas)

On progresse, car maintenant, j'ai une belle page d'erreur que je ne comprends pas trop...

 

CT_footerCMSblockView est un module qui a été livré avec le thème (et dont l'utilité est discutable comme beaucoup d'autres de ces modules)

(1/1) ContextErrorException
Warning: count(): Parameter must be an array or an object that implements Countable
in d343d87bc6a54ff3b14fa4438797aa23975a36cf_2.module.ctfootercmsblockviewstemp.cache.php line 32
at content_5c43781bd804b9_59012895(object(SmartyDevTemplate))
in smarty_template_resource_base.php line 123
at Smarty_Template_Resource_Base->getRenderedTemplateCode(object(SmartyDevTemplate))
in smarty_template_compiled.php line 114
at Smarty_Template_Compiled->render(object(SmartyDevTemplate))
in smarty_internal_runtime_updatecache.php line 39
at Smarty_Internal_Runtime_UpdateCache->updateCache(object(Smarty_Template_Cached), object(SmartyDevTemplate), false)
in smarty_template_cached.php line 143
at Smarty_Template_Cached->render(object(SmartyDevTemplate), false)
in smarty_internal_template.php line 201
at Smarty_Internal_Template->render(false, 0)
in smarty_internal_templatebase.php line 232
at Smarty_Internal_TemplateBase->_execute(object(SmartyDevTemplate), null, null, null, 0)
in smarty_internal_templatebase.php line 116
at Smarty_Internal_TemplateBase->fetch(null, null, null, null, false, true, false)
in SmartyDevTemplate.php line 41
at SmartyDevTemplateCore->fetch()
in Module.php line 2282
at ModuleCore->fetch('module:ct_footercmsblock/views/templates/hook/ct_footercmsblock.tpl', 'ct_footercmsblock|1|8')
in ct_footercmsblock.php line 246
at Ct_Footercmsblock->renderWidget('displayFooter', array('smarty' => object(SmartyDevTemplate), 'cookie' => object(Cookie), 'cart' => object(Cart)))
in Hook.php line 929
at HookCore::coreRenderWidget(object(Ct_Footercmsblock), 'displayFooter', array('smarty' => object(SmartyDevTemplate), 'cookie' => object(Cookie), 'cart' => object(Cart)))
in Hook.php line 881
at HookCore::exec('displayFooter', array('smarty' => object(SmartyDevTemplate), 'cookie' => object(Cookie), 'cart' => object(Cart)), null)
in smarty.config.inc.php line 165
at smartyHook(array('h' => 'displayFooter'), object(SmartyDevTemplate))
in SmartyLazyRegister.php line 83
at SmartyLazyRegister->__call('smartyHook', array(array('h' => 'displayFooter'), object(SmartyDevTemplate)))
in e26887a2c7b6c4caf99b46d55d065cdf2206967e_2.file.footer.tpl.php line 103
at Block_17850617865c43781bd620a9_28693065->callBlock(object(SmartyDevTemplate))
in smarty_internal_runtime_inheritance.php line 247
at Smarty_Internal_Runtime_Inheritance->callBlock(object(Block_17850617865c43781bd620a9_28693065), object(SmartyDevTemplate))
in smarty_internal_runtime_inheritance.php line 183
at Smarty_Internal_Runtime_Inheritance->process(object(SmartyDevTemplate), object(Block_17850617865c43781bd620a9_28693065))
in smarty_internal_runtime_inheritance.php line 157
at Smarty_Internal_Runtime_Inheritance->instanceBlock(object(SmartyDevTemplate), 'Block_17850617865c43781bd620a9_28693065', 'hook_footer')
in e26887a2c7b6c4caf99b46d55d065cdf2206967e_2.file.footer.tpl.php line 42
at content_5c43781bd65675_62691879(object(SmartyDevTemplate))
in smarty_template_resource_base.php line 123
at Smarty_Template_Resource_Base->getRenderedTemplateCode(object(SmartyDevTemplate))
in smarty_template_compiled.php line 114
at Smarty_Template_Compiled->render(object(SmartyDevTemplate))
in smarty_internal_template.php line 206
at Smarty_Internal_Template->render()
in smarty_internal_template.php line 365
at Smarty_Internal_Template->_subTemplateRender('file:_partials/footer.tpl', null, 'layouts/layout-full-width.tpl', 0, 31536000, array(), 0, false)
in 823b5f400e3de871d30ad41b40b6634d34e9d0e2_2.file.layout-both-columns.tpl.php line 352
at Block_9895664815c43781bb8a749_32992898->callBlock(object(SmartyDevTemplate))
in smarty_internal_runtime_inheritance.php line 247
at Smarty_Internal_Runtime_Inheritance->callBlock(object(Block_9895664815c43781bb8a749_32992898), object(SmartyDevTemplate))
in smarty_internal_runtime_inheritance.php line 183
at Smarty_Internal_Runtime_Inheritance->process(object(SmartyDevTemplate), object(Block_9895664815c43781bb8a749_32992898))
in smarty_internal_runtime_inheritance.php line 157
at Smarty_Internal_Runtime_Inheritance->instanceBlock(object(SmartyDevTemplate), 'Block_9895664815c43781bb8a749_32992898', 'footer')
in 823b5f400e3de871d30ad41b40b6634d34e9d0e2_2.file.layout-both-columns.tpl.php line 121
at content_5c43781bb8ca67_85595436(object(SmartyDevTemplate))
in smarty_template_resource_base.php line 123
at Smarty_Template_Resource_Base->getRenderedTemplateCode(object(SmartyDevTemplate))
in smarty_template_compiled.php line 114
at Smarty_Template_Compiled->render(object(SmartyDevTemplate))
in smarty_internal_template.php line 206
at Smarty_Internal_Template->render()
in smarty_internal_template.php line 365
at Smarty_Internal_Template->_subTemplateRender('layouts/layout-both-columns.tpl', null, 'layouts/layout-full-width.tpl', 0, 31536000, array(), 2, false, null, null)
in smarty_internal_runtime_inheritance.php line 127
at Smarty_Internal_Runtime_Inheritance->endChild(object(SmartyDevTemplate), 'layouts/layout-both-columns.tpl')
in d4793cf11c60625147fa929376fce1eb8edbb38a_2.file.layout-full-width.tpl.php line 42
at content_5c43781bb76a57_55846082(object(SmartyDevTemplate))
in smarty_template_resource_base.php line 123
at Smarty_Template_Resource_Base->getRenderedTemplateCode(object(SmartyDevTemplate))
in smarty_template_compiled.php line 114
at Smarty_Template_Compiled->render(object(SmartyDevTemplate))
in smarty_internal_template.php line 206
at Smarty_Internal_Template->render()
in smarty_internal_template.php line 365
at Smarty_Internal_Template->_subTemplateRender('layouts/layout-full-width.tpl', null, 'layouts/layout-full-width.tpl', 0, 31536000, array(), 2, false, null, null)
in smarty_internal_runtime_inheritance.php line 127
at Smarty_Internal_Runtime_Inheritance->endChild(object(SmartyDevTemplate), 'layouts/layout-full-width.tpl')
in 3465769bae7e0806952acfb3b5c786335d895d38_2.file.page.tpl.php line 33
at content_5c43781bb6a0b8_27100755(object(SmartyDevTemplate))
in smarty_template_resource_base.php line 123
at Smarty_Template_Resource_Base->getRenderedTemplateCode(object(SmartyDevTemplate))
in smarty_template_compiled.php line 114
at Smarty_Template_Compiled->render(object(SmartyDevTemplate))
in smarty_internal_template.php line 206
at Smarty_Internal_Template->render()
in smarty_internal_template.php line 365
at Smarty_Internal_Template->_subTemplateRender('page.tpl', null, 'layouts/layout-full-width.tpl', 0, 31536000, array(), 2, false, null, null)
in smarty_internal_runtime_inheritance.php line 127
at Smarty_Internal_Runtime_Inheritance->endChild(object(SmartyDevTemplate), 'page.tpl')
in 69a66c254ceec594641e7d37f3c48bd35e8baef8_2.file.index.tpl.php line 32
at content_5c43781bb5e247_19886351(object(SmartyDevTemplate))
in smarty_template_resource_base.php line 123
at Smarty_Template_Resource_Base->getRenderedTemplateCode(object(SmartyDevTemplate))
in smarty_template_compiled.php line 114
at Smarty_Template_Compiled->render(object(SmartyDevTemplate))
in smarty_internal_template.php line 206
at Smarty_Internal_Template->render(false, 0)
in smarty_internal_templatebase.php line 232
at Smarty_Internal_TemplateBase->_execute(object(SmartyDevTemplate), null, 'layouts/layout-full-width.tpl', null, 0)
in smarty_internal_templatebase.php line 116
at Smarty_Internal_TemplateBase->fetch('index.tpl', null, 'layouts/layout-full-width.tpl', null, false, true, false)
in SmartyDev.php line 41
at SmartyDev->fetch('index.tpl', null, 'layouts/layout-full-width.tpl')
in FrontController.php line 679
at FrontControllerCore->smartyOutputContent('index.tpl')
in FrontController.php line 663
at FrontControllerCore->display()
in Controller.php line 275
at ControllerCore->run()
in Dispatcher.php line 428
at DispatcherCore->dispatch()
in index.php line 28

 

Edited by yohm (see edit history)
Link to comment
Share on other sites

1 hour ago, yohm said:

Ce que j'aime beaucoup dans cette histoire, c'est qu'en temps normal, je suis consommateur de produit libre et là, je me suis dit "tiens, je vais utiliser un produit payant pour une fois, je me casserais pas les pieds à chercher des bugs, car c'est un produit professionnel".

Pas si simple ^^ comme l'a souligné @Mediacom87 vous êtes sur un marché international, donc la technique du "je vends un truc de mauvaise qualité pour pas cher" fonctionne. C'est comme un tshirt à 2 euros ou un tshirt à 40 euros: à moins que ce soit une marque qui joue à fond l'effet marketing, en théorie le tshirt à 2 euros est foutu après 2 lessives alors que le tshirt à 40 euros vous fait 10 ans.

Par curiosité, mais si ça vous embête ne répondez pas, vous l'avez acheté où le thème ?

Link to comment
Share on other sites

Dans la boutique prestashop. Il m'a couté 100euros.

J'aime le rendu qu'il donne, mais j'ai du faire pas mal de corrections (dont certaines critiques) pour avoir un rendu viable (tiens, par exemple dans le fichier ShopThemGlobal il y a pleins de liens qui ne sont pas valides mais ça ne gene pas le fonctionnement, j'ai laissé)

J'essaie de comprendre ce que j'ai fais comme bétise pour que le module CT_cmsBlock me casse les pieds

Link to comment
Share on other sites

Et voici la suite de mes aventures (je ne pouvais plus écrire ayant atteint la limite journalière).

Je vous aurais écris il y a deux heures, j'aurais dis que tout marchait et que j'étais content, mais ce n'est plus le cas (mais j'ai eut cette joie).

Bref, suite à mon dernier message, j'ai enlevé tous les accents du fichier ShopThemeGlobal de mon thème (je les rajouterai plus tard, quand ça sera moins tendu) et j'ai corrigé toutes les adresses pour les balises "file action=..." et pour les "File :" qui se trouvaient dedans, et ce, sur tous les fichiers XLF du répertoire "translations" de mon thème.

Et là, ça a marché. Avec une erreur, sur un module (de mon thème) CT_imageHover que j'ai désactivé.

Une fois débarassé de ce module, tout est revenu.

(en fait, je pense que le thème avait été installé avec tout un paquet de pages précompilées que j'ai du effacer en effaçant manuellement le cache et qu'il était incapable de recompiler, je pense aussi que mon hébergeur utilise une sorte de cache car j'ai l'impression qu'un fichier supprimé sur le ftp continu d'être accessible, ce qui ne m'arrange pas du tout)

Donc ce matin, je configure mon module de paiement, fait des tests positifs, bien que je doivent passer à php 7.0 car il utilise des des fonctions de cryptage obsolètes en php 7.2.

Puis, alors que j'allais vous communiquer cette victoire, tout le site me lâche. Ca a commencé dans le back office alors que je réglais des détails sur le module Mondial Relay, puis je ne pouvais accéder à plus rien du tout... rien du tout, que des pages qui ne chargent pas, sans erreurs et quand on arrête, juste la page d'accueil à moitié chargée (il manque des modules du thèmes... évidemment, mais pas d'accès au back office pour essayer sans)

Bon, j'ai tout effacé, repris la sauvegarde de la nuit, repassé en php 7.2 et je me retrouve avec l'erreur marquée ci dessus, pour ct_footercmsblock.php, sauf que je n'ai pas accès au back offfice pour désactiver le module CT_imageHover qui causait cette erreur.

 

J'en arrive à mes questions:

- Est ce qu'il y aurait un répertoire de cache pour les thèmes (ailleurs qu'en /var/cache ) ?

- Comment désactiver des modules quand on ne peut pas accèder au back office ?

- Pourquoi l'accès au back office est-il aussi fragile quand il y a un problème sur le front ? Alors que c'est là qu'on en aurait bien besoin et qu'il dit encore moins de choses que le front.

- Est ce que utiliser php 7.0 peut poser un problème à Prestashop 1.7.4.3 ? Ou est ce qu'il serait bien que je reste en php

En tout cas, merci beaucoup pour vos retours, sans cela, je crois que j'aurais réduit mon ordinateur en petites miettes et sombré dans la folie noire.

Link to comment
Share on other sites

il y a 14 minutes, yohm a dit :

- Comment désactiver des modules quand on ne peut pas accèder au back office ?

il suffit de changer le nom du répertoire du module ou d'effacer son répertoire.

il y a 14 minutes, yohm a dit :

- Est ce que utiliser php 7.0 peut poser un problème à Prestashop 1.7.4.3 ? Ou est ce qu'il serait bien que je reste en php

normalement pas de soucis

  • Like 1
Link to comment
Share on other sites

Bon, je ne sais pas trop qui de mon hébergeur ou de Prestashop met en cache les fichiers que je modifie, mais j'ai beau modifier ou supprimer des fichiers, le changement ne se répercute par toujours (alors que je vide à chaque fois le répertoire /var/cache)

Link to comment
Share on other sites

Et voilà, 30 minutes après avoir modifié le module et vidé le cache de Prestashop, le site commence à remarcher. J'en suis au même point que ce midi:

- Un site qui ne charge pas (surement à cause des modules de mon thème) et qui ne donne aucune info sur les erreurs rencontrées

- Pas d'accès au back office.

J'ai désactivé tous les modules ct_* mais je dois attendre que mon site le prenne en compte...

Link to comment
Share on other sites

Bon, en fait, il semblerait que le site marche avec tout le monde sauf moi. L'explication à mon incapacité d'accéder au back-office serait donc que je sois bloqué (ou plutôt avec une bande passante très réduite) par mon hébergeur. J'avais fais pas mal de requêtes pour envoyer des fichiers sur le FTP,  c'est peut être lié, à moins que ce soit les rechargements de la page d'accueil qui ont été perçus comme une attaque ou que j'ai atteint la limite offerte par mon offre... J'en sais trop rien...

(j'ai bien vidé le cache de mon navigateur et effacé tous les cookies)

En tout cas, le site refonctionne (sauf pour moi), je règle donc ça avec mon hébergeur maintenant.

Merci à vous.

PS: Au final, je n'ai désactivé que le module CT_imageHover et je suis en php 7.0

Edited by yohm (see edit history)
Link to comment
Share on other sites

Je vous recommande d'investiguer ce qui s'est passé avec votre hébergeur ;) car ça vous vous impacter / vous rendre la tâche pénible lors des futures évolutions de votre boutique. Il faut que vous sachiez ce qui se passe sur votre propre boutique.

Link to comment
Share on other sites

Quelle histoire! Merci du partage jusqu'au final !

Nous, lecteurs, sommes tous, ou pour beaucoup, en train de penser "pourvu qu'il ne m'arrive pas la même chose!". Bonjour le temps passé dessus et perdu, le stress, et bonjour les connaissances techniques requises! Pendant tout ce temps, on ne fait pas son métier de cybercommerçant, on perd son temps à tenter de résoudre de telles étranges et numériques choses. 😕

Heureusement, avec ce principe des logiciels libres, on a la main sur à peu près tout, mais quand même!

Touchons du cyberbois, et souhaitons-nous tous une belle année Presta sans bugs majeurs, une bonne cybersanté pour nos Prestashop, quoi ! :)

Antoine

  • Like 1
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...