Ce projet sert de support au cours au cours sur API et Symfony d'Openclassrooms. Il est réalisé avec Symfony 6 et nécessite à minima PHP8.
Pour vérifier votre version de php vous pouvez faire :
- php -v
Pour utiliser ce projet, vous pouvez simplement faire un :
Et une fois le projet récupérez il faudra l'initialiser :
- composer install : pour récupérer l'ensemble des packages nécessaires
- créer vos clefs publiques et privées pour JWT dans config/jwt :
- créez le répertoire "jwt" dans le dossier config
- openssl genpkey -out config/jwt/private.pem -aes256 -algorithm rsa -pkeyopt rsa_keygen_bits:4096 : pour créer la clef privée
- openssl pkey -in config/jwt/private.pem -out config/jwt/public.pem-pubout : pour créer la clef publique
- créer un fichier .env.local
- ce fichier doit contenir vos identifiants de connexion à la base de données
- le chemin vers vos clefs privées et publiques
- votre passphrase de création de clef
- php bin/console doctrine:database:create : pour créer la base de données
- php bin/console doctrine:schema:update --force : pour créer les tables
- php bin/console doctrine:fixtures:load : pour charger les fixtures
Si openssl ne fonctionne pas, tentez de lancer cette commande depuis un "gitbash".
Pour tester les routes, vous pouvez les interroger directement via postman. Par exemple :
- https://127.0.0.1:8000/api/login_check : pour se logger
- https://127.0.0.1:8000/api/books : pour récuperer la liste des livres
Vous pouvez également utiliser la documentation via Nelmio :
Vous pouvez également utiliser API Platform :
Chaque branche du projet correspond à un chapitre du cours. En cas de soucis, référez-vous au cours d'Openclassrooms.
Bonne chance !