Application marketplace en PHP (architecture MVC) avec:
- gestion des produits,
- ventes directes, encheres et pre-achats,
- espace administration,
- API JSON,
- generation de facture PDF.
Ce README decrit l'etat reel du repository au 12 mars 2026, dans un workspace multi-projets (digital-zoo, portfolio, OLD-PORTFOLIO, sellandbuy).
- Point d'entree unique:
index.php - Routage par query string:
?controller=...&action=... - Configuration DB active dans
config/database.php(profil DDEV) - Schema SQL principal:
database/vente_groupe_FINAL.sql - Tests unitaires disponibles dans
tests/Unit - Outils admin scripts dans
admin/
- PHP 8.4 (via DDEV, voir
.ddev/config.yaml) - MariaDB 11.8 (via DDEV)
- Composer 2
- TCPDF (
tecnickcom/tcpdf) - PHPUnit (
phpunit/phpunit)
sellandbuy/
|- index.php
|- composer.json
|- config/
|- controllers/
|- models/
|- views/
|- helpers/
|- public/
|- admin/
|- database/
| `- vente_groupe_FINAL.sql
`- tests/
Voir le guide court: quickstart.md.
ddev start
ddev composer install
ddev import-db --file=database/vente_groupe_FINAL.sqlPuis ouvrir:
https://sellandbuy.ddev.site/index.php- ou
https://sellandbuy.ddev.site/index.php?controller=product&action=index
Prerequis:
- PHP 8.2+ (8.4 recommande)
- MariaDB/MySQL
- Composer
Etapes:
composer install
# Import SQL dans votre base locale
mysql -u <user> -p <database> < database/vente_groupe_FINAL.sql
php -S localhost:8000Ensuite ouvrir:
http://localhost:8000/index.php?controller=product&action=index
Important:
config/database.phpest actuellement configure pour DDEV (db/db/db).- En local hors DDEV, adapter ce fichier ou vos variables d'environnement de test.
Routes publiques:
index.php?controller=product&action=indexindex.php?controller=product&action=show&id=<id>index.php?controller=auth&action=loginindex.php?controller=auth&action=registerindex.php?controller=auction&action=view&product_id=<id>
Routes utilisateur connecte:
index.php?controller=acquisition&action=indexindex.php?controller=ticket&action=indexindex.php?controller=auth&action=account
Routes administration (admin requis):
index.php?controller=admin&action=indexindex.php?controller=admin&action=debugindex.php?controller=admin&action=analyticsindex.php?controller=admin&action=categoriesindex.php?controller=admin&action=vendorsindex.php?controller=admin&action=settingsindex.php?controller=admin&action=ticketsindex.php?controller=admin&action=invoicesindex.php?controller=admin&action=signalsindex.php?controller=admin&action=erDiagramindex.php?controller=admin&action=downloadDiagram
Toutes les routes API passent par ApiController:
index.php?controller=api&action=healthindex.php?controller=api&action=products&page=1&limit=20index.php?controller=api&action=product&id=1index.php?controller=api&action=search&q=iphone&category=1index.php?controller=api&action=categories
Scripts detectes dans admin/:
init_all.phpinit_taxes.phpinit_taxes_web.phpinit_vente_groupe.phpupdate_database.phpupdate_vendeur_table.phpextract_css.phpinit_categories.php
Exemples d'execution:
# DDEV
ddev exec php admin/init_all.php
ddev exec php admin/init_vente_groupe.php
# Local
php admin/init_all.php
php admin/init_vente_groupe.phpExecution via DDEV:
ddev exec ./vendor/bin/phpunit --bootstrap tests/bootstrap.php tests/UnitExecution locale:
./vendor/bin/phpunit --bootstrap tests/bootstrap.php tests/UnitNote:
tests/bootstrap.phptente une connexion DB de test. Verifier les variables DB avant execution.
Le front controller applique deja:
X-Frame-Options: DENYX-Content-Type-Options: nosniffX-XSS-Protection: 1; mode=blockReferrer-Policy: strict-origin-when-cross-origin
Voir index.php pour le comportement complet et la gestion d'erreurs.
Important:
- Une classe
helpers/Security.phpexiste (CSRF, validation, hachage, rate-limit), mais certaines protections sont encore partiellement integrees dans les controles metier. - Un etat detaille, projet par projet, est disponible dans
../security.md.
- Guide de demarrage rapide:
quickstart.md - Outils admin:
admin/README.md - Referentiel securite global:
../security.md