Projet de fin d'année - Développement Web
Auteur : Antoine SILLARD Date : 2024-2025
Site e-commerce simple permettant de consulter un catalogue de produits, gérer un panier et passer des commandes. Interface d'administration pour gérer les produits et consulter les commandes.
- Backend : Laravel 10 (PHP 8.1)
- Frontend : HTML, CSS, JavaScript vanilla
- Base de données : MySQL
- Serveur : Apache/Nginx ou serveur PHP intégré
pf_cinnk/
├── laravel-app/ Backend Laravel
│ ├── app/
│ ├── routes/
│ ├── database/
│ └── .env
├── front-app/ Frontend
│ ├── index.html
│ ├── checkout.html
│ ├── css/
│ └── js/
└── docs/ Documentation
- PHP 8.1 ou supérieur
- Composer
- MySQL
- Un serveur web (Apache/Nginx) ou Python pour le frontend
git clone https://github.com/Nerow75/PF_Cinnk.git
cd pf_cinnkcd laravel-app
# Installer les dépendances
composer install
# Configuration
cp .env.example .env
php artisan key:generate
# Configurer .env avec vos paramètres de base de données
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=pf_cinnk
DB_USERNAME=root
DB_PASSWORD=votre_password# Créer la base de données
mysql -u root -p
CREATE DATABASE pf_cinnk;
exit;
# Lancer les migrations et seeders
php artisan migrate --seedBackend :
cd laravel-app
php artisan serveBackend disponible sur : http://localhost:8000
Frontend (nouveau terminal) :
cd front-app
python -m http.server 3000Frontend disponible sur : http://localhost:3000
URL : http://localhost:3000
Fonctionnalités :
- Consulter le catalogue de produits
- Ajouter des produits au panier
- Passer une commande (génération d'un numéro fictif)
URL : http://localhost:8000/admin/login
Identifiants par défaut :
- Username : admin
- Password : password
Fonctionnalités :
- Consulter les statistiques
- Gérer les produits (création, modification, suppression)
- Consulter les commandes
- Modifier le statut des commandes
Tables principales :
- products : Catalogue de produits
- orders : Commandes
- order_items : Articles commandés
- users : Utilisateurs admin
Documentation complète disponible dans openapi.yaml
Endpoints principaux :
- GET /api/products : Liste des produits
- GET /api/products/{id} : Détails d'un produit
- POST /api/orders : Créer une commande
- GET /api/orders/{orderNumber} : Détails d'une commande
- Catalogue de produits avec filtres et recherche
- Panier stocké en cookies
- Formulaire de commande
- Page de confirmation
- Dashboard avec statistiques
- CRUD complet sur les produits
- Consultation et gestion des commandes
- Filtres et recherche
Ce projet est une démonstration éducative :
- Pas de vrai système de paiement
- Pas de suivi de livraison
- Un seul compte administrateur
- Stock géré manuellement
- Pas d'envoi d'emails automatiques
Lancer les tests unitaires :
cd laravel-app
php artisan testphp artisan cache:clear
php artisan config:clearphp artisan migrate:fresh --seedVérifier que le produit est actif et que le stock n'est pas à 0
Auteur : Antoine SILLARD
Projet éducatif - Tous droits réservés