Programmation événementielle (Symfony) GIN4107
Enseignant:
Email:
Durée totale du cours: 45 H
Option concernée : Tronc Commun
Semestre : 3
Nombre de crédits : 2
| Modules
spécialisés |
Modules de
base |
Sciences et techniques de
l’ingénierie |
Préparation à la carrière professionnelle |
| X |
| Nombre d’heures | Activités hors classe | ||
| 22.5 | 18 | ||
| cours | TD | TP | |
| 15 | 30 | ||
| Code | : GIN4107 | Programmation événementielle (Symfony)
|
Volume Horaire : 1h cours + 3hTravaux pratiques (par semaine)
Objectifs d’apprentissage et compétences visées
- Prendre en main le Framework PHP de référence : Symfony
- Apprendre à utiliser les bonnes pratiques de développement PHP pour concevoir des un site web de qualité professionnelle : « SUPTECH Job ».
- concevoir les contrôleurs, les templates, les formulaires et communiquer avec une base de données via Doctrine …
Contenu du cours
- TP1 : Rappel Symfony
- Préparation de l’environnement de travail
- Description de notre projet « SUPTECH Job »
- Création du Bundle
- Génération des contrôleurs
- Toolbar symfony
- Rooting
- Manipuler les requêtes du contrôleur
- TP2 : Manipulation des templates twig
- Notion de base Twig
- Héritage dans Twig
- Héritage multiple
- Cascade de style
- Inclusion depuis des twig
- Inclusion depuis contrôleur
- TP 3 : Manipulation des entités
- Création de l’entité Job
- Doctrine
- Enregistrement des entités dans la base de données
- Relations unidirectionnelles entre les entités
- Relation One To One
- Relation Many to One
- Relation Many to Many
- Relation Many to Many avec attributs
- TP 4 : Manipulation des formulaires
- Afficher un formulaire
- Gestion de la soumission d’un formulaire
- rendre un champ facultatif
- Gérer les valeurs par défaut d’un formulaire
- Récupérer un objet depuis la BD dans un formulaire
- Personnaliser l’affichage d’un formulaire
- Externaliser la définition des formulaires
- TP 5 : Gestion des utilisateurs : FOSUserBundle
- Composer
- Installer FOSUserBundle
- Configurer FOSUserBundle
- TP 6 : Gestion des rôles
- Définition des rôles
- Gérer l’accès via les routes
- Gérer l’accès depuis le controller
- Gérer l’accès depuis le template
Méthodes d’enseignement et d’apprentissage
– Travaux pratiques (laboratoire)
– Travaux à faire à domicile (mini-projet,Rapport)
Connaissances et compétences pré-requises
- POO
- HTML5/CSS/Javascript + PHP
Références bibliographiques
- Un document PDF (Notes du cours) de l’enseignant sera
- https://symfony.com/doc/current/index.html
- https://www.w3schools.com/php/default.asp
- http://php.net/manual/fr/index.php
Modalité d’évaluation
- 100% Travaux pratiques (mini-projet avec présentation orale, rapport)
Résultats d’apprentissage :
Après avoir réussi ce cours, les étudiants seront capables de :
- Connaître le pattern d’architecture logicielle web MVC Essentiel
- Implémenter le pattern MVC avec Symfony Essentiel
- Utiliser et installer une base de données Mysql, Important
Maitriser l’ORM (object relational mapping) avec Doctrine ,