LIFWEB - Conception Et Programmation Web - 2024-2025
- Titre : Conception Et Programmation Web
- Acronyme : LIFWEB
- Code Apogée : INF3054L
- Séquence : 3M, mardi matin uniquement
- Tomuss : https://tomuss.univ-lyon1.fr/2025/Printemps/UE-INF3054L
- Volumes horaires :
- CM : 10 h 30 (7 séances de 1 h 30)
- TD : aucun
- TP : 19 h 30 (13 séances de 1 h 30)
- Responsable : Aurélien Tabard
Programme
#L. est le numéro de semaine de licence dans le calendrier académique de l’UCBL.
#L. | Date | CM | TP | CC |
---|---|---|---|---|
01 | 21/01 | CM1 - HTTP, HTML, CSS, JS | TP1 - Intro à JavaScript correction | |
02 | 28/01 | CM2 - API DOM | TP2-a - API DOM (1/2) | |
03 | 04/02 | CM3 - Javascript avancé & Asynchrone | TP2-a - API DOM (2/2) correction | |
04 | 11/02 | CM4 - Promesses, asynchrone et fetch | TP2-b - API DOM - Galerie correction | CC1 |
05 | 18/02 | CM5 - Serveur - Node.js | TP3 - Prog. Fonctionelle | |
06 | 25/02 | TP4 - fetch (1/2) | ||
07 | 04/03 | Vacances | ||
08 | 11/03 | CM6 - Tooling | (*) | CC2 |
09 | 18/03 | TP4 - GitHub Verifier (2/2) | ||
10 | 25/03 | CM7 - Web App | TP5 - DevOps | |
11 | 01/04 | TP6 - Réducteur d’URLs | CC3 | |
12 | 08/04 | TP6 - Réducteur d’URLs | ||
13 | 15/04 | TP6 - Réducteur d’URLs | ||
13 | 22/04 | ECA1 08:00 - 9:30 | ||
27 | ??/06 | TOUTE FIN JUIN | ECA2 10:00 - 11:00 |
Objectifs
L’objectif de cet enseignement est de concevoir, réaliser et déployer des APIs et des applications Web contemporaines (HTML5, CSS3, ES6+, AJAX) aux standards de qualité actuels. L’enseignement introduit d’abord le langage JavaScript et l’API DOM pour interagir avec le navigateur. La programmation asynchrone est ensuite introduite côté client puis côté serveur (Node.js). L’enseignement s’appuie sur des bibliothèques de références et des outils standards de l’écosystème Web.
Compétences
- Programmer en JavaScript asynchrone/événementiel, client et serveur,
- Utiliser, concevoir et documenter une API Web,
- Concevoir, réaliser et déployer une application Web,
- Mettre en œuvre les bonnes pratiques de programmation Web.
Pré-requis
- Programmation impérative et fonctionnelle, cf. LIFPF,
- Réseaux (HTTP, SSH), cf. LIFRW,
- Bases de données, cf. LIFBDW-Automne et LIFBDW-Printemps,
- Système d’exploitation, cf. LIFSE et LIFPCA,
- UX/UI, cf. LIFIHM,
- Documents Web (HTML, CSS), cf. supra LIFRW et LIFBDW,
- Git et gestion de code, cf. LIFPROJET et LIFAPCD.
MCC
L’UE est en Contrôle Continu Intégral (CCI) avec les épreuves suivantes :
- 60% : CC :
- 20% : CC1, épreuve écrite sur table de 30’
- 20% : CC2, TP noté en séance
- 20% : CC3, épreuve écrite sur table de 30’
- 40% : CT : maximum entre les deux sessions :
- ECA1, épreuve écrite session 1 sur table de 90’
- ECA2, épreuve écrite session 2 sur table de 60’
Les notes de CC ne peuvent qu’être supérieures à la note de CT. Pour les absences, justifiées ou non, les notes manquantes sont remplacées par la note de CT. La formule finale est comme suit :
CT := MAX(ECA1, ECA2)
CC := (MAX(CC1, CT) + MAX(CC2, CT) + MAX(CC3, CT)) / 3
UE := (0.6 * CC) + (0.4 * CT)
Annales 2023-2024
CC1 (QCM), CC2 (sujet zéro TP noté en séance), CC3 (QCM/QROC) et ECA.
Groupes de TP
Tous les enseignements ont lieu le mardi matin. Les travaux pratiques ont tous lieu en Ariane dans les créneaux après le CM :
- de 09:45 à 11:15 pour les groupes impairs (A1, B1, C1, D1, E1)
- de 11:30 à 13:00 pour les groupes pairs (A2, B2, C2, D2, E2)
Groupe | Horaire TP | Calendrier | Chargé de TP |
---|---|---|---|
A1 | 09:45-11:15 | ADE | Aurélien Tabard |
A2 | 11:30-13:00 | ADE | Marc Bertin |
B1 | 09:45-11:15 | ADE | Matthieu Moy |
B2 | 11:30-13:00 | ADE | Maeva Somny |
C1 | 09:45-11:15 | ADE | Maeva Calmettes |
C2 | 11:30-13:00 | ADE | Maeva Calmettes |
D1 | 09:45-11:15 | ADE | Solène Richard |
D2 | 11:30-13:00 | ADE | Solène Richard |
E1 | 09:45-11:15 | ADE | Valérian de Thézan de Gaussan |
E2 | 11:30-13:00 | ADE | Valérian de Thézan de Gaussan |
Références
- 🔖 The Modern JavaScript Tutorial : https://javascript.info/
- 🔖 Guides et référence MDN https://developer.mozilla.org/
- 📑 Node.js
- API : https://nodejs.org/docs/latest-v20.x/api/index.html
- Node.js best practices : https://github.com/goldbergyoni/nodebestpractices
- Hapi.Dev : https://hapi.dev/ (web framework)
- 🧑💻 Developer Roadmaps
- 📚 Références tierces HTML et CSS
- 🔎 https://htmlreference.io/ et mémo https://htmlcheatsheet.com/
- 🔎 https://cssreference.io/
- http://html5doctor.com/, liste des balises
- https://css-tricks.com/, astuces
- https://specificity.keegan.st/, calculateur de spécificité
- https://cssguidelin.es/, bonnes pratiques CSS
- validateurs https://validator.w3.org/ et https://jigsaw.w3.org/css-validator/
- 🧑🔬 Standards
- RFCs https://www.rfc-editor.org/ (réseau)
- ECMAScript https://tc39.es/ecma262/ (JS)
- https://www.w3.org/TR/ et https://spec.whatwg.org (Living Standard)
- 📒 Divers
- What the f*ck JavaScript? https://github.com/denysdovhan/wtfjs
- Framework CSS Bulma : https://bulma.io/
- Clean Code Javascript https://github.com/ryanmcdermott/clean-code-javascript
- Git Interactive Cheatsheet : https://ndpsoftware.com/git-cheatsheet.html