00 - Symfony : Introduction à Symfony
Objectifs
- ✅ Comprendre à quoi sert Symfony
- ✅ Démarrer un projet Symfony
- ✅ Se repérer dans l'architecture Symfony
Introduction
Tout au long de cette expédition, tu découvriras le framework, ses fonctionnalités, ses forces, ses faiblesses et des outils qui te permettront d'écrire du code plus propre, plus stable et plus maintenable.
Sommaire
Découvrir et comprendre à quoi sert Symfony
Symfony est un framework HTTP open source français, écrit en PHP objet. C'est le plus utilisé en France et l'un des plus utilisés dans le monde. Voici une liste de ressources qui vont t'expliquer ce qu'est un framework, plus particulièrement Symfony et pourquoi utiliser un framework par rapport à un CMS.
Quelle est la différence entre un framework et un CMS ? À quoi ça sert ?
Cette vidéo date un peu, mais elle reste intéressante pour te donner une idée du Framework :
Suis les 5 liens en bas de page. Ils te prendront 1 minute chacun à lire.
🚀 Démarrer avec Symfony
Afin de bien démarrer un projet Symfony, rien de mieux que la documentation officielle. Les ressources suivantes t'expliquent comment les composants principaux de Symfony ont changé et surtout comment bien démarrer un nouveau projet Symfony.
Pour gérer ses dépendances Symfony utilise un plugin pour Composer appelé Symfony Flex. Ce plugin, en amont de Composer, permet entre autres d'exécuter des "recettes". Une recette est un script qui va permettre, par exemple, de générer automatiquement les fichiers de configuration de la dépendance fraîchement ajoutée ...etc.
Plus d'infos sur Symfony Flex ici 😉
Les évolutions de Symfony
Symfony, comme de nombreux logiciels, possède un cycle de développement (roadmap) bien défini. La feuille de route prévoit une nouvelle version du framework tous les 6 mois. Ce sont des versions intermédiaires qui permettent de mettre à disposition très régulièrement de nouvelles fonctionnalités et de les faire tester par le plus grand nombre. Cependant, pour de gros projets, il n'est pas toujours facile de "migrer" de version tous les 6 mois. Ainsi, Symfony propose tous les 2 ans des versions particulières appelées LTS (Long Term Support) qui apporte un support sur du long terme et donc une plus grande stabilité.
Attention, en fonction de la version sur laquelle tu développes Symfony, les bonnes pratiques et la documentation peuvent varier légèrement. Fais donc attention quand tu lis la documentation à te trouver sur la bonne version (que tu peux changer facilement via un champ select en haut à droite de chaque page de la documentation).
🏛 Architecture MVC
Historiquement, Symfony utilise le pattern MVC comme architecture. Il est possible avec Symfony d'utiliser d'autres types d'architecture (CQRS, middlewares...) mais la plus populaire reste encore MVC. Ces ressources vont te permettre de bien comprendre l'architecture standard de Symfony : MVC.
Pour bien comprendre l'intérêt d'utiliser une architecture MVC plutôt que du Flat PHP.
🤝 La communauté
Symfony dispose d'une grande communauté francophone de développeurs : l'ASFY. Ils organisent régulièrement des meetups super intéressants ! N'hésite pas à jeter un oeil régulièrement et participer à certains évènements.
Vous trouverez ici les évènements à venir, ainsi que des articles très pertinents.
📚 Ressources
De nombreux tutoriels sont proposés par des développeurs via les réseaux sociaux. La plateforme SymfonyCasts maintenue et animée par des contributeurs de Symfony propose une large panoplie de tutoriels largement accessibles. N'hésite pas à consulter leur ressources lorsque tu cherches à développer certaines fonctionnalités.
Tutoriels et parcours de découverte de Symfony.
💪 Challenge

Afin de voir si tu as bien suivi, voici un quizz pour tester tes connaissances générales sur Symfony.
Tu dois répondre correctement à au moins 7 questions.
Toutes les réponses se trouvent dans les documentations fournies, tu devrais facilement réussir à valider la quête.
Ressources partagées sur cette quête
- Reprend l'ensemble et + des notions expliquées dans cette quête ! Explications plutôt claires et voix non barbantes ;)https://www.youtube.com/watch?v=4t3fNkGwRWo&t=819s