v1.0.0 — Depuis 2019

E-Commerce
Platform

Une 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.

Explorer les fonctionnalités Configurer le .env GitHub
PHP 8.2+ · MVC-inspired · OOP · v1.0.0

// Previews

Captures d'écrans

Cliquez sur une image pour l'agrandir.


// modules

Modules principaux

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.

ProductController.php Product.php Category.php
🧭

Tableau de bord admin

Gestion centralisée des produits, catégories, pages, modérateurs, abonnés et devis.

CategorieController.php
🧾

Système de devis

Demande de devis en ligne, suivi et gestion depuis l'administration. Copie envoyée au client sur option.

SubscriberController.php Subscriber.php
📬

Abonnés

Collecte et gestion des abonnés à la newsletter depuis le tableau de bord.

SubscriberController.php Subscriber.php
✉️

Envoi d'emails (SMTP)

PHPMailer branché sur un compte SMTP pour les devis, la réinitialisation de mot de passe et les notifications.

Mailer.php PHPMailer (vendor)
🔐

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.

PageController.php
📄

Pages dynamiques

Création et édition de pages de contenu (à propos, mentions légales…) sans redéploiement.

ContentController.php ArticleController.php
🖼

Upload d'images

Envoi et stockage des visuels produits et pages dans Public/uploads, avec droits d'écriture dédiés.


// configuration

Configurer le .env

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.

1

Copier le fichier

cp env.copy .env

2

Éditer les variables

nano .env

3

Enregistrer

Le fichier reste dans le même dossier config/,

.env

# === 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

Project Layout

Une convention de dossiers prévisible pour toujours savoir où chercher.

NM E-Commerce Platform /
config/→ Fichiers de configuration .env et sa copie env.copy
Src/→ Cœur du projet (routing, BDD, sécurité, Controlleurs, Models...)
public/→ Point d'entrée + assets
templates/→ Vues, layouts, composants
logs/→ fichier de logs

Prêt à démarrer ?

Clonez le dépôt ou parcourez le code source sur GitHub.

View on GitHub Voir la configuration .env