✅ Application To-Do avec Vanilla JavaScript

✅ Application To-Do avec Vanilla JavaScript

« Pas de framework, pas d’excuse » 😎

Créer une application To-Do est un véritable rite d’initiation dans le monde JavaScript.
Toute personne qui en construit une peut dire fièrement :

« J’ai vraiment construit quelque chose avec JavaScript. » 👑

Parce que cette petite application t’apprend, étape par étape :

  • Ce qu’est le DOM et comment le contrôler
  • Comment fonctionnent les événements
  • Comment récupérer des données depuis l’utilisateur
  • Comment ajouter / supprimer des éléments d’une liste
  • Comment fonctionnent réellement les fonctions
  • Les bonnes habitudes de code propre

Alors oui…
Petit projet, énorme savoir.


🧠 D’abord la logique : comment pense une To-Do App ?

Avant d’écrire du code, on écrit des idées 🧠✍️

Voici le fonctionnement de l’application :

1️⃣ L’utilisateur écrit une tâche dans l’input
2️⃣ Il clique sur « Ajouter » (ou appuie sur Entrée)
3️⃣ La tâche apparaît dans la liste
4️⃣ La tâche peut être supprimée
5️⃣ L’utilisateur se sent productif 😌

C’est tout.
Pas de drama. JavaScript nous aime déjà 😄


🧱 HTML – Construisons le squelette (On bâtit une maison 🏠)

<!DOCTYPE html>
<html lang="fr">
<head>
  <meta charset="UTF-8" />
  <title>To-Do App</title>
</head>
<body>

  <h1>📝 To-Do List</h1>

  <input 
    type="text" 
    id="todoInput" 
    placeholder="Écris une tâche..." 
  />

  <button id="addBtn">Ajouter</button>

  <ul id="todoList"></ul>

  <script src="script.js"></script>
</body>
</html>

🧠 Que fait ce HTML ?

  • input → l’utilisateur écrit une tâche
  • button → action « ajouter »
  • ul → parking des tâches
  • script.js → le cerveau 🧠

📌 Astuce :
Plus ton HTML est simple, plus ton JavaScript est heureux.


🎯 JavaScript commence : attrapons le DOM (La chasse commence 🏹)

const input = document.getElementById("todoInput");
const addBtn = document.getElementById("addBtn");
const list = document.getElementById("todoList");

🧠 Qu’a-t-on fait ici ?

  • On a présenté les éléments HTML à JavaScript
  • Maintenant JS dit :

« OK, je peux leur parler. »

📌 Règle d’or :
Si tu touches au DOM → attrape-le d’abord.


➕ Fonction d’ajout de tâche (Le cœur bat ici ❤️)

function addTodo() {
  const todoText = input.value.trim();

  if (todoText === "") {
    alert("Pas de tâche vide😄");
    return;
  }

  const li = document.createElement("li");
  li.textContent = todoText;

  const deleteBtn = document.createElement("button");
  deleteBtn.textContent = "❌";

  deleteBtn.addEventListener("click", function () {
    li.remove();
  });

  li.appendChild(deleteBtn);
  list.appendChild(li);

  input.value = "";
}


🔍 Détaillons doucement (On digère 🍽️)

input.value.trim()

  • Récupère le texte de l’utilisateur
  • trim() enlève les espaces inutiles
  • Empêche les tâches composées uniquement d’espaces 😎

Vérification du vide (Sauve des vies)

if (todoText === "") {
  alert("Pas de tâche vide");
  return;
}

📌 Pourquoi c’est important ?
Les utilisateurs font n’importe quoi.
Le code se protège.


Création de l’élément de liste

const li = document.createElement("li");
li.textContent = todoText;

🧠

  • Aucun HTML écrit
  • Élément créé dynamiquement avec JS
  • Manipulation du DOM 💥

Bouton Supprimer (Petit mais puissant)

const deleteBtn = document.createElement("button");
deleteBtn.textContent = "❌";

Événement de suppression (La vraie magie 🪄)

deleteBtn.addEventListener("click", function () {
  li.remove();
});

🧠

  • Clique sur le bouton
  • La tâche disparaît 🕊️
  • remove() = suppression totale du DOM

Ajouter à la liste & vider l’input

li.appendChild(deleteBtn);
list.appendChild(li);
input.value = "";

📌 Expérience utilisateur = +10 points


🖱️ Exécuter au clic du bouton

addBtn.addEventListener("click", addTodo);

🧠

  • « Si on clique ici → fais ça »
  • Base de la logique événementielle

⌨️ BONUS : Ajouter avec la touche Entrée (Détail senior 😏)

input.addEventListener("keydown", function (e) {
  if (e.key === "Enter") {
    addTodo();
  }
});

📌 Petit détail
📌 Grande différence
📌 Utilisateur heureux 🥹


🧠 Ce que tu as appris (sans t’en rendre compte)

Maintenant tu :

✅ Comprends le DOM
✅ Utilises des event listeners
✅ Crées des éléments dynamiquement
✅ Écris des fonctions
✅ Récupères des données utilisateur
✅ Ajoutes & supprimes des éléments

Ce qui veut dire…
Tu as appris le vrai JavaScript.


🎨 Idées d’amélioration (Level Up 🎮)

Pousse le projet plus loin :

✔️ Marquer les tâches comme terminées
✔️ Sauvegarde avec LocalStorage
✔️ Animations CSS
✔️ Mode sombre
✔️ Compteur de tâches

Chaque idée = un nouvel article 😏


🧠 Super conseils (À sauvegarder ⭐)

  • Vanilla JS → fondations en béton
  • Petits projets → grande confiance
  • Dis « je l’ai fait », pas « je crois que j’ai compris »
  • Si tu fais ça, React ne te fera pas peur

💬 Conclusion (Du cœur au cœur 💙)

Cette To-Do App peut paraître petite…
mais c’est un énorme pas dans ton aventure JavaScript 🚀✨

Comments

No comments yet. Why don’t you start the discussion?

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir