Objectifs de la formation
L’objectif de cette formation est d’acquérir les connaissances nécessaires sur le framework Symfony afin d’être en mesure de développer une application côté serveur en interaction avec une base de données.Clientèle visée
InformaticiensPréalables
Des connaissances sur PHP sont nécessaires.Formateurs
Architecture de la formation
Introduction
• Présentation de Symfony
• Prérequis à l’installation de Symfony
• Démonstration – Configuration du serveur Web
• Présentation de Composer
• Démonstration – Installation de Composer et Cmder
• Choix d’un outil pour coder
• Démonstration – Installation et configuration de PHPStorm
• Symfony CLI
• Création d’un projet Symfony
• Les répertoires du projet
• Utiliser Git avec Symfony
Hello World
• Les routes et les contrôleurs
• Introduction au moteur de template Twig
Vues et Twig
• Objectifs du module
• Présentation de Twig
• Les délimiteurs
• Les balises
• Les filtres
• Blocs, héritage et inclusion
• Gestion des assets et des URLs
• Passer des variables à la vue
• Les attaques XSS
Routage et contrôleurs
• Objectifs du module
• Les routes
• Les routes en attributs
• Les routes et la console
• Les contrôleurs
• Le débogage
Données et Doctrine
• Les problèmes rencontrés avec les données
• La configuration de Doctrine
• Les entités
• L’EntityManager
• Les fixtures
• Démonstration – Les fixtures et Faker
• Le Repository
• DQL et QueryBuilder
Formulaires
• Présentation des formulaires
• Classe de formulaire
• Affichage d’un formulaire
• Affichage d’un formulaire sous Twig
• Utiliser un thème
• Traitement d’un formulaire
• Validation des données
• Sécurité : les attaques CSRF
Doctrine : les relations entre entités
• La relation ManyToOne/OneToMany
• La relation ManyToMany
• La relation OneToOne
• Les relations entre objets PHP
• Les relations avec Doctrine
• Démonstration – Définir des relations entre entités
• Utiliser des fixtures avec relations
• Récupérer une entité associée à une autre
• Manipuler les entités associées
Utilisateurs et sécurité
• Le système de sécurité de Symfony
• L’entité utilisateur
• Le système d’authentification
• Le formulaire d’inscription
• Autorisation et rôles
• Hiérarchisation des rôles
• Autres fonctionnalités de sécurité
Services
• Présentation des services
• Injection de dépendances et conteneur de services
• Démonstration – Ajouter des dépendances
API
• Objectifs du module
• Une API, c’est quoi ?
• Le protocole HTTP
• Le format JSON
• Postman (installation et présentation rapide)
• Le composant Serializer
• Démonstration – Manipuler une API existante
• Créer une API
• API REST
• Démonstration – Mise en place d’un CRUD
• Valider les données
• Démonstration – Valider les données dans une API
• Le composant API Platform
• La sécurité
• JSON Web Token (JWT)
• Démonstration – Mise en place d’une authentification JWT
Tests
• Objectifs du module
• Présentation
• Mise en place
• Démonstration – Mise en place de l’environnement
• Tests unitaires
• Simuler des objets (stubs/mocks)
• Démonstration – Mocker une dépendance
• Tests d’intégration
• Tests fonctionnels ou d’application
• Tests fonctionnels (API)
• Tests de bout en bout (E2E)
• Couverture de code
• Problématique de la base de test
Déploiement
• Les environnements de Symfony
• Démonstration – Personnaliser les pages d’erreur
• Déploiement
• Pour aller plus loin
Voter
• Pourquoi utiliser les Voters ?
• Création d’un Voter
• Utilisation dans un contrôleur avec un attribut
• Changer le message et le code statut dans un contrôleur
• Utilisation dans un fichier Twig
Le composant Console
• Le composant Console
• Console Output
• Console Input
• Question Helper
• Bonus : un crawler en mode console
Notes relatives à la formation
Formation 100% à distance. Accessible en tout temps de n’importe où. Un an d’accès à la formation et au manuel numérique.
Formation en entreprise
Toutes nos formations peuvent être offertes en entreprise et personnalisées selon vos besoins. Pour plus d'information, nous vous invitons à communiquer avec nous ou à remplir une demande de soumission en ligne.
Demander une soumissionFormation en entreprise
Toutes nos formations peuvent être offertes en entreprise et personnalisées selon vos besoins. Pour plus d'information, nous vous invitons à communiquer avec nous ou à remplir une demande de soumission en ligne.
Demander une soumission