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é
| Traitement | Où | Pourquoi |
|---|---|---|
| Afficher le total d'un panier | les deux | le 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 existe | serveur | la liste des codes n'est pas dans la page, et ne doit pas y être |
| Masquer un menu | client | pur affichage, rien à protéger |
| Vérifier un droit de consultation | serveur | c'est une décision d'autorisation : le client est justement la partie qu'on ne croit pas |
| Contrôler la présence d'une arobase | les deux | cô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.