🚀

Pack IA Sovereign

Accéder
BIBLE IA La Bible des Prompts est enfin disponible (Offre limitée) En profiter →

Créer une Application Todo List en JavaScript Pur

Introduction à la Todo List en JavaScript Pur

La création d’une application Todo List en JavaScript natif constitue un projet formateur essentiel pour les développeurs, tant débutants qu’intermédiaires. Ce type d’exercice permet d’affûter vos compétences en développement front-end, notamment la manipulation du DOM, la gestion des événements et l’implémentation du stockage de données côté client.
Ce guide détaille les étapes clés pour bâtir une telle application, de la configuration initiale à l’ajout de fonctionnalités de persistance.

GENERAL EDITION PRO

🚀 Pack de 100+ Prompts IA

Booste ta productivité avec notre sélection exclusive.

Accès sécurisé
Rejoins +5,000 membres

Configuration Initiale du Projet

Pour débuter, installez la structure de base de votre projet. Créez un répertoire dédié et au sein de celui-ci, deux fichiers : index.html pour l’interface utilisateur et script.js pour la logique applicative. La structure typique se présente comme suit :

  • .
    • index.html
    • script.js

Conception de l’Interface Utilisateur (HTML)

Dans votre fichier index.html, définissez la structure HTML minimale pour votre Todo List :




    
    
    Todo List
    
    


    

Ma Todo List

    Implémentation de l’Ajout de Tâches (JavaScript)

    Le fichier script.js accueillera la logique pour dynamiser votre Todo List. Débutez par la gestion de l’ajout de nouvelles tâches :

    const addTaskBtn = document.getElementById('addTaskBtn');
    const taskInput = document.getElementById('taskInput');
    const taskList = document.getElementById('taskList');
    
    addTaskBtn.addEventListener('click', () => {
        const taskText = taskInput.value.trim(); // Utiliser trim() pour supprimer les espaces blancs inutiles
        if (taskText) {
            const li = document.createElement('li');
            li.textContent = taskText; // Définir le texte de la tâche
            taskList.appendChild(li);
            taskInput.value = ''; // Réinitialiser le champ d'entrée
        }
    });
        

    Fonctionnalité de Suppression de Tâches

    Pour compléter l’interactivité, ajoutez la capacité de supprimer des tâches. Cela implique de modifier la façon dont les éléments li sont créés pour y inclure un bouton de suppression :

    // Dans le gestionnaire d'événement click du bouton addTaskBtn, après avoir créé le li:
    li.innerHTML = `${taskText} `; // Ajouter le bouton
    
    // Ajouter un écouteur d'événement au bouton de suppression nouvellement créé
    li.querySelector('.deleteBtn').addEventListener('click', function() {
        taskList.removeChild(li);
        saveTasks(); // Mettre à jour le localStorage après suppression
    });
        

    Persistance des Données avec localStorage

    Afin que les tâches persistent après un rafraîchissement de la page, exploitez l’API localStorage du navigateur. Cette méthode permet de stocker des données clés-valeur localement pour l’origine du site :

    function saveTasks() {
        const tasks = [];
        taskList.querySelectorAll('li').forEach(li => {
            // Stocker le texte de la tâche. Si vous avez des éléments plus complexes, stockez leurs propriétés.
            tasks.push(li.firstChild.textContent); // Accéder au nœud texte pour éviter d'inclure le bouton
        });
        localStorage.setItem('tasks', JSON.stringify(tasks));
    }
    
    function loadTasks() {
        const tasks = JSON.parse(localStorage.getItem('tasks')) || [];
        tasks.forEach(taskText => {
            const li = document.createElement('li');
            li.textContent = taskText;
            li.innerHTML += ``; // Ré-ajouter le bouton
            taskList.appendChild(li);
    
            // Attacher l'écouteur de suppression après l'ajout
            li.querySelector('.deleteBtn').addEventListener('click', function() {
                taskList.removeChild(li);
                saveTasks();
            });
        });
    }
    
    // Appeler loadTasks au chargement de la page
    document.addEventListener('DOMContentLoaded', loadTasks);
    
    // Modifier l'écouteur du bouton d'ajout pour sauvegarder
    addTaskBtn.addEventListener('click', () => {
        const taskText = taskInput.value.trim();
        if (taskText) {
            const li = document.createElement('li');
            li.textContent = taskText;
            li.innerHTML += ``;
            taskList.appendChild(li);
            taskInput.value = '';
            saveTasks(); // Sauvegarder après ajout
        }
    });
        

    L’avis du Labo

    Pour une gestion plus robuste des tâches, envisagez de stocker chaque tâche sous forme d’objet dans le localStorage (par exemple : { id: Date.now(), text: 'Ma Tâche', completed: false }). Cela facilitera l’implémentation de fonctionnalités avancées comme le marquage des tâches comme complétées ou la réorganisation, tout en permettant une identification unique de chaque élément pour les opérations de suppression et de mise à jour.

    Conclusion

    Vous disposez maintenant d’une application Todo List opérationnelle, construite intégralement en JavaScript pur. Ce projet pratique renforce vos compétences en développement front-end, en particulier dans la manipulation dynamique du DOM et l’utilisation du stockage local pour une expérience utilisateur persistante. Pour aller plus loin, explorez l’ajout de fonctionnalités comme l’édition des tâches, la gestion des priorités, ou une intégration avec une API back-end. Continuez à coder et à innover !

    LOGICIEL & PROMPTS OS
    🚀

    Pack IA Sovereign

    Débloquez le Labo complet (47€).

    Accéder
    🔍 ESC
    Tapez quelque chose pour commencer la recherche...
    OFFRE EXCLUSIVE _

    Attends ! Ne pars pas sans ton Pack IA

    Récupère 100+ prompts exclusifs pour gagner 2h par jour.

    Découvrir le Pack →