Drupal, Ubercart – Installer une solution e-commerce sous Drupal 6



Cette article s’intéresse à l’installation d’un module e-commerce complet Ubercart pour gérer une boutique en ligne sous Drupal 6. On tentera dans un avenir proche, de se livre à une comparaison avec les couples les plus connus de solutions e-commerce adossé à un CMS, pour ne pas les citer : Joomla/Virtumart ou WordPress/GoldenCart.

Notre installation va se faire en local sur la version gratuite de MAMP, avec Drupal version 6.15 et le module Ubercart version 2.2

Pour installer rapidement et simplement un site en local qui fonctionne avec le couple php-mysql, reportez-vous aux articles de ce blog :

Création de la BDD pour accueillir Drupal 6

On passe rapide sur l’installation de Drupal 6 qui a été détaillé dans un article précèdent.

Les information indispensables pour créer la BDD
On crée une base et un utilisateur simultanément bien sûr, en production, le mot de passe peut et doit être légèrement plus complexe. La commande SQL pour se connecter au client MySQL de MAMP. Vous vous connecté(e) comme utilisateur root, le mot de passe est root.

/Applications/MAMP/Library/bin/mysql -u root -p
	# Création simultanée de la base drupal6_install et l'utilisateur drupal6_install
CREATE USER 'dr6_install'@'localhost' IDENTIFIED BY 'dr6_install';GRANT USAGE ON *.* TO 'dr6_install'@'localhost' IDENTIFIED BY 'dr6_install'WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0; CREATE DATABASE IF NOT EXISTS dr6_install;GRANT ALL PRIVILEGES ON dr6_install.* TO 'dr6_install'@'localhost';

Au terme de ces commandes dans MySQL, nous aurons donc de quoi compléter les informations demandées lors de l’installation de Drupal 6.x. A savoir les informations suivantes :

Database Name= dr6_install
Database User name = dr6_install
Database Password = dr6_install
Database Host = localhost

Pour mieux comprendre la gestion d’une BDD via la console MySQL ou à l’aide de PhpMyadmin, vous pouvez reportez à cette article :

Problèmes rencontrés sous MAMP

La procédure d’installation de Drupal 6 semble peiner un peu au moment de la configuration de la BDD sous MAMP. Pour contourner cette difficulté, le mieux est d’éditer manuellement le fichier de configuration afin de paramétrer correctement l’accès à la BDD. Le fichier de configuration se trouve dans [le_repertoire_qui_contient_Drupal_6]/sites/default/settings.php

Les lignes à mettre à jour manuellement dans setting.php avec les données de connexion à la BDD MySQL.

* Database URL format:
 *   $db_url = 'mysql://username:password@localhost/databasename';
 *   $db_url = 'mysqli://username:password@localhost/databasename';
 *   $db_url = 'pgsql://username:password@localhost/databasename';
 */
$db_url = 'mysql://dr6_install:dr6_install@localhost/dr6_install';
$db_prefix = ''; /* Ne nous mettons pas de préfixe sur les tables */

Un conseil pour retrouver l’outil d’administration.
Toujours se souvenir que si votre installation plante, vous pouvez accéder aux outils d’administration via ces deux URLs.

  • http://localhost/admin
  • http://localhost/?q=admin

Installation de Drupal

On est parti sur une version drupal 6.13 drupal-6.13.tar.gz sur laquelle on a fait une mise à jour pour passer à la version 6.15 issu de drupal-6.15.tar.gz. Apres cette phase d’installation, vous serez libre devenir le Übermensch de Ubercart. Dans une traduction approximative en français vulgaire, cela donne un cador du Superpanier

Il est conseillé de partir sur Drupal 6.7 ou plus. Cela tombe bien, on est en local sur le version 6.15
Drupal, Ubercart - Installer une solution e-commerce sous Drupal 6

Une fois la mise à jour faite pour l’installation de la version 6.15. Vous pouvez vérifier que votre plate-forme est à jour
Drupal, Ubercart - Installer une solution e-commerce sous Drupal 6

Drupal et dépendances

Il y a une palanquée de modules complémentaire à installer avant même d’envisager de se servir de Ubercart notamment des modules liés à la gestion des images. Eh, oui vous êtes censé(e) obtenir un catalogue avec au moins des vignettes de vos produits, c’est un minimum pour attirer le chaland sur Internet.

Ubercart s’appuie dans son fonctionnement sur différents modules existant pour Drupal. Seul un certain nombre de ces modules sont à activer. Attention, certains modules sont inclus au sein de modules complets. Dans la liste ci-dessous, entre parenthèses, les modules à activer au sein du module complet.

    Module obligatoire

  • Token

Le module Token
Drupal, Ubercart - Installer une solution e-commerce sous Drupal 6

Le module CCK
Drupal, Ubercart - Installer une solution e-commerce sous Drupal 6

Les modules Google Analytics et Views
Drupal, Ubercart - Installer une solution e-commerce sous Drupal 6

Il reste tous les modules d’images dont les mises à jour vous sont constamment signalés. Comme c’est la cas ici pour le module ImageCache
Drupal, Ubercart - Installer une solution e-commerce sous Drupal 6

Les conseils donnés par Ubercart

Il s’agit des « tips » c’est à dire des petits conseils donnés par l’équipe de développement de Ubercart. Il sont au nombre de 4.

  1. Choisir un thème avec deux colonnes uniquement pour le backend ou l’administration pour faciliter la vue et le traitement des commandes.
  2. Activer les URLs lissés (Clean URLs). C’est nécessaire dans la gestion des images.
  3. Compléter l’information concernant le site
  4. Désactiver la procédure de validation de l’inscription par email avant d’accéder au site. Il est vrai que si l’inscription est fastidieuse, cela n’encouragera pas vos potentiels clients à s’inscrire. Cette désactivation se fait via Administer > User management > User settings

Activation des URLs lissés (Clean URLs)

Drupal, Ubercart - Installer une solution e-commerce sous Drupal 6

Désactivation de la validation de l’inscription par mail
Drupal, Ubercart - Installer une solution e-commerce sous Drupal 6

Source : http://www.ubercart.org/docs/user/8075/installing_ubercart

Installation de Ubercart 2.2 sur Drupal 6.15

Il faut si ce n’est pas déjà fait le module path qui est nécessaire à l’élaboration du catalogue Ubercart.

Drupal, Ubercart - Installer une solution e-commerce sous Drupal 6

L’activation de Ubercart se fait comme un module. Il faut placer le répertoire ubercart dans /site/modules/ ensuite activer l’ensemble des modules via l’outil d’administration.

Ubercart core
Drupal, Ubercart - Installer une solution e-commerce sous Drupal 6

Ubercart payment
Drupal, Ubercart - Installer une solution e-commerce sous Drupal 6

Ubercart extras
Drupal, Ubercart - Installer une solution e-commerce sous Drupal 6

Quelques paramètres supplémentaires à régler

Augmenter la valeur memory_limit

Drupal vous conseille instamment de faire passer la valeur du paramètre memory_limit dans le fichier php.ini de votre serveur sinon lorsque Ubercart va tenter de traiter des grandes images de vos produits à l’aide de GD Library, PHP sur le serveur n’aura pas les ressources nécessaires pour effectuer le traitement.

Pour en savoir plus sur cette question, vous pouvez vous reporter à la FAQ du site de boutell, les créateurs de la lib GD
Source : http://www.boutell.com/gd/faq.html – Why does gd cause my PHP script to run out of memory?

Drupal, Ubercart - Installer une solution e-commerce sous Drupal 6

Pour information, cela suppose que vous avez la possibilité d’installer la librairie GD sur votre espace d’hébergement, que vous avez accès au fichier de configuration de PHP (php.ini) et que vous êtes en mesure de redémarrez votre serveur ! Cela fait beaucoup de conditions qui sont souvent remplis par un hébergement dédié mais rarement un hébergement mutualisé.

Paramétrer Google Analytics
Cette question est beaucoup simple à régler. Il vous d’entrer le script fourni par GA pour le marquage de vos pages.

Les avantages de Ubercart

Voici en gros tous les avantages attendues de la solution e-commerce Ubercart outre le fait qu’elle tourne sur Drupal.

* Configurable product catalog includes catalog pages and a block to display product categories.
* Flexible product creation system with product classes.
* Multiple product image support out of the box.
* Flexible product attributes system.
* Basic product stock level tracking and notification.
* Product features to add file downloads, role promotions, and more to products.
* Single page checkout.
* Automatic account generation (anonymous checkout).
* Customer and administrator checkout notifications.
* Simple order processing (with workflow-ng integration for automated order processing).
* Simple order creation and editing.
* Integrated payment system that acts as a bridge between acceptable payment methods (check, credit card, purchase order, etc.) and payment gateways (Cyber Source, Authorize.net, PayPal, etc.).
* Shipping quotes and fulfillment, including integration with UPS, FedEx, USPS.
* Sales, product, and customer reports.
* Activity logging.
* Much more… and more to come.

Source : http://drupal.org/project/ubercart

En savoir plus

Les liens vers les modules