Application de gestion de parkings partagés développée en PHP avec une architecture Clean Architecture.
Avant de commencer, assurez-vous d'avoir installé :
| Outil | Version requise |
|---|---|
| PHP | >= 8.2 |
| Composer | Dernière version |
| MySQL/MariaDB | >= 5.7 |
| Extensions PHP | pdo, pdo_mysql, xdebug (optionnel) |
Décompressez l'archive ZIP dans le dossier de votre choix (ex: C:\wamp64\www\parking ou /var/www/parking).
Ouvrez un terminal dans le dossier du projet et exécutez :
composer install
Copiez le fichier .env.sample vers .env :
Windows (PowerShell) :
Copy-Item .env.sample .env
Linux/Mac :
cp .env.sample .env
Éditez le fichier .env avec vos paramètres de base de données :
DB_HOST=localhost
DB_PORT=3306
DB_NAME=parking
DB_USER=root
DB_PASSWORD=votre_mot_de_passe
JWT_SECRET_KEY=votre_cle_secrete_unique
STORAGE_DRIVER=sql
⚠️ Important : Changez impérativement la valeur de JWT_SECRET_KEY par une clé secrète unique et sécurisée.
Connectez-vous à MySQL et créez la base de données :
CREATE DATABASE parking CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
Puis importez le schéma :
mysql -u root -p parking < config/schema.sql
- Créez une nouvelle base de données nommée parking
- Sélectionnez la base de données
- Allez dans l'onglet Importer
- Sélectionnez le fichier config/schema.sql
- Cliquez sur Exécuter
php -S localhost:8080 -t public
L'application sera accessible à l'adresse : http://localhost:8080
- Placez le projet dans C:\wamp64\www\parking
- Configurez un VirtualHost pointant vers le dossier public/
- Accédez à http://localhost/parking/public
- Placez le projet dans C:\xampp\htdocs\parking
- Accédez à http://localhost/parking/public
./vendor/bin/phpunit
./vendor/bin/phpunit tests/Unit
./vendor/bin/phpunit tests/Functional
pour avoir le coverage dans le Terminal ajouté :
./vendor/bin/phpunit tests/Functional --coverage-text
./vendor/bin/phpunit --coverage-html coverage
Le rapport sera disponible dans le dossier coverage/.
docker build -t parking-app .
docker run -p 8080:8000 -e PORT=8000 parking-app
parking/
├── config/ # Configuration (routes, schéma SQL)
│ ├── routes.php # Définition des routes
│ └── schema.sql # Schéma de la base de données
├── public/ # Point d'entrée web
│ └── index.php # Front controller
├── src/ # Code source (Clean Architecture)
│ ├── Application/ # Cas d'utilisation (Use Cases)
│ ├── Domain/ # Entités et interfaces du domaine
│ └── Infrastructure/ # Implémentations (DB, Repositories)
├── templates/ # Vues HTML (PHP)
├── tests/ # Tests unitaires et fonctionnels
├── .env.sample # Exemple de configuration
├── composer.json # Dépendances PHP
└── dockerfile # Configuration Docker
Une démo est disponible sur cet url : https://parking-hj0w.onrender.com/
- Antoine TU - @atu0601
- Arthur Guillemin - @arthurGuillemin
- Amaury SANCHEZ - @Amaury057
- PILLAH Niali Henri Guy-Harvyn - @Harvyn-10