Découvrez notre formation Symfony, idéale pour maîtriser le framework Symfony et concevoir des applications performantes. Au programme : gestion des entités, création d’API REST, sécurisation des projets et intégration avancée avec Twig. Destinée aux développeurs ayant des bases en PHP, cette formation vous permettra de créer des sites web robustes, modulaires et évolutifs. Apprenez à exploiter les outils phares de Symfony pour un développement efficace et en phase avec les exigences modernes. Inscrivez-vous et boostez vos compétences en programmation back-end. La formation est composée de vidéos de cours et de démonstrations d’une durée totale de 27h, ainsi que d’un ensemble de travaux pratiques dont la durée de réalisation est évaluée à 26h45.
Introduction (1h25)
- 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
- Démonstration – Installation de Symfony CLI
- Création d’un projet Symfony
- Démonstration – Création d’un projet Symfony
- Les répertoires du projet
- Utiliser Git avec Symfony
- Démonstration – Symfony et Git
- TP à réaliser
Hello World (45 min)
- Les routes et les contrôleurs
- Démonstration – Création d’un contrôleur et d’une route
- Introduction au moteur de template Twig
- Démonstration – Affichage d’un fichier Twig
- TP à réaliser
- Correction du TP
Vues et Twig (1h36)
- Présentation de Twig
- Les délimiteurs
- Les balises
- Démonstration – Délimiteurs et balises
- Les filtres
- Démonstration – Filtres
- Blocs, héritage et inclusion
- Démonstration – Blocs, héritage et inclusion
- Gestion des assets et des URLs
- Démonstration – Gestion des assets et des URLs
- Passer des variables à la vue
- Démonstration – Passer des variables à la vue
- Les attaques XSS
- Démonstration – Les attaques XSS
- TP à réaliser
- Correction du TP
Routage et contrôleurs (1h04)
- Les routes
- Les routes en attributs
- Les routes et la console
- Les contrôleurs
- Démonstration – Les routes et les contrôleurs
- Le débogage
- Démonstration – Le débogage
- TP à réaliser
- Correction du TP
Données et Doctrine (2h24)
- Les problèmes rencontrés avec les données
- La configuration de Doctrine
- Les entités
- Démonstration – Créer une entité
- L’EntityManager
- Démonstration – L’EntityManager
- Les fixtures
- Démonstration – Les fixtures et Faker
- Le Repository
- Démonstration – Le Repository
- DQL et QueryBuilder
- Démonstration – DQL et QueryBuilder
- TP à réaliser
- Correction du TP1
- Correction du TP2
Formulaires (3h06)
- Présentation des formulaires
- Classe de formulaire
- Démonstration – Générer une classe de formulaire
- Affichage d’un formulaire
- Affichage d’un formulaire sous Twig
- Démonstration – Afficher un formulaire
- Utiliser un thème
- Démonstration – Utiliser un thème dans un formulaire
- Traitement d’un formulaire
- Démonstration – Traiter un formulaire
- Validation des données
- Démonstration – Valider un formulaire
- Sécurité : les attaques CSRF
- Démonstration – Se protéger des attaques CSRF
- TP à réaliser
- Correction du TP1
- Correction du TP2
Doctrine : les relations entre entités (2h15)
- 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
- Démonstration – Les fixtures avec relations
- Récupérer une entité associée à une autre
- Démonstration – Récupérer des entités associées
- Manipuler les entités associées
- Démonstration – Manipuler les entités associées
- TP à réaliser
- Correction du TP1
- Correction du TP2
Utilisateurs et sécurité (3h44)
- Le système de sécurité de Symfony
- L’entité utilisateur
- Démonstration – Créer l’entité utilisateur
- Le système d’authentification
- Démonstration – Le système d’authentification
- Le formulaire d’inscription
- Démonstration – Créer le formulaire d’inscription
- Autorisation et rôles
- Démonstration – Autorisations et rôles
- Hiérarchisation des rôles
- Démonstration – Hiérarchisation des rôles
- Autres fonctionnalités de sécurité
- Démonstration – Autres fonctionnalités de sécurité
- TP à réaliser
- Correction du TP1
- Correction du TP2
Services (55 min)
- Présentation des services
- Démonstration – Créer un service
- Injection de dépendances et conteneur de services
- Démonstration – Ajouter des dépendances
- TP à réaliser
- Correction du TP1
- Correction du TP2
API (3h56)
- Une API, c’est quoi ?
- Le protocole HTTP
- Le format JSON
- Postman
- Démonstration – Postman (installation et présentation rapide)
- Le composant Serializer
- Démonstration – Manipuler une API existante
- Créer une API
- Démonstration – Créer une API simple
- TP à réaliser
- Correction du TP
- 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
- Démonstration – Découverte d’API Platform
- TP à réaliser
- Correction du TP
- La sécurité
- JSON Web Token (JWT)
- Démonstration – Mise en place d’une authentification JWT
Tests (3h06)
- Présentation
- Mise en place
- Démonstration – Mise en place de l’environnement
- Tests unitaires
- Démonstration – Tests unitaires
- Simuler des objets (stubs/mocks)
- Démonstration – Mocker une dépendance
- Tests d’intégration
- Démonstration – Tests d’intégration
- Tests fonctionnels
- Démonstration – Tests fonctionnels ou d’application
- Tests fonctionnels (API)
- Démonstration – Tests fonctionnels (API)
- Tests de bout en bout (E2E)
- Démonstration – Tests de bout en bout (E2E)
- Couverture de code
- Démonstration – Couverture de code
- Problématique de la base de test
- TP à réaliser
- Correction du TP
Déploiement (1h)
- Les environnements de Symfony
- Démonstration – Personnaliser les pages d’erreur
- Déploiement
- Pour aller plus loin
- TP à réaliser
- Correction du TP
Voter (40 min)
- Objectifs du module
- 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
- Démonstration – Création et utilisation d’un Voter
- TP à réaliser
- Correction du TP
- Conclusion
Le composant Console (1h05)
- Le composant Console
- Console Output
- Console Input
- Question Helper
- Démonstration – Création d’une commande de type console
- TP à réaliser
- Correction du TP
- Bonus : un crawler en mode console