Messagerie instantanée sans BDD et simple utilisateur

Structure Html

Il faudra les éléments suivants :

Le but du jeu

Un utilisateur va saisir un message dans la zone de texte. Lorsque l'utilisateur appui sur la touche entrée le texte situé dans la zone de saisie va passer dans la zone tampon située sous la zone d'affichage des messages. La zone de saisie est à nouveau vide et disponible pour un nouveau message.

Algorithmes

Il faut détecter sur la zone de saisie de texte qu'un utilisateur utilise le clavier. A ce moment là, vous allez indiquer dans la zone d'affichage des messages une petite phrase qui indique 'Un utilisateur rédige une message'. Quand la touche « entrée » sera détectée alors une fonction va prendre le message de la zone de saisie de texte pour le placer dans la zone tampon.

Une fonction qui tourne en boucle toutes les secondes (1000ms) va tester si un message est présent dans la zone tampon et si oui, le prendre et le mettre dans la zone des messages et effacer la zone tampon. Il faudra mettre la date (heure:minutes:secondes) devant le message pour savoir quand le message à été affiché.

Lors de la saisie de votre message, si vous cliquez sur un smiley alors le smiley arrive à la suite de votre texte en cours de saisie. Pour cela, il faut ajouter des écouteur d'événements sur les smiley qui vont déclencher une fonction qui va récupérer le code html du smiley et le mettre dans votre zone de texte.

Liste des emojis

Vous pouvez ajouter vos emojis préférés en récuperant les codes ici :

https://www.w3schools.com/charsets/ref_emoji_smileys.asp

Fonctions Javascript utiles

Dans ce projet vous allez avoir besoin de savoir faire les choses suivantes :

Concaténation de texte

Pour concaténer du texte en Javascript, on utilise le signe +
var texte = 'mon text 1' + '<br>' + maVaribaleQuiContientDuTexte;
texte += 'autre texte à la suite de celui contenu dans la variable "texte"';

Tester un événement en particulier

Dans ce projet vous allez devoir tester les touches du clavier.
Pour cela, il existe en Javascript une interface Event qui permet de tout savoir sur l'événement detecté par la methode addEventListener()

Pour ce qui est de détecter un événement du clavier voici quelques exemples :

document.addEventListener('keypress',testTouche);

function testTouche(){
console.log(event.code)
console.log(event.key)
console.log(event.shiftKey)
}

Quelques liens pour en savoir plus

https://keycode.info/
https://developer.mozilla.org/fr/docs/Web/API/KeyboardEvent