Développer une application Symfony structurée avec contrôleurs, formulaires, Doctrine, sécurité, tests et documentation.
Public cible
Débutants, étudiants et professionnels qui souhaitent acquérir une pratique structurée dans ce domaine.
Objectifs
Comprendre les notions essentielles et les appliquer dans un projet vérifiable.
Prérequis
Aucune connaissance préalable n’est strictement obligatoire ; les prérequis détaillés sont précisés dans les ateliers.
Niveau
Tous niveaux
Ressources
Documentation officielle et références citées dans les ateliers.
Exercices, examens et projet de synthèse du catalogue.
Validation des compétences
La validation repose sur les évaluations actives et les livrables pratiques du cours.
Besoins techniques
Un ordinateur, un navigateur et les outils indiqués dans le premier atelier sont suffisants pour commencer.
Modules associés
Exercices, examens et projets
Symfony Web
Exercice
Atelier Symfony
Créer une entité, un contrôleur et une route.
Obligatoire Consulter
Examen
Examen Symfony
Évaluer architecture, formulaires, Doctrine et sécurité.
Obligatoire Consulter
Projet
Projet Symfony
Livrer une fonctionnalité complète avec tests.
Livrables :
Obligatoire Consulter
Informations Générales
public
Étudiants en Bachelor CDA 3ème année
prérequis
Connaissances de base en PHP et en programmation orientée objet
Maîtrise des concepts web (HTML, CSS, JavaScript)
Notions de base sur les bases de données et SQL
objectifs
Comprendre les fondamentaux du framework Symfony
Maîtriser la structure MVC (Modèle-Vue-Contrôleur)
Apprendre à configurer un environnement de développement Symfony
Créer des applications web dynamiques et sécurisées
Utiliser Doctrine ORM pour la gestion des bases de données
Créer et valider des formulaires
Mettre en place un système d'authentification et d'autorisation
Développer des API RESTful
Déployer une application Symfony en production
Appliquer les bonnes pratiques de développement avec Symfony
durée
Modules du Cours
Introduction à Symfony et installation
Présentation de Symfony
Historique et avantages de Symfony
Comparaison avec d'autres frameworks PHP
Cas d'utilisation courants
Installation de Symfony
Prérequis : PHP, Composer, serveur web
Utilisation de Symfony CLI
Création d'un projet Symfony
Structure d'un projet Symfony
Dossiers et fichiers clés
Architecture MVC (Modèle-Vue-Contrôleur)
Exercice pratique : Création d'une page d'accueil simple avec Twig
Les bases de Symfony (Routing, Contrôleurs et Vues)
Le système de routage
Définition des routes avec YAML ou annotations
Paramètres de route et contraintes
Les contrôleurs
Création d'un contrôleur
Méthodes d'action et réponse HTTP
Passage de paramètres aux vues
Les vues avec Twig
Syntaxe de base de Twig
Héritage de templates
Inclusion de templates partiels
Exercice pratique : Création d'un blog simple avec des pages statiques et dynamiques
Gestion des données avec Doctrine ORM
Introduction à Doctrine ORM
Concepts de base : entités, repositories, requêtes
Configuration de la base de données
Les entités
Création d'une entité
Propriétés, annotations et relations (OneToMany, ManyToOne, etc.)
Les migrations
Création et exécution des migrations
Mise à jour du schéma de la base de données
Exercice pratique : Ajout d'un système de gestion d'articles pour le blog
Les formulaires et la validation
Création de formulaires
Utilisation du composant Form de Symfony
Liaison d'un formulaire à une entité
Validation des données
Utilisation des contraintes de validation
Messages d'erreur personnalisés
Gestion des formulaires dans les contrôleurs
Traitement des données soumises
Redirection et messages flash
Exercice pratique : Ajout d'un formulaire de création et d'édition d'articles
Sécurité et authentification
Introduction au composant Security
Authentification et autorisation
Rôles et hiérarchie des rôles
Configuration de la sécurité
Authentification par formulaire
Protection des routes
Gestion des utilisateurs
Création d'une entité User
Hashage des mots de passe
Exercice pratique : Ajout d'un système de connexion/déconnexion au blog
Les services et l'injection de dépendances
Introduction aux services
Définition et utilité
Injection de dépendances
Création de services personnalisés
Déclaration d'un service
Utilisation dans un contrôleur
Exercice pratique : Création d'un service pour gérer les statistiques du blog
API REST avec Symfony
Introduction aux API REST
Concepts de base : endpoints, méthodes HTTP, stateless
Création d'une API
Utilisation du composant Serializer
Création de routes API
Gestion des réponses
Format JSON
Codes de statut HTTP
Exercice pratique : Création d'une API pour le blog
Déploiement et bonnes pratiques
Préparation au déploiement
Optimisation de l'environnement de production
Gestion des variables d'environnement
Déploiement sur un serveur
Utilisation de Docker ou d'un hébergement traditionnel
Bonnes pratiques
Organisation du code
Sécurité et performances
Exercice pratique : Déploiement du blog sur un serveur
Projet final
Objectif : Créer une application Symfony complète (ex : gestion de bibliothèque, réservation de salles, etc.)
Évaluation : Présentation et soutenance du projet
Atelier guidé
Construire une fonctionnalité complète avec formulaire, validation, persistance, autorisation et test.
Domaine : créer une entité, une migration et une contrainte qui protège une règle métier.
Formulaire : lier un formulaire typé, afficher les erreurs et protéger la soumission avec CSRF.
Sécurité et tests : ajouter une politique d’accès, écrire un test de succès et un test de refus.
Restitution de l’atelier
Une fonctionnalité Symfony avec migration.
Un formulaire validé et sécurisé.
Des tests fonctionnels et une commande de démonstration.
Validation : La fonctionnalité fonctionne depuis HTTP, refuse un accès interdit et conserve des données cohérentes après une erreur.
Publié le 09/05/2025
2mn.info Academy
6201Z | Programmation, Conseil et Formation | 83824672600023
N° 64, rue Waldeck ROUSSEAU, 69006 Lyon, France
2mn.info Academy
By 2mn.info Digital Services Prestataire de Formation enregistré sous le numéro 84 69 21907 69
Cet enregistrement ne vaut pas agrément de l'Etat
Copyright 2018-2026. All Rights Reserved.
Ce site est conçu pour faciliter l'apprentissage. Les exemples sont simplifiés pour une meilleure compréhension. Le contenu est régulièrement vérifié pour éviter les erreurs, mais nous ne pouvons garantir la complète exactitude de tous les contenus.
En utilisant Ce site, vous acceptez nos conditions d'utilisation, notre politique en matière de cookies et de confidentialité.