Développement Moderne avec ApiPlatform (Symfony) et React
Acheter maintenant
En savoir plus
Introduction
Qu'est-ce qu'une API ?!
Rappels utiles sur HTTP
Qu'est ce que l'architecture REST ?
Pourquoi utiliser API Platform ?
Ce que vous allez découvrir dans cett...
Les outils nécessaires pour suivre ce...
Mettre en place VSCode pour travailler !
Voir ou revoir les bases de React ava...
Symfony 4 #01 - Mise en place de l'application
Introduction
Création d'une application Symfony 4 ...
Mise en place des Clients : l'entité ...
Mise en place des Factures : l'entité...
Fixtures : Créer un jeu de fausses do...
Ajout d'un champ `chrono` sur l'entit...
Mise en place du système d'authentifi...
Fixtures : de faux utilisateurs dans ...
Fixtures : Gérer les chronos et la sé...
Conclusion et versionning du code ave...
ApiPlatform #01 : Mise en place et découverte
Introduction de la section
Installer le composant API Platform s...
Création de notre première Ressource ...
Présentation du logiciel PostMan pour...
Le modèle de maturité de Richardson
Découverte du format JSON-LD : JSON L...
Le concept d'IRI (adresses uniques) d...
Le fichier de configuration d'API Pla...
Gestion de la pagination par défaut s...
Surcharger la configuration pour une ...
Configurer le nombre d'éléments avec ...
Surcharger la configuration dans une ...
Résumé : les 3 niveaux de configurati...
Donner un ordre par défaut à nos résu...
SearchFilter : permettre une recherch...
OrderFilter : permettre d'ordonner (t...
Cumuler les Filtres sur une ressource
Appliquer un filtre sur une propriété...
Conclusion de la section
Exercices et mise en pratique
EXERCICE #01 - Bootstraper une API
EXERCICE #01 - Correction
EXERCICE #02 - Pagination et ordre
EXERCICE #02 - Correction
EXERCICE #03 - Filtrage de recherche
EXERCICE #03 - Correction
ApiPlatform #02 : comprendre la sérialisation et la désérialisation
Introduction de la section
Comprendre les concepts de Sérialisat...
Appliquer un groupe de sérialisation ...
Appliquer un groupe de sérialisation ...
Gérer la sérialisation des ressources...
Le problème des boucles infinies lors...
Extraction des données liées au Customer
Le concept de champs calculés
ApiPlatform #02 : Un petit Quiz ? 💪😉
ApiPlatform #03 - Les opérations possibles sur notre API REST
Introduction de la section
Les 5 opérations de base sur les coll...
Activer / Désactiver des opérations s...
Configurer une opération
Le concept de sous-ressource (SubReso...
Configurer une sous-ressource
Sous-ressource et groupes de sérialis...
Créer ses propres opérations
ApiPlatform #03 : Un petit Quiz ? 💪😉
ApiPlatform #04 - Validation des données
Introduction de la section
Validation lors de la création / modi...
Validation simple lors de la création...
Validation de l'Invoice : le problème...
Création d'un normalizer personnalisé...
Validation lors de la création / modi...
Conclusion et versionning du code ave...
ApiPlatform #05 - Authentification avec JSON Web Token (JWT)
Introduction de la section
Installation du bundle LexikJwtAuthen...
Sécurisation des ressources pour notr...
Utiliser les ACL pour cibler précisém...
Conclusion et versionning du code ave...
ApiPlatform #06 - Intervenir aux moments clés grâce aux événements du Kernel
Introduction de la section
Mise à jour Symfony 5
Comprendre le cycle de vie d'une Requ...
Intervenir sur la création d'un User ...
Intervenir sur la création d'un Custo...
Intervenir sur la création d'une Invo...
Intervenir sur la création du JWT pou...
Extensions de Doctrine : modifier les...
Extension de Doctrine : ajout du cas ...
Conclusion et versionning du code ave...
React #01 - Mise en place
Introduction de la section
Installation de Webpack Encore
Découverte de la configuration de Web...
Découverte des différents scripts de ...
Création de la page d'accueil de notr...
Inclure les liens vers les fichiers c...
Installation de React et des dépendances
Branchement de l'application React à ...
React #02 - Listings et routage
Introduction de la section
Création de la page d'accueil et de l...
Mise en place du routage avec React R...
Création de la page de liste des Cust...
Appel HTTP vers notre API pour récupé...
Permettre la suppression d'un Customer
Suppression : l'approche optimiste et...
Mise en place d'une pagination sur la...
Refactorisation dans un composant de ...
Paginer les données grâce à ApiPlatform
Permettre de rechercher un Customer
Refactorisation de la page des Customers
Création de la page de liste des Invo...
Conclusion et versionning du code ave...
React #03 - Authentification JWT
Création du formulaire de connexion
Connexion et récupération du JWT aupr...
Refactorisation du formulaire de conn...
Permettre à l'utilisateur de se décon...
Mise en place des véritables liens da...
Charger le JWT dès le démarrage de l'...
Donner de la réactivité lors de la co...
Prendre en compte l'état de l'authent...
Naviguer automatiquement après une co...
Créer des routes protégées et inacces...
Refactoriser notre application en uti...
Refactoriser le fichier app.js et cré...
Conclusion et versionning du code ave...
React #04 - Formulaires
Création d'un composant <Field /> pou...
Customer : mise en place du formulaire
Customer : validation et erreurs
Customer : gérer la modification d'un...
Naviguer après la sauvegarde d'un nou...
Customer : refactrisation du code
Invoice : mise en place du formulaire
Invoice : création d'un composant <Se...
Invoice : validation et erreurs
Invoice : gérer la modification d'une...
Invoice : refactorisation du code
Register : création du formulaire d'i...
Conclusion et versionning du code ave...
React #05 - Ergonomie et réactivité
Afficher des notifications ultra cool...
Créer des écrans de chargement avec R...
Ajouter les derniers liens manquants ...
Conclusion et versionning du code ave...
React #06 - Dernières retouches avant mise en production
BONUS : On expérimente un cache pour ...
Centraliser la configuration dans un ...
Conclusion et versionning du code ave...
Déploiement
Introduction de la section
Injecter des variables d'environnemen...
Découverte de Heroku
Heroku : associer notre dépôt GitHub
Heroku : Ajouter un addon pour MySQL
Heroku : Gérer la configuration
Heroku : Récupérer les logs de l'appl...
Heroku : premier déploiement, premier...
Heroku : correction du bug et redéplo...
OVH : Mise en place
OVH : Installer composer sur notre mu...
OVH : Génération de l'application Rea...
OVH : Repositionner ses variables d'e...
Programmes
Cours
Section
Cours
OVH : Installer composer sur notre mutualisé
OVH : Installer composer sur notre mutualisé
Développement Moderne avec ApiPlatform (Symfony) et React
Acheter maintenant
En savoir plus
Introduction
Qu'est-ce qu'une API ?!
Rappels utiles sur HTTP
Qu'est ce que l'architecture REST ?
Pourquoi utiliser API Platform ?
Ce que vous allez découvrir dans cett...
Les outils nécessaires pour suivre ce...
Mettre en place VSCode pour travailler !
Voir ou revoir les bases de React ava...
Symfony 4 #01 - Mise en place de l'application
Introduction
Création d'une application Symfony 4 ...
Mise en place des Clients : l'entité ...
Mise en place des Factures : l'entité...
Fixtures : Créer un jeu de fausses do...
Ajout d'un champ `chrono` sur l'entit...
Mise en place du système d'authentifi...
Fixtures : de faux utilisateurs dans ...
Fixtures : Gérer les chronos et la sé...
Conclusion et versionning du code ave...
ApiPlatform #01 : Mise en place et découverte
Introduction de la section
Installer le composant API Platform s...
Création de notre première Ressource ...
Présentation du logiciel PostMan pour...
Le modèle de maturité de Richardson
Découverte du format JSON-LD : JSON L...
Le concept d'IRI (adresses uniques) d...
Le fichier de configuration d'API Pla...
Gestion de la pagination par défaut s...
Surcharger la configuration pour une ...
Configurer le nombre d'éléments avec ...
Surcharger la configuration dans une ...
Résumé : les 3 niveaux de configurati...
Donner un ordre par défaut à nos résu...
SearchFilter : permettre une recherch...
OrderFilter : permettre d'ordonner (t...
Cumuler les Filtres sur une ressource
Appliquer un filtre sur une propriété...
Conclusion de la section
Exercices et mise en pratique
EXERCICE #01 - Bootstraper une API
EXERCICE #01 - Correction
EXERCICE #02 - Pagination et ordre
EXERCICE #02 - Correction
EXERCICE #03 - Filtrage de recherche
EXERCICE #03 - Correction
ApiPlatform #02 : comprendre la sérialisation et la désérialisation
Introduction de la section
Comprendre les concepts de Sérialisat...
Appliquer un groupe de sérialisation ...
Appliquer un groupe de sérialisation ...
Gérer la sérialisation des ressources...
Le problème des boucles infinies lors...
Extraction des données liées au Customer
Le concept de champs calculés
ApiPlatform #02 : Un petit Quiz ? 💪😉
ApiPlatform #03 - Les opérations possibles sur notre API REST
Introduction de la section
Les 5 opérations de base sur les coll...
Activer / Désactiver des opérations s...
Configurer une opération
Le concept de sous-ressource (SubReso...
Configurer une sous-ressource
Sous-ressource et groupes de sérialis...
Créer ses propres opérations
ApiPlatform #03 : Un petit Quiz ? 💪😉
ApiPlatform #04 - Validation des données
Introduction de la section
Validation lors de la création / modi...
Validation simple lors de la création...
Validation de l'Invoice : le problème...
Création d'un normalizer personnalisé...
Validation lors de la création / modi...
Conclusion et versionning du code ave...
ApiPlatform #05 - Authentification avec JSON Web Token (JWT)
Introduction de la section
Installation du bundle LexikJwtAuthen...
Sécurisation des ressources pour notr...
Utiliser les ACL pour cibler précisém...
Conclusion et versionning du code ave...
ApiPlatform #06 - Intervenir aux moments clés grâce aux événements du Kernel
Introduction de la section
Mise à jour Symfony 5
Comprendre le cycle de vie d'une Requ...
Intervenir sur la création d'un User ...
Intervenir sur la création d'un Custo...
Intervenir sur la création d'une Invo...
Intervenir sur la création du JWT pou...
Extensions de Doctrine : modifier les...
Extension de Doctrine : ajout du cas ...
Conclusion et versionning du code ave...
React #01 - Mise en place
Introduction de la section
Installation de Webpack Encore
Découverte de la configuration de Web...
Découverte des différents scripts de ...
Création de la page d'accueil de notr...
Inclure les liens vers les fichiers c...
Installation de React et des dépendances
Branchement de l'application React à ...
React #02 - Listings et routage
Introduction de la section
Création de la page d'accueil et de l...
Mise en place du routage avec React R...
Création de la page de liste des Cust...
Appel HTTP vers notre API pour récupé...
Permettre la suppression d'un Customer
Suppression : l'approche optimiste et...
Mise en place d'une pagination sur la...
Refactorisation dans un composant de ...
Paginer les données grâce à ApiPlatform
Permettre de rechercher un Customer
Refactorisation de la page des Customers
Création de la page de liste des Invo...
Conclusion et versionning du code ave...
React #03 - Authentification JWT
Création du formulaire de connexion
Connexion et récupération du JWT aupr...
Refactorisation du formulaire de conn...
Permettre à l'utilisateur de se décon...
Mise en place des véritables liens da...
Charger le JWT dès le démarrage de l'...
Donner de la réactivité lors de la co...
Prendre en compte l'état de l'authent...
Naviguer automatiquement après une co...
Créer des routes protégées et inacces...
Refactoriser notre application en uti...
Refactoriser le fichier app.js et cré...
Conclusion et versionning du code ave...
React #04 - Formulaires
Création d'un composant <Field /> pou...
Customer : mise en place du formulaire
Customer : validation et erreurs
Customer : gérer la modification d'un...
Naviguer après la sauvegarde d'un nou...
Customer : refactrisation du code
Invoice : mise en place du formulaire
Invoice : création d'un composant <Se...
Invoice : validation et erreurs
Invoice : gérer la modification d'une...
Invoice : refactorisation du code
Register : création du formulaire d'i...
Conclusion et versionning du code ave...
React #05 - Ergonomie et réactivité
Afficher des notifications ultra cool...
Créer des écrans de chargement avec R...
Ajouter les derniers liens manquants ...
Conclusion et versionning du code ave...
React #06 - Dernières retouches avant mise en production
BONUS : On expérimente un cache pour ...
Centraliser la configuration dans un ...
Conclusion et versionning du code ave...
Déploiement
Introduction de la section
Injecter des variables d'environnemen...
Découverte de Heroku
Heroku : associer notre dépôt GitHub
Heroku : Ajouter un addon pour MySQL
Heroku : Gérer la configuration
Heroku : Récupérer les logs de l'appl...
Heroku : premier déploiement, premier...
Heroku : correction du bug et redéplo...
OVH : Mise en place
OVH : Installer composer sur notre mu...
OVH : Génération de l'application Rea...
OVH : Repositionner ses variables d'e...
Leçon indisponible
Veuillez
Vous connecter à votre compte
ou
Acheter le cours
.