Maîtriser Symfony 6.4 pour développer des applications web sécurisées, API REST et gestion des données
Construire une application web robuste exige bien plus que de connaître PHP. Symfony impose une structure, des conventions et un écosystème riche, qui peuvent intimider au départ, mais qui deviennent de puissants alliés quand on les maîtrise. Cette formation couvre l'ensemble du développement d'application avec Symfony 6.4 : routage, formulaires, base de données, sécurité, API, tests et déploiement. Un parcours complet, du projet vierge à la mise en production.
Est-ce pour vous ?
Informaticiens.
Préalables
Des connaissances sur PHP sont nécessaires.
Ce que vous saurez faire
- ✓ Structurer et développer une application web complète avec Symfony 6.4
- ✓ Gérer la persistance des données, les relations et la sécurité avec Doctrine
- ✓ Créer et tester des API REST robustes et prêtes pour la production
Contenu de la formation
1 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
2 Hello World
- Les routes et les contrôleurs
- Introduction au moteur de template Twig
3 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
4 Routage et contrôleurs
- Objectifs du module
- Les routes
- Les routes en attributs
- Les routes et la console
- Les contrôleurs
- Le débogage
5 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
6 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
7 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
8 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é
9 Services
- Présentation des services
- Injection de dépendances et conteneur de services
- Démonstration – Ajouter des dépendances
10 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
11 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
12 Déploiement
- Les environnements de Symfony
- Démonstration – Personnaliser les pages d’erreur
- Déploiement
- Pour aller plus loin
13 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
14 Le composant Console
- Le composant Console
- Console Output
- Console Input
- Question Helper
- Bonus : un crawler en mode console
📌 Informations pratiques
Formation 100% à distance. Accessible en tout temps de n’importe où pendant un an. Si vous avez des questions concernant l'inscription, la langue d’enseignement ou les modalités d’annulation, consultez notre FAQ