Master 1 informatique – Université Claude Bernard Lyon 1 – mercredi 21/01/2026
M1IF 03 – Conception d’applications Web – Examen
Durée : 1 heure 00 – Documents autorisés (4 pages max) – Ordinateurs, calculatrices, tablettes, téléphones portables, montres connectées, drones… interdits
Toutes les questions ont au moins une bonne et une mauvaise réponse.
Il faut cocher toutes les bonnes propositions d’une question pour avoir un point.
Si vous cochez une mauvaise proposition, vous annulez la question.
Remplissez au stylo noir ou bleu la case de la ou des bonne(s) réponse(s) ; une croix ne suffit pas.
Ne barrez pas une mauvaise réponse, mettez du blanc.
Ne redessinez pas une case que vous avez effacée, laissez blanc.
La première question n’est pas prise en compte dans la notation, mais elle est indispensable pour la notation des autres questions.
Questions:
-
La spécification Jakarta EE
-
❌
est une ancienne version de la spécification Java EE
-
✅
est une nouvelle version de la spécification Java EE
-
❌
est une spécification complémentaire à Java EE incluant JSP
-
❌
est une spécification complémentaire à Java EE incluant Spring
-
❌
n'est pas une spécification étudiée en cours
-
Parmi les propositions suivantes, quelles sont celles qui sont des objets utilisés côté serveur en Java ?
-
✅
Java Server Pages
-
✅
Catalina
-
❌
Mustache
-
❌
Janitor
-
✅
Servlet
-
Parmi les propositions suivantes, quelles sont les méthodes qui font partie de la spécification des servlets ?
-
✅
init
-
❌
delete
-
✅
doGet
-
❌
doFilter
-
✅
doOptions
-
Pour quelle utilisation une servlet est-elle recommandée ?
-
❌
Pour gérer la logique métier du modèle
-
✅
Pour gérer le workflow de génération de la réponse
-
❌
Pour produire le code HTML de la réponse
-
❌
Pour la mise en place de la persistance des données
-
❌
Pour l'initialisation du contexte applicatif
-
Dans le pattern MVC côté serveur
-
❌
La vue reçoit les actions de l'utilisateur
-
✅
Le contrôleur reçoit des requêtes HTTP
-
❌
Le modèle traite des requêtes HTTP
-
✅
Le contrôleur extrait les données des requêtes HTTP
-
✅
La vue est renvoyée au client dans des réponses HTTP
-
Parmi les propositions suivantes, indiquez les noms de patterns vus en cours :
-
✅
Décorateur
-
❌
Magne Voilà le Contrôleur (MVC)
-
✅
Chaîne de Responsabilité
-
✅
Templating
-
❌
Stratégie
-
Parmi les propositions suivantes, cochez celles qui sont des codes d'erreurs HTTP :
-
❌
104
-
❌
204
-
❌
304
-
✅
404
-
✅
504
-
Parmi les propositions suivantes, cochez celles qui sont des noms d'en-têtes possibles de requêtes HTTP :
-
✅
Content-Type
-
✅
Accept
-
❌
Receive
-
❌
Last-Modified
-
❌
Access-Control-Allow-Origin
-
Parmi les propositions suivantes, cochez celles qui sont des noms d'en-têtes possibles de réponses HTTP :
-
✅
Content-Type
-
❌
Accept
-
✅
ETag
-
❌
If-Modified-Since
-
✅
Access-Control-Allow-Origin
-
Qu'est-ce qu'un type MIME ?
-
❌
Un client HTTP dont l'utilisateur interagit avec des gestes
-
❌
Un mode de compression de données employé depuis HTTP/2
-
✅
Une chaîne de caractères
-
❌
Un des grands principes permettant d'améliorer la performance des applications web
-
✅
Un standard permettant d'indiquer l'encodage d'une ressource
-
Parmi les propositions suivantes, cochez celles qui sont correctes :
-
✅
La clé privée qu'il vous a été demandé d'installer sur votre VM était symétrique
-
❌
La clé privée qu'il vous a été demandé d'installer sur votre VM était asymétrique
-
❌
La clé publique qu'il vous a été demandé d'installer sur votre VM était symétrique
-
❌
La clé publique qu'il vous a été demandé d'installer sur votre VM était asymétrique
-
❌
Il ne vous était pas demandé d'installer une clé sur votre VM mais un certificat
-
Le script de CI que vous deviez mettre en place en TP devait utiliser les commandes :
-
✅
mvn
-
❌
ssh
-
❌
tomcat
-
✅
scp
-
✅
cd
-
En web, le pattern Inversion de Contrôle permet :
-
❌
d'inverser le workflow applicatif par rapport au pattern MVC
-
✅
de mettre en place un outil qui va gérer le workflow applicatif
-
✅
de générer automatiquement du boilerplate code (code standardisé)
-
✅
de définir des frameworks
-
❌
de définir des Single-Page Applications (SPA)
-
On désigne par "bonnes propriétés du web" ce qui permet aux serveurs de :
-
✅
supporter une charge importante
-
✅
servir des clients hétérogènes
-
❌
contrôler le workflow applicatif de manière sécurisée
-
❌
choisir d'envoyer ou non des messages aux clients
-
❌
conserver facilement l'historique des échanges passés
-
Parmi les propositions suivantes, cochez celles qui correspondent aux bonnes caractéristiques des méthodes HTTP indiquées :
-
✅
GET est idempotente
-
✅
GET est cachable
-
❌
PUT est safe
-
✅
DELETE est idempotente
-
❌
POST est safe
-
En REST, quelles sont les conséquences de la notion de "transactions sans états" (stateless) ?
-
❌
Il faut utiliser des cookes pour conserver la session de l'utilisateur
-
❌
On ne peut pas utiliser le pattern Chaîne de Responsabilités
-
❌
Le serveur doit gérer le workflow applicatif
-
✅
Le client doit gérer le workflow applicatif
-
✅
On ne doit transférer que des représentations de ressources
-
Quelles sont les différences entre l'authentification par cookies et par Json Web Token (JWT) ?
-
✅
Les JWT peuvent être transmis dans l'URL, les cookies non
-
❌
Les cookies permettent la délégation d'authentification, les JWT non
-
✅
Les cookies font partie de la spécification HTTP, les JWT non
-
❌
Les cookies peuvent être interceptés et volés, les JWT non
-
❌
Les JWT peuvent être modifiés par le client, les cookies non
-
En Spring, on peut annoter un bean avec :
-
❌
@Model
-
❌
@RestService
-
✅
@Component
-
✅
@RestController
-
✅
@Bean
-
En Spring, on peut configurer une application :
-
✅
avec des fichiers XML
-
❌
avec des fichiers YAML
-
✅
avec des annotations
-
❌
par injection de dépendances
-
✅
par programmation
-
Parmi les propositions suivantes, quelles sont celles qui correspondent à des méthodes d'authentification dans la spécification HTTP ?
-
✅
Bearer
-
✅
Basic
-
❌
Cookie
-
✅
OAuth
-
❌
SSL
-
Le principe Hypermedia As The Engine Of Application State (HATEOAS) :
-
❌
s'appuie sur la notion d'interprétabilité
-
✅
est un style de gestion du workflow applicatif
-
✅
permet de rendre les clients plus autonomes
-
✅
s'appuie sur la notion d'affordance
-
✅
s'appuie sur la notion de contrôle hypermédia
-
Spring Boot permet :
-
❌
de lancer un serveur au démarrage de la machine
-
✅
de lancer un serveur au démarrage d'une application
-
❌
de faciliter la programmation d'une application web
-
❌
d'améliorer la performance d'une application web
-
✅
de simplifier la configuration d'une application web
-
Parmi les propositions suivantes, quelles sont les outils de templating que vous avez utilisés dans cette UE ?
-
❌
Barb
-
✅
JSP
-
❌
PineLeaf
-
✅
Mustache
-
❌
XSL
-
Pour requêter une Web API, on peut utiliser :
-
✅
un navigateur web
-
❌
Tomcat
-
✅
Postman
-
✅
Swagger
-
✅
curl