Dans ce TP vous allez réaliser la programmation d'un chronomètre en Javascript.
La capture d'écran ci-dessous montre le résultat final du chronomètre qui sera obtenu à la fin de ce TP.
Un code de base est donné : code de départ TP Javascript Chronomètre.
Ce code de base affiche l'heure. Cet affichage est rafraîchi automatiquement toutes les 100ms.
Analyser le fonctionnement du code présent dans le fichier "Chronometre.html".
Le but de cette étape est de remplacer l'affichage de l'heure actuelle par la valeur d'un compteur initialisé à 0 qui sera incrémenté toutes les secondes.
Vidéo du résultat attendu :
Créer une variable nommée "chrono", l'initialiser à 0.
Créer une fonction "afficheChrono()" qui affiche la valeur de la variable "chrono" sur l'afficheur 7 segments. L'unité de la variable "chrono" est la seconde.
Modifier la fonction "animate()" selon le diagramme d'activité ci-dessous :
Tester
Faire constater au professeur
Le but de cette étape est de coder les évènements liés aux clics sur les boutons Start, Stop et Reset.
Le diagramme d'état ci-dessous décrit le fonctionnement de l'application :
Créer trois fonctions "start()", "stop()" et "reset()". Ces trois fonctions afficheront, pour le moment, leurs noms respectifs dans la console (console.log()).
Définir l'évènement "onClick" des 3 boutons présents sur la page de manière à associer l'exécution des trois fonctions à leur bouton homonyme.
Tester
Faire constater au professeur
Modifier le code des 3 fonctions "start()", "stop()" et "reset()" de manière à obtenir le fonctionnement décrit dans le diagramme d'état ci-dessus.
Une transition indique le passage d’un état (état source) dans un autre (état cible). Elle est représentée par une flèche orientée de l’état source vers l’état cible.
Syntaxe générale d’une transition :
{ <événement> } { [ <condition de garde> ]} { / <effet> }
Exemple :
Dans le diagramme d'état ci-dessus, la transition "ResetClick/chrono = 0", indique que l'évènement clic sur le bouton "Reset" entraine la mise à 0 de la variable "chrono".
En utilisant la propriété "disabled" des balises "button", faire en sorte que selon dans l'état dans lequel le programme est, seules les boutons utilisables soient activés. Par exemple quand le chronomètre est dans l'état "Run" seul le bouton "Stop" est utilisable donc les 2 autres boutons devront être alors "disabled".
Tester
Faire constater au professeur
Le but de cette étape est d'améliorer la résolution de notre chronomètre.
Pour un instrument de mesure, la résolution est le plus petit incrément ou décrément pouvant être mesuré par celui-ci.
Actuellement nous avons une résolution de 1s. Modifier le code de manière à avoir une résolution de 1/10s.
Vidéo du résultat attendu :
Tester
Faire constater au professeur
Le but de cette étape est d'ajouter un bouton permettant de basculer entre le thème clair (style actuel) et un thème sombre.
La capture d'écran ci-dessous montre le résultat attendu :
Tester
Faire constater au professeur
Article connexe : Introduction au Javascript