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
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 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
- Gestion des images
- CCK (Content)
- FileField
- ImageAPI (ImageAPI, ImageAPI GD2)
- ImageCache
- ImageField
- Thickbox
- Modules conseillés mais non obligatoires
- Google Analytics
- Views
Le module Token
Le module CCK
Les modules Google Analytics et Views
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
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.
- Choisir un thème avec deux colonnes uniquement pour le backend ou l’administration pour faciliter la vue et le traitement des commandes.
- Activer les URLs lissés (Clean URLs). C’est nécessaire dans la gestion des images.
- Compléter l’information concernant le site
- 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)
Désactivation de la validation de l’inscription par mail
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.
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
Ubercart payment
Ubercart extras
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?
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
- La projet Ubercart sur Drupal
http://drupal.org/project/ubercart - Les pré-requis de la plate-forme pour héberger votre Drupal
http://drupal.org/requirements - Les pré-requis de la plate-forme pour héberger votre Drupal
http://drupal.org/requirements - La documentation de l’API
Ubercart
http://www.ubercart.org/docs/api - Ce qu’est Ubercart (What is Ubercart?)
http://www.ubercart.org/what_is_ubercart
Les liens vers les modules
- 1. Token 6.x-1.11
http://drupal.org/project/token - 2. CCK 6.x-2.1 (Content)
http://drupal.org/project/cck - 3. ImageAPI 6.x-1.0 (ImageAPI et ImageAPI GD2)
http://drupal.org/project/imageapi - 4. Image Cache 6.x-2.0-beta2
http://drupal.org/project/imagecache - 5. ImageField 6.x-3.0-alpha2
http://drupal.org/project/imagefield - 6. Thickbox 6.x-1.1
http://drupal.org/project/thickbox