Symfony est un ensemble de composants PHP ainsi qu'un framework MVC destiné aux applications PHP. Il fournit des fonctionnalités modulables et adaptables qui permettent de faciliter et d’accélérer le développement d'un site web. Ce cours est basé sur Symfony 5.


À la fin de cette formation, vous serez en mesure de ...

  • Connaître les éléments de base du framework Symfony 5
  • Mettre en place de bonnes pratiques de programmation
  • Écrire du code facilement maintenable et réutilisable
  • Développer une application Symfony fonctionnelle
  • Gérer les vues avec le moteur de template Twig
  • Gérer des bases de données avec Doctrine ORM
  • Gérer tous les aspects de l’application (les formulaires, la sécurité, le cache HTTP, …)

Avis des stagiaires

Valérie B.

★★★★★
★★★★★

Très bonne formation Symfony 5. Tous les outils pour pouvoir développer une application sont donnés. Formateur professionnel et sympathique.

Le 03 juillet 2021

Programme détaillé

Rappels PHP
  • Historique et propriétés du langage
  • Un langage côté serveur
  • Rappels importants : variables, conditions, boucles …
  • Récupération des paramètres des formulaires HTML
  • Connexion avec MySQL
  • Les fonctions
  • Les classes et objets
  • Sessions utilisateur
Introduction à Symfony
  • Présentation de Symfony 5
  • Historique des versions et principales différences
  • Créer un projet Symfony 5 avec Composer et Flex
  • Prendre en main l’arborescence du projet
  • Installer des bundles et librairies
  • Traiter les requêtes HTTP
  • Les différents environnements (développement, test, production)
  • Prendre en main l'utilitaire CLI et ses commandes
  • Bonnes pratiques à mettre en place
Debug avec Web Profiler
  • Installer Web Profiler avec Symfony Flex
  • Activer les journaux de log
  • Activer la Web Debug Toolbar
  • Naviguer dans les différents panneaux du Web Profiler
  • Savoir analyser les traces d'erreur
  • Examiner le contenu d'une variable
Configurer l’application
  • Créer des routes (avec annotations, avec YAML)
  • Contrôler les routes (méthodes HTTP, nom de domaine, paramètres, …)
  • Surcharger la configuration d'un bundle
  • Définir des paramètres globaux de configuration
  • Récupérer les paramètres sensibles dans des variables d'environnement
  • Comprendre la surcharge de configuration par environnement
Requêtes
  • Classes de contrôleurs et méthodes d'actions
  • Transformer un objet de requête en objet de réponse
  • Associer des URL aux contrôleurs
  • Générer une réponse brute à partir d'un gabarit Twig
  • Accéder à l'objet de requête
  • Gestion des sessions et cookies
  • Les redirections (301, 302, 404, …)
Dynamiser les pages
  • Découvrir le moteur de rendu Twig
  • Concevoir des gabarits concis et explicites
  • Les variables globales Twig
  • Prendre en main les outils Twig (tags, filtres, fonctions, testeurs, ...)
  • L'héritage de gabarits
  • Factoriser le code avec l'inclusion de gabarits
  • Exécuter une action et afficher son résultat depuis une vue
  • Générer des URL à partir de la configuration des routes
  • Afficher des formulaires Symfony
Formulaires simples
  • Créer des formulaires simples
  • Valider les données transmises
  • Prototyper le rendu d'un formulaire avec Twig
  • Récupérer les données d'un formulaire
Internationalisation
  • Installer le composant de traduction
  • Changer la langue par défaut de l'application
  • Définir des clés de traduction dans les vues Twig
  • Générer les squelettes de fichiers de traduction (XLIFF, YAML)
  • Traduire les clés de traduction
  • Gérer les traductions incluant des règles de pluralisation
Gérer les données avec l’ORM Doctrine
  • Installer et configurer l'ORM Doctrine
  • Établir un mapping objet-relationnel avec les classes d'entités
  • Lier les entités entre elles
  • Persister des entités objet dans la base de données
  • Construire des requêtes SQL dynamiques
  • Extraire les entités de la base de données
  • Stocker des requêtes SQL personnalisées dans les repositories
  • Encapsuler de la logique métier propre à chaque entité
Formulaires avancés
  • Rendre les formulaires configurables
  • Déclencher des traitements spécifiques aux évènements du formulaire
  • Configurer le rendu des formulaires avec Twig
  • Appliquer des règles de validation personnalisées sur les données
  • Déclencher des règles de validation selon le contexte du formulaire
Tester son application
  • Utiliser le framework PHPUnit
  • Comprendre les enjeux des tests automatisés
  • Configurer une suite de tests automatisés
  • Créer et exécuter une suite de tests unitaires
  • Écrire et exécuter une suite de tests fonctionnels
  • Générer des rapports de couverture de code
Services
  • Comprendre le principe de l'injection de dépendance
  • Introduction au conteneur de services
  • Lister les services existants de Symfony
  • Enregistrer de nouveaux services
  • Configurer des services avec des paramètres globaux
  • Profiter de l'enregistrement automatique des services
Évènements
  • Introduction à l’Event Dispatcher
  • Découvrir les évènements du noyau Symfony
  • Exécuter un certain code au déclenchement de certains évènements
  • Propager des évènements personnalisés dans le code métier
  • Connecter des listeners aux évènements personnalisés
Sécuriser son application
  • Authentification et autorisation
  • Sécuriser certaines parties d'un site avec authentification
  • Mettre en place une authentification avec Guard
  • Définir une politique de droits d'accès selon les rôles utilisateur
  • Tester les droits de l'utilisateur depuis un contrôleur ou une vue
  • Enregistrer des règles d'autorisations personnalisées

Evaluation des acquis

  • Quiz à chaque fin de chapitre
  • Test écrit en fin de formation
  • Auto évaluation à remplir en ligne
  • 📎 Référence : SFN
    ★★★★★
    ★★★★★
  • Durée : 4 jours (28 heures)
  • 💰 Prix public 2021 : 1650 HT par personne
  • logo MonCompteFormationFinancez cette formation grâce à votre CPF
  • Prérequis :
    • Connaissance des langages HTML et CSS
    • Notions de PHP
    • Notions de l'utilisation de frameworks de développement
  • 👥 Public visé :
    • Développeurs
    • Chefs de projet
  • Prochaines sessions prévues :
    • Le lundi 04 octobre 2021 en classe virtuelle
    • Le lundi 10 janvier 2022 en classe virtuelle