Adloun

Pour chacun de ces traitements, dire s'il doit s'exécuter sur le…

Exercice de TD · niveau 2 · NSI (première), chapitre 10 — Interagir sur le Web · Client, serveur, GET et POST

Énoncé

Pour chacun de ces traitements, dire s'il doit s'exécuter sur le client, sur le serveur, ou sur les deux, et pourquoi : afficher le total d'un panier ; vérifier qu'un code promo existe ; masquer un menu ; vérifier qu'un utilisateur a le droit de consulter une page ; contrôler qu'une adresse électronique contient une arobase.

Corrigé

TraitementPourquoi
Afficher le total d'un panierles deuxle client l'affiche tout de suite, sans attendre ; le serveur le recalcule au paiement, c'est le sien qui fait foi
Vérifier qu'un code promo existeserveurla liste des codes n'est pas dans la page, et ne doit pas y être
Masquer un menuclientpur affichage, rien à protéger
Vérifier un droit de consultationserveurc'est une décision d'autorisation : le client est justement la partie qu'on ne croit pas
Contrôler la présence d'une arobaseles deuxcôté client pour prévenir tout de suite ; côté serveur parce qu'on peut envoyer la requête sans passer par la page

Deux lignes seulement sont franches. Les trois autres relèvent d'une règle unique : tout ce qui protège quelque chose est côté serveur ; ce qui est côté client n'est que du confort. Quand un traitement figure des deux côtés, ce n'est pas un doublon inutile — les deux n'ont pas le même rôle : l'un évite un aller-retour, l'autre garantit.

Piège : ranger « afficher le total » en « client » sans réserve. Un total affiché n'engage personne ; mais si la valeur affichée est celle qui est envoyée au paiement, alors l'utilisateur choisit le prix qu'il paie. Ce n'est pas le calcul qui doit migrer côté serveur, c'est la décision.

Les autres exercices de ce chapitre Le cours du chapitre

Un blocage sur cet exercice ? Le tuteur d'Adloun guide par questions, sans donner la réponse.