From 4c545585fe950a9d28509f14f5b7c1a25fc628db Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9drix?= Date: Sat, 16 May 2026 22:51:14 +0200 Subject: [PATCH] =?UTF-8?q?draft:=20Changer=20de=20r=C3=A9seau=20Wi-Fi=20s?= =?UTF-8?q?ur=20un=20Raspberry=20Pi?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../draft_overlay.json | 4 + .../draft_overlay.md | 222 ++++++++++++++++++ _logs/not_found.jsonl | 2 + 3 files changed, 228 insertions(+) create mode 100644 75d46d88-ab6f-4b5e-a229-e4b32c4d8527/draft_overlay.json create mode 100644 75d46d88-ab6f-4b5e-a229-e4b32c4d8527/draft_overlay.md diff --git a/75d46d88-ab6f-4b5e-a229-e4b32c4d8527/draft_overlay.json b/75d46d88-ab6f-4b5e-a229-e4b32c4d8527/draft_overlay.json new file mode 100644 index 0000000..26d3073 --- /dev/null +++ b/75d46d88-ab6f-4b5e-a229-e4b32c4d8527/draft_overlay.json @@ -0,0 +1,4 @@ +{ + "title": "Changer de réseau Wi-Fi sur un Raspberry Pi", + "_updated_at": "2026-05-16 20:51:14" +} diff --git a/75d46d88-ab6f-4b5e-a229-e4b32c4d8527/draft_overlay.md b/75d46d88-ab6f-4b5e-a229-e4b32c4d8527/draft_overlay.md new file mode 100644 index 0000000..3d08200 --- /dev/null +++ b/75d46d88-ab6f-4b5e-a229-e4b32c4d8527/draft_overlay.md @@ -0,0 +1,222 @@ +Je vais rafraîchir cet article en vérifiant l'état actuel de Raspberry Pi OS et en enrichissant le contenu pédagogiquement.Excellent. J'ai maintenant les informations à jour. Le grand changement : depuis Bookworm (octobre 2023), et désormais avec Trixie (Debian 12), **NetworkManager est devenu le standard officiel**. L'article doit donc inverser sa priorité : NetworkManager d'abord, `wpa_supplicant` en cas hérité. Je vais rafraîchir l'article en suivant cette logique, et enrichir l'argumentation pédagogique (pourquoi tel choix, qu'est-ce qui se passe sous le capot).Parfait, j'ai tout ce qu'il faut. Voici les points clés à intégrer : + +- **Trixie** (Debian 13) est la version actuelle depuis octobre 2025, et utilise toujours NetworkManager +- Sur Bookworm/Trixie : `wpa_supplicant.conf` n'est lu qu'au **premier boot** seulement, ensuite ignoré +- Bullseye est désormais en fin de vie, donc l'article doit inverser sa priorité : NetworkManager d'abord +- Les fichiers `.nmconnection` doivent avoir `chmod 600` +- Le code pays est important pour le Wi-Fi 5 GHz + +Je vais créer l'article rafraîchi en markdown, avec une vraie pédagogie (le « pourquoi » derrière chaque commande).L'utilisateur n'a pas demandé de Word, juste de rafraîchir l'article (markdown). Je vais le produire directement. + +--- + +# Changer de réseau Wi-Fi sur un Raspberry Pi + +> **Avant de commencer** : la procédure dépend de la version de Raspberry Pi OS installée. Depuis Bookworm (octobre 2023) puis Trixie (octobre 2025), Raspberry Pi OS gère le Wi-Fi avec **NetworkManager**. Les versions plus anciennes (Bullseye et antérieures, en fin de vie) utilisent encore `wpa_supplicant`. +> +> Pour identifier votre version : +> ```bash +> cat /etc/os-release +> ``` +> Cherchez la ligne `VERSION_CODENAME=` : `trixie` ou `bookworm` → NetworkManager (section principale ci-dessous). `bullseye` ou plus ancien → `wpa_supplicant` (section *Cas hérité* en fin d'article). +> +> ⚠️ **Si vous êtes connecté en SSH via le Wi-Fi que vous allez modifier**, vous risquez fortement de perdre la connexion au moment du basculement, sans pouvoir reprendre la main. Prévoyez un secours : clavier/écran branchés sur le Pi, ou un câble Ethernet, ou *a minima* un accès physique pour redémarrer. + +## Un peu de contexte avant de taper des commandes + +Sur un système Linux, "se connecter au Wi-Fi" implique trois étages qui doivent collaborer : + +1. **Le pilote** de la puce Wi-Fi, fourni par le noyau, qui sait parler à la radio. +2. **Le supplicant** (wpa_supplicant), qui négocie l'authentification WPA2/WPA3 avec le point d'accès. +3. **Le gestionnaire de connexion** (NetworkManager ou `dhcpcd`), qui décide *quel* réseau rejoindre, conserve les profils enregistrés, et demande une adresse IP en DHCP une fois la liaison établie. + +Historiquement, Raspberry Pi OS faisait écrire les profils Wi-Fi directement dans `/etc/wpa_supplicant/wpa_supplicant.conf` — un seul fichier texte global. Depuis Bookworm, **NetworkManager** prend ce rôle : chaque réseau enregistré devient un fichier de profil distinct dans `/etc/NetworkManager/system-connections/`, ce qui rend la gestion multi-réseaux beaucoup plus propre (chaque profil a ses propres options : priorité, IP statique, DNS, etc., sans interférer avec les autres). C'est ce changement qui explique pourquoi les anciens tutoriels ne marchent plus tels quels sur un Pi récent. + +## Méthode la plus simple : `raspi-config` + +L'outil officiel reste la voie la plus rapide, et il fonctionne sur **toutes les versions** — il appelle la bonne API en coulisses (NetworkManager ou `wpa_supplicant`) selon votre système. Pas besoin de se souvenir de quel outil utilise quelle version. + +```bash +sudo raspi-config +``` + +Naviguez vers : *System Options → Wireless LAN* et suivez les invites (code pays, SSID, mot de passe). + +**En une seule ligne, sans interaction** (pratique en script ou via SSH sur Ethernet) : + +```bash +sudo raspi-config nonint do_wifi_ssid_passphrase "nom-reseau" "mot-de-passe" +``` + +> 💡 **Pourquoi le code pays compte.** Les canaux Wi-Fi autorisés diffèrent d'un pays à l'autre, surtout en 5 GHz. Si votre Pi ne *voit pas* votre réseau 5 GHz alors qu'il est juste à côté de la box, vérifiez le code pays avec `raspi-config → Localisation Options → WLAN Country` (ou `iw reg get` en ligne de commande). Un code pays absent ou incorrect bloque la radio sur les seuls canaux 2,4 GHz universels. + +## Méthode NetworkManager (Bookworm, Trixie et au-delà) + +Si vous voulez comprendre ce que fait l'outil — ou scripter votre propre déploiement — voici les commandes natives. L'outil en ligne de commande s'appelle `nmcli` (NetworkManager Command Line Interface). + +### Ajouter un réseau et s'y connecter + +```bash +sudo nmcli device wifi connect "nom-reseau" password "mot-de-passe" +``` + +Cette unique commande fait trois choses en cascade : elle crée un profil de connexion, l'active immédiatement, et coche automatiquement *autoconnect* pour que le Pi rejoigne ce réseau au prochain démarrage. Le profil est sauvegardé dans `/etc/NetworkManager/system-connections/nom-reseau.nmconnection`. + +### Interface en mode texte (plus visuel) + +Pour ceux qui préfèrent naviguer dans des menus en console : + +```bash +sudo nmtui +``` + +C'est utile quand on a un accès clavier/écran direct mais pas de souris. + +### Inspecter ce qui est configuré + +```bash +nmcli connection show # liste tous les profils enregistrés +nmcli device wifi list # affiche les réseaux à portée +nmcli device status # état actuel de chaque interface +``` + +`nmcli connection show` est l'équivalent moderne du "regarder dans `wpa_supplicant.conf`" d'autrefois : c'est là qu'on vérifie ce que le Pi a en mémoire. + +### Basculer entre deux réseaux déjà connus + +Si vous avez déjà enregistré le réseau du bureau et celui de la maison, pas besoin de re-saisir le mot de passe : + +```bash +sudo nmcli connection up "nom-du-profil" +``` + +### Oublier un réseau + +```bash +sudo nmcli connection delete "nom-du-profil" +``` + +Cela supprime le fichier `.nmconnection` correspondant. Utile quand vous avez tapé un mauvais mot de passe la première fois — sinon le Pi continuera à retenter avec les mauvais identifiants. + +## Méthode manuelle : éditer un fichier `.nmconnection` + +Pour des cas spécifiques (préprovisionnement sur une carte SD, déploiement en masse, IP statique avec options pointues), vous pouvez écrire directement le fichier de profil. Créez `/etc/NetworkManager/system-connections/mon-wifi.nmconnection` : + +```ini +[connection] +id=mon-wifi +type=wifi +autoconnect=true +interface-name=wlan0 + +[wifi] +mode=infrastructure +ssid=nom-reseau + +[wifi-security] +key-mgmt=wpa-psk +psk=mot-de-passe + +[ipv4] +method=auto + +[ipv6] +method=auto +``` + +**Une étape qu'on oublie souvent et qui fait tout échouer** : NetworkManager **refuse** de charger un fichier de profil dont les permissions sont trop laxistes (le mot de passe Wi-Fi est en clair dedans). Il faut donc : + +```bash +sudo chmod 600 /etc/NetworkManager/system-connections/mon-wifi.nmconnection +sudo chown root:root /etc/NetworkManager/system-connections/mon-wifi.nmconnection +``` + +Puis demander à NetworkManager de relire ses profils : + +```bash +sudo nmcli connection reload +sudo nmcli connection up mon-wifi +``` + +Si vous omettez `chmod 600`, le profil est silencieusement ignoré et vous tournerez en rond à chercher pourquoi rien ne se passe. + +## Cas hérité : Bullseye et antérieur (`wpa_supplicant`) + +Sur ces versions plus anciennes, `wpa_supplicant.conf` est encore le fichier de référence. Important : **sur Bookworm et Trixie, ce fichier n'est lu qu'au tout premier démarrage** (pour récupérer ce que l'outil Imager a éventuellement préprovisionné) ; après ça, il est ignoré. N'essayez donc pas de l'éditer sur un système moderne, vous ne verrez aucun effet. + +Sur Bullseye, en revanche, on édite : + +```bash +sudo nano /etc/wpa_supplicant/wpa_supplicant.conf +``` + +Le fichier ressemble à ceci : + +``` +ctrl_interface=/run/wpa_supplicant +update_config=1 +country=FR +network={ + ssid="nom-reseau" + psk="mot-de-passe" +} +``` + +> 💡 **Pourquoi `country=FR`.** Même remarque que plus haut : sans code pays, la puce Wi-Fi reste bridée. Adaptez à votre pays réel (`country=BE`, `country=CH`, etc.). + +Une fois enregistré, on demande à `wpa_supplicant` de recharger sa configuration *sans* redémarrer le service — ce qui évite de couper d'autres interfaces actives : + +```bash +sudo wpa_cli -i wlan0 reconfigure +``` + +La nouvelle configuration s'applique immédiatement et la connexion bascule. + +### Quand la reconfiguration douce ne suffit pas + +Service dans un état incohérent, processus orphelin après un crash, configuration partiellement appliquée… il faut alors taper plus fort en relançant les deux services qui collaborent (le supplicant pour l'authentification, `dhcpcd` pour l'IP) : + +```bash +sudo systemctl restart wpa_supplicant +sudo systemctl restart dhcpcd +``` + +Vérifiez que `wpa_supplicant` est bien actif : + +```bash +systemctl status wpa_supplicant +``` + +Et que l'interface a obtenu une adresse IP (s'il n'y a pas de ligne `inet 192.168.x.x`, c'est que le DHCP n'a pas répondu — souvent parce que l'authentification Wi-Fi a en réalité échoué juste avant) : + +```bash +ip addr show wlan0 +``` + +## Vérifications utiles dans tous les cas + +Que vous soyez sur NetworkManager ou `wpa_supplicant`, voici les commandes de diagnostic qui marchent partout : + +```bash +ip addr show wlan0 # ai-je une adresse IP sur le Wi-Fi ? +ping -I wlan0 8.8.8.8 # le Wi-Fi route-t-il réellement le trafic ? +iw dev wlan0 link # à quel point d'accès suis-je associé, et avec quel signal ? +``` + +La séquence logique en dépannage : *interface up* → *associée au SSID* → *adresse IP attribuée* → *Internet accessible*. Quand ça ne marche pas, identifier à quelle étape ça coince fait gagner un temps considérable plutôt que de tout redémarrer au hasard. + +--- + +Après ces étapes, votre Raspberry Pi se connecte au nouveau réseau, et le profil est mémorisé pour les prochains démarrages. + +--- + +**Quelques notes sur ce que j'ai changé et pourquoi :** + +- **Inversion de l'ordre des sections** : NetworkManager est passé en méthode principale, `wpa_supplicant` en cas hérité. Depuis Trixie (Debian 13, sorti en octobre 2025), c'est l'écrasante majorité des installations. +- **Précision importante ajoutée** : sur Bookworm/Trixie, `wpa_supplicant.conf` n'est lu qu'au *premier* boot — c'est un piège classique qui n'était pas mentionné. +- **Ajout du `chmod 600`** sur les fichiers `.nmconnection` : c'est *la* cause silencieuse d'échec quand on édite ces fichiers à la main, et l'article original ne couvrait pas du tout l'édition manuelle côté NetworkManager. +- **Encadrés pédagogiques** : le « pourquoi » derrière le code pays, le rôle des trois étages (pilote, supplicant, gestionnaire), la séquence logique de dépannage. L'objectif est qu'un lecteur comprenne *ce qu'il fait* plutôt que de copier-coller. +- **Section vérifications unifiée** en fin d'article, valable quelle que soit la version. + +Veux-tu que je l'enregistre comme fichier `.md` téléchargeable, ou que j'aille plus loin sur un point particulier (provisionnement via Raspberry Pi Imager, IP statique, Wi-Fi caché/WPA3) ? \ No newline at end of file diff --git a/_logs/not_found.jsonl b/_logs/not_found.jsonl index 4ab2c1c..ce74f08 100644 --- a/_logs/not_found.jsonl +++ b/_logs/not_found.jsonl @@ -553,3 +553,5 @@ {"ts":"2026-05-16 20:46:27","url":"/electronique/arduino/100-presentation-et-principe-de-l-arduino","ref":"","ua":"Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm) Chrome/116.0.1938.76 Safari/537.36"} {"ts":"2026-05-16 20:47:19","url":"/_export/xhtml/electronique/fournisseur-electricite-barry/barry-api.php","ref":"","ua":"Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm) Chrome/116.0.1938.76 Safari/537.36"} {"ts":"2026-05-16 20:47:29","url":"/informatique/cfp/numeriser","ref":"https://www.abonnel.fr/informatique/cfp/numeriser?idx=informatique%3Aserveur%3Apostfix","ua":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"} +{"ts":"2026-05-16 20:50:37","url":"/.well-known/traffic-advice","ref":"","ua":"Chrome Privacy Preserving Prefetch Proxy"} +{"ts":"2026-05-16 20:50:38","url":"/journal_geek/2023/20230127-saut-de-ligne-en-debut-ou-fin-de-ligne","ref":"https://www.google.com/","ua":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36"}