Niveau d'étude
Bac +5
ECTS
6 crédits
Crédits ECTS Echange
6.0
Composante
UFR IM2AG (informatique, mathématiques et mathématiques appliquées)
Période de l'année
Automne (sept. à dec./janv.)
Description
Fiche descriptive de l'UE : ici
L’objectif de cette UE qui regroupe les enseignements Applications Internet et Programmation Langages (Programmation par Objets) est double :
- donner une vision Full-Stack du développement d’applications Web en offrant un panorama des technologies mises en œuvre tant du côté client que du côté serveur
- introduire les concepts de base de la programmation objets.
A l’issue de cet enseignement, complété par le projet d’intégration, les étudiants auront une compréhension globale du fonctionnement des applications Web et une connaissance de la programmation objet leur permettant d’aborder l’ensemble des activités de développement logiciel. Sans en faire des spécialistes de telle ou telle technologie, l’UE PLAI vise à donner aux étudiants toutes les clés qui leur permettront de s’approprier plus facilement, selon leur évolution future, les langages, cadriciels (frameworks) et outils nécessaires au développement d’applications modernes.
Programme résumé
Application Internet (AI)
- Principes de fonctionnement du web
- HTML5 : principes de bases
- CSS3 : principes de base, sélecteurs
- JavaScript : éléments de base du langage, manipulation du DOM, gestion des événéments, introduction à l’approche objet (prototypes)
- Protocole HTPP - serveur http (apache2) (installation, configuration)
- Application web dynamiques :
- génération de contenu côté serveur,
- l’approche JEE : Servlets, JSP, conteneur web (serveur tomcat)
- accès à un SGBD : JDBC
- AJAX : Communication asynchrone client/serveur, JQuery
- Cadriciels (frameworks) pour le développement d’application web
- paradigme Modèle/Vue/Contrôleur (MVC)
Programmation Langages : Approche Objets
Cet enseignement s’effectue à travers l’étude du langage Java. Il a pour but de présenter les principes d’un langage de classes, les notions étudiées en Java pouvant être ensuite facilement transposées à d’autres langages (C#, C++, Python…). Les points abordés sont :
- concepts de base de l'approche par objets
- encapsulation des données,
- classes / instances
- héritage et abstraction
- héritage d’implémentation
- classes abstraites,
- polymorphisme, lien dynamique
- programmation par contrats, interfaces
- généricité
- types génériques
- les collections
- tests unitaires
- JUnit
Cet apprentissage de Java est complété par l’étude des technologies Java pour le web dynamique (Servlets, JSP, JDBC) effectuée dans la partie AI (Application Internet) de cet enseignement.
Les deux cours AI et PL2 (Programmation Objet), s’appuient sur une forte activité pratique. A chaque cours sont associés des exercices pratiques devant être réalisés sur machine. Les séances de travaux pratiques ont lieu indifféremment dans un environnement Windows ou Linux. Elles permettent d’introduire, en complément des langages étudiés en cours, les outils indispensables au développement d’applications : outils de développement web (console, déboguer JavaScript, analyse de requêtes http...), environnement de développement intégré (IDE) (éditeur syntaxique, débogueur, compilation (ant, maven), gestion de versions (Git)…). Si les outils étudiés sont ceux du navigateur Firefox et l’IDE NetBeans, là aussi l’approche se veut suffisamment générale pour permettre aux étudiants d’évoluer ensuite plus facilement vers des outils spécifiques.
L’ensemble des notions abordées dans ces deux enseignements seront mis en œuvre dans le projet d’intégration.
Heures d'enseignement
- CMCM42h
- TPTP60h
Période
Semestre 9
Liste des enseignements
Programmation Objet-Java
3 créditsTechnologie du Web
3 crédits