Composante
Polytech Annecy-Chambéry
Description
Ce cours porte sur l'apprentissage du développement d'applications web comme interface dans la manipulation de données. Ce type d'application, construit sur une architecture 3 tiers, comprend une base de données relationnelle, un serveur web pour la partie backend assurant aussi la liaison avec la base de données et une interface utilisateur (pages web) pour la partie frontend. L'apprentissage porte sur ces 3 dimensions. Pour la partie base de données, il s'agira de mettre en œuvre des fonctions, des procédures et des déclencheurs (triggers) en langage de programmation SQL afin d'opérer des premiers traitements sur les données de la base. Le serveur web se charge quant à lui, de produire les pages web demandées par le client et de gérer le transit des données entre le client et la base de données. Enfin, la partie cliente est une interface web ergonomique, responsive design, réalisée en HTML/CSS/javascript avec l'appui d'un framework simple.
Objectifs
L'objectif de ce cours est l'apprentissage des technologies du web dans un contexte de manipulation de données entre une base de données relationnelle et un client web (navigateur web). L'apprenant travaillera l'implantation de fonctionnalités dans les 3 dimensions de ce type d'applications: sur le serveur de BD, le serveur web, sur le client. Quelques notions sur le cryptage de données sensibles ou encore sur l'efficacité environnementale seront également abordées.
Heures d'enseignement
- TDTravaux Dirigés13,5h
- AUTOAutonomie6h
- PROJProjet12h
- PTUTProjet tutoré4h
Pré-requis obligatoires
Une bonne connaissance des bases de la programmation (dont la programmation orientée objet).
Les bases de données relationnelles.
Les principes des réseaux informatiques (de type internet) et de l'approche client-serveur.
Une connaissance du principe de construction d'une page web en html et css.
Plan du cours
Partie 1: Révision autour de la modélisation des données en vue de leur manipulation dans une base de données (modèle entité-association, modèle relationnel) puis découverte des fonctions, des procédures et des curseurs en SQL.
Partie 2: Manipulation des données depuis une page web simple (html, css) à partir d'un serveur web. Le focus estsur la partie "backend" de l'application avec la mise en place de la liaison entre l'application cliente et la base de données. Au niveau de la base de données, utilisation des triggers.
Partie 3: Construction d'un frontend côté client s'appuyant sur un framework simple en javascript (interaction avec le DOM, websocket, diverses API)
Partie 4: Intégration des connaissances au travers d'un projet de développement d'un mini site web impliquant la manipulation de données. Cette partie est réalisée en mode projet et impliquant un travail en équipe et l'usage d'outil collaboratif de développement (gestion de projet, versoning de code).
Compétences visées
A l'issue de ce cours, l'apprenant est capable de:
- concevoir et mettre en œuvre une application 3 tiers de taille moyenne,
- développer des fonctionnalités avancées pour la manipulation de données sur un serveur de base de données,
- développer une application web composée d'une partie serveur (backend) et d'une partie cliente (frontend), permettant de manipuler des données (stockage en base, affichage, traitement simple, etc),
- maîtriser les principaux langages utilisés en développement web (SQL, HTML, CSS, javascript) et appuyer son développement sur des frameworks ou des API existantes.