19- Symfony 4 les fondamentaux par la pratique
Petit descriptif:
Pas de description du cours
La section FAQ est vide
1. Création d'un dépôt Git sur la plateforme GitHub ..code
00:30:0010. Heroku mise en place de la base de données et mises à jour
00:30:002. Découverte du fichier .gitignore et des fichiers ignorés
00:30:003. Hébergement Mutualisé introduction
00:30:004. Générer le fichier .htaccess avec le pack symfonyapache-pack
00:30:005. Hébergement Mutualisé mise en ligne avec accès SSH
00:30:006. Hébergement Mutualisé mise en ligne sans SSH
00:30:007. Hébergement Mutualisé faire des mises à jour sans SSH
00:30:008. Hébergement Mutualisé faire des mises à jour avec SSH
00:30:009. Heroku mise en place de l'application et lien avec GitHub
00:30:001. Créons notre projet Symfony 4 avec la CLI
00:30:0010. Comprendre Twig les filtres
00:30:0011. Routes paramétrées & routes multiples des adresses dynamique porteuses de sens
00:30:0012. Comprendre Twig générer une URL avec la fonction path()
00:30:0013. Comprendre Twig l'héritage de gabarit (extends)
00:30:0014. Mise en place d'un thème Bootstrap
00:30:0015. Mise en place de la barre de navigation
00:30:0016. Mise en place finale de la page d'accueil de notre application
00:30:0017. Versionning de notre avancement avec GIT
00:30:002. Découverte de la structure d'une application Symfony 4
00:30:003. Introduction le concept de Controller au sein d'une application Symfony 4
00:30:004. Créons notre premier Controller le HomeController
00:30:005. Séparer les traitements et l'affichage grâce à Twig
00:30:006. Les avantages du langage de templating Twig
00:30:007. Comprendre Twig L'interpolation (afficher une variable)
00:30:008. Comprendre Twig les structures de contrôle (conditions et boucles)
00:30:009. Comprendre Twig les commentaires
00:30:001. Introduction la relation aux bases de données avec Symfony et Doctrine
00:30:0010. Comprendre Doctrine les relations entre Entités avec l'Entité Image
00:30:0011. Enrichir la Fixture pour créer des images
00:30:002. Création de la base de données grâce à la CLI
00:30:003. Comprendre Doctrine créons notre première Entité pour représenter les annonces
00:30:004. Comprendre Doctrine notre premier script de migrations
00:30:005. Comprendre Doctrine créer des jeux de fausses données avec les Fixtures
00:30:006. Rendre nos fausses données plus réalistes avec Faker
00:30:007. Créer des slugs facilement avec Slugify
00:30:008. Comprendre Doctrine interagir avec le cycle de vie des Entités
00:30:001. Affichage de la liste des annonces
00:30:0010. Comprendre Twig utiliser une ..un code
00:30:0011. Comprendre le ParamConverter de Symfony 4
00:30:002. Récupération des annonces grâce au Repository Doctrine
00:30:003. Comprendre l'Injection de Dépendances
00:30:004. Récupération d'une annonce avec son slug grâce au Repository
00:30:005. Affichage d'une annonce
00:30:006. Un peu de CSS personnalisé
00:30:007. Parcourir les images liées à ..les 2 entités
00:30:008. Mise à jour de la barre de navigation
00:30:009. Liens paramétrés dans la liste des annonces
00:30:0010. Comprendre Twig le thème de formulaire Bootstrap 4
00:30:0011. Configurer les champs de formulaire
00:30:0012. Récupérer et sauvegarder les données du formulaire
00:30:0013. Effectuer une redirection vers la page de la nouvelle annonce
00:30:0014. Utiliser les messages Flash pour notifier le visiteur
00:30:0015. Comprendre Twig les inclusions de template
00:30:002. Créer la page de création d'une annonce
00:30:003. Découverte du FormBuilder le fabricant de formulaire
00:30:004. Comprendre Twig afficher un formulaire Symfony
00:30:006. Créer une classe de Formulaire externe et réutilisable
00:30:007. Comprendre Twig les fonctions d'affichage de formulaire
00:30:008. Comprendre Twig mise en forme du formulaire
00:30:009. Comprendre Twig les thèmes de formulaires
00:30:001. Créer des sous-formulaire avec les CollectionType
00:30:0010. Créer un formulaire d'édition pour nos annonces
00:30:0011. Valider les sous-formulaires du CollectionType
00:30:0012. Correction d'un bug lors de la suppression d'éléments du CollectionType
00:30:0013. Refactorisation du code entre les formulaire de création et d'édition
00:30:0014. Versionning de notre avancement avec GIT
00:30:002. Comprendre Twig personnaliser l'affichage des sous-formulaires
00:30:003. Ajouter un élément dynamiquement grâce au prototype du CollectionType
00:30:004. Supprimer un élément dynamiquement grâce au CollectionType
00:30:005. Faire persister les éléments liés avec le CollectionType
00:30:006. Correction d'un bug sur les index des sous-formulaires
00:30:007. Rendre le champ slug non obligatoire (option required)
00:30:008. La validation de formulaire avec Symfony
00:30:009. Valider l'unicité d'une entité et éviter les doublons !
00:30:001. Création d'une entité User pour stocker nos utilisateurs
00:30:0010. Authentification permettre à l'utilisateur de se déconnecter
00:30:0011. Authentification repérer les erreurs avec la classe AuthenticationUtils
00:30:0012. Créer le formulaire d'inscription le RegistrationType
00:30:0013. Refactorisation du code entre les classes AdType et RegistrationType
00:30:0014. Enregistrer les données du formulaire d'inscription
00:30:0015. Valider le formulaire d'inscription
00:30:0016. Créer une confirmation de mot de passe durant l'inscription
00:30:0017. Mise à jour de la barre de navigation
00:30:0018. Créer un formulaire d'édition du profil utilisateur
00:30:0019. Créer un formulaire de modification du mot de passe
00:30:002. La relation OneToMany entre les annonces (Ad) et les utilisateurs (User)
00:30:0020. Sauvegarder le nouveau mot de passe
00:30:0021. Créer une erreur personnalisée sur le formulaire de modification de mot de passe
00:30:003. Mise à jour de la Fixture pour créer de faux utilisateurs
00:30:004. Des avatars aléatoires pour nos faux utilisateurs avec RandomUser.me
00:30:005. L'encodage des mots de passe de nos utilisateurs
00:30:006. Découverte de l'interface UserInterface
00:30:007. Authentification déclare un nouveau provider (entité User)
00:30:008. Authentification créer le formulaire de connexion
00:30:009. Authentification authentifier réellement l'utilisateur
00:30:001. Afficher l'auteur dans la page d'une annonce
00:30:002. Créer une page de profil pour les utilisateurs
00:30:003. Faire les liens vers la page de profil d'un utilisateur
00:30:004. Créer la page Mon compte
00:30:005. Ajouter des liens de gestion du compte utilisateur
00:30:006. Mise en place d'une dropdown dans la barre de navigation
00:30:007. Prendre en compte l'utilisateur connecté lorsqu'on créé une annonce
00:30:008. Versionning de notre avancement avec GIT
00:30:001. Mise en place des rôles d'utilisateurs
00:30:002. Modification de la Fixture pour créer un rôle ADMIN et un administrateur
00:30:003. Récupération des rôles dans l'entité User
00:30:004. Sécuriser le AdController avec les annotation @IsGranted() et @Security()
00:30:005. Sécuriser le AccountController avec les annotations @IsGranted() et @Security()
00:30:006. Afficher des liens et bouton en fonction du statut de l'utilisateur
00:30:007. Permettre aux utilisateurs de supprimer leurs annonces
00:30:008. Versionning de notre avancement avec GIT
00:30:009. Conclusion et ouvertures
00:30:001. Création d'une entité Booking et migration de la base de données
00:30:0010. Utiliser un paramètre GET pour modifier l'affichage d'une réservation
00:30:0011. Validation du formulaire de réservation (partie 1)
00:30:0012. Prendre en compte la disponibilité d'une annonce lors de la réservation
00:30:0013. Utiliser un calendrier Javascript pour empêcher le choix de dates indisponibles
00:30:0014. Utiliser un DataTransformer pour gérer les dates au format français
00:30:0015. Validation des dates du formulaire (partie 2)
00:30:0016. Calculer le nombre de nuits et le montant de la réservation en Javascript
00:30:0017. Création d'une page de liste des réservations
00:30:0018. Versionning de notre avancement avec GIT
00:30:002. Modification de la Fixture pour ajouter de fausses réservations
00:30:003. Création du formulaire de réservation
00:30:004. Modifier l'apparence du champ DateType avec l'option widget
00:30:005. Ajout d'un champ de commentaire sur les réservations
00:30:006. Création du lien de réservation à partir d'une annonce
00:30:007. Sécuriser la page de réservation avec l'annotation @IsGranted()
00:30:008. Enregistrer une réservation en calculant automatiquement le montant
00:30:009. Affichage d'une réservation existante
00:30:001. Création d'une entité Comment pour stocker les avis des visiteurs
00:30:0010. Affichage du formulaire de commentaire sur une réservation
00:30:0011. Enregistrer les données du formulaire de commentaire
00:30:0012. S'assurer qu'un visiteur ne commente qu'une seule fois une annonce
00:30:0013. Affichage des notes sur la liste des réservations
00:30:002. Modification de la Fixture pour ajouter de faux commentaires
00:30:003. Affichage des commentaires sur la page d'une annonce
00:30:004. Installation de FontAwesome pour bénéficier d'icônes !
00:30:005. Afficher les notes sous forme d'étoiles
00:30:006. Factorisation du template d'affichage des notes sous forme d'icônes
00:30:007. Calculer et afficher la note moyenne d'une annonce
00:30:008. Affichage des moyennes sur l'ensemble des annonces
00:30:009. Personnaliser le CSS afin d'avoir des étoiles dorées pour les notes
00:30:001. Partie 1 modifications CSS pour des changements globaux
00:30:002. Partie 2 Uniformisation des espacements et du format des prix
00:30:003. Partie 3 Refonte du formulaire de création d'une annonce
00:30:004. Partie 4 Refonte du formulaire d'édition du profil
00:30:005. Partie 5 Refonte du formulaire d'inscription
00:30:006. Partie 6 Refonte du formulaire de modification du mot de passe
00:30:007. Partie 7 Mise en place du Responsive avec la balise méta viewport !
00:30:001. Création du controller d'Administration des Annonces le AdminAdController
00:30:0010. Mettre en place un thème de CollectionType à nouveau
00:30:0011. Permettre à l'administrateur de supprimer une annonce
00:30:0012. Exercice affichez la liste des commentaires !
00:30:0013. Solution affichez la liste des commentaires !
00:30:0014. Exercice créez le formulaire d'édition d'un commentaire
00:30:0015. Solution créez le formulaire d'édition d'un commentaire
00:30:0016. Exercice permettez à l'administrateur de supprimer un commentaire
00:30:0017. Solution permettez à l'administrateur de supprimer un commentaire
00:30:0018. Exercice affichez la liste des réservations
00:30:0019. Solution affichez la liste des réservations
00:30:002. Mise en place d'un habillage différent au sein de l'administration
00:30:0020. Découverte du type de champ EntityType pour l'édition d'une réservation
00:30:0021. Le problème de la validation par l'entité Booking dans 2 formulaires différents
00:30:0022. Découverte de la notion de Groupes de Validation (ValidationGroups)
00:30:0023. Recalculer le montant d'une réservation lors de la modification de l'annonce
00:30:0024. Permettre à l'administrateur de supprimer une réservation
00:30:0025. Versionning de notre avancement avec GIT
00:30:003. Mise à jour de la barre de navigation
00:30:004. Sécurité Protéger l'accès à toute l'administration grâce aux ACL
00:30:005. Créer une page de connexion spécifique pour l'administration
00:30:006. Création d'un Firewall particulier pour l'administration
00:30:007. Créer le formulaire de connexion à l'administration
00:30:008. Permettre à l'administrateur de se déconnecter
00:30:009. Création du formulaire d'édition des annonces
00:30:001. Introduction aux méthodes des Repositories pour récupérer les données
00:30:0010. Aider les futurs développeurs avec les exceptions
00:30:0011. Conclusion la notion de services et ses avantages
00:30:0012. Versionning de notre avancement avec GIT
00:30:002. Mise en place HTML et utilisation du findBy() pour paginer !
00:30:003. Placer des contraintes sur les paramètres des routes grâce aux Requirements
00:30:004. Rendre dynamique la pagination HTML
00:30:005. Découverte de la notion de Service pour la pagination
00:30:006. Création du service de pagination
00:30:007. Factorisation du Twig concernant la pagination
00:30:008. Intégrer l'affichage de la pagination dans le service de pagination
00:30:009. Rendre configurable le service de pagination grâce au fichier services.yaml
00:30:0010. Créer plusieurs fichiers Javascript pour optimiser les chargements
00:30:0011. Mise à jour de l'interface d'administration
00:30:0012. Conclusion non nécessaire mais tellement avantageux !
00:30:0013. Versionning de notre avancement avec GIT
00:30:002. Installation de Webpack Encore dans notre projet
00:30:003. Mise en place de la bonne structure des fichiers
00:30:004. Fusionner des fichiers CSS en un seul fichier optimisé
00:30:005. Le versionning des fichiers CSS et JS ..de cache
00:30:006. Utiliser SASS dans nos fichiers CSS grâce à Webpack Encore
00:30:007. Traiter nos fichiers Javascript avec Webpack Encore
00:30:008. Installation du package Bootstrap avec NPM
00:30:009. Pouvoir utiliser jQuery partout le problème des modules Webpack
00:30:00
S'inscrire Maintenant
Étudiants
0
Langue
French
Durée
108h 00mNiveau
beginnerPériode d'expiration
À vieCertificat
OuiHello 👋 Je suis là pour vous aider à naviguer sur Lonia. Avez-vous une question sur nos services ?
23:07
French
Cours Certifiant
0
Étudiant
108h 00m