Académique Documents
Professionnel Documents
Culture Documents
Objectif: Créer une interface utilisateur simple pour ajouter et afficher des tâches.
Tâches:
- Créer un fichier HTML avec une structure de base.
- Ajouter un formulaire avec un champ de texte pour saisir la tâche et un bouton d'ajout.
- Créer une zone d'affichage pour lister les tâches ajoutées.
- Lier le fichier HTML à un fichier JavaScript externe.
Tâches:
- Écrire une fonction JavaScript pour récupérer la valeur du champ de texte lorsqu'une
nouvelle tâche est soumise.
- Ajouter cette tâche à une liste en mémoire.
- Mettre à jour l'interface utilisateur pour afficher la liste des tâches.
- Ajouter des boutons ou des liens pour marquer les tâches comme complètes et les
supprimer de la liste.
Partie 3: Stockage Local et Améliorations
Objectif: ajouter la capacité de stocker les tâches localement et apporter des améliorations à
l'application.
Tâches:
Team Wommate
💡 GUIDE POUR LA RÉALISATION
Etape 1: Mise en Place du Terrain (HTML)
Explications 🔦
● <!DOCTYPE html> : Cela indique au navigateur que nous utilisons la dernière version de
HTML.
Team Wommate
● <html lang="en"> : La balise d'ouverture pour l'élément HTML, avec une indication de
la langue (anglais).
● <head> : La section où vous placez des métadonnées comme le titre et l'encodage.
● <meta charset="UTF-8"> : Définit l'encodage des caractères à UTF-8.
● <meta name="viewport" content="width=device-width, initial-scale=1.0"> : Ajuste la
mise en page pour les appareils mobiles.
● <title>Ma Liste de Tâches</title> : Le titre de votre page.
● <body> : La balise d'ouverture pour le corps de votre page.
● <div id="app"> : Un conteneur où votre application JavaScript vivra.
● <script src="app.js"></script> : La liaison de votre fichier JavaScript.
document.addEventListener('DOMContentLoaded', function () {
// C’est ici que nous allons coder notre logique
});
Explications 🔦
document.addEventListener('DOMContentLoaded', function () { :
● document : fait référence à l'objet DOM (Document Object Model), qui représente la
structure de la page web.
● addEventListener : une méthode qui permet d'attacher un gestionnaire d'événement à
un élément DOM.
Team Wommate
● DOMContentLoaded : l'événement qui se déclenche lorsque le document HTML a
été complètement chargé et analysé, sans attendre les feuilles de style, images et
sous-documents externes tels que les scripts.
function () { est une fonction anonyme (une fonction sans nom) qui sera exécutée lorsque
l'événement DOMContentLoaded se produira.
⚡⚠️ Avant que vous ne poursuiviez, lancez-vous dans le défi et complétez votre fichier
HTML.
NB: Pour l'étape suivante, nous allons récupérer le formulaire HTML ainsi que la balise qui
affichera les tâches dans notre code JavaScript.
2. Manipulation du DOM 🎮
- Dans notre bloc DOMContentLoaded, déclarons trois variables avec le mot clé const
(TaskForm, TaskInput, TaskList)
Pour les nuls en anglais Task veut dire Tâche 😅🧠
const taskForm = document.getElementById('form');
const taskInput = document.getElementById('input');
const taskList = document.getElementById('list');// balise ul
😂
if (taskText !== '') {
alert(taskText) // vous permettra de voir
Team Wommate
Explications 🔦
● document.getElementById('form'): Récupère l'élément du DOM avec l'ID 'form' et
l'assigne à la variable taskForm.
● document.getElementById('input'): Récupère l'élément du DOM avec l'ID 'input' et
l'assigne à la variable taskInput.
● document.getElementById('list'): Récupère l'élément du DOM avec l'ID 'list' et l'assigne à
la variable taskList.
● taskForm.addEventListener('submit', function (event) { ... }): Attache un gestionnaire
d'événements à l'événement de soumission du formulaire identifié par taskForm.
La fonction anonyme fournie sera exécutée lorsque le formulaire est soumis.
function addTask(taskText) {
const taskItem = document.createElement('li');
taskItem.textContent = taskText;
taskList.appendChild(taskItem);
🥰
// Tu devras appeler ici la fonction saveTasksToLocalStorage() pour
sauvegarder localement :: bon courage
}
Explications 🔦
function addTask(taskText) { : Déclare une fonction addTask avec un paramètre taskText.
const taskItem = document.createElement('li'); : Crée un élément <li> (élément de liste).
taskItem.textContent = taskText; : Définit le texte de l'élément de liste.
taskList.appendChild(taskItem); : Ajoute l'élément de liste à la liste existante.
Le localStorage est comme une petite boîte spéciale où tu peux ranger des informations. 📦
Cependant, cette boîte ne peut contenir que des choses simples, comme des mots.
Team Wommate
Parfois, tu as des informations géniales, comme des messages ou des nombres, mais la
boîte ne les comprend pas directement.
C'est là que JSON.stringify entre en jeu ! Il transforme ces informations géniales en quelque
chose de simple que la boîte peut comprendre.
En gros, JSON.stringify prend tes choses spéciales, les rend compréhensibles pour la boîte, et tu
peux les ranger et les récupérer facilement. 🌟✨
- Maintenant ajoutez une fonction saveTasksToLocalStorage pour sauvegarder les tâches
localement. 👇
function saveTasksToLocalStorage() {
const tasks = Array.from(taskList.children).map(task =>
task.textContent);
localStorage.setItem('tasks', JSON.stringify(tasks));
}
Explications 🔦
● function saveTasksToLocalStorage() { : Déclare une fonction saveTasksToLocalStorage.
● const tasks = Array.from(taskList.children).map(task => task.textContent); : Convertit
les éléments de liste en un tableau de textes.
● localStorage.setItem('tasks', JSON.stringify(tasks)); : Stocke ce tableau dans le
localStorage, en le convertissant en chaîne JSON.
document.addEventListener('DOMContentLoaded', function () {
const savedTasks = JSON.parse(localStorage.getItem('tasks')) || [];
savedTasks.forEach(taskText => addTask(taskText));
Team Wommate
});
Team Wommate