Bienvenue, cher OM
Pour ce tutoriel, oublions le jargon informatique abstrait et faisons un parallèle avec ce que vous maîtrisez : la radio.
Imaginez votre Raspberry Pi comme une station fixe complète installée dans votre shack.
- L’adresse IP de votre Raspberry Pi sur votre réseau local, c’est la fréquence principale de votre station.
- Les ports (ici
7777et8888), ce sont des canaux, des sous-porteuses ou des VFO (oscillateurs variables) distincts. Sur une même fréquence, vous pouvez ainsi faire transiter deux flux d’informations totalement séparés sans qu’ils se brouillent.
Nous allons configurer tout cela directement avec un clavier et un écran branchés sur le Pi, en mode console (sans interface graphique lourde), et sans installer de serveur complexe comme Nginx. Nous utiliserons un outil intégré à Python, léger et immédiat.
Étape 1 : Le « Power-On » et la prise en main de la console
- Allumez votre Raspberry Pi (avec l’écran et le clavier connectés).
- L’écran affiche une suite de lignes de texte au démarrage, puis se stabilise sur une invite de connexion (un écran noir avec un texte du type
login:). - Entrez votre nom d’utilisateur (par défaut souvent
pi) puis validez avec la touche Entrée. - Entrez votre mot de passe et validez.
- Attention : Lorsque vous tapez votre mot de passe, aucun caractère (ni étoile, ni point) ne s’affiche à l’écran. C’est un comportement normal de sécurité sous Linux (exactement comme un manipulateur Morse où le son seul confirme la frappe). Tapez-le à l’aveugle et faites Entrée.
Vous voilà face au prompt (le curseur de commande, par exemple pi@raspberrypi:~ $). C’est votre micro/console de commande.
Étape 2 : Préparer le « banc de montage » (Créer les dossiers)
De la même manière que vous séparez vos fiches de trafic ou vos composants sur votre établi, nous allons créer deux dossiers distincts sur le disque dur du Pi pour ranger nos deux applications.
Tapez la commande suivante sur votre clavier, puis appuyez sur Entrée :
Bash
mkdir -p ~/app_f7777 ~/app_f8888
* **Ce que fait cette commande en clair :**
* `mkdir` (pour *Make Directory*) signifie « Créer un dossier ».
* Le `-p` indique de créer les deux dossiers d'un coup.
* Le symbole `~` représente votre dossier personnel (votre « home »). Vous créez ainsi un dossier nommé `app_f7777` (pour le canal 7777) et un autre `app_f8888` (pour le canal 8888).
---
## Étape 3 : Créer les façades des applications (Les fichiers de test)
Chaque application a besoin d'un minimum de contenu pour s'afficher. Nous allons créer une simple page web de test (`index.html`) dans chaque dossier. L'une sera repérée par une couleur bleue, l'autre par une couleur verte.
Tapez ces lignes une par une (suivies de la touche **Entrée**) :
1. Pour la première application (canal 7777) :
```bash
echo "<h1 style='color: blue;'>Application 1 - Canal 7777 en ligne</h1>" > ~/app_f7777/index.html
- Pour la seconde application (canal 8888) :
Bashecho "<h1 style='color: green;'>Application 2 - Canal 8888 en ligne</h1>" > ~/app_f8888/index.html
- L’explication : La commande
echoenvoie un petit texte textuel et le symbole>l’injecte à l’intérieur d’un fichier nomméindex.htmlplacé dans le bon dossier. C’est votre « panneau indicateur » visuel.
Étape 4 : Syntoniser les canaux (Lancer les serveurs sur les ports dédiés)
Habituellement, les informaticiens installent un gros logiciel de routage comme Nginx. Mais Python est fourni avec un module magique qui permet de transformer n’importe quel dossier en serveur web instantané.
Pour que les deux applications fonctionnent en même temps et en arrière-plan (sans bloquer votre écran), nous allons lancer deux processus indépendants :
- Lancer l’application 1 sur le port 7777 :
Bashcd ~/app_f7777 && nohup python3 -m http.server 7777 > app1.log 2>&1 & - Lancer l’application 2 sur le port 8888 :
Bashcd ~/app_f8888 && nohup python3 -m http.server 8888 > app2.log 2>&1 &
- Le détail de la manœuvre (façon radio) :
cd ~/app_fxxx: On se place dans le dossier correspondant (comme si on sélectionnait la bonne mémoire de canal).python3 -m http.server [port]: On demande à Python d’allumer l’émetteur web sur le port choisi (7777ou8888).nohup ... &: On demande au système de garder le service actif en arrière-plan en continu, même si vous tapez d’autres commandes.
Étape 5 : Vérification de la liaison (Le test de réception)
Pour vérifier que vos deux services écoutent correctement sur leurs ports respectifs :
- Directement sur l’écran de votre Pi (si un navigateur internet léger y est installé) ou depuis un autre ordinateur, une tablette ou un smartphone connecté sur le même réseau Wi-Fi/Ethernet que votre box, ouvrez un navigateur web.
- Saisissez l’adresse de votre Raspberry Pi suivie du port de votre choix :
- Pour écouter l’application 1 :
http://<ADRESSE_IP_DU_PI>:7777 - Pour écouter l’application 2 :
http://<ADRESSE_IP_DU_PI>:8888(Si vous testez depuis le Pi lui-même, vous pouvez remplacer l’adresse IP parhttp://localhost:7777ethttp://localhost:8888).
- Pour écouter l’application 1 :
Vous devriez voir s’afficher à l’écran le texte coloré de chaque application. Votre liaison double-canal est opérationnelle, sans Nginx et entièrement gérée en mode console !
Annexe : Présentation des commandes Linux utilisées
Pour vous aider à apprivoiser la console Linux sans jargon superflu, voici le journal de bord des commandes manipulées dans ce tutoriel, accompagnées de leur syntaxe exacte et d’une analogie radio pour bien saisir leur rôle.
| Commande principale | Syntaxe générale | Rôle technique (Ce qu’elle fait) | Équivalent Radio / Analogie |
|---|---|---|---|
mkdir |
mkdir -p [dossier] |
Make Directory : Crée un ou plusieurs nouveaux dossiers sur le disque dur. | Préparer de nouveaux casiers de rangement dans l’atelier pour trier ses composants. |
cd |
cd [chemin] |
Change Directory : Permet de se déplacer d’un dossier à un autre dans l’arborescence. | Tourner le bouton du sélecteur de bande pour se placer sur une fréquence spécifique. |
echo |
echo "texte" > [fichier] |
Affiche du texte ou, combiné avec le signe >, l’injecte directement à l’intérieur d’un fichier. |
Graver un mémo ou écrire une étiquette explicative à coller sur un appareil. |
python3 |
python3 -m http.server [port] |
Lance un serveur web minimaliste intégré à Python qui diffuse le contenu du dossier courant sur le port indiqué. | Allumer un petit émetteur QRP portable sur une fréquence dédiée pour émettre un signal. |
nohup |
nohup [commande] & |
No Hang-Up : Permet de lancer un processus en arrière-plan (background) pour qu’il continue de tourner en continu. | Activer une balise automatique (beacon) qui émet en boucle toute seule sans qu’on ait besoin de garder le doigt sur le manipulateur. |