Commerce électronique Automne 2015.  Introduction  Création du panier d’achats  Migration du panier d’achats  Conclusion.

Slides:



Advertisements
Présentations similaires
Catalog fonctionne sur vos données Catalog est préconfiguré pour fonctionner directement avec les données – WinBooks Accounting – WinBooks Logistics –
Advertisements

GCstar Gestionnaire de collections personnelles Christian Jodar (Tian)
Les systèmes d'information 1- Une pratique quotidienne 2- Les données 3- Approche conceptuelle 4- Notion de serveur 5- Conception d'un système d'information.
Gestion des PJ Service National d'Enregistrement Dossier Unique.
Créer un site Web avec Eva Spip Première approche B. Gugger – Mars 2006 – Département RTC.
Le DOM Le Document Object Model (DOM) est une interface de programmation pour les documents HTML et XML Il fournit une représentation structurée du document.
Créer une alerte de recherche dans EBSCOhost Tutoriel support.ebsco.com.
Semaine 01 La programmation créative Introduction.
1 e-Prelude.com Visite guidée - session 7 Le traitement des achats Métier : Achats.
1 Rapport PFE Gestion de Stock M LLE Nouhaila Touzani Ouazli.
Cours Initiation aux Bases De Données
Initiation à la conception des systèmes d'informations
Correspondance B2i - Technologie
Téléchargement de fichiers
Exploitation de logiciels :
FORMATION DES POINTS FOCAUX SUR LE SYSTÈME CountrySTAT/FENIX
Module de gestion des tournées de livraison
I- ANALYSE DU BESOIN / Plan
Les boites texte et dossier
Structure et Services « STS » Menu Structures : Divisions
L’accès au portail en deux étapes Que contient cette fiche?
Environnement du développement de BD ORACLE REPORTS 10g
Utiliser le dossier Mon EBSCOhost
Visite guidée - session 3 Les postes de charge et les gammes
Projet Ville de Lyon Sites Internet
Spip / Joomla...en 1h ! Mercredi 30 Avril 2008.
Logiciel de gestion des adhérents
Présentation du site
e-Prelude.com Visite guidée - session 5 Les commandes clients
Règles communes pour déposer un article
Les bases de données et le modèle relationnel
e-Prelude.com Visite guidée - session 4 Les stocks initiaux
e-Prelude.com Visite guidée - session 1 Les articles
fonctionnalités iiS iis
Asynchronous Javascript And Xml
Créer une alerte de recherche dans EBSCOhost
new.bdiexpress.com Présentation de :
Gestion du compte et Méthodes d’inscription
Développement d’un réseau social de collaboration destiné aux médecins radiologues Soutenance de projet de fin d’étude En vue de l’obtention du diplôme.
Direction du système d’information et de la stratégie numérique
Windows Server 2012 Objectifs
Modélisation avec UML 2.0 Partie II Diagramme de classes.
Plus de 4000 langages....
Approvisionnement sur
Bases de données sous Access. Initiation aux bases de données  Structure d’une base de données.
Guide de départ Micro-sites Maryza pour une équipe du AHFVG
Gestion des photos Organisation du disque dur, Navigation
STS Web Services libres Créer un service libre
Programmation Android Les listes
Les cas d’utilisation 420-KE2-LG.
420-B63 Programmation Web Avancée Auteur : Frédéric Thériault
DEVELOPPER LE PANIER MOYEN
Présentation générale
Support de formation Administrateur Menu Paie
Gérer les litiges ’ Je visualise la liste des litiges
BUFFER CIRCULAIRE Meryem EL BAKRI. PLAN Introduction Buffer circulaire Fonctionnement.
PRESENTATION ACCESS Editeur : Microsoft Environnement Windows (SE)
 C’est quoi Laravel ?  Installer Laravel 5 avec Composer  Structure des Fichiers  Créer une page d’authentification  Comment faire le Routing dans.
Présentation Comment définir la solution “Powered by Eazylang” à vos utilisateurs (clients, adhérents, associés, etc.) ? (Certains éléments sont à compléter.
Présentation du site Martine Cochet.
Le jeu de la bière en réseau
Boulain Joris, Handouz Yassine, Regnier Fabien, Giraud Antoine
STS Web Services libres Constituer les services libres
ScienceDirect Guide d’utilisation de la base de données : ScienceDirect Pr R. EL OUAHBI.
Qu’est ce qu’une page web? Comment fonctionne un site web?
App Inventor trucs Afficher une image depuis le Web ou Google Drive.
Branches de club sur MyLCI
DONNÉE DE BASE QM Manuel de formation. Agenda 2  Introduction  Objectif de la formation  Données de base QM: Caractéristique de contrôle Catalogue.
Transcription de la présentation:

Commerce électronique Automne 2015

 Introduction  Création du panier d’achats  Migration du panier d’achats  Conclusion

 Un panier d’achats virtuel est un élément logiciel qui permet aux acheteurs en ligne de sélectionner des biens, de les passer en revue et de faire des achats en ligne. Généralement, un panier d’achats virtuel constitue l’interface entre le site Web de la société et son système de paiement.  Nous allons permettre aux utilisateurs de placer des produits dans leurs paniers sans s'identifier, mais ils auront besoin de s'identifier pour compléter la commande. Une fois authentifier, nous allons sauvegarder dans la base de données les éléments du panier au nom de l’utilisateur connecté.

 Nous allons donc partir de mon projet de Hgo Musique qui vend des albums de musique.

 Nous aurons besoin d’une classe de modèle(Cart.cs) pour déterminer le contenu du panier: Chaque enregistrement correspond à un album et sa quantité

 Nous allons ajouter cette classe à un DBContext Model\MusicStoreEntities.cs:

 Ensuite, nous allons créer la classe ShoppingCart dans le dossier Models.  Puisque nous ne voulons pas obliger les utilisateurs à s'inscrire juste pour ajouter des éléments à leurs paniers, nous allons leur assigner un identifiant unique temporaire (en utilisant un GUID, ou un identifiant globalement unique) lorsqu'ils accèdent au panier. Nous allons stocker cet ID en utilisant la classe Session d'ASP.NET.

 La classe ShoppingCart expose les méthodes suivantes : ◦ AddToCart prend un album en paramètre et l'ajoute au panier de l'utilisateur. ◦ RemoveFromCart prend un ID d'Album et l'enlève du panier de l'utilisateur. ◦ EmptyCart enlève tous les éléments du panier de l'utilisateur. ◦ GetCartItems récupère une liste des CartItems pour l'affichage ou le traitement. ◦ GetCount récupère le nombre total d'albums qu'un utilisateur a dans son panier. ◦ GetTotal calcule le coût total de tous les éléments présents dans le panier. ◦ GetCart méthode statique qui permet à nos contrôleurs d'obtenir un objet panier.

 La méthode GetCart

 AddToCart

 Notre ShoppingCart Controller aura besoin de communiquer quelques informations complexes à ses vues qui ne correspondent pas proprement à nos objets modèles. Nous ne voulons pas modifier nos modèles pour que cela convienne à nos vues ; les classes modèles devraient représenter notre domaine, et non l'interface utilisateur. Une solution serait de passer l'information à nos vues en utilisant la classe ViewBag, comme nous l'avons fait avec les informations des dropdownlists du Store Manager, mais passer beaucoup d'informations via le ViewBag est difficile à gérer.  Une solution serait d'utiliser le pattern ViewModel. Lorsque l'on utilise ce pattern, nous créons des classes fortement typées qui sont optimisées pour les scénarios de notre vue spécifique, et qui exposent les propriétés pour les valeurs/contenus dynamiques dont la vue à besoin. Nos classes contrôleur peuvent remplir et transmettre ces classes optimisées à nos vues afin de les utiliser. Cela permet un type sécurisé, lors de la compilation, et la présence de l'IntelliSense dans les vues.  Nous allons créer deux Vues Modèles pour les utiliser dans notre contrôleur Shopping Cart : le ShoppingCartViewModel va s'occuper du contenu du panier de l'utilisateur, et le ShoppingCartRemoveViewModel sera utilisé pour afficher les informations de confirmation lorsqu'un utilisateur enlève quelque chose de son panier.

 Créer un nouveau dossier pour inclure ShoppingCartViewModel.cs et ShoppingCartRemoveViewModel.cs

 Maintenant au tour du controleur.  Le ShoppingCartController a trois buts principaux : ◦ ajouter des éléments au panier, ◦ enlever des éléments du panier, ◦ visualiser les éléments du panier.  Il fera usage des trois classes que nous venons juste de créer : ◦ ShoppingCartViewModel ◦ ShoppingCartRemoveViewModel, ◦ ShoppingCart.

MAJ dynamique avec Ajax

 Afficher le panier ◦ Nous allons ensuite créer une page Index du Panier qui est fortement typée au ShoppingCartViewModel.

 Cependant, au lieu d'utiliser un Html.ActionLink pour enlever les éléments du panier, nous utiliserons jQuery pour "lier" l'événement click pour tous les liens dans cette vue qui ont la classe HTML RemoveLink. Plutôt que de poster le formulaire, ce gestionnaire d'événements va juste faire un appel AJAX à notre action RemoveFromCart. Le RemoveFromCart renvoie un résultat JSON sérialisé, qui est automatiquement transmis à la méthode JavaScript spécifiée dans notre paramètre OnSuccess- handleUpdate dans ce cas. La fonction Javascript handleUpdate analyse les résultats JSON et effectue quatre mises à jour rapides de la page en utilisant jQuery :  1 Enlève les albums supprimés de la liste  2 Met à jour le compteur du panier dans l'entête  3 Affiche un message de mise à jour à l'utilisateur  4 Met à jour le prix total du panier

 Pour ajouter des éléments au panier, nous allons ajouter la ligne suivante dans la vue Store\Details.cs

 Pour afficher le nombre d’éléments dans le panier, nous allons nous créer une vue partielle que nous ferons référence dans le _layout.cshtml _layout.cshtml Vue partielle

 Alors que le processus d'achat est anonyme, lorsque les utilisateurs cliquent sur le bouton Checkout, ils seront tenus de s'inscrire et s'identifier. Les utilisateurs s'attendront à ce que l'on conserve les informations du panier entre deux visites, nous aurons donc besoin d'associer les informations des paniers aux utilisateurs lorsqu'ils se seront enregistrés ou connectés.

 Ajouter le code suivant au Model\ShoppingCart.cs

 Ajouter cette méthode dans AccountControler et faite un appel de cette méthode sur le login et le register.

 Le panier d’achatss permet au client de stocker temporaire les items qu’il désire acheter.  La sauvegarde dans la base de données permet de relancer l’utilisateur sur ses achats.