🟦 Développer en Node.js sur Android avec Termux
💡 Le guide ultime : installation, automatisation et workflow pro avec QuickEdit
Dans un monde où les smartphones rivalisent avec les ordinateurs portables, Termux transforme Android en une véritable machine de développement. Associé à Node.js, il devient un outil puissant pour créer, tester et déployer des projets web… directement depuis sa poche.
Au fil de mes expérimentations, j’ai mis en place un environnement complet :
✔ Node.js très récent
✔ Scripts Bash pour automatiser la création de projets
✔ Un dossier synchronisé avec QuickEdit
✔ Un workflow fluide pour lancer Express.js en un seul geste
✔ Un environnement multi-services (PHP, MariaDB, SQLite, Node) accessible localement
Voici comment tout a été construit. ⚙️✨
---
🌱 1. Introduction : Pourquoi utiliser Node.js dans Termux ?
Node.js est devenu une référence pour créer :
✔ des API rapides
✔ des applications web modernes
✔ des outils CLI
✔ des micro-services
✔ des serveurs Express.js
Mais sur smartphone ? Oui, totalement
Avec Termux, vous obtenez :
✔ un vrai terminal Linux
✔ apt pour installer les paquets
✔ un environnement de fichiers autonome
✔ un contrôle total sur vos serveurs web
✔ la possibilité de coder en mobilité, sans PC
Et surtout : tout fonctionne en local, sans root, dans: /data/data/com.termux ou /storage/emulated/0.
---
📦 2. Installation de Node.js sur Termux
Termux fournit directement une version moderne et stable.
pkg update && pkg upgrade
pkg install nodejs
Après installation :
node -v
npm -v
Sur mon environnement :
➡️ Node.js 24.9.0 installé automatiquement grâce au dépôt Termux
---
🗂 3. Organisation du dossier de développement
J’ai choisi de séparer clairement le développement web du terminal :
/storage/emulated/0/htnode ← Projets Node.js/Express.js
/storage/emulated/0/htdocs ← Projets PHP/Symfony
/storage/emulated/0/backup ← Sauvegardes automatiques
Pour faciliter la navigation côté terminal :
🔗 Création d’un lien symbolique
ln -s /storage/emulated/0/htnode ~/htnode
Ainsi :
cd ~/htnode
renvoie directement dans le bon dossier.
⚡ Alias rapides
Dans ~/.bashrc :
alias cdhtnode='cd /storage/emulated/0/htnode'
➡️ Un simple cdhtnode permet de sauter dans le workspace Node.js
(Comportement décrit dans les notes d’environnement )
---
🤖 4. Automatisation : créer un projet Node.js en 1 seconde
Pour gagner du temps, j’ai créé un script Bash new_express permettant :
✔ de créer un projet Node.js
✔ d’ajouter les dossiers /public, /views, /routes
✔ de générer un fichier server.js
d’installer Express.js
✔ de préparer un port personnalisé
✔ de déclarer le projet automatiquement dans Termux
Exemple d'usage :
new_express ilann
Résultat :
~/htnode/ilann/
├─ server.js
├─ public/
│ ├─ index.html
│ ├─ about.html
│ ├─ css/style.css
│ └─ js/app.js
Et après lancement :
🚀 Projet Ilann disponible : http://127.0.0.1:3002
---
🔄 5. Synchronisation QuickEdit → Termux (édition en direct)
Pour éditer facilement les fichiers, j’utilise QuickEdit sur Android.
Chaque projet Node dispose d’un script de synchronisation, par exemple :
syncilann
Ce script :
✔ synchronise le projet depuis QuickNode/<projet> vers /htnode/<projet>
✔ utilise rsync pour envoyer uniquement les fichiers modifiés
✔ permet un workflow fluide : je modifie → je synchronise → je teste
---
🚀 6. Un serveur Node.js qui démarre automatiquement avec Termux
Mon environnement Termux démarre plusieurs services essentiels :
✔ PHP / Apache
✔ MariaDB
✔ SQLite-Web
✔ Node.js
✔ Cron
Le script ~/bin/start_server.sh gère tous ces services au lancement.
Il est exécuté via .bashrc :
~/bin/start_server.sh
(Structure confirmée dans ton environnement actuel )
Au démarrage de Termux :
tous les serveurs se lancent automatiquement
aucun clic manuel
leurs ports sont réservés et accessibles :
Service Port
PHP/Apache 8080
Symfony 9090
Node (htnode) 3000
Node projets 3001+
SQLite-Web 8081
---
🧪 7. Exemple : serveur Express.js simple
const express = require('express');
const app = express();
const PORT = 3002;
app.use(express.static('public'));
app.get('/', (req, res) => {
res.sendFile(__dirname + '/public/index.html');
});
app.listen(PORT, () => {
console.log(`🚀 Serveur lancé sur http://127.0.0.1:${PORT}`);
});
Lancer le serveur :
node server.js
---
🔐 8. Sauvegardes automatiques de Termux
Ton système exécute chaque jour à 03h00 un script :
backup_termux.sh
Avec logs visibles dans /storage/emulated/0/backup.
Exemple d’exécution (confirmée dans les logs) :
htnode-backup-2025-11-26.tar.gz
htdocs-backup-2025-11-26.tar.gz
termux-config-backup-2025-11-26.tar.gz
➡️ Aucun risque de perte de données, même en cas d’erreur.
---
🧭 9. Conclusion : un workflow professionnel… dans une poche
Au fil des mois, j’ai transformé mon smartphone en véritable environnement de développement :
Termux = Linux de poche
Node.js = agilité web
QuickEdit = édition rapide
Bash = automatisation sur mesure
Sauvegardes = sécurité absolue
Ce setup me permet de :
✨ coder une API dans le métro
✨ tester Express.js sans PC
✨ déployer des mini-applications directement sur mon téléphone
✨ expérimenter rapidement des idées
✨ travailler quand je veux, où je veux
C’est un exemple parfait de ce que peut devenir le développement moderne :
mobile, léger, modulable, automatisé, et incroyablement puissant.