Nouveau : Datasets open source gratuits disponibles !Decouvrir →
⚛️
Intermediaire 20 min React

Deployer React sur DigitalOcean

Deployer React sur DigitalOcean : Un Tutoriel Intermédiaire

Pourquoi Deployer React sur DigitalOcean ?

En tant que développeur senior React avec 10+ ans d'expérience, vous avez certainement rencontré des défis liés au déploiement de vos applications React. Que ce soit pour des raisons de performance, de sécurité ou simplement de facilité d'accès à votre application, le déploiement sur DigitalOcean peut être une solution idéale.

Contexte Réal : Pourquoi un Dev a Besoin de Ca Au Quotidien

Les entreprises et les startups nécessitent souvent des solutions robustes pour héberger leurs applications web. DigitalOcean offre une plateforme évoluée qui facilite le déploiement et la gestion des applications, y compris celles développées avec React.

Un Cas d'Usage Concret en 2-3 Phrases

Imaginez que vous développiez un site e-commerce utilisant React pour afficher les produits. Pour assurer une haute disponibilité et des performances optimales, vous décidez de déployer votre application sur DigitalOcean. Cela permettra à vos clients d'accéder rapidement et facilement à votre boutique en ligne.

Prerequis

Pour suivre ce tutoriel, vous devez disposer des connaissances suivantes :

  • React : Familiarité avec les concepts de composants, état, props, etc.
  • Node.js : Connaissance du gestionnaire de paquets npm et de la façon de créer un projet React.
  • Git : Connaissance de base pour le contrôle de version.

Vous aurez également besoin d'installer les outils suivants :

  • Node.js v14.x ou plus recent
  • npm v6.x ou plus récent
  • DigitalOcean CLI (DOCTL) : Pour interagir avec l'API DigitalOcean
  • Git : Pour la gestion du code source

Concepts Fondamentaux

1. Création d'un Projet React

L'étape initiale consiste à créer un nouveau projet React.

## Créez un nouveau dossier pour votre projet
mkdir my-react-app
cd my-react-app

## Initialisez un nouveau projet React
npx create-react-app my-react-app

## Naviguez dans le répertoire du projet
cd my-react-app

2. Configuration de la Base du Projet

La structure de base d'un projet React est organisée comme suit :

my-react-app/
├── node_modules/
├── public/
│   ├── index.html
│   └── ...
├── src/
│   ├── App.css
│   ├── App.js
│   ├── App.test.js
│   ├── index.css
│   ├── index.js
│   ├── logo.svg
│   └── ...
├── .gitignore
├── package.json
└── README.md

3. Ajout d'une API

Pour rendre votre application React plus dynamique, vous pouvez ajouter une API. Voici un exemple simple de création d'un serveur backend avec Express.

## Créez un nouveau dossier pour le serveur
mkdir server
cd server

## Initialisez un nouveau projet Node.js
npm init -y

## Installez les dépendances nécessaires
npm install express cors body-parser

## Créez un fichier index.js
touch index.js
javascript
// server/index.js
const express = require('express');
const cors = require('cors');
const bodyParser = require('body-parser');

const app = express();
app.use(cors());
app.use(bodyParser.json());

// Route de test
app.get('/api/data', (req, res) => {
  const data = { message: 'Hello from the server!' };
  res.json(data);
});

const PORT = process.env.PORT || 5000;
app.listen(PORT, () => {
  console.log(`Server is running on port ${PORT}`);
});

4. Lancement de l'Application

Maintenant que vous avez configuré votre application React et votre serveur backend, vous pouvez les lancer.

## Dans le dossier my-react-app
npm start

## Dans un autre terminal, dans le dossier server
node index.js

Mise en Pratique : Projet Fil Rouge

Nous allons créer un simple gestionnaire de tâches à jour pour illustrer la mise en pratique du déploiement React sur DigitalOcean.

Étape 1 : Création du Composant Tâche

Créez un composant Task.js qui affiche une tâche et permet de la marquer comme terminée.

// src/Task.js
import React from 'react';

const Task = ({ task, onToggle }) => {
  return (
    <div className={`task ${task.completed ? 'completed' : ''}`} onClick={() => onToggle(task.id)}>
      {task.text}
    </div>
  );
};

export default Task;

Étape 2 : Création du Composant Tâche Liste

Créez un composant TaskList.js qui affiche la liste de tâches et permet d'ajouter de nouvelles tâches.

// src/TaskList.js
import React, { useState } from 'react';
import Task from './Task';

const TaskList = () => {
  const [tasks, setTasks] = useState([
    { id: 1, text: 'Faire les courses', completed: false },
    { id: 2, text: 'Laver les dents', completed: true }
  ]);
  const [newTaskText, setNewTaskText] = useState('');

  const addTask = () => {
    if (newTaskText.trim() !== '') {
      const newTask = { id: Date.now(), text: newTaskText, completed: false };
      setTasks([...tasks, newTask]);
      setNewTaskText('');
    }
  };

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

  return (
    <div>
      <input type="text" value={newTaskText} onChange={(e) => setNewTaskText(e.target.value)} />
      <button onClick={addTask}>Ajouter une tâche</button>
      <ul>
        {tasks.map((task) => (
          <li key={task.id}>
            <Task task={task} onToggle={toggleTask} />
          </li>
        ))}
      </ul>
    </div>
  );
};

export default TaskList;

Étape 3 : Intégration du Composant Tâche Liste dans App.js

Intégrez le composant TaskList dans votre application principale.

// src/App.js
import React from 'react';
import './App.css';
import TaskList from './TaskList';

function App() {
  return (
    <div className="App">
      <header className="App-header">
        <h1>Gestionnaire de Tâches</h1>
        <TaskList />
      </header>
    </div>
  );
}

export default App;

Étape 4 : Lancement et Test

Lancez votre application et vérifiez que le gestionnaire de tâches fonctionne correctement.

npm start

Erreurs Fréquentes et Debugging

1. Problème de CORS

Code Incorrect :

// server/index.js
const app = express();
app.get('/api/data', (req, res) => {
  const data = { message: 'Hello from the server!' };
  res.json(data);
});

Code Correct :

// server/index.js
const cors = require('cors');
const app = express();

app.use(cors());

app.get('/api/data', (req, res) => {
  const data = { message: 'Hello from the server!' };
  res.json(data);
});

2. Problème de Port

Code Incorrect :

## Dans le dossier my-react-app
npm start

## Dans un autre terminal, dans le dossier server
node index.js

Code Correct :

## Dans le dossier server
PORT=5000 node index.js

3. Problème d'Installation de Dépendances

Code Incorrect :

npm install express cors body-parser

Code Correct :

npm install --save express cors body-parser

Pour Aller Plus loin

1. Sécurité Avancée

Explorez les concepts de sécurité avancée pour votre application React, comme l'utilisation de tokens JWT et la configuration des headers CORS.

2. Optimisation Performante

Découvrez comment optimiser le rendu de vos composants React en utilisant des hooks performants et des techniques de memoisation.

3. Déploiement Automatique

Intégrez votre application avec des outils d'intégration continue (CI) comme GitHub Actions ou GitLab CI pour automatiser les déploiements sur DigitalOcean.

Défi Pratique

Développez un petit projet React qui utilise une API RESTful pour gérer des utilisateurs. Créez des composants pour afficher la liste des utilisateurs, ajouter de nouveaux utilisateurs et mettre à jour les informations existantes. Assurez-vous que votre application fonctionne correctement sur DigitalOcean.

Besoin d'aide sur React ?

Besoin d'aide sur un projet technique ? Decrivez-le pour des conseils personnalises.

Recevoir des conseils

Questions frequentes

Comment installer Node.js sur DigitalOcean?
Pour installer Node.js sur DigitalOcean, vous pouvez utiliser un package manager comme nvm (Node Version Manager) pour installer la dernière version de Node.js.
Quelle est la meilleure pratique pour déployer une application React sur DigitalOcean?
La meilleure pratique consiste à créer une application React, l'optimiser pour le déploiement (en utilisant des outils comme Webpack ou Create React App), et ensuite à utiliser un service d'hébergement statique comme DigitalOcean Spaces pour déployer votre application.
Comment configurer la sécurité de mon application React sur DigitalOcean?
Pour sécuriser votre application React, vous devriez mettre en place des mesures telles que l'utilisation d'un SSL/TLS pour protéger les données en transit, l'authentification et l'autorisation appropriées, et la mise à jour régulière de vos dépendances pour éviter les vulnérabilités.

Pages liees

Chaque semaine, le meilleur de la tech francaise

Tendances, salaires, outils et opportunites — directement dans votre boite mail.

Gratuit. Desabonnement en un clic. Pas de spam.