Skip to content
Learni
View all tutorials
Raspberry Pi

Comment démarrer avec Raspberry Pi en 2026

Introduction

Le Raspberry Pi est un micro-ordinateur abordable et puissant, idéal pour les débutants en électronique, IoT et programmation embarquée. En 2026, avec les modèles Pi 5 et Zero 2W, il reste la référence pour des projets comme la domotique, les robots ou les serveurs personnels. Ce tutoriel vous guide pas à pas pour installer Raspberry Pi OS, configurer votre appareil et créer votre premier projet : faire clignoter une LED via GPIO avec Python.

Pourquoi c'est important ? Contrairement à un PC classique, le Pi intègre GPIO pour interagir directement avec le hardware, comme des capteurs ou des moteurs. Vous apprendrez les bases en 30 minutes, avec du code 100% fonctionnel. À la fin, vous aurez un setup prêt pour des projets avancés comme un serveur web ou un assistant vocal. Pas de blabla : on passe à l'action avec des commandes copier-collables.

Prérequis

  • Un Raspberry Pi (modèle 4, 5 ou Zero recommandé)
  • Carte microSD ≥16 Go (classe 10)
  • Alimentation USB-C 5V/3A
  • Câble HDMI/micro-HDMI + écran (ou accès SSH)
  • Ordinateur avec Raspberry Pi Imager (téléchargeable sur raspberrypi.com)
  • LED, résistance 220Ω, câbles jumper (pour le projet GPIO)
  • Connaissances basiques en terminal (Linux/Mac/Windows avec WSL)

Préparer la carte microSD

preparer-sd.sh
#!/bin/bash

# Sur Linux/Mac : remplacez /dev/sdX par votre carte SD (utilisez lsblk ou diskutil list)
# ATTENTION : Vérifiez le disque pour éviter d'effacer vos données !

disk=/dev/sdX

# Démonter les partitions
sudo umount ${disk}*

# Flasher Raspberry Pi OS Lite (téléchargez l'image au préalable depuis raspberrypi.com)
# Remplacez 'raspios_lite.img' par le nom de votre image
sudo dd if=raspios_lite.img of=${disk} bs=4M status=progress conv=fsync

# Synchroniser et éjecter
sudo sync
sudo eject ${disk}

Ce script bash flashe Raspberry Pi OS sur la carte SD via dd. Il démonte les partitions pour éviter les erreurs et utilise bs=4M pour accélérer le processus. Piège courant : mal identifier le disque (/dev/sdX), ce qui efface vos données ; toujours vérifier avec lsblk.

Premier boot et configuration WiFi

Insérez la carte SD dans le Pi, branchez alimentation, HDMI et clavier. Le Pi bootera en 30s. Utilisez raspi-config pour activer SSH et configurer WiFi. Éditez wpa_supplicant.conf pour un accès headless (sans écran).

Configurer WiFi et SSH

boot/config-wifi.sh
# Créer wpa_supplicant.conf à la racine de la partition boot
cat > /boot/firmware/wpa_supplicant.conf << EOF
country=FR
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1

network={
    ssid="VOTRE_WIFI"
    psk="VOTRE_MOT_DE_PASSE"
}
EOF

# Activer SSH
sudo touch /boot/firmware/ssh

# Redémarrer
sudo reboot

Ce code configure WiFi et SSH pour un boot sans écran. Placez-le sur la partition boot avant insertion. Remplacez SSID et PSK ; country=FR évite les problèmes légaux. Piège : oublier sudo touch /boot/ssh bloque l'accès distant.

Mettre à jour le système

update-system.sh
#!/bin/bash

sudo apt update
sudo apt upgrade -y
sudo apt install python3-pip python3-gpiozero git vim -y
sudo raspi-config nonint do_ssh 0  # Activer SSH si pas fait
sudo reboot

Met à jour tous les paquets et installe gpiozero pour Python GPIO (plus simple que RPi.GPIO). nonint automatise raspi-config. Lancez via SSH après boot. Piège : oublier le reboot, les libs ne chargent pas.

Comprendre les GPIO

Les GPIO (General Purpose Input/Output) sont 40 pins sur le Pi pour connecter LED, boutons, capteurs. Pin 17 = sortie pour LED, pin 2 = 5V, pin 6 = GND. Utilisez gpiozero : abstraction simple, gère PWM et interruptions.

Premier script : LED clignotante

blink.py
from gpiozero import LED
from time import sleep

led = LED(17)  # Pin GPIO17

try:
    while True:
        led.on()
        sleep(0.5)
        led.off()
        sleep(0.5)
except KeyboardInterrupt:
    led.off()
    print("LED éteinte.")

Ce script crée une LED sur GPIO17 qui clignote 1s on/off. gpiozero.LED simplifie : pas de setup pinMode. Branchez LED+ via résistance sur pin17, - sur GND. Ctrl+C arrête proprement. Piège : polarité LED inversée = rien ne s'allume.

Script avancé : LED avec bouton

button_led.py
from gpiozero import LED, Button
from signal import pause

led = LED(17)
button = Button(2, pull_up=True)  # Pin GPIO2, pull-up interne

button.when_pressed = led.on
button.when_released = led.off

print("Appuyez sur le bouton pour allumer/éteindre la LED")
pause()  # Boucle infinie sans bloquer

Ajoute un bouton sur GPIO2 : appui allume LED, relâche éteint. pull_up=True évite un pull-up externe. pause() garde le script vivant. Idéal pour interagir. Piège : sans pull-up, bouton flotte et déclenche faux positifs.

Lancer au boot

autorun.sh
#!/bin/bash

# Copier script dans systemd service
sudo cp blink.py /home/pi/
sudo chown pi:pi /home/pi/blink.py

cat > /etc/systemd/system/blink.service << EOF
[Unit]
Description=LED Blink
After=multi-user.target

[Service]
ExecStart=/usr/bin/python3 /home/pi/blink.py
WorkingDirectory=/home/pi
Restart=always
User=pi

[Install]
WantedBy=multi-user.target
EOF

sudo systemctl daemon-reload
sudo systemctl enable blink.service
sudo systemctl start blink.service

Crée un service systemd pour lancer blink.py au boot. Restart=always relance si crash. Vérifiez avec systemctl status blink. Piège : mauvais chemin absolu = service échoue silencieusement.

Bonnes pratiques

  • Toujours utiliser des résistances (220Ω) pour limiter courant LED/GPIO (max 16mA/pin).
  • Pull-up/pull-down pour entrées stables, via gpiozero.
  • Services systemd pour autostart, pas crontab.
  • Logs : journalctl -u blink.service pour debug.
  • Backup SD régulièrement avec dd ou rsync.

Erreurs courantes à éviter

  • GPIO en root : gpiozero nécessite pi user ; sudo casse PWM.
  • Alim insuffisante : Pi brownout = freezes ; utilisez 5V/3A officiel.
  • Pins BCM vs Board : gpiozero utilise BCM (17), pas numéros physique.
  • Overclock sans ventilo : Chauffe → throttling ; testez vcgencmd measure_temp.

Pour aller plus loin