Anon est une mini-boutique en ligne qui permet de parcourir des produits, de les ajouter à un panier et de consulter/supprimer les articles du panier. Le projet est volontairement simple pour l’apprentissage: PHP (procédural) + MySQL, avec HTML/CSS pour l’interface.
- Fonctionnalités
- Aperçu visuel
- Stack technique
- Prérequis
- Installation
- Configuration
- Utilisation
- Structure du projet
- Base de données
- Flux du panier
- Routes et pages
- Scripts et assets
- FAQ
- Dépannage
- Sécurité & bonnes pratiques
- Feuille de route
- Auteur
- 🗂️ Affichage d’un catalogue de produits depuis MySQL
- ➕ Ajout d’un produit au panier via la session utilisateur
- 🧮 Visualisation du panier, quantités et total
- 🗑️ Suppression d’un article du panier
- 📱 Design responsive (template CSS inclus)
Le dépôt inclut une capture d’écran image.png. Vous pouvez également ouvrir le projet en local et visiter la page d’accueil pour un aperçu dynamique.
- Backend: PHP ≥ 7.3 (sessions, mysqli)
- Base de données: MySQL / MariaDB
- Frontend: HTML5, CSS (fichiers
assets/css), Google Fonts, Ionicons
- Un environnement AMP (Apache, MySQL, PHP) via XAMPP, WAMP, MAMP ou LAMP
- Accès à phpMyAdmin (optionnel mais pratique)
-
Installez un serveur local:
- WAMP:
https://www.wampserver.com/ - XAMPP:
https://www.apachefriends.org/index.html - MAMP:
https://www.mamp.info/en/
- WAMP:
-
Placez le dossier du projet dans le répertoire web:
- Windows (XAMPP):
C:\xampp\htdocs\Anon - Windows (WAMP):
C:\wamp\www\Anon - Linux (LAMP):
/var/www/html/Anon
- Windows (XAMPP):
-
Base de données:
- Démarrez MySQL et ouvrez phpMyAdmin
- Créez une base nommée
anon - Importez le fichier
Anon.sql(fourni Ă la racine)
Modifiez la connexion MySQL si besoin dans con_dbb.php:
<?php
$con = mysqli_connect("localhost", "root", "", "anon");
if (!$con) {
die('Erreur de connexion : ' . mysqli_connect_error());
}
?>localhost: hôte MySQL (en local, gardezlocalhost)root/ mot de passe: selon votre stack (XAMPP/WAMP en local: mot de passe souvent vide)anon: nom de la base importée
- Démarrez Apache et MySQL depuis votre panneau de contrôle (XAMPP/WAMP)
- Ouvrez votre navigateur sur:
http://localhost/Anon/index.php
- Ajoutez des produits via l’icône “sac” sur chaque carte produit
- Consultez le panier:
http://localhost/Anon/panier.php
Panier_PHP/
add.php # Ajout d’un produit au panier (GET id)
panier.php # Affichage du panier + suppression d’articles (GET del)
index.php # Page d’accueil, liste des produits
con_dbb.php # Connexion MySQL
Anon.sql # Schéma + données exemples
assets/
css/ # Styles (template)
images/ # Logos, produits
js/ # Scripts front (ionicons, interactions)
- Base:
anon - Table attendue:
productsavec au minimum les colonnes:id(INT, PK)name(VARCHAR)price(DECIMAL/INT en XOF)img(VARCHAR) — image principale dansassets/images/productsimg2(VARCHAR) — image au survol
Le fichier Anon.sql contient la structure et des données de démonstration pour products.
- Session PHP: la clé
$_SESSION['anon']contient un tableau associatif[productId => quantity] - Ajout:
add.php?id=XX- Vérifie l’existence du produit en BDD, puis incrémente la quantité
- Redirige vers
index.php
- Affichage/Suppression:
panier.php- Affiche chaque article, quantité, et total
- Suppression via
panier.php?del=XX(retire l’article de la session)
index.php: liste les produits, bouton d’ajout au panieradd.php?id=ID: action GET pour ajouter un produitpanier.php: récapitulatif du panier, suppression d’articles
- Styles:
assets/css/style-prefix.css,assets/css/style.css - Images produits:
assets/images/products/*.jpg - IcĂ´nes: Ionicons (CDN)
- Script front:
assets/js/script.js
-
“Je ne vois aucun produit sur la page d’accueil”
- Assurez-vous d’avoir importé
Anon.sqlet d’avoir des lignes dansproducts - Vérifiez les chemins d’images
img/img2pointant versassets/images/products
- Assurez-vous d’avoir importé
-
“Le total affiche 0”
- Ajoutez au moins un produit via le bouton “sac”
- Vérifiez que les sessions PHP sont actives et non bloquées par votre navigateur
- Erreur de connexion MySQL: vérifiez
con_dbb.php(hĂ´te, utilisateur, mot de passe, base) - Page blanche/erreur PHP: activez
display_errorsen local ou consultez les logs d’Apache - Sessions qui ne se conservent pas: vérifiez que
session_start()est bien appelé et que les cookies ne sont pas bloqués
- Ce projet est pédagogique. Pour un usage réel, ajoutez:
- Requêtes préparées (mysqli_stmt / PDO) pour éviter l’injection SQL
- Filtrage/validation stricte des entrées (
id,delvia GET) - Protection CSRF pour les actions d’ajout/suppression
- Gestion d’authentification utilisateur si besoin
- Quantité modifiable directement depuis
panier.php - Message de confirmation/toast à l’ajout
- Recherche produit côté serveur
- Passage de commande (checkout) simulé
- Auteur: 𝕹𝖎𝖓_𝕾𝖍𝖎𝖓𝖔𝖇𝖎🥷🏾
- GitHub:
@Nin-Shinobi - Repository:
https://github.com/Nin-Shinobi/Panier_PHP
