7709361-API-REST-Symfony

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 :

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 !