Développement Web Avancé
Enseignant:
Email:
Durée totale du cours: 30H (22.5 Projet)
Semestre : 5 Réseaux et Services Mobiles (RSM)
Nombre de crédits : 1
| 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 |
|
| 30 |
38 |
|
| cours |
TD |
TP |
| |
|
22.5 |
|
|
|
|
|
Sommaire:
Le développement Web consiste à développer des sites Web et des applications Web.
– front-end
– back-end ou
– full-stack
| Code |
GTI4204 |
Développement Web Avancé |
|
|
|
Volume Horaire : 1h 30 Travaux pratiques (par semaine)
Objectifs d’apprentissage et compétences visées
Acquérir les concepts de base de la programmation Web dynamique (PHP) et se familiariser à un FrameWork PHP (Symfony)
Apprendre et manipuler les concepts de base de la programmation Web dynamique (PHP)
Savoir les principes de la programmation Orientée Objet avec PHP et Utiliser l’interface PDO
Apprendre et Découvrir l’architecture et les concepts de base du Framework Symfony
Manipuler et maîtriser les éléments suivants : Bundle, controller, Routing, Template Twig ,doctrine2, Entity, CRUD…
Contenu :
Semaine 1-2 : Introduction au Développement Web Avancé
- Évolution du web et tendances actuelles en développement web.
- Architecture des applications web modernes et rôle du Génie des Télécommunications.
Semaine 3-4 : Frameworks Front-End avancés
- Exploration des frameworks front-end tels que React, Angular ou Vue.js.
- Création de composants réutilisables et gestion de l’état de l’application.
Semaine 5-6 : Conception Réactive et Adaptative
- Conception réactive pour une expérience utilisateur cohérente sur différents appareils.
- Utilisation des médias queries et des techniques de mise en page flexbox et grid.
Semaine 7-8 : Performance Web et Optimisation
- Techniques pour améliorer la performance des applications web.
- Optimisation du chargement des ressources, compression des images et mise en cache.
Semaine 9-10 : Gestion de l’État Global
- Utilisation de gestionnaires d’état (comme Redux) pour la gestion centralisée de l’état.
- Gestion des actions, des réducteurs et des stores pour une application robuste.
Semaine 11-12 : Authentification et Sécurité
- Mise en place de systèmes d’authentification et d’autorisation.
- Sécurisation des applications web, protection contre les vulnérabilités courantes.
Semaine 13-14 : API RESTful et Intégration Backend
- Création d’API RESTful pour communiquer avec le backend.
- Intégration de données depuis des sources externes, comme des services web.
Semaine 15-16 : Déploiement et DevOps
- Déploiement d’applications web sur des serveurs en production.
- Utilisation de pratiques DevOps pour l’automatisation des déploiements.
Évaluation : L’évaluation inclut des projets de développement web avancé, des évaluations de compétences techniques, des examens écrits pour tester la compréhension théorique, ainsi que des présentations de projets et des évaluations de la qualité du code.
TP 13 : Examen TP ou soutenances de mini-projets
Méthodes d’enseignement et d’apprentissage
¨Travaux pratiques (laboratoire)
¨Travaux à faire à domicile (mini-projet, exposé, compte-rendu, …)
Connaissances et compétences pré-requises
Développement web et Multimédia : HTML 5, CSS3 et JavaScript
Références bibliographiques
Christophe Aubry, « Bootstrap 3 pour l’intégrateur web – CSS et Responsive Web Design » ENI, 2014. 370p. ISBN : 978-2746088672.
Vikram Vaswani, « XML and PHP », New Riders, 2002. 384p. ISBN: 0-73571-227-1.
Victor Thuillier, , « Le PHP », OpenClasserooms, 2014. 333p.
Bilal Amarni, « Symfony2 – Développez des sites web PHP structurés et performants », ENI, 2014. 514p. ISBN : 978-2746086906.
changuelSami.wordpress.com
https://www.adminer.org/#download
https:/
/www.w3schools.com/php/php_mysql_connect.asp
http://php.net/manual/fr/index.php
https://symfony.com/doc/current/index.html
Modalité d’évaluation
100% Travaux pratiques (mini-projet avec présentation orale, examen TP, compte-rendu, …)
Résultats d’apprentissage :
Après avoir réussi l’examen du cours « Développement Web Avancé », les étudiants devraient être en mesure de démontrer les compétences suivantes :
- Maîtrise des Technologies Web Avancées :
- Utilisation fluide de frameworks front-end avancés tels que React, Angular ou Vue.js pour développer des applications web dynamiques et interactives.
- Conception et Optimisation d’Interfaces Utilisateur :
- Création d’interfaces réactives et adaptatives pour garantir une expérience utilisateur cohérente sur différentes tailles d’écran.
- Utilisation de techniques d’optimisation pour améliorer la performance de l’application.
- Gestion de l’État de l’Application :
- Implémentation de gestionnaires d’état (comme Redux) pour maintenir un état global cohérent de l’application.
- Gestion des actions, des réducteurs et des stores pour des applications complexes.
- Sécurité et Authentification :
- Mise en place de systèmes d’authentification sécurisés et de contrôle d’accès.
- Connaissance des meilleures pratiques de sécurité pour protéger les applications web contre les vulnérabilités.
- Intégration Backend et API :
- Création et consommation d’API RESTful pour échanger des données entre l’application front-end et le backend.
- Intégration de données provenant de sources externes pour enrichir le contenu.
- Développement Orienté Performances :
- Application de techniques d’optimisation pour réduire le temps de chargement des pages et améliorer la réactivité de l’application.
- Compétences en Déploiement et DevOps :
- Déploiement réussi d’applications web sur des serveurs de production en suivant les meilleures pratiques.
- Utilisation de pratiques DevOps pour l’automatisation des déploiements et la gestion des environnements.
- Collaboration et Communication :
- Travailler efficacement au sein d’équipes de développement multidisciplinaires.
- Communication claire des idées, des solutions techniques et des progrès de développement.
- Adaptabilité Technologique :
- Capacité à s’adapter aux évolutions rapides des technologies web et à apprendre de nouveaux concepts et outils.
- Analyse et Résolution de Problèmes :
- Identifier et résoudre les problèmes techniques et les bugs dans le code.
- Pensée Critique et Créativité :
- Analyse critique des besoins de l’application et proposition de solutions créatives pour les résoudre.
- Éthique et Qualité du Code :
- Application de principes éthiques dans le développement et la publication de code de haute qualité.
[lifterlms_course_continue_button]