Mammouth du PHP |
19672 Messages
18 janv. 2008, 11:53
Ben voilà, c'est à mon avis beaucoup mieux.
Il reste quand même le problème des champs calculés dans ton entité "panier" : ce sont des valeurs que tu peux obtenir ... par calcul sur des jointures entre le produit et une valeur qui serait à rajouter dans ta relation entre "
panier" et "
produit" à savoir "
quantite". Donc pour moi ces deux propriétés n'ont pas lieu d'être tout simplement. Par contre pour des besoin d'archivage, rien n'interdit de stoker dans une entité indépendante ces informations quand elles sont complètement terminées, commande payée et livrée de façon à pouvoir éditer un historique des commandes pour des besoins statistiques par exemple.
Un dernier point resterait peut-être à considérer : l'adresse de livraison, sera-t-elle la même que celle de l'acheteur ? C'est un classique de la vente en ligne, on peut acheter pour faire livrer à un parent, un ami ou qui tu voudras. Dans ce cas, il faudrait séparer le client et l'adresse en deux entités et ajouter une propriété pour l'adresse qui permet de définir si c'est une adresse de livraison ou l'adresse de facturation par exemple. Et dans ce cas tu auras un client qui peut avoir 1:n adresse(s).
Enfin, il va aussi rester un problème : la gestion des commandes. Suppose qu'un client passe commande sur le site et paye en ligne : actuellement, cette partie n'est pas du tout prise en compte. Donc tu pourrais ajouter une propriété dans "
panier" qui va permettre de définir une commande comme "payée" (donc confirmée), expédiée (à gérer en backoffice pour le suivi de commande), rejetée (paiement refusé par la banque par exemple ou encore transaction non terminée par le client).
Tu es à mon avis sur une très bonne voie, continue dans ce sens

Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse 