Développement d'applications web
- Enseignant
- Virgile Gerecke
- Volume horaire
- 72h
- Contact
- Courriel : virgile.gerecke@unistra.fr
- RocketChat : https://rocketchat.unistra.fr, virgile.gerecke
- Permanence : A partir de 8h pour les cours commençant à 8h30
Description du cours
De nos jours, les applications web sont utilisées quotidiennement par plusieurs milliards de personnes. C'est un moyen simple et efficace d'accès à la culture, aux loisirs, à l'enseignement, etc.
Ce cours propose une introduction aux technologies utilisées pour la réalisation d'applications web ainsi que les interactions entre ces outils et concepts. Ce cours sera l'occasion pour l'étudiant(e) de découvrir et de mettre en œuvre :
- les langages utilisés pour la création d'une page web
- les interactions entre les différents éléments technologiques utilisés (serveur web, navigateur, base de données, etc.)
- les concepts utilisés habituellement dans le développement web
- des bonnes pratiques à mettre en oeuvre pour assurer un développement cohérent
Ce cours s'appuiera sur le framewok Symfony pour l'illustration de concepts et de bonnes pratiques.
Objectifs du cours
A la fin du cours, l'étudiant(e) aura atteint les objectifs suivants :
- Maitriser les bases du langage HTML
- Maitriser les bases du langage PHP
- Maitriser les fondements de la base de données relationnelle MySQL
- Maitriser les bases du langage CSS
- Maitriser les bases du langage JavaScript
- Maitriser le concept MVC
- Maitriser les bases de d'un ORM
- Maitriser les base de l'utilisation du framework Symfony
- Développer de manière modulaire
- Maitriser les bases des tests unitaires et fonctionnels
- Utiliser Ajax avec Symfony
Contenu du cours
L'enseignement s'articulera autour des cours suivants :
- Présentation du site web du syllabus, du site web du cours et des livrables attendus
- Utilisation d'un système de contrôle de gestion - Principe, introduction à Git
- Introduction à HTML - Historique, principes, syntaxe
- Introduction à PHP - Historique, principes, syntaxe
- Objets PHP - Principes de la programmation orientée objet appliquée à PHP
- Conservation des données de navigation
- Introduction à MySQL - Principe, requêtes, formes normales, relations, transactions
- PHP / MySQL
- PHP Data Objects - Mise en œuvre
- Introduction à CSS - Sélecteurs, mise en forme, mise en page
- Introduction à JavaScript - Syntaxe, JQuery, AJAX
- Présentation du concept Modèle/Vue/Contrôleur
- Concept d'un framework - Introduction à Symfony
- Architecture Symfony
- Mise en oeuvre MVC avec le framework
- Penser réutilisable
- Concept Mapping objet relationnel
- Tests unitaires et fonctionnels
- Ajax
- Découverte d'un framwork JavaScript avec VueJS - Séparation front-end et back-end
Méthode d'enseignement
Ce cours est proposé aux étudiant(s) sous forme de démonstrations, d'instructions et d'exercices progressifs.
Le cours est présenté pendant les séances. Les différentes notions seront ensuite approfondies et mises en œuvre dans le cadre des séances.
Le cours est disponible en ligne à l'adresse http://richie.u-strasbg.fr/~virgile
Evaluation
Des étudiant(e)s
- Des exercices, réalisés seul ou en équipe durant les séances. Les étudiants devront remettre principalement les codes sources des solutions aux exercices sur le dépôt git mis à leur disposition. Les commentaires et explications seront appréciés. Les exercices d'une séance sont à rendre au plus tard la semaine suivant la séance.
- Un examen qui se déroulera sur machine en temps limité le 21 janvier 2022 (un changement d'emploi du temps pourrait intervenir pour nécessité pédagogique) . Il s'agira d'une mise en œuvre des notions abordées dans le cours. Les codes sources et documents additionnels devront être remis à la fin du temps imparti.
- Un projet de développement à réaliser en groupe. Les étudiants devront produire le code source et les documents annexes d'une application web. Ce projet devra mettre en œuvre les technologies ainsi que les concepts théoriques vus dans les cours. Le sujet sera fourni le 14 janvier 2022. Le rendu sera à effectuer un le dépôt git de l'étudiant (spécifique au projet) au plus tard le 17 mars 2022.
- Tout retard de rendu d'un entrainera une pénalité de 20% des points accordés, par jour.
Du cours
- Discussion avec les étudiant(e)s à la mi-session et à la fin de la session
- Retours des étudiants dans le cadre du Conseil de perfectionnement de la formation.
Notes et références
- HTML 5
- Rodolphe Rimelé - Eyrolles - ISBN 9782212596113
- https://biblio.bnu.fr/opac/resource/html-5/BUS2402172?sysb=bnu
- PHP 7 : cours et exercices
- Jean Engels - Eyrolles - ISBN 9782212009569
- https://biblio.bnu.fr/opac/resource/php-7-cours-et-exercices/BUS2271661?sysb=bnu
- Programmez en orienté objet en PHP
- Victor Thuillier - Eyrolles - ISBN 9782212149364
- https://biblio.bnu.fr/opac/resource/programmez-en-oriente-objet-en-php/BUS2316641?sysb=bnu
- Fullstack Vue: The Complete Guide to Vue.js
- Hassan Djirdeh, Nate Murray, Ari Lerner - CreateSpace Independent Publishing Platform - ISBN 1987595297