Gilles Boussin

Administrateur PEEL
  • Compteur de contenus

    16 264
  • Inscrit(e) le

  • Dernière visite


Messages posté(e)s par Gilles Boussin


  1. Bonjour,

    Le serveur MySQL est l'adresse IP, ou le nom de la machine sur le réseau. La plupart du temps on utilise une IP, ou xxx.undomainex.xx

    - Si vous avez MySQL sur la même machine que PHP, vous pouvez utiliser 127.0.0.1 ou localhost.

    - Si vous utilisez un hébergeur, c'est l'hébergeur qui vous donne l'information du nom de serveur hébergeant votre base de données MySQL, et comme c'est une information communément utilisée, elle est forcément disponible quelque part dans l'interface de votre hébergement ou dans l'aide.

    Gilles


  2. Bonjour,

    Votre hébergeur n'a aucun intérêt à imposer une configuration qui rompt la compatibilité avec la majorité des applications. Ce seront donc logique qu'il corrige sa configuration.
    Il est historiquement usuel que des applications utilisent des dates à 0000-00-00 et non forcément NULL.
    Néanmoins si vous voulez, cf. le lien que je vous donnais hier, vous pouvez mettre à chaque connexion MySQL dans lib/fonctions/database.php en fin de fonction "select_db" après les lignes contenant "SET NAMES" et avant la ligne return :

    query("SET SESSION sql_mode = '' ", false, $database_object);

    ou toute autre valeur que vous conseillerait votre hébergeur.


  3. Bonsoir,

    Suite à la lecture des messages d'erreur SQL dans votre image : votre hébergeur a changé de configuration MySQL et c'est ce qui vous pose problème. Le mode strict est toujours désactivé de manière standard sur les hébergements.
    Je vous invite à consulter https://stackoverflow.com/questions/36374335/error-in-mysql-when-setting-default-value-for-date-or-datetime


  4. Bonjour,

    Il y a deux aspects à votre question :

    - le côté contractuel avec Ogone : c'est une question à leur poser. A priori, un abonnement est valable pour un site.

    - le côté technique : effectivement dans le back office d'Ogone, vous devez préciser l'URL de retour. Avec une seule URL, il est toujours envisageable de faire un proxy pour aller interroger N sites, néanmoins c'est potentiellement contraire au côté contractuel.

    Avec directlink, on peut notamment rattacher un Alias à un utilisateur, de sorte qu'Ogone garde en mémoire les informations CB pour les réutiliser plus tard pour une demande de paiement sans demander à l'utilisateur sa CB. Ca nécessite de bien gérer les fins de validité des CB, bien informer le client sur le processus et stockage de ses informations, etc. Tout ceci n'est pas présent dans le module Ogone que vous avez. Nous pouvons vous accompagner pour faire des développements sur ce sujet, nous l'avons déjà fait sur un site ecommerce pour leurs abonnements à des envois récurrents de produits d'alimentation, mais c'est un gros sujet qui nécessite de bien poser l'ensemble du processus.

    Gilles


  5. Bonjour,

    * L'affichage de ces erreurs ne se fait que pour votre IP. En fin d'installation est exécuté :

        set_configuration_variable(array('technical_code' => 'display_errors_for_ips', 'string' => $_SERVER['REMOTE_ADDR'], 'type' => 'string', 'site_id' => 1), true);

    qui définit l'affichage des erreurs pour votre IP. C'est donc sans conséquence pour d'autres utilisateurs.

    * Dans votre version de PHP count(null) émet donc un warning, ce qui n'a pas d'autre conséquence que la gêne de l'affichage pour vous.

    Vous utilisez donc PHP 7.2, conformément à ce qui est expliqué ici : http://php.net/manual/fr/migration72.incompatible.php

    De nombreux logiciels sont impactés par ce changement dans PHP, votre version de PEEL n'est pas compatible avec PHP 7.2.

    Nous travaillons sur la compatibilité avec PHP 7.2 dans la prochaine version de PEEL qui sortira.
    Nous vous invitons à utiliser une version antérieure de PHP.

    * Si vous souhaitez néanmoins utiliser PHP 7.2, vous pouvez désactiver tout simplement l'affichage des erreurs pour votre IP, en allant dans l'administration dans la configuration de votre site et en retirant votre IP de la case d'affichage des erreurs. A défaut, vous pouvez aussi éditer la ligne correspondant à "display_errors_for_ips" dans peel_configuration avec PHPMyAdmin.

    Gilles


  6. Bonjour,

    PEEL est compatible avec PHP 7 depuis la version 8.0.5.

    Si vous voulez migrer vers la version 9, il faut que vous installiez les modules en version 9. Nous ne faisons pas de support sur des versions divergentes entre modules et le CMS.
    Vous pouvez nous contacter pour obtenir des versions mises à jour de vos modules à un tarif préférentiel.

    Bonne migration.


  7. Bonjour,

    Ce type de message ne vient pas de PEEL, c'est lié à votre serveur web.
    Il faut donc que vous voyez avec votre hébergeur.

    Concernant le processus de mise en place : il faut d'abord s'occuper du SSL sur le serveur, pour pouvoir accéder au site en http ou en https. Et ensuite vous pouvez changer la configuration de PEEL en mettant l'url du site en https dans la page de configuration du site dans l'administration. Et si vous avez mis en dur des URLs dans vos contenus, elles sont à changer pour être mises en https. Ou mieux : utiliser le tag [WWWROOT] dans le contenu pour avoir les URL construites automatiquement.

    Gilles


  8. Bonjour,

    La version 6.1.1 est très ancienne et depuis la gestion du panier a pas mal évolué. Soit vous pouvez mettre à jour votre version, ce qui a par ailleurs de multiples bénéfices mais prend forcément du temps étant données les personnalisations que vous apportez à votre site. Soit vous pouvez déboguer ce qui se passe sur votre panier ; vous pouvez contacter notre service commercial si vous souhaitez que nous nous en occupions, ce sujet peut être complexe si il ne touche qu'un navigateur.

    Gilles


  9. Bonsoir,

    La génération du formulaire de la page que vous donnez en exemple fonctionne bien, mais c'est après où Mercanet vous donne une erreur en vous demandant de les appeler.

    Si votre module Mercanet est bien conforme à la version de votre site : la première étape serait donc de les appeler

    Si votre module Mercanet est un ancien module pas forcément adapté à votre version, alors il faut a priori le mettre à jour.

    Gilles


  10. Bonjour,

    Nous avons utilisé cloudflare pour faire des tests sur plusieurs sites, et en production pendant quelques mois sur deux sites et sur un autre pendant quelques jours.

    Au-delà du rôle de CDN, ils font aussi des modifications sur le HTML des pages, le javascript et les images, pour accélérer l'ensemble. Comme certains opérateurs le font dans le monde pour les accès au web par les mobiles, pour diminuer la bande passante nécessaire. Néanmoins ce genre de modification pose parfois des problèmes de compatibilité, car même si ça marche bien en général, ce n'est pas à 100%, et quand ça dysfonctionne le contournement devient très compliqué car on ne maîtrise pas les règles des modifications. Nous avions donc désactivé un maximum de choses.

    Nous avions eu des problèmes de respect des entêtes HTTP de durée de vie des caches de certains fichiers, que leur serveur ne venait pas récupérer quand il le devait. Par ailleurs, leur DNS posait parfois des problèmes de fiabilité, et les données via le CDN n'étaient plus accessibles à cause de leur DNS qui parfois ne répondait pas.

    La mitigation d'attaques DOS était intéressante et permet de rajouter une couche de protection au-dessus de son hébergeur si celui-ci ne les gère pas correctement. Néanmoins parfois certains utilisateurs se faisaient blacklistés automatiquement ce qui a posé de nombreux problèmes.

    Enfin, cloudflare posait problème avec Paypal à cause de transfert des requêtes HTTP qui se trouvaient altérées et l'IPN ne fonctionnait plus correctement par intermittence.

    Au final, si votre hébergeur est très lent, et que votre site est statique avec beaucoup de trafic, et vos utilisateurs sont à l'international, un service comme cloudflare est excellent.

    Mais si votre hébergement est rapide, que votre site est dynamique avec peu de trafic, et que vos utilisateurs sont principalement proches de votre lieu d'hébergement, évitez de perdre du temps avec un CDN.

    Dans tous les cas, ce sujet est très intéressant mais consommateur de temps.

     


  11. Bonjour,

    Sur une version récente, il faut que le n° de TVA intracommunautaire commence par deux lettres et ait ensuite 7 à 14 caractères. "MELLE" ou "MARIE15" ne sont donc pas acceptés. Après des difficultés auprès de divers clients, nous n'avons pas de règles plus stricte car pour bon nombre de sites cette information est ensuite vérifiée manuellement par un conseiller clientèle et la priorité est donnée à ne pas bloquer l'utilisateur qui ne rentrerait pas correctement l'information. En effet, tant qu'il n'y a pas de validation précise du numéro dans les bases de données européennes, une format n'apporte aucune sécurité de validité, et en outre il est aisé de mettre un numéro d'une autre société.

    Si vous souhaitez que l'existence réelle du n° de TVA intracommunautaire soit vérifié, nous proposons à 49 EUR pour des version PEEL 7.2 un module d'interconnexion avec un service tiers de vérification de numéros de TVA intracommunautaires. Ce service est indépendant de nous et est payant par abonnement à partir de 100 vérifications par jour. Si cela vous intéresse, vous pouvez contacter notre service commercial pour obtenir ce module d'interconnexion à votre convenance.

    Gilles


  12. Bonjour,

    Les fichiers lang/database* sont utilisés lors de l'installation d'une langue pour remplir la base de données.

    Si vous souhaitez modifier le contenu de votre base de données pour modifier le texte de vos modèles d'emails, vous pouvez le faire soit avec l'administration de votre site en modifiant les modèles d'emails avec la page dédiée de l'administration, soit en allant modifier directement la base de données avec un outil tel que phpmyadmin dans le cas où vous êtes développeur.

    Gilles


  13. Bonjour,

    Effectivement il y a une modification à faire dans le cache de la génération de la barre de recherche :

    Remplacez dans lib/fonctions/display.php la première ligne de le fonction "affiche_menu_recherche" par :

            $cache_id = 'menu_recherche_' . $display_mode . '_' . vn($_GET["categorie"]) . '_' . vb($_GET['cat_statut_detail']) . '_' . vn($_GET["location"]) . '_' . (defined('IN_HOME')?'home':'other') . '_' . $_SESSION['session_langue'] . '_' . $GLOBALS['site_id'];

     


  14. Bonjour,

    Tout d'abord, pour information le fonctionnement des menus est différent suivant qu'on a détecté si on est en mode tactile ou pas : la variable $avoid_links_when_hover permet de savoir comment gérer la notion de clic et de hover. Il est indiqué en début de fonction get_menu() : "// Android et Windows mobile déclenchent le hover en même temps que le clic sur un lien, contrairement à iOS sur iPad et iPhone". Ensuite dans cette fonction : "// Si le lien n'est pas généré dans le menu pour une catégorie mère, il faut ajouter ce lien dans le sous menu pour que la catégorie mère reste accessible"

    Tout ça est compliqué, a fait l'objet de multiples tests et n'est pas parfait, mais faites très attention aux modifications et à leur impact sur les différentes plateformes. Je vous laisse modifier ce que vous souhaitez, par exemple la définition de $avoid_links_when_hover et des tests qui l'utilisent, mais nous ne ferons pas de support sur ce sujet sur le forum. Tenez-nous au courant de vos conclusions.

    Gilles

     


  15. Bonjour,

    Vérifiez que le répertoire lire/ a bien été transféré en FTP sur votre hébergement. Vérifiez les logs d'erreur de votre site pour savoir ce qu'ils disent au sujet de cette erreur, peut-être que la requête arrive ailleurs que là où vous pensez. Et essayez en rajoutant à la main index.php après lire/ pour voir ce que ça donne, il y a peut-être un problème de configuration de fichier index par défaut sur votre hébergement.


  16. Bonjour,

    Il faut que vous remplaciez ces 2 lignes par :

    } elseif(class_exists($class_name) && method_exists($class_name, $method_name)) {
                // La syntaxe $class_name::$method_name($params) n'est pas valide pour PHP<5.3 => on utilise call_user_func_array
                $result = call_user_func_array(array($class_name, $method_name), array($params));

    Par ailleurs, il serait temps que vous changiez de version PHP sur votre hébergement car votre version PHP est apparemment périmée depuis plusieurs années, cf. http://php.net/eol.php


  17. Bonjour,

    * A propos d'OVH : leur réponse est hors sujet, la personne qui vous l'a écrite ne doit pas connaître l'existence même de ce cookie qu'ils déposent systématiquement sur votre hébergement mutualisé

    * Comme l'indique le message d'Ogone, vous devez vous connecter sur votre compte Ogone pour savoir ce qui ne va pas.

    Gilles


  18. Bonjour,

    Il semble que vous ayiez trouvé ce qui ne va pas sur votre site : votre hébergement définit un $_REQUEST['cluster'] qui n'a pas lieu d'être, et donc en début de votre script ipn.php vous pouvez faire :

    unset($_REQUEST['cluster']);

    et vous pouvez discuter avec votre hébergeur sur la raison pour laquelle le serveur sur lequel vous êtes transmet cette variable cluster, probablement pour des besoins internes à eux.

    Gilles

Twitter Advisto ecommerce

Facebook PEEL Shopping