Rechercher dans ce blog

samedi 6 décembre 2025

Node JS sur Termux (Android)

🟦 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.

Aucun commentaire:

Enregistrer un commentaire

Merci de votre avis. Selon son contenu, je serai libre de donner un retour, correction ou suppression.