LIFWEB - Conception Et Programmation Web - 2023-2024
- Titre : Conception Et Programmation Web
- Acronyme : LIFWEB
- Code Apogée : INF3054L
- Séquence : 3M, mardi matin uniquement
- Discord Licence Math-Info UCBL :
#「🌐」lifweb
- Tomuss : https://tomuss.univ-lyon1.fr/2024/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 : THION Romuald
Programme
#L. est le numéro de semaine de licence dans le calendrier académique de l’UCBL.
#L. | Date | CM | TP | CC |
---|---|---|---|---|
01 | 16/01 | CM1 - HTTP, HTML, CSS, JS | TP1 - Intro JS (correction) | |
02 | 23/01 | CM2 - API DOM | TP2-a - API DOM (1/2) (correction) | |
03 | 30/01 | TP2-a - API DOM (2/2) (correction) | ||
04 | 06/02 | CM3 - Fun., async. | TP2-b - API DOM - Galerie (correction) | CC1 |
05 | 13/02 | CM4 - Async., fetch | TP3 - Prog. Fonct. (correction) | |
06 | 20/02 | CM5 - Tooling (feat. MAL & EID) | TP4 - Async | |
07 | 05/03 | TP4 - GitHub Verifier (1/2) | ||
08 | 12/03 | CM6 - Node.js | TP4 - GitHub Verifier (2/2) | |
09 | 19/03 | (*) | CC2 | |
10 | 26/03 | CM7 - Web App | TP5 - DevOps/Node.js | CC3 |
11 | 02/04 | TP6 - Réducteur d’URLs | fin CTF, fin DevOps | |
12 | 09/04 | TP6 - Réducteur d’URLs | ||
13 | 16/04 | TP6 - Réducteur d’URLs | évaluation en séance | |
13 | 18/04 | ECA1 16:15 - 17:45 | ||
27 | 02/07 | 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’
- BM : Bonus/Malus dans l’intervalle [-0.5; 1.125] sur la réalisation des TPs :
- TP4, noté dans l’intervalle [-1; 1]
- TP5, noté dans l’intervalle [0; 1]
- TP6, noté dans l’intervalle [0; 3]
- CTF, noté dans l’intervalle [-1; 4]
- 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 := BM + (MAX(CC1, CT) + MAX(CC2, CT) + MAX(CC3, CT)) / 3
BM := (TP4 + TP5 + TP6 + CTF) / 8
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, le CM une semaine sur deux de 08:00 à 09:30. 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 | LUMINEAU Nicolas |
A2 | 11:30-13:00 | ADE | THION Romuald |
B1 | 09:45-11:15 | ADE | MOY Matthieu |
B2 | 11:30-13:00 | ADE | ALVES Mickael |
C1 | 09:45-11:15 | ADE | PUGET GIL Jey |
C2 | 11:30-13:00 | ADE | IDOUX Etienne |
D1 | 09:45-11:15 | ADE | DE THÉZAN DE GAUSSAN Valérian |
D2 | 11:30-13:00 | ADE | DE THÉZAN DE GAUSSAN Valérian |
E1 | 09:45-11:15 | ADE | LACMOU ZEUTOUO Jerry |
E2 | 11:30-13:00 | ADE | MENAYDE Edouard |
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