Symfony 5 : Le guide complet
par
Lior Chamla
Se connecter
Accéder pour 100 €
Commandes : Doctrine et ManyToMany (1 heure et 45 minutes)
Commandes : Doctrine et ManyToMany (1 heure et 45 minutes)
📖 Introduction
2 min
Accéder
Créer l'entité Purchase (commande)
14 min
Accéder
Afficher la liste des commandes d'un utilisateur
15 min
Accéder
Ajouter une date de commande et gérer les problèmes de migration
6 min
Accéder
Relation ManyToMany entre Purchase et Product
9 min
Accéder
Refactoring de la liste de commandes
4 min
Accéder
Créer une ManyToMany avec des informations supplémentaires
17 min
Accéder
📖 Premier récapitulatif
2 min
Accéder
Formulaire de commande
8 min
Accéder
Le Controller qui va gérer le formulaire (1/2)
14 min
Accéder
Le Controller qui va gérer le formulaire (2/2)
11 min
Accéder
Refactoring du Controller
6 min
Accéder
Finaliser le processus de commande
5 min
Accéder
Versionning avec Git
2 min
Accéder
📖 Conclusion
2 min
Accéder
Refactoring : créer une classe pour persister la Purchase
7 min
Aperçu
Sommaire
Symfony 5 : Le guide complet
par
Lior Chamla
ui-24px-outline-1_lock
A propos de cette formation (15 minutes)
A propos de cette formation (15 minutes)
Draft
Présentation de la formation
Draft
Présentation de la formation
Draft
Ce que l'on va faire ensemble 😊
Draft
Ce que l'on va faire ensemble 😊
Draft
Mise en place de VSCode
Draft
Mise en place de VSCode
Draft
Les outils nécessaires (PHP 7.2, Composer, Git ...)
Draft
Les outils nécessaires (PHP 7.2, Composer, Git ...)
Draft
Rendre PHP disponible dans la CMD de Windows
Draft
Rendre PHP disponible dans la CMD de Windows
Draft
La CLI (ligne de commande) Symfony
Draft
La CLI (ligne de commande) Symfony
Draft
Tirer profit au mieux de cette formation
Draft
Tirer profit au mieux de cette formation
Draft
Jouer les vidéos automatiquement (autoplay)
Draft
Jouer les vidéos automatiquement (autoplay)
ui-24px-outline-1_lock
Rafraichissement : le PHP de nos jours (30 minutes)
Rafraichissement : le PHP de nos jours (30 minutes)
Draft
Le serveur interne de PHP
Draft
Le serveur interne de PHP
Draft
L'autoloading (chargement automatique des classes)
Draft
L'autoloading (chargement automatique des classes)
Draft
Composer et l'autoloading
Draft
Composer et l'autoloading
Draft
📖 Composer et les bibliothèques tierces
Draft
📖 Composer et les bibliothèques tierces
Draft
Installer des bibliothèques tierces avec Composer
Draft
Installer des bibliothèques tierces avec Composer
Draft
📖 PHP moderne : Récapitulatif
Draft
📖 PHP moderne : Récapitulatif
Draft
Rafraichissement : le PHP de nos jours (30 minutes): Quiz
Draft
Rafraichissement : le PHP de nos jours (30 minutes): Quiz
Draft
📖 Les commandes du développement moderne avec PHP
Draft
📖 Les commandes du développement moderne avec PHP
ui-24px-outline-1_lock
Présentation du framework Symfony (20 minutes)
Présentation du framework Symfony (20 minutes)
Draft
📖 Qu'est-ce qu'un Framework au fait ?
Draft
📖 Qu'est-ce qu'un Framework au fait ?
Draft
📖 Présentation du projet Symfony
Draft
📖 Présentation du projet Symfony
Draft
📖 L'architecture MVC dans le web, et avec Symfony 5
Draft
📖 L'architecture MVC dans le web, et avec Symfony 5
Draft
📖 Une spécificité de Symfony : La modularité
Draft
📖 Une spécificité de Symfony : La modularité
Draft
Créons notre application Symfony 5.1 !
Draft
Créons notre application Symfony 5.1 !
Draft
Lancer le serveur avec la commande `symfony serve`
Draft
Lancer le serveur avec la commande `symfony serve`
Draft
📖 Les commandes à connaître quand on débute avec la CLI de Symfony
Draft
📖 Les commandes à connaître quand on débute avec la CLI de Symfony
ui-24px-outline-1_lock
Les bases de Symfony : HttpFoundation et Routing (45 minutes)
Les bases de Symfony : HttpFoundation et Routing (45 minutes)
Draft
Premières pages : les Routes et les Controllers
Draft
Premières pages : les Routes et les Controllers
Draft
HttpFoundation : Requête et Réponse HTTP !
Draft
HttpFoundation : Requête et Réponse HTTP !
Draft
Routes paramétrables : valeurs par défaut et contraintes
Draft
Routes paramétrables : valeurs par défaut et contraintes
Draft
Contraintes de Routes
Draft
Contraintes de Routes
Draft
Configuration des Routes et fichiers YAML
Draft
Configuration des Routes et fichiers YAML
Draft
Configurer les routes sous forme d'Annotations (@Route)
Draft
Configurer les routes sous forme d'Annotations (@Route)
Draft
Symfony Flex : booster Composer et le rendre Surpuissant !
Draft
Symfony Flex : booster Composer et le rendre Surpuissant !
Draft
Routes, Controllers, HttpFoundation : Récapitulatif
Draft
Routes, Controllers, HttpFoundation : Récapitulatif
Draft
Exercice : créez une page Hello World
Draft
Exercice : créez une page Hello World
Draft
Correction : créez une page Hello World
Draft
Correction : créez une page Hello World
Draft
Les bases de Symfony : HttpFoundation et Routing (45 minutes): Quiz
Draft
Les bases de Symfony : HttpFoundation et Routing (45 minutes): Quiz
Draft
📖 Fiche de révision : Routing, Controller et HttpFoundation
Draft
📖 Fiche de révision : Routing, Controller et HttpFoundation
ui-24px-outline-1_lock
Les bases de Symfony : Le container de services (50 minutes)
Les bases de Symfony : Le container de services (50 minutes)
Draft
Introduction au container de services de Symfony
Draft
Introduction au container de services de Symfony
Draft
Créez vos propres services !
Draft
Créez vos propres services !
Draft
📖 Comprendre le Container de Services de Symfony
Draft
📖 Comprendre le Container de Services de Symfony
Draft
Voir le Container de Services à l'oeuvre !
Draft
Voir le Container de Services à l'oeuvre !
Draft
Les limites du Container : configuration des services
Draft
Les limites du Container : configuration des services
Draft
Utilisez des bibliothèques tierces avec le Container
Draft
Utilisez des bibliothèques tierces avec le Container
Draft
📖 La différence entre une bibliothèque et un Bundle Symfony
Draft
📖 La différence entre une bibliothèque et un Bundle Symfony
Draft
📖 Container de Services : Récapitulatif
Draft
📖 Container de Services : Récapitulatif
Draft
📖 Interlude : l'ArgumentResolver dans Symfony
Draft
📖 Interlude : l'ArgumentResolver dans Symfony
Draft
Exercice #01 : Créez un service "Detector"
Draft
Exercice #01 : Créez un service "Detector"
Draft
Correction #01 : Créez un service "Detector"
Draft
Correction #01 : Créez un service "Detector"
Draft
Exercice #02 : Configuration d'un seuil de TVA
Draft
Exercice #02 : Configuration d'un seuil de TVA
Draft
Correction #02 : Configuration d'un seuil de TVA
Draft
Correction #02 : Configuration d'un seuil de TVA
Draft
Les bases de Symfony : Le container de services (50 minutes): Quiz
Draft
Les bases de Symfony : Le container de services (50 minutes): Quiz
ui-24px-outline-1_lock
A la découverte de Twig ! (65 minutes)
A la découverte de Twig ! (65 minutes)
Draft
📖 Introduction à Twig !
Draft
📖 Introduction à Twig !
Draft
Notre premier template Twig
Draft
Notre premier template Twig
Draft
Twig : Les tags et les filtres
Draft
Twig : Les tags et les filtres
Draft
Exercice #01 : Boucle for et if
Draft
Exercice #01 : Boucle for et if
Draft
Correction #01 : Boucle for et if
Draft
Correction #01 : Boucle for et if
Draft
Twig : Exploiter des tableaux associatifs ou des objets
Draft
Twig : Exploiter des tableaux associatifs ou des objets
Draft
Twig : Héritage de templates et système de blocks
Draft
Twig : Héritage de templates et système de blocks
Draft
Twig : Inclusions de templates
Draft
Twig : Inclusions de templates
Draft
👌 Bonnes pratiques : créons une fonction render()
Draft
👌 Bonnes pratiques : créons une fonction render()
Draft
Découverte de la classe AbstractController
Draft
Découverte de la classe AbstractController
Draft
Twig : créons ensemble la page d'accueil du site
Draft
Twig : créons ensemble la page d'accueil du site
Draft
Twig : créons une barre de navigation
Draft
Twig : créons une barre de navigation
Draft
Twig : Récapitulatif
Draft
Twig : Récapitulatif
Draft
A la découverte de Twig ! (65 minutes): Quiz
Draft
A la découverte de Twig ! (65 minutes): Quiz
ui-24px-outline-1_lock
Doctrine et les bases de données (1 heure 35 minutes)
Doctrine et les bases de données (1 heure 35 minutes)
Draft
📖 Introduction à Doctrine
Draft
📖 Introduction à Doctrine
Draft
Doctrine : Installation du Bundle (donc des services 😉)
Draft
Doctrine : Installation du Bundle (donc des services 😉)
Draft
📖 Introduction au système de Migrations
Draft
📖 Introduction au système de Migrations
Draft
Création de la base de données
Draft
Création de la base de données
Draft
Créer une entité Product et la migration qui va avec
Draft
Créer une entité Product et la migration qui va avec
Draft
Découverte d'un Repository Doctrine
Draft
Découverte d'un Repository Doctrine
Draft
Manipuler des enregistrements avec le Manager de Doctrine
Draft
Manipuler des enregistrements avec le Manager de Doctrine
Draft
Exercice #01 : Créez une entité Category
Draft
Exercice #01 : Créez une entité Category
Draft
Correction #01 : Créez une entité Category
Draft
Correction #01 : Créez une entité Category
Draft
Travailler et naviguer dans les migrations
Draft
Travailler et naviguer dans les migrations
Draft
📖 Doctrine : Premier récapitulatif
Draft
📖 Doctrine : Premier récapitulatif
Draft
Créer des jeux de fausses données avec les Fixtures
Draft
Créer des jeux de fausses données avec les Fixtures
Draft
Attention : mise à jour concernant Faker
Draft
Attention : mise à jour concernant Faker
Draft
Utiliser Faker pour plus de réalisme dans nos données
Draft
Utiliser Faker pour plus de réalisme dans nos données
Draft
Enrichir Faker pour plus de réalisme encore
Draft
Enrichir Faker pour plus de réalisme encore
Draft
Créer de véritables Slugs avec le composant String
Draft
Créer de véritables Slugs avec le composant String
Draft
📖 Doctrine : Deuxième récapitulatif
Draft
📖 Doctrine : Deuxième récapitulatif
Draft
Créer une association entre Product et Category
Draft
Créer une association entre Product et Category
Draft
Ajouter un champ dans l'entité Product
Draft
Ajouter un champ dans l'entité Product
Draft
Utiliser nos entités dans un template Twig
Draft
Utiliser nos entités dans un template Twig
Draft
📖 Doctrine : Dernier récapitulatif
Draft
📖 Doctrine : Dernier récapitulatif
Draft
Doctrine et les bases de données (1 heure 35 minutes): Quiz
Draft
Doctrine et les bases de données (1 heure 35 minutes): Quiz
ui-24px-outline-1_lock
Symfony 5 et le Debug Pack (9 minutes)
Symfony 5 et le Debug Pack (9 minutes)
Draft
Débugger dans Symfony avec le Debug Pack !
Draft
Débugger dans Symfony avec le Debug Pack !
ui-24px-outline-1_lock
Twig : aller plus loin (35 minutes)
Twig : aller plus loin (35 minutes)
Draft
Créer la page d'une Category avec ses Products
Draft
Créer la page d'une Category avec ses Products
Draft
Créer la page d'un Product
Draft
Créer la page d'un Product
Draft
Ajouter un fil d'Ariane (Breadcrumb) sur nos pages
Draft
Ajouter un fil d'Ariane (Breadcrumb) sur nos pages
Draft
Routes "statiques" : le problème des URLs écrites en dur
Draft
Routes "statiques" : le problème des URLs écrites en dur
Draft
👌 Génération des URLs avec l'UrlGenerator et la fonction path()
Draft
👌 Génération des URLs avec l'UrlGenerator et la fonction path()
Draft
📖 Récapitulatif
Draft
📖 Récapitulatif
Draft
Twig : aller plus loin (35 minutes): Quiz
Draft
Twig : aller plus loin (35 minutes): Quiz
ui-24px-outline-1_lock
Les formulaires dans Symfony 5 (1 heure 50 minutes)
Les formulaires dans Symfony 5 (1 heure 50 minutes)
Draft
📖 Introduction aux formulaires avec Symfony
Draft
📖 Introduction aux formulaires avec Symfony
Draft
Installer le composant symfony/form
Draft
Installer le composant symfony/form
Draft
Créer la page qui accueillera le formulaire de création d'un produit
Draft
Créer la page qui accueillera le formulaire de création d'un produit
Draft
Configurer un formulaire avec le FormBuilder
Draft
Configurer un formulaire avec le FormBuilder
Draft
Configurer les champs du formulaire
Draft
Configurer les champs du formulaire
Draft
Remplir un ChoiceType avec les données de la base
Draft
Remplir un ChoiceType avec les données de la base
Draft
Utiliser les champs EntityType pour afficher les données de la base
Draft
Utiliser les champs EntityType pour afficher les données de la base
Draft
Twig : Les fonctions de rendu pour les formulaires
Draft
Twig : Les fonctions de rendu pour les formulaires
Draft
Twig : Découverte des thèmes de formulaires
Draft
Twig : Découverte des thèmes de formulaires
Draft
Twig : Les thèmes de formulaires livrés avec Symfony
Draft
Twig : Les thèmes de formulaires livrés avec Symfony
Draft
📖 Formulaires : Premier récapitulatif
Draft
📖 Formulaires : Premier récapitulatif
Draft
Soumission du formulaire et récupération des données
Draft
Soumission du formulaire et récupération des données
Draft
Récupérer les données sous la forme d'un objet précis (data_class)
Draft
Récupérer les données sous la forme d'un objet précis (data_class)
Draft
Faire persister une entité issue d'un formulaire
Draft
Faire persister une entité issue d'un formulaire
Draft
👌 Créer une classe de formulaire
Draft
👌 Créer une classe de formulaire
Draft
Form : les raccourcis offerts par l'AbstractController
Draft
Form : les raccourcis offerts par l'AbstractController
Draft
Créer un formulaire de modification
Draft
Créer un formulaire de modification
Draft
Créer une Redirection après la soumission d'un formulaire
Draft
Créer une Redirection après la soumission d'un formulaire
Draft
📖 Formulaires : Deuxième récapitulatif
Draft
📖 Formulaires : Deuxième récapitulatif
Draft
Exercice #01 : Créez un CategoryController avec deux Routes
Draft
Exercice #01 : Créez un CategoryController avec deux Routes
Draft
Correction #01 : Créez un CategoryController avec deux Routes
Draft
Correction #01 : Créez un CategoryController avec deux Routes
Draft
Exercice #02 : Créez le formulaire de création d'une catégorie
Draft
Exercice #02 : Créez le formulaire de création d'une catégorie
Draft
Correction #02 : Créez le formulaire de création d'une catégorie
Draft
Correction #02 : Créez le formulaire de création d'une catégorie
Draft
Exercice #03 : Créez le formulaire de modification d'une catégorie
Draft
Exercice #03 : Créez le formulaire de modification d'une catégorie
Draft
Correction #03 : Créez le formulaire de modification d'une catégorie
Draft
Correction #03 : Créez le formulaire de modification d'une catégorie
Draft
Les formulaires dans Symfony 5 (1 heure 50 minutes): Quiz
Draft
Les formulaires dans Symfony 5 (1 heure 50 minutes): Quiz
ui-24px-outline-1_lock
Aller plus loin avec le composant Form de Symfony (45 minutes)
Aller plus loin avec le composant Form de Symfony (45 minutes)
Draft
📖 Le cycle de vie d'un Formulaire
Draft
📖 Le cycle de vie d'un Formulaire
Draft
Réagir aux événements lancés par le formulaire
Draft
Réagir aux événements lancés par le formulaire
Draft
Transformer les données d'un formulaire grâce aux événements
Draft
Transformer les données d'un formulaire grâce aux événements
Draft
Transformer des données avec un DataTransformer
Draft
Transformer des données avec un DataTransformer
Draft
DataTransformer : factoriser le code dans une classe !
Draft
DataTransformer : factoriser le code dans une classe !
Draft
Créer ses propres types de champs !
Draft
Créer ses propres types de champs !
Draft
📖 Récapitulatif
Draft
📖 Récapitulatif
Draft
Versionning avec Git
Draft
Versionning avec Git
Draft
Aller plus loin avec le composant Form de Symfony (45 minutes): Quiz
Draft
Aller plus loin avec le composant Form de Symfony (45 minutes): Quiz
ui-24px-outline-1_lock
Validation des données (1 heure et 5 minutes)
Validation des données (1 heure et 5 minutes)
Draft
Introduction à la validation des données avec Symfony
Draft
Introduction à la validation des données avec Symfony
Draft
📖 Notions de base sur le composant Validator
Draft
📖 Notions de base sur le composant Validator
Draft
Validation de données simples (scalaires)
Draft
Validation de données simples (scalaires)
Draft
Validation de données complexes (tableaux)
Draft
Validation de données complexes (tableaux)
Draft
Validation d'objets grâce à YAML
Draft
Validation d'objets grâce à YAML
Draft
Validation d'objets en PHP
Draft
Validation d'objets en PHP
Draft
Utiliser l'espace de noms Constraints (Assert)
Draft
Utiliser l'espace de noms Constraints (Assert)
Draft
Validation d'objets grâce aux annotations
Draft
Validation d'objets grâce aux annotations
Draft
Validation d'un formulaire
Draft
Validation d'un formulaire
Draft
Les groupes de validation
Draft
Les groupes de validation
Draft
Finitions et versionning avec Git
Draft
Finitions et versionning avec Git
Draft
Exercice : validez les catégories !
Draft
Exercice : validez les catégories !
Draft
Corrigé : validez les catégories !
Draft
Corrigé : validez les catégories !
Draft
📖 Récapitulatif
Draft
📖 Récapitulatif
Draft
Validation des données (1 heure et 5 minutes): Quiz
Draft
Validation des données (1 heure et 5 minutes): Quiz
ui-24px-outline-1_lock
Renforcement Twig : Mise en place de la navbar (16 minutes)
Renforcement Twig : Mise en place de la navbar (16 minutes)
Draft
Mise en place de la navbar : Introduction
Draft
Mise en place de la navbar : Introduction
Draft
Twig : appeler un controller directement depuis un template
Draft
Twig : appeler un controller directement depuis un template
Draft
Twig : Injecter une variable globale dans nos templates
Draft
Twig : Injecter une variable globale dans nos templates
Draft
Mettre en place les liens utilisateurs dans la navbar
Draft
Mettre en place les liens utilisateurs dans la navbar
ui-24px-outline-1_lock
La sécurité : authentification (1 heure et 40 minutes)
La sécurité : authentification (1 heure et 40 minutes)
Draft
📖 Introduction à la sécurité dans Symfony
Draft
📖 Introduction à la sécurité dans Symfony
Draft
📖 Firewalls : des régions politiques dans nos applications
Draft
📖 Firewalls : des régions politiques dans nos applications
Draft
Installation du composant Security
Draft
Installation du composant Security
Draft
L'entité User pour représenter nos utilisateurs
Draft
L'entité User pour représenter nos utilisateurs
Draft
Mise à jour des fixtures
Draft
Mise à jour des fixtures
Draft
Hasher les mots de passes pour plus de sécurité
Draft
Hasher les mots de passes pour plus de sécurité
Draft
📖 Introduction aux Authenticator de Symfony
Draft
📖 Introduction aux Authenticator de Symfony
Draft
La commande make:auth
Draft
La commande make:auth
Draft
Page de login et problèmes de routage
Draft
Page de login et problèmes de routage
Draft
Jouer avec les priorités des routes
Draft
Jouer avec les priorités des routes
Draft
Formulaire de connexion (login)
Draft
Formulaire de connexion (login)
Draft
Authenticator : la méthode supports()
Draft
Authenticator : la méthode supports()
Draft
Authenticator : compléter la procédure d'authentification
Draft
Authenticator : compléter la procédure d'authentification
Draft
Les échecs possibles pendant l'authentification
Draft
Les échecs possibles pendant l'authentification
Draft
Gérer les échecs / succès de l'authentification
Draft
Gérer les échecs / succès de l'authentification
Draft
Obtenir la raison de l'échec de l'authentification (AuthenticationUtils)
Draft
Obtenir la raison de l'échec de l'authentification (AuthenticationUtils)
Draft
Modifier les messages d'erreur
Draft
Modifier les messages d'erreur
Draft
📖 Premier récapitulatif
Draft
📖 Premier récapitulatif
Draft
L'Authenticator "form_login" livré par Symfony
Draft
L'Authenticator "form_login" livré par Symfony
Draft
Gérer la déconnexion avec l'option "logout"
Draft
Gérer la déconnexion avec l'option "logout"
Draft
Mise en forme de la barre de navigation
Draft
Mise en forme de la barre de navigation
Draft
📖 Deuxième récapitulatif
Draft
📖 Deuxième récapitulatif
Draft
Interlude : les commandes essentielles (config:dump et debug:config)
Draft
Interlude : les commandes essentielles (config:dump et debug:config)
ui-24px-outline-1_lock
La sécurité : autorisations et rôles (50 minutes)
La sécurité : autorisations et rôles (50 minutes)
Draft
📖 Introduction aux autorisations dans Symfony 5
Draft
📖 Introduction aux autorisations dans Symfony 5
Draft
La méthode "start()" de l'authenticator et les ACL
Draft
La méthode "start()" de l'authenticator et les ACL
Draft
Découverte du service Security
Draft
Découverte du service Security
Draft
Les raccourcis de l'AbstractController pour la sécurité
Draft
Les raccourcis de l'AbstractController pour la sécurité
Draft
Contrôler les accès grâce à l'annotation @IsGranted
Draft
Contrôler les accès grâce à l'annotation @IsGranted
Draft
Contrôler l'accès à un objet en particulier
Draft
Contrôler l'accès à un objet en particulier
Draft
Encapsuler la logique d'accès dans un Voter
Draft
Encapsuler la logique d'accès dans un Voter
Draft
📖 Vraiment comprendre les Voters
Draft
📖 Vraiment comprendre les Voters
Draft
Remise en place avant de passer à la suite
Draft
Remise en place avant de passer à la suite
Draft
📖 Récapitulatif sur la sécurité dans Symfony 5
Draft
📖 Récapitulatif sur la sécurité dans Symfony 5
Draft
Versionning avec Git
Draft
Versionning avec Git
ui-24px-outline-1_lock
La session dans Symfony 5 (1 heure et 30 minutes)
La session dans Symfony 5 (1 heure et 30 minutes)
Draft
Mise en place du panier et découverte de la session
Draft
Mise en place du panier et découverte de la session
Draft
Sécuriser la procédure d'ajout d'un produit au panier
Draft
Sécuriser la procédure d'ajout d'un produit au panier
Draft
Se faire "livrer" la session grâce à la SessionInterface
Draft
Se faire "livrer" la session grâce à la SessionInterface
Draft
Découverte des "bags" et du FlashBag
Draft
Découverte des "bags" et du FlashBag
Draft
Afficher les message Flash dans Twig
Draft
Afficher les message Flash dans Twig
Draft
Les raccourcis de l'AbstractController
Draft
Les raccourcis de l'AbstractController
Draft
Refactoring Twig et inclusion de templates
Draft
Refactoring Twig et inclusion de templates
Draft
Afficher l'état du panier dans une page
Draft
Afficher l'état du panier dans une page
Draft
📖 Premier récapitulatif
Draft
📖 Premier récapitulatif
Draft
Refactoring : Créer un CartService qui embarque toute la gestion du panier
Draft
Refactoring : Créer un CartService qui embarque toute la gestion du panier
Draft
Refactoring : créer une classe qui représente un élément du panier
Draft
Refactoring : créer une classe qui représente un élément du panier
Draft
Rendre le CartService disponible dans nos templates Twig
Draft
Rendre le CartService disponible dans nos templates Twig
Draft
Finalisations : incrémenter, décrémenter, supprimer les éléments du panier
Draft
Finalisations : incrémenter, décrémenter, supprimer les éléments du panier
Draft
Refactoring du CartService
Draft
Refactoring du CartService
Draft
Versionning avec Git
Draft
Versionning avec Git
Draft
📖 Conclusion
Draft
📖 Conclusion
ui-24px-outline-1_lock
Commandes : Doctrine et ManyToMany (1 heure et 45 minutes)
Commandes : Doctrine et ManyToMany (1 heure et 45 minutes)
Draft
📖 Introduction
Draft
📖 Introduction
Draft
Créer l'entité Purchase (commande)
Draft
Créer l'entité Purchase (commande)
Draft
Afficher la liste des commandes d'un utilisateur
Draft
Afficher la liste des commandes d'un utilisateur
Draft
Ajouter une date de commande et gérer les problèmes de migration
Draft
Ajouter une date de commande et gérer les problèmes de migration
Draft
Relation ManyToMany entre Purchase et Product
Draft
Relation ManyToMany entre Purchase et Product
Draft
Refactoring de la liste de commandes
Draft
Refactoring de la liste de commandes
Draft
Créer une ManyToMany avec des informations supplémentaires
Draft
Créer une ManyToMany avec des informations supplémentaires
Draft
📖 Premier récapitulatif
Draft
📖 Premier récapitulatif
Draft
Formulaire de commande
Draft
Formulaire de commande
Draft
Le Controller qui va gérer le formulaire (1/2)
Draft
Le Controller qui va gérer le formulaire (1/2)
Draft
Le Controller qui va gérer le formulaire (2/2)
Draft
Le Controller qui va gérer le formulaire (2/2)
Draft
Refactoring du Controller
Draft
Refactoring du Controller
Draft
Finaliser le processus de commande
Draft
Finaliser le processus de commande
Draft
Versionning avec Git
Draft
Versionning avec Git
Draft
📖 Conclusion
Draft
📖 Conclusion
Draft
Refactoring : créer une classe pour persister la Purchase
Draft
Refactoring : créer une classe pour persister la Purchase
ui-24px-outline-1_lock
Architecture et paiement Stripe ! (55 minutes)
Architecture et paiement Stripe ! (55 minutes)
Draft
📖 Introduction
Draft
📖 Introduction
Draft
Mise en place de la page de paiement
Draft
Mise en place de la page de paiement
Draft
Créer une intention de paiement avec Stripe
Draft
Créer une intention de paiement avec Stripe
Draft
Formulaire de carte bleue avec Stripe Elements
Draft
Formulaire de carte bleue avec Stripe Elements
Draft
Finaliser le paiement après confirmation de Stripe
Draft
Finaliser le paiement après confirmation de Stripe
Draft
Refactoring : créer un StripeService
Draft
Refactoring : créer un StripeService
Draft
Définition du StripeService dans le fichier services.yaml
Draft
Définition du StripeService dans le fichier services.yaml
Draft
Refactoring du Javascript
Draft
Refactoring du Javascript
Draft
Stocker les clés Stripes dans des variables d'environnement (.env)
Draft
Stocker les clés Stripes dans des variables d'environnement (.env)
Draft
Etudiez les Webhooks de Stripe !
Draft
Etudiez les Webhooks de Stripe !
Draft
Versionning avec Git
Draft
Versionning avec Git
Draft
📖 Conclusion
Draft
📖 Conclusion
ui-24px-outline-1_lock
Symfony et les événements (1 heure et 15 minutes)
Symfony et les événements (1 heure et 15 minutes)
Draft
Introduction aux événements dans Symfony
Draft
Introduction aux événements dans Symfony
Draft
Prérequis : passages par valeur / référence
Draft
Prérequis : passages par valeur / référence
Draft
Le design pattern Mediator
Draft
Le design pattern Mediator
Draft
Voir les événements et les réactions dans le profiler
Draft
Voir les événements et les réactions dans le profiler
Draft
Plongée dans le coeur de Symfony : le Kernel et les événements
Draft
Plongée dans le coeur de Symfony : le Kernel et les événements
Draft
Création de notre premier Listener
Draft
Création de notre premier Listener
Draft
Découverte et création de notre premier Subscriber
Draft
Découverte et création de notre premier Subscriber
Draft
Premier récapitulatif
Draft
Premier récapitulatif
Draft
Créons et propageons notre propre événement : le PurchaseEvent
Draft
Créons et propageons notre propre événement : le PurchaseEvent
Draft
Création d'un Subscriber qui enverra des emails
Draft
Création d'un Subscriber qui enverra des emails
Draft
Rappels sur les principes SOLID
Draft
Rappels sur les principes SOLID
Draft
Versionning avec Git
Draft
Versionning avec Git
Draft
Conclusion
Draft
Conclusion
Draft
Exercice : créer un événement ProductViewEvent et y réagir
Draft
Exercice : créer un événement ProductViewEvent et y réagir
Draft
Corrigé : créer un événement ProductViewEvent et y réagir
Draft
Corrigé : créer un événement ProductViewEvent et y réagir
ui-24px-outline-1_lock
Doctrine et les événements (30 minutes)
Doctrine et les événements (30 minutes)
Draft
Introduction au cycle de vie des entités
Draft
Introduction au cycle de vie des entités
Draft
Automatismes dans les entités avec les Lifecycle Callbacks
Draft
Automatismes dans les entités avec les Lifecycle Callbacks
Draft
Automatismes grâce aux Doctrine Listeners
Draft
Automatismes grâce aux Doctrine Listeners
Draft
Automatismes grâce au Entity Listeners
Draft
Automatismes grâce au Entity Listeners
Draft
Conclusion et aide à la décision
Draft
Conclusion et aide à la décision
Draft
Exercice : créer un automatisme avec Doctrine
Draft
Exercice : créer un automatisme avec Doctrine
Draft
Correction : créer un automatisme avec Doctrine
Draft
Correction : créer un automatisme avec Doctrine
Draft
Versionning avec Git
Draft
Versionning avec Git
ui-24px-outline-1_lock
Les emails avec le composant Mailer (à venir)
Les emails avec le composant Mailer (à venir)
Draft
Symfony Mailer : introduction
Draft
Symfony Mailer : introduction
Draft
Tester l'envoi des emails avec Mailtrap.io
Draft
Tester l'envoi des emails avec Mailtrap.io
Draft
Installation du composant Mailer
Draft
Installation du composant Mailer
Draft
Envoyer notre premier email !
Draft
Envoyer notre premier email !
Draft
Créer des emails en HTML via Twig et le TemplatedEmail
Draft
Créer des emails en HTML via Twig et le TemplatedEmail
Draft
Envoyer un email de confirmation lors d'une commande
Draft
Envoyer un email de confirmation lors d'une commande
Draft
Conclusion
Draft
Conclusion
Draft
Versionning avec Git
Draft
Versionning avec Git
ui-24px-outline-1_lock
Etendre Twig avec de nouveaux filtres (à venir)
Etendre Twig avec de nouveaux filtres (à venir)
Draft
Enrichir Twig : Introduction
Draft
Enrichir Twig : Introduction
Draft
Créons le filtre "amount" pour afficher des prix
Draft
Créons le filtre "amount" pour afficher des prix
Draft
Rendre le filtre amount plus intelligent grâce aux paramètres
Draft
Rendre le filtre amount plus intelligent grâce aux paramètres
Draft
Enrichir Twig : conclusion
Draft
Enrichir Twig : conclusion
Draft
Versionning avec Git
Draft
Versionning avec Git
ui-24px-outline-1_lock
Déployer Symfony 5 chez Heroku (47 minutes)
Déployer Symfony 5 chez Heroku (47 minutes)
Draft
Déploiement : introduction
Draft
Déploiement : introduction
Draft
Héberger le code sur GitHub
Draft
Héberger le code sur GitHub
Draft
Créer une application chez Heroku
Draft
Créer une application chez Heroku
Draft
Configurer Apache grâce au .htaccess et à la recette apache-pack
Draft
Configurer Apache grâce au .htaccess et à la recette apache-pack
Draft
Créer une instance de MySQL attachée à l'app Heroku
Draft
Créer une instance de MySQL attachée à l'app Heroku
Draft
Mettre en place les variables d'environnement chez Heroku
Draft
Mettre en place les variables d'environnement chez Heroku
Draft
Configurer Monolog pour voir les logs de l'application en prod
Draft
Configurer Monolog pour voir les logs de l'application en prod
Draft
Configurer les scripts pour les migrations et les fixtures
Draft
Configurer les scripts pour les migrations et les fixtures
Draft
Conclusion
Draft
Conclusion
ui-24px-outline-1_lock
Conclusion de la formation (9 minutes)
Conclusion de la formation (9 minutes)
Draft
Ouvertures et futurs apprentissages
Draft
Ouvertures et futurs apprentissages
Draft
Conclusion : bravo et merci 💕
Draft
Conclusion : bravo et merci 💕
ui-24px-outline-1_lock
Bonus : comprendre le ParamConverter de Symfony (en cours de tournage)
Bonus : comprendre le ParamConverter de Symfony (en cours de tournage)
Draft
Tournage en cours
Draft
Tournage en cours
ui-24px-outline-1_lock
Bonus : faire de l'upload de fichier dans un formulaire (en cours de tournage)
Bonus : faire de l'upload de fichier dans un formulaire (en cours de tournage)
Draft
Tournage en cours
Draft
Tournage en cours
Bienvenue!
Entrez vos informations ci-dessous pour vous connecter.
Votre email
Mot de passe
Se connecter
Mot de passe oublié ?