Files
abonnel-www/0c1a6560-2f8d-4a5d-bba7-7faee822efd6/index.md
T

366 lines
14 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Configurer un Raspberry Pi avec `raspi-config` — Guide complet
> **Pour qui ?** Ce guide s'adresse aux utilisateurs de Raspberry Pi 3, 4 et 5 sous **Raspberry Pi OS Bookworm** (la version actuelle, basée sur Debian 12). Il couvre la configuration initiale, les bonnes pratiques de sécurité et plusieurs astuces avancées.
> **Note importante :** Depuis Bookworm (octobre 2023), la structure du menu de `raspi-config` a été remaniée. Si vous suivez un ancien tutoriel et que les numéros ne correspondent pas, c'est normal — utilisez les **noms** des options plutôt que leurs numéros.
---
## 1. Qu'est-ce que `raspi-config` ?
`raspi-config` est l'outil officiel de configuration du Raspberry Pi. C'est un menu interactif en mode texte (TUI) qui permet de régler en quelques clavier ce qu'il faudrait sinon faire en éditant manuellement des fichiers système : mot de passe, réseau, langue, interfaces matérielles (caméra, I2C, SPI, GPIO…), démarrage, etc.
Il est préinstallé sur Raspberry Pi OS. Pour le lancer :
```bash
sudo raspi-config
```
Le `sudo` est obligatoire : modifier la configuration système nécessite les droits administrateur.
### Navigation dans le menu
| Touche | Action |
|---|---|
| ↑ / ↓ | Se déplacer dans la liste |
| Entrée | Valider |
| Tab | Passer au bouton `<Select>` / `<Finish>` |
| Échap | Revenir en arrière |
| Espace | Cocher/décocher une option (dans les listes à choix multiples) |
> 💡 **Astuce :** `raspi-config` peut aussi être utilisé en ligne de commande (mode non-interactif) pour automatiser la configuration, par exemple : `sudo raspi-config nonint do_ssh 0` active SSH sans passer par le menu. Très utile pour scripter le déploiement de plusieurs Pi.
---
## 2. Le menu principal (Bookworm)
Voici la structure actuelle du menu. Les numéros peuvent légèrement varier selon la version, mais les libellés restent stables.
```
1 System Options Réglages système (mot de passe, hostname, audio, démarrage…)
2 Display Options Affichage (résolution, overscan, sous-balayage…)
3 Interface Options Activer SSH, VNC, SPI, I2C, caméra, GPIO distant…
4 Performance Options Overclock, mémoire GPU, ventilateur (Pi 4/5)
5 Localisation Options Langue, fuseau horaire, clavier, pays Wi-Fi
6 Advanced Options Expand FS, Wayland/X11, audio (PipeWire), boot order…
8 Update Mettre à jour raspi-config lui-même
9 About raspi-config Informations
```
> ⚠️ La rubrique **Network Options** de l'ancien menu a disparu : depuis Bookworm, la gestion du réseau passe par **NetworkManager** (commande `nmcli` ou icône Wi-Fi en haut à droite du bureau). On y revient plus bas.
---
## 3. Première configuration — l'ordre recommandé
Pour un Pi tout neuf, voici l'ordre logique à suivre. Faire les choses dans cet ordre évite les surprises (ex. clavier AZERTY qui ne marche pas encore quand on tape son nouveau mot de passe).
### Étape 1 — Localisation (en premier !)
**Menu : `5 Localisation Options`**
Faites-le **avant** de changer le mot de passe : sinon vous risquez de taper votre mot de passe avec un clavier QWERTY américain et de ne plus pouvoir vous connecter.
- **L1 Locale** → cocher `fr_FR.UTF-8 UTF-8` avec la barre espace, décocher `en_GB.UTF-8` si présent, puis choisir `fr_FR.UTF-8` comme locale par défaut.
- **L2 Timezone** → `Europe` puis `Paris`.
- **L3 Keyboard** → choisir un clavier générique 105 touches, disposition **Other → French → French**.
- **L4 WLAN Country** → `FR France`. **Indispensable** pour que le Wi-Fi fonctionne : sans pays défini, l'antenne reste désactivée pour respecter les réglementations radio.
### Étape 2 — Changer le mot de passe
**Menu : `1 System Options → S3 Password`**
L'ancien mot de passe par défaut `raspberry` n'existe plus depuis 2022 : aujourd'hui c'est vous qui le définissez à la première installation via Raspberry Pi Imager. Mais si vous avez écrit l'image à l'ancienne (sans Imager), changez-le immédiatement.
**Conseils de mot de passe :**
- Au moins 12 caractères, mélange minuscules/majuscules/chiffres/symboles.
- Pas de mot du dictionnaire.
- Idéalement : passez à l'authentification par **clé SSH** (voir section 6) et désactivez la connexion par mot de passe.
### Étape 3 — Nom de la machine (hostname)
**Menu : `1 System Options → S4 Hostname`**
Par défaut, votre Pi s'appelle `raspberrypi`. Si vous en avez plusieurs sur votre réseau, donnez à chacun un nom unique : `pi-salon`, `pi-nas`, `pi-domotique`… On y accède ensuite via `ssh pi-salon.local` (grâce à mDNS/Avahi, actif par défaut).
**Règles à respecter :** uniquement des lettres, chiffres et tirets (`-`). Pas d'espaces, pas d'accents, pas de point.
### Étape 4 — Étendre le système de fichiers
**Menu : `6 Advanced Options → A1 Expand Filesystem`**
> ✅ **Bonne nouvelle :** Depuis plusieurs années, Raspberry Pi OS le fait **automatiquement au premier démarrage**. Vous n'avez normalement plus rien à faire. Vérifiez quand même avec `df -h /` que la partition occupe bien toute la carte SD.
Si elle ne fait pas la taille attendue (par exemple 8 Go sur une carte de 64 Go), lancez cette option, puis redémarrez.
### Étape 5 — Activer SSH
**Menu : `3 Interface Options → I2 SSH → Yes`**
SSH permet de piloter votre Pi à distance depuis un autre ordinateur, sans clavier ni écran branché dessus. Indispensable pour les projets "headless" (NAS, serveur domotique, etc.).
Une fois activé, depuis un autre ordinateur :
```bash
ssh votre_utilisateur@pi-salon.local
```
### Étape 6 — Mettre à jour le système
Avant de finir, sortez de `raspi-config` et lancez :
```bash
sudo apt update
sudo apt full-upgrade -y
sudo reboot
```
Cela garantit que vous partez sur une base à jour (correctifs de sécurité, dernière version du firmware, etc.).
---
## 4. Configuration réseau (Bookworm et après)
⚠️ **Changement majeur depuis Bookworm :** la gestion du réseau n'est plus dans `raspi-config`. Elle se fait via **NetworkManager**, l'outil standard sous Linux.
### En mode graphique
Cliquez sur l'icône réseau en haut à droite, choisissez votre Wi-Fi, entrez le mot de passe. Terminé.
### En ligne de commande (mode headless)
Lister les réseaux disponibles :
```bash
nmcli device wifi list
```
Se connecter :
```bash
sudo nmcli device wifi connect "Nom_du_reseau" password "mot_de_passe"
```
Vérifier la connexion :
```bash
nmcli connection show --active
ip addr show wlan0
```
Définir une IP fixe (utile pour un serveur) :
```bash
sudo nmcli connection modify "Nom_du_reseau" \
ipv4.addresses 192.168.1.50/24 \
ipv4.gateway 192.168.1.1 \
ipv4.dns "1.1.1.1 9.9.9.9" \
ipv4.method manual
sudo nmcli connection up "Nom_du_reseau"
```
> 💡 **Astuce headless :** Pour préconfigurer le Wi-Fi avant même le premier démarrage, utilisez **Raspberry Pi Imager** : cliquez sur l'engrenage ⚙️ avant d'écrire l'image et renseignez SSID, mot de passe, utilisateur, SSH, locale. Le Pi se connecte tout seul au premier boot. Ne perdez plus de temps à éditer `wpa_supplicant.conf` — cette méthode est obsolète depuis Bookworm.
### Anciennes commandes à oublier
- `wpa_cli -i wlan0 reconfigure` : ne fonctionne plus de la même façon, NetworkManager gère tout.
- `wpa_supplicant.conf` : ignoré au profit des profils NetworkManager dans `/etc/NetworkManager/system-connections/`.
- `dhcpcd.conf` : remplacé par NetworkManager.
---
## 5. Options d'interfaces matérielles
**Menu : `3 Interface Options`**
C'est ici que vous activez les bus et capteurs nécessaires à vos projets électroniques.
| Option | Quand l'activer |
|---|---|
| **I1 SSH** | Toujours, sauf usage strictement local. |
| **I2 VNC** | Pour piloter le bureau graphique à distance. Désactivez si vous n'en avez pas besoin (consomme de la RAM). |
| **I3 SPI** | Pour les écrans, capteurs ou cartes SD externes en SPI. |
| **I4 I2C** | Pour les capteurs (BME280, MPU6050, écrans OLED…), très courant. |
| **I5 Serial Port** | Pour parler à un Arduino, GPS, modem… Choisissez `No` pour la console série mais `Yes` pour le port matériel. |
| **I6 1-Wire** | Pour les capteurs DS18B20 (température). |
| **I7 Remote GPIO** | Pour contrôler le GPIO depuis un autre ordinateur via `pigpio`. |
> ⚠️ **À propos de la caméra :** sous Bookworm, la caméra est gérée par **libcamera** et fonctionne dès le branchement, sans avoir à l'activer dans `raspi-config` (l'option a même disparu). Testez avec `rpicam-hello` ou `rpicam-still -o photo.jpg`.
---
## 6. Sécuriser l'accès SSH (vivement recommandé)
Activer SSH c'est bien, le sécuriser c'est mieux — surtout si votre Pi est exposé sur Internet.
### 6.1 — Utiliser une clé SSH (sans mot de passe)
Depuis votre ordinateur principal :
```bash
# Générer une paire de clés (si vous n'en avez pas déjà)
ssh-keygen -t ed25519 -C "mon_pc"
# Copier la clé publique sur le Pi
ssh-copy-id votre_utilisateur@pi-salon.local
```
Testez ensuite : `ssh votre_utilisateur@pi-salon.local` doit se connecter **sans demander de mot de passe**.
### 6.2 — Désactiver la connexion par mot de passe
Sur le Pi, éditez `/etc/ssh/sshd_config.d/99-custom.conf` (créez-le) :
```
PasswordAuthentication no
PermitRootLogin no
```
Puis : `sudo systemctl restart ssh`.
⚠️ **Vérifiez que votre clé fonctionne AVANT** de désactiver le mot de passe, sinon vous risquez de vous bloquer dehors.
### 6.3 — Installer fail2ban (optionnel)
```bash
sudo apt install fail2ban
```
Il bannit automatiquement les IP qui tentent de forcer votre SSH.
---
## 7. Performance : démarrage, mémoire, refroidissement
### Mode de démarrage
**Menu : `1 System Options → S5 Boot / Auto Login`**
- **B1 Console** : démarrage en terminal, demande de mot de passe. Idéal pour un serveur.
- **B2 Console Autologin** : terminal sans demande de mot de passe. Pratique pour des bornes dédiées.
- **B3 Desktop** : bureau graphique avec login.
- **B4 Desktop Autologin** : bureau graphique direct (par défaut).
Pour un serveur sans écran, **B1** ou **B2** libère ~200 Mo de RAM.
### Mémoire GPU
**Menu : `4 Performance Options → P2 GPU Memory`**
Sur Pi 3 (1 Go de RAM), si vous faites du serveur sans graphique, réduisez à `16` Mo pour libérer de la RAM système. Sur Pi 4 / Pi 5 qui ont une gestion mémoire dynamique, ce paramètre a beaucoup moins d'impact.
### Overclock
**Menu : `4 Performance Options → P1 Overclock`** (Pi 3 uniquement via menu — pour Pi 4/5 c'est manuel via `/boot/firmware/config.txt`).
> ⚠️ L'overclock fait chauffer le processeur. Sans **dissipateur passif + ventilateur**, ne tentez rien. Sur Pi 5, le ventilateur officiel est fortement recommandé même en utilisation normale.
Pour Pi 4/5, éditez `/boot/firmware/config.txt` :
```ini
# Exemple Pi 4 (à utiliser avec refroidissement actif)
over_voltage=2
arm_freq=1750
# Exemple Pi 5
over_voltage_delta=10000
arm_freq=2600
```
### Contrôle du ventilateur (Pi 4/5)
**Menu : `4 Performance Options → P4 Fan`**
Vous pouvez régler les seuils de température auxquels le ventilateur démarre. Par défaut, il s'allume vers 80 °C ; pour un Pi 5 sous charge, le baisser à 6065 °C améliore la longévité.
---
## 8. Wayland vs X11
**Menu : `6 Advanced Options → A6 Wayland`**
Depuis Bookworm, l'affichage utilise **Wayland (labwc)** par défaut. C'est plus moderne, plus fluide, et activement développé.
- **W1 X11** : ancien système, à choisir uniquement si une application précise refuse de fonctionner sous Wayland (cas rare).
- **W2 Labwc** : Wayland, **recommandé**.
Pour un Pi sans écran (serveur, headless), cette option n'a aucune importance.
---
## 9. Ordre de démarrage (Pi 4 et Pi 5)
**Menu : `6 Advanced Options → A4 Boot Order`**
Sur Pi 4 et Pi 5, vous pouvez choisir de démarrer en priorité depuis :
- **B1 SD Card** : carte SD d'abord (par défaut, recommandé).
- **B2 NVMe/USB** : démarrer depuis un SSD NVMe (Pi 5 avec HAT M.2) ou clé USB. **Énorme gain de performance** par rapport à une carte SD.
- **B3 Network Boot** : démarrage par le réseau (PXE).
Pour utiliser un SSD NVMe sur Pi 5, c'est ici que ça se passe (après avoir flashé Raspberry Pi OS sur le SSD).
---
## 10. Terminer et redémarrer
Sortez du menu avec `<Finish>` (Tab puis Entrée). Si des modifications nécessitent un redémarrage, `raspi-config` vous le proposera. Acceptez, ou faites-le manuellement :
```bash
sudo reboot
```
---
## 11. Vérifier que tout est bien configuré
Après redémarrage, quelques commandes pour faire un état des lieux :
```bash
# Identité système et version OS
hostnamectl
cat /etc/os-release
# Modèle de Pi et firmware
cat /proc/device-tree/model
vcgencmd version
# Espace disque
df -h /
# Mémoire
free -h
# Température CPU
vcgencmd measure_temp
# Réseau
ip addr
nmcli connection show --active
# Interfaces activées (I2C, SPI…)
ls /dev/i2c-* /dev/spidev* 2>/dev/null
# Service SSH
systemctl status ssh --no-pager
```
---
## 12. Récapitulatif des bonnes pratiques
**Faites toujours dans cet ordre :** locale → mot de passe → hostname → SSH → mise à jour.
**Utilisez Raspberry Pi Imager** avec la préconfiguration (engrenage ⚙️) pour gagner du temps.
**Donnez un hostname unique** à chaque Pi.
**Passez aux clés SSH**, désactivez le mot de passe SSH.
**Maintenez à jour** : `sudo apt update && sudo apt full-upgrade` régulièrement.
**Sauvegardez** votre carte SD une fois bien configurée (image avec `dd` ou Win32DiskImager).
**Refroidissement actif** sur Pi 4 et Pi 5, surtout si vous overclockez.
❌ Ne laissez jamais le mot de passe par défaut.
❌ N'éditez plus `wpa_supplicant.conf` sous Bookworm — utilisez NetworkManager.
❌ Ne lancez pas d'overclock agressif sans refroidissement.
---
## 13. Pour aller plus loin
- Documentation officielle (référence ultime) : <https://www.raspberrypi.com/documentation/computers/configuration.html>
- Source de `raspi-config` (pour comprendre ce que fait chaque option) : <https://github.com/RPi-Distro/raspi-config>
- Forum officiel (très réactif) : <https://forums.raspberrypi.com>
Bonne configuration, et bons projets ! 🥧