Symfony 5 création API RESTFull - Exemple d'un blog
Devenez pro en production d'api RESTFull avec Symfony 5
Description
Symfony est un ensemble de composants PHP ainsi qu'un framework MVC libre écrit en PHP. Il fournit des fonctionnalités modulables et adaptables qui permettent de faciliter et d’accélérer le développement d'un site web.
La programmation orientée objet (POO), ou programmation par objet, est un paradigme de programmation informatique. Elle consiste en la définition et l'interaction de briques logicielles appelées objets ; un objet représente un concept, une idée ou toute entité du monde physique, comme une voiture, une personne ou encore une page d'un livre. Il possède une structure interne et un comportement, et il sait interagir avec ses pairs. Il s'agit donc de représenter ces objets et leurs relations ; l'interaction entre les objets via leurs relations permet de concevoir et réaliser les fonctionnalités attendues, de mieux résoudre le ou les problèmes. Dès lors, l'étape de modélisation revêt une importance majeure et nécessaire pour la POO. C'est elle qui permet de transcrire les éléments du réel sous forme virtuelle.
PHP: Hypertext Preprocessor 23, plus connu sous son sigle PHP (sigle auto-référentiel), est un langage de programmation libre24, principalement utilisé pour produire des pages Web dynamiques via un serveur HTTP23, mais pouvant également fonctionner comme n'importe quel langage interprété de façon locale. PHP est un langage impératif orienté objet.
PHP a permis de créer un grand nombre de sites web célèbres, comme Facebook et Wikipédia25. Il est considéré comme une des bases de la création de sites web dits dynamiques mais également des applications web.
Pré-requis de base
Etre développeur d’application
Avoir faire ou avoir des bases en Php ou en tout autre langage de procréation orienté objet
Avoir le niveau basique en développement
Pré-requis spécifiques
Un ordinateur portable
Une connexion internet
Pré-requis du framework
Un éditeur de code source pour Php (PhpStorm - Visual studio code - Autre …)
Un navigateur (Google Chrome - Firefox - Safari - Edge - autre….)
Composer (Gestionnaire de dépendances Php)
Serveur d’application
Windows —> Xampp
MacOs. —> Mamp server
Linux —> Lamp
Le binaire de symfony (Disponible sur le site web de symfony)
Terminal Céder (Si vous êtes sur Windows) - Facultatif
Git (Gestion de versioning de votre code source) - Facultatif
A- Creation du projet
B- Ouverture du code source pour en comprendre le contenu
C- Creation d’un controller
E- Creer nos différences entités (API gère des fonctionnalités d’un blog.)
Définir le système (Schema de la base de données)
TUser
Username
Firstname
Lastname
Date inscription
Age
fk_pays
TCategorie d’article
Titre
Description
Date d’ajout de la catégorie
TArticle
Title
Description
Date de publication
fk_categorie (Plusieurs a plusieurs)
fk_User
TCommentaire
fk_user
fk_article
Commentaire
Date de publication
TPays
Nom
Description
Date d’ajout
What You Will Learn!
- PHP 7.4 Orienté objet
- Installation de Symfony 5
- Création d'un projet Symfony 5
- Création d'API REStFull avec Symfony 5
- Configuration du composant Security de Symfony 5
- Création des Entity à partir d'un MCD & génération des tables dans MySQL
- Structure des packages (dossiers), classes et fichiers pour un API REST
- Création et manipulation des controllers dans Symfony 5
- Configuration de JWT pour la sécurité des endpoints de l'API RestFull
- Système d'authentification JWT d'une API RestFull
- Système de création de compte via une API RestFull
- Faire la différence entre des endpoints qui nécessite un token et ceux qui n'en ont pas besoin
- Notion des verbes Http (GET, POST, PUT, DELETE, HEAD)
- Utilisation d'Insomnia pour tester des Endpoints
- Manipulation de Git pour le versioning de son code source
Who Should Attend!
- Informaticiens
- Développeurs PHP débutants
- Etudiants en informatique