Rechercher dans ce blog

Affichage des articles dont le libellé est Android. Afficher tous les articles
Affichage des articles dont le libellé est Android. Afficher tous les articles

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.

mercredi 26 novembre 2025

Termux, un Linux pour Android

 

🌐 Termux : Transformez votre smartphone en machine Linux — guide moderne & communauté à construire

Par Tarek — Passion Linux, High-Tech et Automatisation


✨ Introduction : Pourquoi Termux fascine autant ?

À l’ère où nos smartphones dépassent en puissance certains PC d’il y a 10 ans, une question émerge naturellement :
👉 Peut-on exploiter pleinement ce potentiel ?

Termux répond “oui”, et va même beaucoup plus loin.

Termux est un terminal Linux complet pour Android. Il s’installe en une minute… mais il peut transformer votre téléphone en :

  • 🖥️ un mini-serveur web (Apache / PHP / MariaDB)

  • 🗃️ un environnement Python complet

  • 🌐 un serveur Node.js prêt pour Express.js

  • 💾 un gestionnaire SQLite ou MySQL

  • ⚙️ une plateforme d’automatisation Bash ou Perl

  • 🚀 un laboratoire portable pour développeur, étudiant ou hacker éthique

Et tout ça sans root, proprement et avec une communauté grandissante.

Dans cet article, je vous présente :
🔥 une vue d’ensemble de Termux
📦 les services que j’ai installés
🛠️ mes fichiers de configuration
📚 une base pour échanger, apprendre et construire ensemble une communauté d’utilisateurs motivés.


1️⃣ Qu’est-ce que Termux ?


Termux est une application Android open-source offrant un terminal Linux complet. Il se distingue par :

  • Aucun besoin de root

  • Accès à un gestionnaire de paquets puissant (pkg / apt)

  • Intégration profonde avec le système Android

  • Support de Python, PHP, Node.js, MariaDB, Git, SSH…

En pratique, c’est une distribution Linux compacte, entièrement autonome, optimisée pour ARM.

Un simple uname -a confirme que Termux tourne sur un noyau Linux complet :





2️⃣ Installer un environnement complet : PHP, MariaDB, Node.js, SQLite-Web

Voici un aperçu de mon environnement actuel :

  • PHP 8.4.2

  • Apache 2.4.63

  • MariaDB 11.8.0 (remplaçant officiel de MySQL)

  • Node.js 23.6.1

Le fichier ci-dessous montre un exemple concret :

Grâce à Termux, tout cela tient dans une arborescence propre, organisée dans /data/data/com.termux/files/usr.


3️⃣ Créer un serveur web complet dans Termux


J’ai configuré un serveur Apache + PHP dans ~/htdocs grâce à un lien symbolique vers le stockage partagé.

👉 Accès rapide :

Comme décrit ici :

Pour organiser ça proprement, j’ai utilisé :

  • un répertoire ~/bin/

  • un script start_server.sh regroupant tous les services

  • une exécution automatique via .bashrc

Exemple d’autostart :

~/bin/start_server.sh

Le script lance automatiquement :
✔ PHP
✔ MariaDB
✔ SQLite-Web
✔ Node.js

Et vous pouvez tout vérifier via :

pgrep -x php pgrep -x node pgrep -x mariadbd pgrep -f sqlite_web

4️⃣ Gérer MySQL / MariaDB dans Termux

Termux inclut MariaDB : un serveur ultra performant, totalement compatible MySQL.

Exemple de commandes essentielles (issues de tes fichiers) :

  • Démarrer :

mysqld_safe --datadir=$PREFIX/var/lib/mysql &
  • Se connecter :

mysql -u root
  • Exporter une base :

mysqldump -u root nom_base > sauvegarde.sql
  • Importer :

mysql -u root nom_base < sauvegarde.sql





5️⃣ Organiser les répertoires : symlinks et aliases utiles

Pour éviter de taper de longues commandes, j’ai créé :

✔ un lien symbolique

ln -s /storage/emulated/0/htnode ~/htnode

→ ce qui permet cd ~/htnode

✔ un alias bash

alias cdhtnode='cd /storage/emulated/0/htnode'

→ ce qui permet cdhtnode instantanément.

Les deux cohabitent parfaitement.
C’est ce genre de petites optimisations qui change l’expérience Termux.


6️⃣ Automatiser tout l’environnement

L’esprit de Termux, c’est l’automatisation.
J’ai donc intégré :

  • scripts Bash

  • lancement automatique

  • alias personnalisés

  • environnements Python virtuels

  • bases SQLite accessibles via l’UI web

Termux devient alors une plateforme DevOps mobile.


7️⃣ Pourquoi créer une communauté Termux francophone ?

Parce que l’outil mérite mieux que quelques tutoriels épars.
Termux est :

  • un outil d’apprentissage Linux génial

  • un formidable compagnon pour développeurs

  • un terrain de jeu pour scripts Python, Bash, Node.js

  • une porte d’entrée à la cybersécurité éthique

  • un mini-serveur de développement pour projets Web

👉 Il mérite une communauté (sans prise de tête), partageant :

  • scripts personnalisés

  • optimisations

  • environnements complets

  • API maison

  • bonnes pratiques

  • packs de démarrage clefs en main

Et en français… il n’y a pratiquement rien.


8️⃣ Appel aux curieux : Rejoignez ce mini projet ✊🔥

Je propose de lancer :

  • un espace d’échange ici sur blogger

  • des partages de scripts Termux

  • des mini-tutoriels (PHP, Python, MySQL, Bash…)

  • des projets open-source gérés depuis Termux

  • une série d’articles réguliers autour de l’univers Termux

👉 Vous utilisez Termux ?
👉 Vous débutez ?
👉 Vous développez ?
👉 Vous voulez automatiser des tâches réseau, système ou Web ?

Rejoignez-moi !

L’objectif :
🚀 Construire une petite communauté Termux francophone.
📱 Transformer nos smartphones en outils professionnels.
🤝 Partager, apprendre, créer ensemble.


🧭 Conclusion : Votre smartphone est un Linux… exploitez-le!

Termux prouve que l’avenir du développement est mobile, flexible, open-source.
Avec un peu de configuration, votre smartphone Android devient :

  • un environnement Linux complet

  • un serveur web

  • un laboratoire Python

  • un outil d’automatisation

  • une base de données portable

  • un espace d’expérimentation sans limite

Rédigé avec l'aide ChatGPT 5.1