Horloge en Morse

Temps de lecture : 4 minutes

Le code HTML fourni représente une page Web affichant une horloge Morse. Cette horloge montre l’heure actuelle sous une forme lisible par l’homme et la convertit également en code Morse, permettant aux utilisateurs de jouer et d’arrêter l’audio du code Morse.

Structure HTML

  • Section Head:
  • Élément Base : Spécifie l’URL de base pour les URL relatives sur la page comme https://f4hxn.fr/.
  • Balises Meta : Définissent le jeu de caractères en UTF-8 et rendent la page responsive grâce à la balise meta viewport.
  • Titre : Le titre de la page est “Horloge Morse – F4HXN.”
  • Balise Style : Contient les styles CSS pour la mise en page et l’apparence.
  • Section Body:
  • Container : Un <div> central avec la classe container contient tous les éléments interactifs.
  • Titre : Un élément <h1> affiche le titre “Horloge Morse – F4HXN.”
  • Affichage de l’heure actuelle : Un <div> avec l’ID currentTime affiche l’heure actuelle.
  • Sortie Morse : Un <div> avec l’ID morseOutput affiche l’équivalent en code Morse de l’heure actuelle.
  • Indicateur visuel : Un <div> avec l’ID visualIndicator sert d’indicateur visuel pour la lecture du code Morse.
  • Boutons : Deux boutons permettent à l’utilisateur de commencer (playButton) et d’arrêter (stopButton) la lecture du code Morse.

Styles CSS

  • Mise en page de la page :
  • Le corps utilise Flexbox pour centrer le contenu verticalement et horizontalement.
  • Un fond gris clair est appliqué au corps, tandis que le conteneur a un fond blanc avec une ombre pour le contraste.
  • Typographie :
  • La police est définie sur Arial, avec un texte centré dans le conteneur.
  • Éléments interactifs :
  • Les boutons changent de couleur au survol pour fournir un retour d’information à l’utilisateur.
  • L’indicateur visuel est stylisé comme un élément circulaire qui change de couleur pour indiquer la lecture du code Morse.

Fonctionnalité JavaScript

  • Mappage du code Morse : Un objet associe les chiffres et le caractère deux-points aux symboles du code Morse.
  • Contexte audio : Utilise l’API Web Audio pour générer et contrôler la lecture audio des sons du code Morse.
  • Durée du code Morse :
  • Définit la durée des points, des traits et des pauses dans le code Morse.
  • Fonctions principales :
  • getCurrentTime() : Récupère l’heure actuelle au format hh:mm:ss.
  • updateTime() : Met à jour l’heure affichée et la traduit en code Morse.
  • translateToMorse(text) : Convertit un texte donné en code Morse en utilisant l’objet de mappage.
  • playMorseCode(morseMessage) : Joue le message en code Morse en manipulant les réglages de l’oscillateur et du gain pour produire du son.
  • stopMorseCode() : Arrête la lecture du code Morse et réinitialise les paramètres audio.
  • visualizeMorseCode(morseMessage) : Fournit un retour visuel en animant l’indicateur visuel selon le timing du code Morse.
  • Écouteurs d’événements :
  • Attache des événements de clic aux boutons de lecture et d’arrêt pour commencer et arrêter la lecture du code Morse.
  • Un intervalle met à jour l’heure affichée chaque seconde pour s’assurer qu’elle reste à jour.

Cette page Web propose une horloge Morse interactive qui représente visuellement et audiblement l’heure actuelle en code Morse. Elle combine HTML pour la structure, CSS pour le style, et JavaScript pour la fonctionnalité, en utilisant l’API Web Audio pour la génération de son. Cette implémentation est efficace à des fins éducatives ou pour les passionnés intéressés par le code Morse et le développement Web.