API REST BileMO réalisé avec Symfony 6.
Réalisé dans le cadre de la formation développeur d'application PHP/symfony d'OpenClassrooms.
BileMo est une entreprise offrant toute une sélection de téléphones mobiles haut de gamme en B2B. Une API REST fournie à toutes les plateformes qui le souhaitent l’accès au catalogue.
Les clients de l’API sont authentifiés via JWT.
PHP PHP 8.1 ou supèrieur
MySQL MySQL 8.0 ou supèrieur.
Composer Composer 2.4 ou supèrieur.
Cloner le projet
https://github.com/kseb49/BileMo.git
Installer les dépendances
composer install
Variables d'environnements : Configurer un fichier .env.local:
DATABASE_URL="mysql://app:!ChangeMe!@127.0.0.1:3306/app?serverVersion=8.0.32&charset=utf8mb4"
Pour une mise en production :
APP_ENV=prod
APP_SECRET=!new32characterskey!
Créer les clefs SSL aide
symfony console lexik:jwt:generate-keypair
Configurer les chemins vers les clefs et la passphrase dans le env.local aide:
JWT_SECRET_KEY=%kernel.project_dir%/config/jwt/private.pem
JWT_PUBLIC_KEY=%kernel.project_dir%/config/jwt/public.pem
JWT_PASSPHRASE=yourPassphrase
Plus d'infos : Documentation officielle JWT
Créez la base de données et les tables:
symfony console doctrine:database:create
symfony console doctrine:migrations:migrate
Charger les données initiales
symfony console doctrine:fixtures:load
Lancer le serveur symfony
symfony server:start
Les endpoints suivants nécessitent un rôle administrateur :
POST
/api/users
DELETE
/api/users/{{id}}
Les données initiales octroient ce rôle à un client sur deux, le mot de passe par défaut est 123456.
La documentation est disponible au lien suivant :
/api/doc