Implémentation de fonctionnalités e-commerce dans Xaraya
Plan I Présentation du projet 1- Les cibles de ce projet 2- Les besoins de la société 3- Pourquoi ne pas vendre une solution OsCommerce ? II Le fonctionnement Xaraya 1- L’architecture globale de Xaraya 2- Qu’est-ce qu’un module ? 3- Exemple d’exécution 4- Le « hook » 5- Le fonctionnement de « dynamic data » III Développement de la solution e-commerce (illustré par onature.net) 1- Commerce 2- Products 3- Carts 4- Payment
I Présentation du projet 1- Les cibles du projet PME, PMI Découverte de l’e-commerce Exemple (onature et vente de GPL) PLAN I Présentation du projet 1- Les cibles de ce projet 2- Les besoins de la société 3- Pourquoi ne pas vendre une solution OsCommerce ? II Le fonctionnement Xaraya 1- L’architecture globale 2- Qu’est-ce qu’un module ? 3- Exemple d’exécution 4- Le « hook » 5- Le fonctionnement de « dynamic data » III Développement de la solution e-commerce 1- Commerce 2- Products 3- Carts 4- Payment
2- Les besoins de la société Fonctionnalités e-commerce sur Xaraya Des fonctionnalités basiques dans un premier temps : Catalogue produits Gestion des commandes Panier Paiement par carte bancaire et chèque Reprendre le projet ICE PLAN I Présentation du projet 1- Les cibles de ce projet 2- Les besoins de la société 3- Pourquoi ne pas vendre une solution OsCommerce ? II Le fonctionnement Xaraya 1- L’architecture globale 2- Qu’est-ce qu’un module ? 3- Exemple d’exécution 4- Le « hook » 5- Le fonctionnement de « dynamic data » III Développement de la solution e-commerce 1- Commerce 2- Products 3- Carts 4- Payment
3- Pourquoi ne pas vendre une solution OsCommerce ? Vendre les fonctionnalités e-commerce plus tard Rajouter des fonctionnalités non e-commerce On peut totalement changer le style de Xaraya PLAN I Présentation du projet 1- Les cibles de ce projet 2- Les besoins de la société 3- Pourquoi ne pas vendre une solution OsCommerce ? II Le fonctionnement Xaraya 1- L’architecture globale 2- Qu’est-ce qu’un module ? 3- Exemple d’exécution 4- Le « hook » 5- Le fonctionnement de « dynamic data » III Développement de la solution e-commerce 1- Commerce 2- Products 3- Carts 4- Payment
Exemple aspect graphique (OsCommerce)
Exemple aspect graphique (Xaraya)
II Le fonctionnement de Xaraya 1- L’architecture globale de Xaraya PLAN I Présentation du projet 1- Les cibles de ce projet 2- Les besoins de la société 3- Pourquoi ne pas vendre une solution OsCommerce ? II Le fonctionnement Xaraya 1- L’architecture globale 2- Qu’est-ce qu’un module ? 3- Exemple d’exécution 4- Le « hook » 5- Le fonctionnement de « dynamic data » III Développement de la solution e-commerce 1- Commerce 2- Products 3- Carts 4- Payment
2- Qu’est-ce qu’un module ? Le mot module désigne une fonctionnalité de Xaraya (newsletter, forum, articles) PLAN I Présentation du projet 1- Les cibles de ce projet 2- Les besoins de la société 3- Pourquoi ne pas vendre une solution OsCommerce ? II Le fonctionnement Xaraya 1- L’architecture globale 2- Qu’est-ce qu’un module ? 3- Exemple d’exécution 4- Le « hook » 5- Le fonctionnement de « dynamic data » III Développement de la solution e-commerce 1- Commerce 2- Products 3- Carts 4- Payment
Les différents types de module + Gestion de contenu (articles, forum) + Donnent un service (newsletter) + Donnent des services aux autres modules (dynamic data) PLAN I Présentation du projet 1- Les cibles de ce projet 2- Les besoins de la société 3- Pourquoi ne pas vendre une solution OsCommerce ? II Le fonctionnement Xaraya 1- L’architecture globale 2- Qu’est-ce qu’un module ? 3- Exemple d’exécution 4- Le « hook » 5- Le fonctionnement de « dynamic data » III Développement de la solution e-commerce 1- Commerce 2- Products 3- Carts 4- Payment
3- Exemple d’exécution Exemple : « module=mymodule&type=admin& func=modifyconfig » index.php COEUR Mymodule var configsystem.php xaradmin Modifyconfig.php xaradodb BD xartemplates Admin-modifyconfig.xd PLAN I Présentation du projet 1- Les cibles de ce projet 2- Les besoins de la société 3- Pourquoi ne pas vendre une solution OsCommerce II Le fonctionnement Xaraya 1- L’architecture globale 2- Qu’est-ce qu’un module ? 3- Exemple d’exécution 4- Le « hook » 5- Le fonctionnement de « dynamic data » III Développement de la solution e-commerce 1- Commerce 2- Products 3- Carts 4- Payment
4 – Le « hook » Le « hook » offre un service de callbacks aux modules. Je choisis d’activer les « hook » sur le Module m1 Je choisis un module M2 contenant les callbacks Je fais appel à une fonction de m1 Xaraya appelle les fonctions callbacks de m2 PLAN I Présentation du projet 1- Les cibles de ce projet 2- Les besoins de la société 3- Pourquoi ne pas vendre une solution OsCommerce II Le fonctionnement Xaraya 1- L’architecture globale 2- Qu’est-ce qu’un module ? 3- Exemple d’exécution 4- Le « hook » 5- Le fonctionnement de « dynamic data » III Développement de la solution e-commerce 1- Commerce 2- Products 3- Carts 4- Payment
4- Le fonctionnement de « dynamic data » Gère des structures de données Deux fonctions utiles pour le projet : Lier des structures de données créées par « dynamic data » à des structures de données existantes Import, Export de structures de données à partir d’un fichier XML PLAN I Présentation du projet 1- Les cibles de ce projet 2- Les besoins de la société 3- Pourquoi ne pas vendre une solution OsCommerce ? II Le fonctionnement Xaraya 1- L’architecture globale 2- Qu’est-ce qu’un module ? 3- Exemple d’exécution 4- Le « hook » 5- Le fonctionnement de « dynamic data » III Développement de la solution e-commerce 1- Commerce 2- Products 3- Carts 4- Payment
Lier des structures de données créées par « dynamic data » à des structures de données existantes PLAN I Présentation du projet 1- Les cibles de ce projet 2- Les besoins de la société 3- Pourquoi ne pas vendre une solution OsCommerce ? II Le fonctionnement Xaraya 1- L’architecture globale 2- Qu’est-ce qu’un module ? 3- Exemple d’exécution 4- Le « hook » 5- Le fonctionnement de « dynamic data » III Développement de la solution e-commerce 1- Commerce 2- Products 3- Carts 4- Payment
Module articles Module DD PLAN I Présentation du projet 1- Les cibles de ce proje 2- Les besoins de la société 3- Pourquoi ne pas vendre une solution OsCommerce ? II Le fonctionnement Xaraya 1- L’architecture globale 2- Qu’est-ce qu’un module ? 3- Exemple d’exécution 4- Le « hook » 5- Le fonctionnement de « dynamic data » III Développement de la solution 1- Commerce 2- Products 3- Carts 4- Payment
Import, Export de structures de données à partir d’un fichier XML PLAN I Présentation du projet 1- Les cibles de ce projet 2- Les besoins de la société 3- Pourquoi ne pas vendre une solution OsCommerce ? II Le fonctionnement Xaraya 1- L’architecture globale 2- Qu’est-ce qu’un module ? 3- Exemple d’exécution 4- Le « hook » 5- Le fonctionnement de « dynamic data » III Développement de la solution e-commerce 1- Commerce 2- Products 3- Carts 4- Payment
PLAN I Présentation du projet 1- Les cibles de ce projet 2- Les besoins de la société 3- Pourquoi ne pas vendre une solution OsCommerce ? II Le fonctionnement Xaraya 1- L’architecture globale 2- Qu’est-ce qu’un module ? 3- Exemple d’exécution 4- Le « hook » 5- Le fonctionnement de « dynamic data » III Développement de la solution e-commerce 1- Commerce 2- Products 3- Carts 4- Payment
III Développement de la solution e-commerce 1- Une solution en 4 modules Commerce Products Carts Payment PLAN I Présentation du projet 1- Les cibles de ce projet 2- Les besoins de la société 3- Pourquoi ne pas vendre une solution OsCommerce ? II Le fonctionnement Xaraya 1- L’architecture globale 2- Qu’est-ce qu’un module ? 3- Exemple d’exécution 4- Le « hook » 5- Le fonctionnement de « dynamic data » III Développement de la solution e-commerce 1- Commerce 2- Products 3- Carts 4- Payment
1- Commerce Ses fonctionnalités : Gestion de la configuration de la boutique Gestion des commandes PLAN I Présentation du projet 1- Les cibles de ce projet 2- Les besoins de la société 3- Pourquoi ne pas vendre une solution OsCommerce ? II Le fonctionnement Xaraya 1- L’architecture globale 2- Qu’est-ce qu’un module ? 3- Exemple d’exécution 4- Le « hook » 5- Le fonctionnement de « dynamic data » III Développement de la solution e-commerce 1- Commerce 2- Products 3- Carts 4- Payment
Gestion de la configuration de la boutique Implémentée grâce à la fonctionnalité qui crée des structures de données à partir de fichiers XML. PLAN I Présentation du projet 1- Les cibles de ce projet 2- Les besoins de la société 3- Pourquoi ne pas vendre une solution OsCommerce ? II Le fonctionnement Xaraya 1- L’architecture globale 2- Qu’est-ce qu’un module ? 3- Exemple d’exécution 4- Le « hook » 5- Le fonctionnement de « dynamic data » III Développement de la solution e-commerce 1- Commerce 2- Products 3- Carts 4- Payment
Gestion des commandes + Définition de statuts (en cours, validée, en préparation, expédiée, soldée, annulée) + Création de 4 tables (xar_orders_orders, xar_orders_orders_products, xar_orders_status, xar_orders_status_history) + Création d’une classe (xar_orders) + Création d’une interface simple et intuitive + Formulaire pour valider une commande + Affichage de la facture + Affichage du bon de commande PLAN I Présentation du projet 1- Les cibles de ce projet 2- Les besoins de la société 3- Pourquoi ne pas vendre une solution OsCommerce ? II Le fonctionnement Xaraya 1- L’architecture globale 2- Qu’est-ce qu’un module ? 3- Exemple d’exécution 4- Le « hook » 5- Le fonctionnement de « dynamic data » III Développement de la solution e-commerce 1- Commerce 2- Products 3- Carts 4- Payment
2- Products Sa fonctionnalité : Catalogue de produits PLAN I Présentation du projet 1- Les cibles de ce projet 2- Les besoins de la société 3- Pourquoi ne pas vendre une solution OsCommerce ? II Le fonctionnement Xaraya 1- L’architecture globale 2- Qu’est-ce qu’un module ? 3- Exemple d’exécution 4- Le « hook » 5- Le fonctionnement de « dynamic data » III Développement de la solution e-commerce 1- Commerce 2- Products 3- Carts 4- Payment
Catalogue de produits + Création d’une table (xar_products_products) + Création d’une classe (xarproducts) + Utilisation d’un module existant : articles + Utilisation du « hook » de Xaraya PLAN I Présentation du projet 1- Les cibles de ce projet 2- Les besoins de la société 3- Pourquoi ne pas vendre une solution OsCommerce ? II Le fonctionnement Xaraya 1- L’architecture globale 2- Qu’est-ce qu’un module ? 3- Exemple d’exécution 4- Le « hook » 5- Le fonctionnement de « dynamic data » III Développement de la solution e-commerce 1- Commerce 2- Products 3- Carts 4- Payment
Le système de « hook » : Admin-new de Articles Admin-new-hook de products
Admin-new-hook de products
3- Carts Sa fonctionnalité : Gestion du panier (ajout du produit au panier, modification des quantités, suppression et passage à la validation de la commande) Panier pour les personnes identifiées et non identifiées Passage à la commande PLAN I Présentation du projet 1- Les cibles de ce projet 2- Les besoins de la société 3- Pourquoi ne pas vendre une solution OsCommerce ? II Le fonctionnement Xaraya 1- L’architecture globale 2- Qu’est-ce qu’un module ? 3- Exemple d’exécution 4- Le « hook » 5- Le fonctionnement de « dynamic data » III Développement de la solution e-commerce 1- Commerce 2- Products 3- Carts 4- Payment
Gestion du panier + Mis en place d’un bouton « ajouter au panier » (utilisation du hook) + Reprise de l’interface graphique de XtCommerce PLAN I Présentation du projet 1- Les cibles de ce projet 2- Les besoins de la société 3- Pourquoi ne pas vendre une solution OsCommerce ? II Le fonctionnement Xaraya 1- L’architecture globale 2- Qu’est-ce qu’un module ? 3- Exemple d’exécution 4- Le « hook » 5- Le fonctionnement de « dynamic data » III Développement de la solution e-commerce 1- Commerce 2- Products 3- Carts 4- Payment
Panier pour les personnes identifiées et non identifiées + Pour les non identifiées : - Une classe : shoppingcart_anonymous + Pour les identifiées : - Une table xar_carts_basket_customer - Une classe shoppingcart PLAN I Présentation du projet 1- Les cibles de ce projet 2- Les besoins de la société 3- Pourquoi ne pas vendre une solution OsCommerce ? II Le fonctionnement Xaraya 1- L’architecture globale 2- Qu’est-ce qu’un module ? 3- Exemple d’exécution 4- Le « hook » 5- Le fonctionnement de « dynamic data » III Développement de la solution e-commerce 1- Commerce 2- Products 3- Carts 4- Payment
Passage à la commande + ajout d’un bouton « passer la commande » + La personne doit être identifiée ! + Le contenu du panier est gardé jusqu’à la validation finale PLAN I Présentation du projet 1- Les cibles de ce projet 2- Les besoins de la société 3- Pourquoi ne pas vendre une solution OsCommerce ? II Le fonctionnement Xaraya 1- L’architecture globale 2- Qu’est-ce qu’un module ? 3- Exemple d’exécution 4- Le « hook » 5- Le fonctionnement de « dynamic data » III Développement de la solution e-commerce 1- Commerce 2- Products 3- Carts 4- Payment
Sa fonctionnalité : Donner plusieurs moyens de paiement à la boutique (chèque, carte bancaire) PLAN I Présentation du projet 1- Les cibles de ce projet 2- Les besoins de la société 3- Pourquoi ne pas vendre une solution OsCommerce ? II Le fonctionnement Xaraya 1- L’architecture globale 2- Qu’est-ce qu’un module ? 3- Exemple d’exécution 4- Le « hook » 5- Le fonctionnement de « dynamic data » III Développement de la solution e-commerce 1- Commerce 2- Products 3- Carts 4- Payment
Donner plusieurs moyens de paiement à la boutique + La configuration globale (activer les différents moyens) et la configuration de chaque moyen (carte bancaire, chèques) ont été créées à partir de fichier XML + Lors de la validation d’une commande, vous arrivez sur la page permettant le paiement. PLAN I Présentation du projet 1- Les cibles de ce projet 2- Les besoins de la société 3- Pourquoi ne pas vendre une solution OsCommerce ? II Le fonctionnement Xaraya 1- L’architecture globale 2- Qu’est-ce qu’un module ? 3- Exemple d’exécution 4- Le « hook » 5- Le fonctionnement de « dynamic data » III Développement de la solution e-commerce 1- Commerce 2- Products 3- Carts 4- Payment
Exemple cyberplus : Activation dans Config globale Modification de La config Apparition du moyen dans la validation de commande Client choisit de payer par cyberplus Client confirme sa commande Client choisit sa carte Client entre ses coordonnées bancaires Valide OUI La banque m’envoie la validité Valide OUI Statut validée NON Suppression Arrive sur la facture NON Arrive sur La page échec
Conclusion Perspectives d’avenir pour la solution e-commerce : Module de livraison (shipping) Gestion des statistiques Gestion des attributs sur les produits Ajout de moyens de paiement