Open Cart – Les premiers réglages

L’article précédent Installer Open Cart sur NGinx fpm expose l’installation de l’application Open Cart sur un serveur piloté par NGinx et fpm FastCGI Process Manager. Le présent article expose les premières utilisations de l’application, les différents problèmes rencontrés et des réglages à effectuer pour commencer la boutique eCommerce.

Le fort Jefferson Situé au cœur des îles de Dry Tortugas, dans l’archipel des Keys, en Floride, avec le logo Open Cart et un logo de réglages en surimpression.

Premier lancement

Une fois la boutique installée, on lance l’application à l’adresse définie dans le fichier de configuration Virtual Host sites-available, sites-enable. On se retrouve alors sur une blanche, erreur 500, en tout cas pour ma part. En activant l’impression des erreurs dans le php, le message d’erreur suivant apparaît : Fatal error: Uncaught Exception: Error: Incorrect DATE value: '0000-00-00'<br />Error No: 1525.

Cette erreur provient du réglage de sql_mode. Tout comme dans l’installation de Open Cart, c’est encore un problème de paramètre de la base de données. Ma version de MySQL est la 8.0, dont le paramètre sql_mode est très sévère sur les tables anciennes. Par exemple, il ne peut y avoir de date nulle du type 0000-00-00. J’ai exposé un réglage de ce paramètre dans l’article MySQL 8.0 sql_mode.

En fait, cela provient du choix pour communiquer avec la base de données. J’ai choisi au départ mysqli et je me rends compte qu’il faut commencer à faire des changements dans le code en dur, pas bon. Donc, j’efface les tables de la base et je fais une installation en ligne de commande avec mpdo. PDO PHP Data Objects semble une solution plus robuste que mysqli, intermédiaire entre l’antique technique mysql et PDO.

Je relance Open Cart, une jolie page d’accueil apparaît avec des produits déjà entrés.

Capture d'écran de la page d'accueil Open Cart au premier lancement
Page d’accueil au premier lancement

Première connexion à l’administration

Pour ce connecter à l’administration, on tape l’adresse de la boutique suivi de /admin. On arrive sur une page permettant d’enter les identifiants.

Page de connexion à l'administration de Open Cart
Page de connexion à l’adminstration de Open Cart

Dès la connexion, une fenêtre modale au titre Important Security Notification apparaît, notifiant que l’on doit changer le répertoire de stockage, et le placer hors du répertoire web de l’application. Un select permet de choisir entre un changement automatique ou un changement manuel. Je choisis changement manuel en espérant avoir moins de surprise.

Les répertoires qui posent problème sont :

  • /var/www/Opencart/opencart-3.0.3.7/upload/system
  • /var/www/Opencart/opencart-3.0.3.7/upload

Il est alors indiqué l’aide suivante :

  1. Move /var/www/Opencart/opencart-3.0.3.7/upload/system/storage/ to /var/www/Opencart/opencart-3.0.3.7/storage/
  2. Edit config.php change define('DIR_STORAGE', DIR_SYSTEM . 'storage/'); to define('DIR_STORAGE', '/var/www/Opencart/opencart-3.0.3.7/storage/');
  3. Edit admin/config.php and change define('DIR_STORAGE', DIR_SYSTEM . 'storage/'); to define('DIR_STORAGE', '/var/www/Opencart/opencart-3.0.3.7/storage/');

Note : J’ai également créer un dossier ssl, que j’utiliserai plus tard.

On édite le fichier /var/www/Opencart/opencart/config.php. Ce fichier s’est rempli de définition de constantes lors de l’installation. Je change DIR_STORAGE pour le chemin vers notre répertoire /var/www/Opencart/storage :

Et de même pour le fichier /var/www/Opencart/opencart/admin/config.php :

Voilà, comme cela, j’ai une meilleure compréhension de la configuration. Le dossier /var/www/Opencart/storage pourra être réutilisé pour de futures installations ou des mises à jour.

Et je relance la page d’administration.

Un petit warning pour rappeler que l’on peut effacer le dossier install, mais tout est correct. Il suffit de supprimer le dossier /var/www/Opencart/opencart/install :

Et hop, ça marche.

Page d'accueil de la page d'administration de Open Cart

Remarque : J’ai essayé de changer define('DIR_IMAGE', '/var/www/Opencart/opencart-3.0.3.7/upload/image/'); en define('DIR_IMAGE', '/var/www/Opencart/opencart/image/'); dans le fichier /var/www/Opencart/opencart/config.php mais les images ne sont plus affichées, donc je laisse comme cela.

URL optimisées pour le SEO

Une URL Uniform Resource Locator, c’est-à-dire l’adresse tapée dans le navigateur pour accéder à un produit est de la forme https://opencart.ocmiex.net/index.php?route=product/product&product_id=40. Ce n’est pas très facile à retenir, et ce n’est pas très parlant pour un moteur de recherche. Si l’on veut optimiser le SEO Search Engine Optimization et être visible et expressif pour les robots des moteurs de recherche et ainsi obtenir un bon classement, une URL du type https://opencart.ocmiex.net/iphone augmenterait la visibilité du produit sur la toile.

On ouvre les réglages System -> Settings et on sélectionne la boutique en cliquant sur le bouton Edit . On Clique sur l’onglet Server et l’on choisit Yes pour l’option Use SEO URLs.

Settings, Server, checker Yes pour l'option Use SEO URLs

On n’oublie pas de valider en cliquant sur Bouton validation en haut, à droite de la page.

Il faut aussi définir des règles de réécriture d’URLs dans la configuration NGinx de la boutique. Pour mieux comprendre ces règles, l’article Réécriture d’URLs NGinx expose le fonctionnement de ces redirections.

On ouvre le fichier /etc/nginx/sites-available/opencart et l’on repère la règle :

On la remplace par :

On redémarre le serveur NGinx, en testant au préalable, pour plus de sécurité, la configuration :

Et hop, une configuration qui fonctionne, SEO Friendly comme on dit.

Soumettre un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables.