×

Créé une application de gestion de tache avec React.Js, Html, css et Bootstrap

Créé une application de gestion de tache avec React.Js, Html, css et Bootstrap

Créer une application de gestion de tâches (todo list) avec React.js, HTML, CSS et Bootstrap est un excellent moyen de mettre en pratique vos compétences en développement web. Voici un tutoriel détaillé étape par étape pour réaliser cette application :

Etape 1 : Configuration initiale

1.1. Prérequis

Avant de commencer, assurez-vous d’avoir Node.js et npm (Node Package Manager) installés sur votre ordinateur. Si ce n’est pas le cas, téléchargez-les depuis le site officiel de Node.js.

1.2. Création du projet React

Ouvrez votre terminal et exécutez la commande suivante pour installer Create React App (CRA) :

npm install -g create-react-app

Tapez la commande suivante pour crée votre application Gestion-taches avec la commande Create React App (CRA)

create-react-app gestion-taches

Cela va créer un nouveau dossier appelé « gestion-taches » avec la structure de base d’une application React.

1.3. Installation de Bootstrap

React-Bootstrap est une bibliothèque populaire qui permet d’intégrer Bootstrap dans des applications React. Pour l’installer, exécutez la commande suivante dans le répertoire de votre projet :

npm install react-bootstrap bootstrap

Étape 2 : Conception de l’interface utilisateur

2.1. Création de composants React

Dans le dossier src, créez un nouveau dossier appelé components. À l’intérieur de ce dossier, créez les composants suivants :

  • TaskList.js : Ce composant affichera la liste des tâches.
  • TaskItem.js : Ce composant représentera une tâche individuelle.
  • TaskForm.js : Ce composant permettra d’ajouter de nouvelles tâches.

Je peux vous fournir un exemple simplifié d’une application de gestion de tâches en utilisant React.js, HTML, CSS et Bootstrap. Veuillez noter que cet exemple est simplifié à des fins pédagogiques et ne comprend pas de stockage persistant. Vous devrez ajouter une couche de stockage, par exemple en utilisant un backend ou en intégrant une base de données pour une application réelle. Voici le code complet

Dans le répertoire src, créez les composants suivants :

  • Task.js : Composant pour afficher une tâche.
// src/components/Task.js
import React from 'react';

const Task = ({ task, onDelete, onToggle }) => {
  return (
    <div className={`task ${task.completed ? 'completed' : ''}`}>
      <h3>{task.title}</h3>
      <p>{task.description}</p>
      <button onClick={() => onDelete(task.id)} className="delete-btn">
        Supprimer
      </button>
      <button onClick={() => onToggle(task.id)} className="toggle-btn">
        Terminé
      </button>
    </div>
  );
};

export default Task;
  • TaskForm.js : Composant pour ajouter une nouvelle tâche.
// src/components/TaskForm.js
import React, { useState } from 'react';

const TaskForm = ({ onAdd }) => {
  const [title, setTitle] = useState('');
  const [description, setDescription] = useState('');

  const handleSubmit = (e) => {
    e.preventDefault();
    if (title.trim() === '') return;
    onAdd({ title, description });
    setTitle('');
    setDescription('');
  };

  return (
    <form onSubmit={handleSubmit}>
      <input
        type="text"
        placeholder="Titre de la tâche"
        value={title}
        onChange={(e) => setTitle(e.target.value)}
      />
      <input
        type="text"
        placeholder="Description (optionnelle)"
        value={description}
        onChange={(e) => setDescription(e.target.value)}
      />
      <button type="submit">Ajouter</button>
    </form>
  );
};

export default TaskForm;
  • TaskList.js : Composant pour afficher la liste des tâches.
// src/components/TaskList.js
import React from 'react';
import Task from './Task';

const TaskList = ({ tasks, onDelete, onToggle }) => {
  return (
    <div>
      {tasks.map((task) => (
        <Task key={task.id} task={task} onDelete={onDelete} onToggle={onToggle} />
      ))}
    </div>
  );
};

export default TaskList;
  • App.js : Composant principale de l’application.

Dans src/App.js, importez les composants et utilisez-les pour créer l’application.

// src/App.js
import React, { useState } from 'react';
import './App.css';
import TaskForm from './components/TaskForm';
import TaskList from './components/TaskList';

function App() {
  const [tasks, setTasks] = useState([]);

  const addTask = (task) => {
    setTasks([...tasks, { ...task, id: tasks.length + 1, completed: false }]);
  };

  const deleteTask = (taskId) => {
    setTasks(tasks.filter((task) => task.id !== taskId));
  };

  const toggleTask = (taskId) => {
    setTasks(
      tasks.map((task) =>
        task.id === taskId ? { ...task, completed: !task.completed } : task
      )
    );
  };

  return (
    <div className="App">
      <h1>Application de gestion de tâches</h1>
      <TaskForm onAdd={addTask} />
      <TaskList tasks={tasks} onDelete={deleteTask} onToggle={toggleTask} />
    </div>
  );
}

export default App;

2.2. Création du style css

Bien sûr, voici un exemple simple de code CSS que vous pouvez utiliser pour styliser votre application de gestion de tâches. Vous pouvez ajouter ce code dans un fichier CSS (par exemple, App.css) et l’importer dans votre composant principal (App.js). Voici le code CSS :

/* App.css */

.App {
  font-family: Arial, sans-serif;
  text-align: center;
  background-color: #f0f0f0;
  padding: 20px;
  border-radius: 5px;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
  width: 300px;
  margin: 0 auto;
}

h1 {
  font-size: 24px;
  color: #333;
}

form {
  display: flex;
  flex-direction: column;
  margin-top: 20px;
}

input[type="text"] {
  padding: 8px;
  margin-bottom: 10px;
  border: 1px solid #ccc;
  border-radius: 4px;
  font-size: 14px;
}

button {
  padding: 10px 20px;
  background-color: #007bff;
  color: #fff;
  border: none;
  border-radius: 4px;
  font-size: 14px;
  cursor: pointer;
}

button:hover {
  background-color: #0056b3;
}

.task {
  background-color: #fff;
  padding: 10px;
  margin: 10px 0;
  border: 1px solid #ccc;
  border-radius: 4px;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.task.completed {
  background-color: #e8f4e3;
  text-decoration: line-through;
}

.delete-btn {
  background-color: #dc3545;
  color: #fff;
  border: none;
  border-radius: 4px;
  padding: 5px 10px;
  font-size: 12px;
  cursor: pointer;
  margin-right: 5px;
}

.delete-btn:hover {
  background-color: #c82333;
}

.toggle-btn {
  background-color: #28a745;
  color: #fff;
  border: none;
  border-radius: 4px;
  padding: 5px 10px;
  font-size: 12px;
  cursor: pointer;
}

.toggle-btn:hover {
  background-color: #218838;
}

Ce code CSS ajoute des styles de base à votre application, notamment des styles pour le formulaire d’ajout de tâches, la liste de tâches, les boutons de suppression et de bascule, etc. Vous pouvez personnaliser davantage ces styles en fonction de vos préférences de conception.

Assurez-vous d’importer ce fichier CSS dans votre composant principal (App.js) en ajoutant la ligne suivante au début de App.js :

import './App.css';

Ainsi, les styles seront appliqués à votre application lorsque vous exécuterez le projet.

Etape 3 : Exécutez l’application :

Vous pouvez maintenant exécuter votre application avec la commande suivante :

npm start

Votre application de gestion de tâches basique avec React.js, HTML, CSS et Bootstrap devrait maintenant fonctionner. Vous pouvez ajouter plus de fonctionnalités, de styles et de gestion de données pour personnaliser davantage votre application en fonction de vos besoins.

104 commentaires