✅ Architecture générale de l’application
/home/username/
├── public_html/ → Application React (build)
├── api/ → Backend Express.js
│ ├── app.js
│ └── package.json
└── Base MySQL → Gérée dans phpMyAdmin
1️⃣ Déployer React dans cPanel
- Sur votre ordinateur, générez la version de production :
npm run build - Ouvrez cPanel → File Manager.
- Accédez à
public_html/. - Téléversez le contenu du dossier
build/danspublic_html/.
Votre application React est maintenant accessible : https://votre-domaine.com
2️⃣ Déployer Express.js via Node.js App Manager
Si votre cPanel dispose de Setup Node.js App, vous pouvez faire tourner Express directement… Voir Article ici
- Allez dans cPanel → Software → Setup Node.js App.
- Cliquez Create Application.
- Réglez :
- Version Node.js : 16+
- Mode : Production
- Dossier applicatif :
api - Fichier d’entrée :
app.js
- Dans l’interface, exécutez Run NPM Install puis Run Application.
Votre backend Express est en ligne 🎉
3️⃣ Connecter Express à MySQL
Dans phpMyAdmin (cPanel) : créez une base, un utilisateur et attribuez-lui tous les privilèges sur la base… Voir article ici
const express = require('express');
const cors = require('cors');
const mysql = require('mysql2');
const app = express();
app.use(express.json());
app.use(cors({ origin: 'https://votre-domaine.com' }));
const db = mysql.createConnection({
host: 'localhost',
user: 'nom_utilisateur_mysql',
password: 'mot_de_passe_mysql',
database: 'nom_base'
});
app.get('/api/users', (req, res) => {
db.query('SELECT * FROM users', (err, results) => {
if (err) return res.status(500).send(err);
res.json(results);
});
});
app.listen(3001, () => console.log('API Running on port 3001'));Note : dans Node.js App, définissez PORT=3001 si nécessaire, puis redémarrez l’application.
4️⃣ Faire communiquer le Frontend (React) avec le Backend (Express)
import axios from 'axios';
axios.get('https://votre-domaine.com:3001/api/users')
.then(res => console.log(res.data))
.catch(err => console.error(err));🛠️ Astuce : Proxy React (facultatif)
{
"proxy": "https://votre-domaine.com:3001"
}axios.get('/api/users');🎯 Récapitulatif
| Composant | Emplacement |
|---|---|
| React | public_html/ (version build) |
| Express.js | Node.js App Manager dans /api |
| MySQL | phpMyAdmin (connexion localhost) |
🔥 Aller plus loin
- Pack ZIP complet (frontend + backend prêt à déployer)
- Tutoriel vidéo d’installation
- API sécurisée avec JWT
- Upload d’images compatible cPanel
Dites : “Je veux le pack ZIP” ou “Je veux la vidéo” et je vous le prépare.
Par nitrohost
❓ FAQ — Questions Fréquentes
Puis-je utiliser React et Express sur un hébergement mutualisé cPanel ?
Oui, si votre hébergeur propose le module Node.js App Manager. Sinon, il vous faudra un VPS.
Dois-je mettre Express dans public_html ?
Non. public_html ne doit contenir que le build React. Express doit être dans un dossier séparé, comme /api.
Quel host MySQL utiliser dans Express ?
Utilisez localhost, car la base est interne au serveur cPanel.
Comment résoudre l’erreur 404 de l’API Express ?
Vérifiez le port défini dans l’application Node.js et redémarrez la via Run Application.




