Séance 14 — Évaluation finale

Sur l’ensemble du cours

ImportantLe sujet n’est pas publié ici

Le sujet vous sera distribué en début de séance.

Déroulement

Durée 2 h
Internet Coupé. Aucune connexion pendant l’épreuve
Documents Une copie locale du site du cours est fournie sur votre poste, ainsi que vos propres fichiers
Données Des fichiers JSON sont fournis dans votre dossier, à lire avec fetch
Interdits Toute communication, toute IA
Rendu Un dossier NOM_Prenom déposé à la fin de la séance
ImportantPas d’Internet : ce que ça change

Les API en ligne de la séance 13 ne seront pas accessibles. À la place, vous lirez des fichiers JSON posés dans votre dossier :

const reponse = await fetch(`donnees/${code}.json`);

C’est le même code qu’avec une API : seule l’adresse change. Revoyez la section 5 de la séance 13 et refaites l’exercice 13.2.

⚠️ Lancez la page avec Live Server, sinon fetch refusera de lire les fichiers locaux.

Ce qui est évalué

L’épreuve porte surtout sur les séances 8 à 13, mais les bases restent nécessaires.

Toujours utile — séances 1 à 6

  • Structure HTML, CSS avec classes
  • Variables, types, if / else
  • querySelector, textContent, addEventListener

Le cœur de l’épreuve — séances 8 à 13

Séance Compétences
8 Tableaux, index, for…of, accumulateur, afficher une liste
9 Écrire une fonction, return vs console.log, supprimer les répétitions
10 Formulaire, preventDefault, .value, validation, createElement
11 Objets, tableau d’objets, classe, constructor, this, new
12 JSON.stringify / parse, localStorage, try / catch
13 fetch, async / await, reponse.ok, lire un JSON imbriqué, lire un fichier local

Le type de questions

Avertissement« Cours autorisé » ne veut pas dire « recopier »

Attendez-vous à :

  • Prédire ce qu’affiche un programme, et justifier
  • Trouver et expliquer des erreurs dans du code qui a l’air correct
  • Compléter un programme dont il manque des morceaux
  • Écrire une petite application complète à partir d’un cahier des charges
  • Expliquer un choix : pourquoi const plutôt que let, pourquoi textContent plutôt que innerHTML, pourquoi ce try/catch…

Les encadrés ⚠️ du cours sont exactement la matière des questions de débogage.

Comment se préparer

  1. Refaites le Pokédex (exercice 13.5) de zéro, sans la solution. Il contient tout le cours.
  2. Refaites l’exercice 13.2 (lire un fichier local, et ses trois pannes : 404, données abîmées, résultat vide). C’est le format exact de l’épreuve.
  3. Reprenez les exercices « Trouver les N erreurs » : 2.4, 3.4, 6.4, 8.5, 9.4, 10.3, 13.3. Ce sont les plus proches de l’épreuve.
  4. Relisez les fiches mémo et vérifiez que vous savez écrire chaque squelette de tête :
    • la page HTML
    • for…of
    • function … return
    • l’écouteur submit avec preventDefault
    • une class avec constructor
    • async / try / catch / fetch

Le jour J

AstuceLe meilleur conseil

Ne cherchez pas à tout écrire d’un coup puis à tester. Écrivez trois lignes, testez, écrivez trois lignes, testez. C’est plus rapide, et vous saurez toujours quelle modification a cassé quoi.