Skip to content

Bears9355/sublime

Repository files navigation

Documentation du Projet de Site de Vente en Ligne - SAÉ 3.Real.01

1. Introduction

Ce document présente la conception et le développement d’un site de vente en ligne pour des montres de luxe et d’autres produits. Le projet est réalisé dans le cadre de la SAÉ 3.Real.01 : Développement d’une application, dans le but de mettre en pratique les compétences de développement web dynamique, gestion de base de données et architecture logicielle.

L'application a été développée avec le framework PHP CodeIgniter et repose sur une base de données relationnelle.


2. Fonctionnalités du site

2.1 Catalogue de produits

  • Affichage des montres de luxe disponibles avec leur description, prix et quantité en stock.

  • Possibilité de filtrer les produits selon plusieurs critères :

    Catégorie :

    • Montre
    • Boite
    • Chiffon
    • Bouton de manchette

    Couleur :

    • Bleu
    • Vert
    • Jaune
    • Rouge
    • Rose
    • Rainbow
    • Gold
    • Silver

    Mouvement :

    • Automatique
    • Quartz

    Prix :

    • Par ordre croissant
    • Par ordre décroissant

    Disponibilité en stock

2.2 Gestion du compte utilisateur

  • Inscription et connexion des utilisateurs.
  • Chaque utilisateur dispose d’un compte personnel permettant :
    • De passer des commandes.
    • De consulter l’historique de ses commandes.

2.3 Panier d’achat

  • Ajout de produits au panier.
  • Suppression de produits du panier.
  • Mise à jour des quantités.
  • Empêchement d’ajout de produits qui ne sont plus en stock.
  • Affichage du total du panier.

2.4 Commande et paiement

  • Finalisation de la commande.
  • Mise en place d’une stratégie de paiement permettant plusieurs modes de paiement (carte bancaire, PayPal).
  • Gestion des erreurs de paiement.
  • Confirmation de commande par e-mail.

2.5 Gestion des stocks

  • Lorsqu'un produit n’est plus en stock, il ne peut pas être ajouté au panier.
  • Mise à jour automatique des stocks lors de la validation des commandes.

3. Architecture logicielle

3.1 Modèle MVC avec CodeIgniter

L’application suit l’architecture MVC (Modèle-Vue-Contrôleur) en utilisant le framework PHP CodeIgniter :

  • Modèle : Représente la gestion des données (DAO, gestion des entités et accès à la base de données).
  • Vue : Gère l’affichage des pages HTML aux utilisateurs.
  • Contrôleur : Contient la logique métier et gère les interactions entre le modèle et la vue.

3.2 Design patterns utilisés

  • Factory (DAO Factory) :

    • Permet de créer des objets DAO (Data Access Object) pour accéder aux différentes tables de la base de données.
    • Cette factory permet d’isoler la logique de création des objets de la couche d’accès aux données.
  • Strategy (Paiement) :

    • Implémentation de différentes stratégies de paiement (par exemple : paiement par carte bancaire, PayPal).
    • Chaque stratégie implémente une interface commune et peut être choisie dynamiquement lors de la finalisation de la commande.
  • Command (Commande) :

    • Ce pattern est utilisé pour encapsuler les différentes opérations liées à une commande (ajout au panier, suppression d’un article, validation de la commande).
    • Chaque action est représentée par une commande concrète qui implémente une interface commune.
    • Permet d’annuler ou de rejouer certaines actions, améliorant ainsi la gestion des erreurs et la flexibilité du système.

4. Base de données

4.1 Modélisation des données

La base de données contient les tables suivantes :

  • Utilisateurs : Contient les informations des utilisateurs inscrits.
  • Produits : Contient les informations sur les montres et autres produits disponibles à la vente.
  • Commandes : Contient les informations sur les commandes passées par les utilisateurs.
  • DétailsCommande : Contient les détails de chaque commande (produits commandés, quantités, prix).

4.2 Contraintes d’intégrité

  • Contraintes de clé primaire sur chaque table.
  • Contraintes de clé étrangère pour assurer la cohérence entre les tables Commandes et DétailsCommande.
  • Triggers : Mise à jour automatique des stocks lors de la validation d’une commande.

5. Documentation technique

5.1 Installation

  1. Cloner le dépôt Git du projet.
  2. Configurer le fichier config.php de CodeIgniter avec les paramètres de connexion à la base de données.
  3. Importer le fichier SQL fourni pour créer la base de données.
  4. Déployer le projet sur un serveur web compatible PHP.

5.2 Tests

Des jeux d’essais ont été réalisés pour vérifier :

  • L’inscription et la connexion des utilisateurs.
  • L’ajout et la suppression de produits au panier.
  • La gestion des stocks.
  • La finalisation des commandes.
  • Les différentes stratégies de paiement.

6. Guide d’utilisation

  1. Connexion/Inscription : L’utilisateur doit s’inscrire ou se connecter pour pouvoir passer commande.
  2. Parcourir les produits : L’utilisateur peut filtrer les produits selon les critères présentés.
  3. Ajouter au panier : L’utilisateur peut ajouter des produits disponibles au panier.
  4. Passer commande : Une fois les produits ajoutés, l’utilisateur peut finaliser sa commande en choisissant un mode de paiement.

7. Conclusion

Ce projet a permis de mettre en pratique les compétences de développement web, de gestion de base de données et d’utilisation des design patterns. L’application répond aux besoins classiques d’un site de vente en ligne tout en respectant les contraintes de qualité et de performance.

About

Site web e-commerce avec PHP/CodeIgniter

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published