Introduction
Qu'est-ce que Symfony2 ? 
Symfony2 est un Framework MVC open 
source Français écrit en PHP 5 et crée 
par SensioLabs dont le créateur est 
Fabien Potencier.
Il est conseillé 
 d'avoir déjà une expérience de PHP. 
 de maîtriser les notions de base de la POO. 
 d'avoir éventuellement des notions de namespace. 
Il faut au minimum la version 5.3 de PHP.
Symfony2: Avantages 
 Flexible, puissant et très populaire. 
 C'est un des Frameworks les plus utilisés dans le monde, 
notamment dans les entreprises. 
 Communauté très active. 
 Documentation claire. 
 Facilite le codage. 
 Bonne exploitation du terminal. 
 Faciliter le travail en équipe. 
 Sécurité.
Qu'est-ce qu'un Framework ? 
 Framework = Cadre de travail 
 Un Framework est un ensemble cohérent de composants 
logiciels structurels, qui sert à créer les fondations ainsi 
que les grandes lignes de tout ou d’une partie 
d'un logiciel (architecture). 
=> Les Frameworks sont donc conçus et utilisés pour 
modeler l'architecture des logiciels applicatifs, 
des applications web et des composants logiciels.
Un Framework MVC 
 Symfony est entièrement basé sur le design pattern MVC 
(Modèle-Vue- Contrôleur). 
 Le MVC est un pattern architectural qui sépare les 
données (le modèle), l'interface homme-machine (la vue) 
et la logique de contrôle (le contrôleur).
Parcours d'une requête dans Symfony2 
1- Le visiteur demande la page /platform ; 
2- Le contrôleur frontal reçoit la requête, 
charge le Kernel et la lui transmet . 
3-Le Kernel demande au Routeur quel 
contrôleur exécuter pour l'URL /platform. 
4- Le Kernel exécute donc ce contrôleur. 
5- Le contrôleur demande au modèle 
Annonce la liste des annonces, puis la 
donne à la vue ListeAnnonces pour qu'elle 
construise la page HTML et la lui retourne. 
6- le contrôleur envoie au visiteur la page 
HTML complète.
Principe des Bundles 
 Symfony2 utilise ce concept qui consiste à regrouper dans 
un même endroit, le bundle, tout ce qui concerne 
une même fonctionnalité. 
Quel est l'intérêt ? 
o Le découpage en bundles permet l'échange de bundles 
entre applications. 
o Vous pouvez installer dans votre projet des bundles qui 
ont été développés par d'autres. 
o Presque tous les bundles de la communauté Symfony2 
sont regroupés sur un même site http://knpbundles.com.
Exemple contrôleur
Exemple vue ( TWIG)
Exemple modèle (Entity)
Exemple Routeur
Télécharger Symfony 2.5 
 Disponible sur le lien : symfony.com/download
Télécharger Symfony 2.5 
 Décompressez les fichiers dans votre répertoire web 
habituel, par exemple "C:wampwww" pour Windows 
ou /var/www pour Linux. 
 Vérifier votre configuration PHP en accédant à l’url : 
« http://localhost/symfony/web/config.php »
Télécharger Symfony 2.5 
 C’est bon ! Vous pouvez maintenant vous connecter à 
votre premier application Symfony 2 : 
http://localhost/symfony/web/app_dev.php/
L’architecture des fichiers 
 4 principaux répertoires : 
1- app/ : Contient les fichiers des applications sauf 
le code source, notamment; la configuration, le 
cache, les fichiers logs etc... 
2- vendor/ : contient toutes les librairies 
externes, comme Doctrine, Twig, Swiftmailer… 
3-Web/ : Ce répertoire contient tous les fichiers 
destinés aux visiteurs : images , fichiers CSS et 
JavaScript. 
4-src/ : contient le code source des applications 
organisé sous forme de bundles (par défaut il 
contient un bundle d’exemple fourni par Symfony)
Structure d’un bundle 
 Controller/ : Contient les contrôleurs 
 DependencyInjection/ : les informations 
sur votre bundles 
 Ressources/ 
 --- config/ : Contient les fichier de 
configuration, notamment les routes 
 --- doc/ : contient la documentation 
 --- public/ : Contient les fichiers publics 
de votre bundle : fichiers CSS et 
JavaScript, images, etc 
 --- translations/ 
 --- views / : Contient les vues de notre 
bundle ( les templates Twig ) 
 Tests/ : Contient vos éventuels tests 
unitaires et fonctionnels.
Composer 
 C’est un gestionnaire de dépendances. 
 Cet outil ne fait absolument pas partie de Symfony2, mais 
son usage est omniprésent dans la communauté 
Symfony2. 
 Les dépendances, dans un projet, ce sont toutes les 
bibliothèques dont votre projet dépend pour 
fonctionner. 
 BUT: Installer ou mettre à jour les bibliothèques dont le 
projet dépend.
Installation Composer et GIT 
 Installer Composer est très facile, il suffit d'une seule 
commande… PHP ! Exécutez cette commande dans la 
console : 
 Git: un gestionnaire de versions 
 Disponible sur http://msysgit.github.io/ 
 Ajouter les exécutables Git au PATH de Windows Ajoutez 
donc ceci : «;C:msysgitbin;C:msysgitmingwbin » 
 Redémarrez votre ordinateur.
Prochain Atelier 
 Apportez vos pc. 
 Installer PHP>5.3.3 
 WampServer 
 Installer Symfony 2.5 , composer et Git 
Si vous rencontrez des difficultés n'hésitez pas de nous 
contacter à travers le groupe facebook INFO+ ou bien 
venir sur place au local du club.
Atelier Symfony2- Introduction

Atelier Symfony2- Introduction

  • 1.
  • 2.
    Qu'est-ce que Symfony2? Symfony2 est un Framework MVC open source Français écrit en PHP 5 et crée par SensioLabs dont le créateur est Fabien Potencier.
  • 3.
    Il est conseillé  d'avoir déjà une expérience de PHP.  de maîtriser les notions de base de la POO.  d'avoir éventuellement des notions de namespace. Il faut au minimum la version 5.3 de PHP.
  • 4.
    Symfony2: Avantages Flexible, puissant et très populaire.  C'est un des Frameworks les plus utilisés dans le monde, notamment dans les entreprises.  Communauté très active.  Documentation claire.  Facilite le codage.  Bonne exploitation du terminal.  Faciliter le travail en équipe.  Sécurité.
  • 5.
    Qu'est-ce qu'un Framework?  Framework = Cadre de travail  Un Framework est un ensemble cohérent de composants logiciels structurels, qui sert à créer les fondations ainsi que les grandes lignes de tout ou d’une partie d'un logiciel (architecture). => Les Frameworks sont donc conçus et utilisés pour modeler l'architecture des logiciels applicatifs, des applications web et des composants logiciels.
  • 6.
    Un Framework MVC  Symfony est entièrement basé sur le design pattern MVC (Modèle-Vue- Contrôleur).  Le MVC est un pattern architectural qui sépare les données (le modèle), l'interface homme-machine (la vue) et la logique de contrôle (le contrôleur).
  • 7.
    Parcours d'une requêtedans Symfony2 1- Le visiteur demande la page /platform ; 2- Le contrôleur frontal reçoit la requête, charge le Kernel et la lui transmet . 3-Le Kernel demande au Routeur quel contrôleur exécuter pour l'URL /platform. 4- Le Kernel exécute donc ce contrôleur. 5- Le contrôleur demande au modèle Annonce la liste des annonces, puis la donne à la vue ListeAnnonces pour qu'elle construise la page HTML et la lui retourne. 6- le contrôleur envoie au visiteur la page HTML complète.
  • 8.
    Principe des Bundles  Symfony2 utilise ce concept qui consiste à regrouper dans un même endroit, le bundle, tout ce qui concerne une même fonctionnalité. Quel est l'intérêt ? o Le découpage en bundles permet l'échange de bundles entre applications. o Vous pouvez installer dans votre projet des bundles qui ont été développés par d'autres. o Presque tous les bundles de la communauté Symfony2 sont regroupés sur un même site http://knpbundles.com.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
    Télécharger Symfony 2.5  Disponible sur le lien : symfony.com/download
  • 14.
    Télécharger Symfony 2.5  Décompressez les fichiers dans votre répertoire web habituel, par exemple "C:wampwww" pour Windows ou /var/www pour Linux.  Vérifier votre configuration PHP en accédant à l’url : « http://localhost/symfony/web/config.php »
  • 15.
    Télécharger Symfony 2.5  C’est bon ! Vous pouvez maintenant vous connecter à votre premier application Symfony 2 : http://localhost/symfony/web/app_dev.php/
  • 16.
    L’architecture des fichiers  4 principaux répertoires : 1- app/ : Contient les fichiers des applications sauf le code source, notamment; la configuration, le cache, les fichiers logs etc... 2- vendor/ : contient toutes les librairies externes, comme Doctrine, Twig, Swiftmailer… 3-Web/ : Ce répertoire contient tous les fichiers destinés aux visiteurs : images , fichiers CSS et JavaScript. 4-src/ : contient le code source des applications organisé sous forme de bundles (par défaut il contient un bundle d’exemple fourni par Symfony)
  • 17.
    Structure d’un bundle  Controller/ : Contient les contrôleurs  DependencyInjection/ : les informations sur votre bundles  Ressources/  --- config/ : Contient les fichier de configuration, notamment les routes  --- doc/ : contient la documentation  --- public/ : Contient les fichiers publics de votre bundle : fichiers CSS et JavaScript, images, etc  --- translations/  --- views / : Contient les vues de notre bundle ( les templates Twig )  Tests/ : Contient vos éventuels tests unitaires et fonctionnels.
  • 18.
    Composer  C’estun gestionnaire de dépendances.  Cet outil ne fait absolument pas partie de Symfony2, mais son usage est omniprésent dans la communauté Symfony2.  Les dépendances, dans un projet, ce sont toutes les bibliothèques dont votre projet dépend pour fonctionner.  BUT: Installer ou mettre à jour les bibliothèques dont le projet dépend.
  • 19.
    Installation Composer etGIT  Installer Composer est très facile, il suffit d'une seule commande… PHP ! Exécutez cette commande dans la console :  Git: un gestionnaire de versions  Disponible sur http://msysgit.github.io/  Ajouter les exécutables Git au PATH de Windows Ajoutez donc ceci : «;C:msysgitbin;C:msysgitmingwbin »  Redémarrez votre ordinateur.
  • 20.
    Prochain Atelier Apportez vos pc.  Installer PHP>5.3.3  WampServer  Installer Symfony 2.5 , composer et Git Si vous rencontrez des difficultés n'hésitez pas de nous contacter à travers le groupe facebook INFO+ ou bien venir sur place au local du club.