E-CommerceUne plateforme e-commerce complète développée en PHP avec une architecture inspirée du MVC — catalogue produits, tableau de bord admin, devis, abonnés et envoi d'emails, le tout réuni sous un même toit.
// Previews
Cliquez sur une image pour l'agrandir.
// modules
Chaque partie de la boutique est isolée dans un module dédié. Voici ce qui se cache sous le capot.
Catalogue produits
Fiches produits, recherche et classement par catégories. Sert les pages publiques du site.
Tableau de bord admin
Gestion centralisée des produits, catégories, pages, modérateurs, abonnés et devis.
Système de devis
Demande de devis en ligne, suivi et gestion depuis l'administration. Copie envoyée au client sur option.
Abonnés
Collecte et gestion des abonnés à la newsletter depuis le tableau de bord.
Envoi d'emails (SMTP)
PHPMailer branché sur un compte SMTP pour les devis, la réinitialisation de mot de passe et les notifications.
CAPTCHA & sécurité
Génération de CAPTCHA, limite de tentatives configurable, et réinitialisation sécurisée du mot de passe.
Métadonnées SEO
Titre, description et mots-clés gérés par page depuis l'administration, sans toucher au code.
Pages dynamiques
Création et édition de pages de contenu (à propos, mentions légales…) sans redéploiement.
Upload d'images
Envoi et stockage des visuels produits et pages dans Public/uploads, avec droits d'écriture dédiés.
// configuration
Avant toute utilisation, le fichier d'environnement doit être configuré. Copiez le fichier
env.copy
que vous trouvez dans le dossier
config/,
renommez-le en .env,
puis renseignez chaque variable avec la valeur demandée.
Copier le fichier
cp env.copy .env
Éditer les variables
nano .env
Enregistrer
Le fichier reste dans le même dossier config/,
# === BASE DE DONNÉES ===
# Adresse du serveur MySQL
DB_HOST=""
# Nom de la base de données
DB_NAME=""
# Nom d'utilisateur pour la base de données
DB_USER=""
# Mot de passe de la base de données
# Cette ligne sera effacée automatiquement pour votre sécurité
DB_PASS=""
# === MODE MAINTENANCE ===
MAINTENANCE=false → true pour activer la maintenance du site (affiche un message aux visiteurs)
# === INFOS PUBLIQUES DU SITE ===
WEB_NAME="" → Nom affiché dans l'en-tête ou le footer
WEB_SLOGAN="" → Slogan ou phrase d'accroche
WEB_ADDRESS="" → Adresse physique (page contact)
WEB_PHONE="" → Numéro de contact
WEB_EMAIL="" → Email de contact du site
# === PARAMÈTRES EMAIL (ENVOI DE MAIL) ===
# Mot de passe ou token d'application (Gmail : activer les mots de passe d'application)
# Cette ligne sera effacée automatiquement pour votre sécurité
WEB_EMAIL_PASSWORD=""
WEB_EMAIL_HOST="" → Hôte SMTP (ex : Gmail)
WEB_EMAIL_PORT= → Port SMTP (587 pour TLS, 465 pour SSL)
WEB_EMAIL_ENCRYPTION="" → Méthode de chiffrement : tls ou ssl
# === IDENTIFIANTS DE L'ADMIN PRINCIPAL ===
WEB_ADMIN_USERNAME="" → Nom d'utilisateur admin (tableau de bord)
WEB_ADMIN_EMAIL="" → Email principal de l'admin
# === CAPTCHA ===
CAPTCHA_LENGTH=6 → Nombre de caractères dans le captcha
CAPTCHA_MAX_ATTEMPTS=3 → Nombre d'essais autorisés avant blocage
# === COMMANDES ===
ORDER_ID_NUMBER=13102025 → Numéro de départ pour les ID de commande
WEB_CANCEL_ORDER_LIMIT="1 Jour" → Délai autorisé pour annuler une commande
# === DEVIS ===
DEVIS_WITH_SUBSCRIBE=false → Si true : l'utilisateur doit être inscrit pour demander un devis
DEVIS_SEND_COPY_TO_CLIENT=true → Si true : le client reçoit une copie de son devis par email
⚠️ Les permissions appliquées sur ce fichier .env doivent être strictes et pour votre sécurité — ne le partagez jamais publiquement.
// file structure
Une convention de dossiers prévisible pour toujours savoir où chercher.
Prêt à démarrer ?
Clonez le dépôt ou parcourez le code source sur GitHub.