draft: Installer le logiciel Arduino IDE sous Linux

This commit is contained in:
Cédrix
2026-05-16 22:29:02 +02:00
parent 99957f030c
commit aa688f56bd
4 changed files with 228 additions and 1 deletions
+1 -1
View File
@@ -1 +1 @@
{"readable":true,"books":{"\/book\/esp":5,"\/book\/les-commandes-linux":4,"\/book\/linux-architecture-des-dossiers":3,"\/book\/la-domotique-chez-soi":2},"as":[{"asn":"","name":"LAN","country":"","hits":13037},{"asn":"8075","name":"Cloud","country":"US","hits":844},{"asn":"14618","name":"AWS EC2 (us-east-1)","country":"US","hits":429},{"asn":"24940","name":"Hetzner","country":"FI","hits":396},{"asn":"32934","name":"Meta Platforms Ireland Limited","country":"US","hits":246},{"asn":"16276","name":"OVH","country":"FR","hits":150},{"asn":"15169","name":"Google LLC","country":"US","hits":84},{"asn":"48230","name":"LLC MONOLITH.NET","country":"UA","hits":83},{"asn":"36352","name":"HostPapa","country":"US","hits":18},{"asn":"12322","name":"ProXad network \/ Free","country":"FR","hits":15},{"asn":"174","name":"Code 200, UAB","country":"FR","hits":12},{"asn":"18779","name":"EGIHosting","country":"US","hits":10},{"asn":"46261","name":"BraveWay","country":"US","hits":10},{"asn":"3209","name":"Vodafone Kabel Deutschland GmbH","country":"DE","hits":9},{"asn":"51207","name":"Free Mobile","country":"FR","hits":7},{"asn":"16509","name":"Anthropic, PBC","country":"US","hits":7},{"asn":"29695","name":"Lyse Tele AS","country":"NO","hits":5},{"asn":"41281","name":"KeFF Networks Ltd","country":"SE","hits":5},{"asn":"9443","name":"Vocus Retail","country":"AU","hits":5},{"asn":"37054","name":"Telma Madagascar","country":"MG","hits":4},{"asn":"396982","name":"Google Cloud (us-east5)","country":"US","hits":4},{"asn":"209366","name":"Crawlers","country":"US","hits":4},{"asn":"58087","name":"Datalix","country":"DE","hits":4},{"asn":"210743","name":"Babbar SAS","country":"FR","hits":4},{"asn":"132203","name":"Tencent Cloud Computing","country":"DE","hits":2},{"asn":"136907","name":"Huawei Cloud","country":"SG","hits":2},{"asn":"45102","name":"Alibaba.com LLC","country":"SG","hits":2},{"asn":"51167","name":"Contabo GmbH","country":"FR","hits":2}]}
{"readable":true,"books":{"\/book\/esp":5,"\/book\/les-commandes-linux":4,"\/book\/linux-architecture-des-dossiers":3,"\/book\/la-domotique-chez-soi":2},"as":[{"asn":"","name":"LAN","country":"","hits":13041},{"asn":"8075","name":"Cloud","country":"US","hits":844},{"asn":"14618","name":"AWS EC2 (us-east-1)","country":"US","hits":433},{"asn":"24940","name":"Hetzner","country":"FI","hits":396},{"asn":"32934","name":"Meta Platforms Ireland Limited","country":"US","hits":254},{"asn":"16276","name":"OVH","country":"FR","hits":150},{"asn":"15169","name":"Google LLC","country":"US","hits":87},{"asn":"48230","name":"LLC MONOLITH.NET","country":"UA","hits":83},{"asn":"36352","name":"HostPapa","country":"US","hits":18},{"asn":"12322","name":"ProXad network \/ Free","country":"FR","hits":15},{"asn":"174","name":"Code 200, UAB","country":"FR","hits":12},{"asn":"18779","name":"EGIHosting","country":"US","hits":10},{"asn":"46261","name":"BraveWay","country":"US","hits":10},{"asn":"3209","name":"Vodafone Kabel Deutschland GmbH","country":"DE","hits":9},{"asn":"51207","name":"Free Mobile","country":"FR","hits":7},{"asn":"16509","name":"Anthropic, PBC","country":"US","hits":7},{"asn":"29695","name":"Lyse Tele AS","country":"NO","hits":5},{"asn":"41281","name":"KeFF Networks Ltd","country":"SE","hits":5},{"asn":"9443","name":"Vocus Retail","country":"AU","hits":5},{"asn":"45102","name":"Alibaba.com LLC","country":"SG","hits":5},{"asn":"37054","name":"Telma Madagascar","country":"MG","hits":4},{"asn":"396982","name":"Google Cloud (us-east5)","country":"US","hits":4},{"asn":"209366","name":"Crawlers","country":"US","hits":4},{"asn":"58087","name":"Datalix","country":"DE","hits":4},{"asn":"210743","name":"Babbar SAS","country":"FR","hits":4},{"asn":"132203","name":"Tencent Cloud Computing","country":"DE","hits":2},{"asn":"136907","name":"Huawei Cloud","country":"SG","hits":2},{"asn":"51167","name":"Contabo GmbH","country":"FR","hits":2}]}
@@ -0,0 +1,4 @@
{
"title": "Installer le logiciel Arduino IDE sous Linux",
"_updated_at": "2026-05-16 20:29:01"
}
@@ -0,0 +1,219 @@
# Installer le logiciel Arduino IDE sous Linux
Cet article a été testé avec les distributions suivantes :
- **Linux Mint 21 / 22 (64 bits)**
- **Debian 12 (Bookworm) 64 bits**
- **Ubuntu 22.04 LTS / 24.04 LTS**
- **MX Linux 23** (basé sur Debian 12)
- **Zorin OS 17** (basé sur Ubuntu)
Je privilégie une installation « manuelle » de l'application **Arduino IDE** afin d'utiliser une des dernières versions. Certaines options et paramètres n'apparaissent pas dans les versions packagées des distributions (et la version disponible dans les dépôts officiels est souvent l'ancienne 1.8.x).
Date de relecture : 16 mai 2026
Depuis septembre 2022, **Arduino IDE 2.x** est la version officielle activement développée. Au moment de cette mise à jour, la dernière version stable est **Arduino IDE 2.3.8**. L'ancienne version **1.8.19** (parfois appelée « Legacy IDE » ou « Java IDE ») n'est plus maintenue que pour les correctifs de sécurité critiques ; il est recommandé de migrer vers la 2.x.
Vous pouvez vérifier la dernière version disponible sur le site officiel : <https://www.arduino.cc/en/software>. Adaptez les informations ci-dessous suivant les numéros de version trouvés sur le site arduino.cc.
## - Méthode recommandée : Arduino IDE 2.x (AppImage)
Arduino IDE 2.x est distribué sous Linux au format **AppImage**, un format autonome qui ne nécessite aucune installation système. Cette méthode remplace l'ancienne procédure d'extraction d'archive `.tar.xz` utilisée pour la 1.8.x.
### - Télécharger l'AppImage
Depuis votre dossier **home** ou un autre dossier personnel, téléchargez l'AppImage Arduino IDE depuis une ligne de commande :
```
wget -O arduino-ide.AppImage https://downloads.arduino.cc/arduino-ide/arduino-ide_2.3.8_Linux_64bit.AppImage
```
> **Remarque** : le numéro de version dans l'URL évolue. Vérifiez la dernière version sur <https://www.arduino.cc/en/software> ou via la page GitHub des releases : <https://github.com/arduino/arduino-ide/releases>.
### - Prérequis système
L'AppImage nécessite **FUSE** pour s'exécuter. Sur certaines distributions récentes (Ubuntu 22.04+, Debian 12), il faut installer `libfuse2` :
```
sudo apt update
sudo apt install libfuse2
```
### - Rendre l'AppImage exécutable et la déployer
**ligne 1** : rendre le fichier exécutable.
**ligne 2** : déplacer l'AppImage dans un dossier accessible à tous : `/opt/`.
**ligne 3** : créer un lien symbolique dans `/usr/local/bin/` pour pouvoir lancer l'application depuis n'importe où en tapant simplement `arduino-ide`.
```
chmod +x arduino-ide.AppImage
sudo mv arduino-ide.AppImage /opt/arduino-ide
sudo ln -sf /opt/arduino-ide /usr/local/bin/arduino-ide
```
### - Créer un raccourci sur le bureau
Contrairement à la 1.8.x, l'AppImage ne fournit pas de script `install.sh`. Pour créer un raccourci dans le menu des applications, créez le fichier `~/.local/share/applications/arduino-ide.desktop` avec le contenu suivant :
```
[Desktop Entry]
Name=Arduino IDE
Comment=Arduino IDE 2.x
Exec=/opt/arduino-ide
Icon=arduino-ide
Terminal=false
Type=Application
Categories=Development;IDE;Electronics;
StartupWMClass=arduino-ide
```
Puis actualiser le cache des icônes :
```
update-desktop-database ~/.local/share/applications/
```
## - Méthode alternative : Arduino IDE 1.8.19 (Legacy)
Si vous avez besoin de l'ancienne version (matériel ancien, plugins non portés, etc.), la procédure historique reste fonctionnelle.
### - Télécharger Arduino IDE 1.8.19
```
wget -O arduino.tar.xz https://downloads.arduino.cc/arduino-1.8.19-linux64.tar.xz
```
### - Déployer Arduino IDE Software
**ligne 1** : déployer Arduino IDE dans un dossier accessible à tous : `/opt/`. L'archive **tar** va extraire les fichiers dans un dossier comportant le numéro de version.
**ligne 2** : ajuster les droits du dossier extrait.
**ligne 3** : si un lien `/opt/arduino` existait, le détruire avec **unlink**.
**ligne 4** : réaliser un alias vers le dossier `/opt/arduino`. De cette manière, on s'affranchit du numéro de version. Nous pouvons également déployer de nouvelles versions sans perturber la précédente.
**ligne 5** : exécuter le script `install.sh` qui permet de créer un raccourci sur le bureau graphique.
```bash
sudo tar -xvf arduino.tar.xz -C /opt
sudo chown -R root:root /opt/arduino-1.8.19
sudo unlink /opt/arduino 2>/dev/null
sudo ln -s /opt/arduino-1.8.19/ /opt/arduino
sudo /opt/arduino/install.sh
```
## - Problèmes rencontrés après le déploiement
### - Droits sur tty et dialout
Pour pouvoir accéder au port série de la carte Arduino, il faut ajouter l'utilisateur courant aux groupes `tty` et `dialout` :
```
sudo usermod -a -G tty $USER
sudo usermod -a -G dialout $USER
```
Si vous venez de saisir ces lignes de commande, vous devez **fermer votre session** (ou redémarrer) pour que les nouveaux groupes soient pris en compte.
### - Serial port not selected / brltty bloque le port
Sous Mint, Ubuntu et certaines distributions, le service `brltty` (afficheur braille) peut capturer les ports série et empêcher l'IDE de détecter la carte. Si la carte n'apparaît jamais dans `Outils => Port`, désinstallez `brltty` :
```
sudo apt remove brltty
```
### - Aucune carte n'est détectée
Plusieurs causes possibles :
- **Câble USB défectueux** : certains câbles USB sont câblés uniquement pour l'alimentation (charge) et n'ont pas les fils de données. Testez avec un autre câble.
- **Pilote du convertisseur USB-Série manquant** : les clones Arduino utilisent souvent un **CH340** ou un **CH341**. Le pilote est intégré au noyau Linux récent (5.x et +), mais sur de très anciens systèmes il peut manquer.
- **Permissions** : vérifier que l'utilisateur appartient bien au groupe `dialout` (voir section précédente).
Pour vérifier que la carte est bien détectée par le système :
```
dmesg | tail -20
ls /dev/ttyACM* /dev/ttyUSB*
```
Une carte Arduino Uno officielle apparaîtra comme `/dev/ttyACM0`, un clone basé sur CH340 comme `/dev/ttyUSB0`.
### - Java (Arduino IDE 1.8.x uniquement)
> Cette section ne concerne **plus** Arduino IDE 2.x, qui est basé sur **Electron** (Theia IDE + arduino-cli) et n'utilise pas Java.
Pour la 1.8.x, le message suivant peut apparaître :
```
java.lang.NullPointerException thrown while loading gnu.io.RXTXCommDriver
```
Un Java est embarqué avec l'application (`/opt/arduino/java/bin/java -version`). En cas de problème, installer OpenJDK 8 :
```
sudo apt update
sudo apt install openjdk-8-jdk
sudo update-alternatives --config java
```
## - Exécuter votre premier programme
Voici le programme classique d'introduction : il fait clignoter la LED intégrée à la carte (broche 13 sur la plupart des Arduino) toutes les secondes.
Il n'est pas nécessaire de brancher une LED externe : la LED présente sur la carte conviendra parfaitement à cet exemple.
Dans l'IDE, ouvrez `Fichier => Exemples => 01.Basics => Blink`. Vous pouvez également copier le code suivant dans votre éditeur :
```c
/*
Clignotement (Blink)
Allume la LED pendant 1 seconde,
puis l'éteint pendant 1 seconde.
*/
// Numéro de la broche à laquelle est connectée la LED.
// LED_BUILTIN désigne la LED intégrée à la carte (13 sur Uno).
int led = LED_BUILTIN;
// Le code dans cette fonction est exécuté une fois au démarrage.
void setup() {
// On indique que la broche de la LED est une sortie :
// on va modifier sa tension.
pinMode(led, OUTPUT);
}
// Le code dans cette fonction est exécuté en boucle.
void loop() {
digitalWrite(led, HIGH); // allumer la LED (5 V sur la broche)
delay(1000); // attendre 1000 ms = 1 s
digitalWrite(led, LOW); // éteindre la LED (0 V sur la broche)
delay(1000); // attendre à nouveau 1 seconde
}
```
Deux déclarations de fonctions sont **obligatoires** dans tout programme Arduino :
- `setup()` : exécutée une seule fois au démarrage.
- `loop()` : exécutée en boucle, indéfiniment.
Dans cet exemple, nous appelons trois fonctions de la bibliothèque Arduino :
- `pinMode()` : configure une broche en entrée ou en sortie.
- `digitalWrite()` : applique un niveau logique haut (5 V) ou bas (0 V) sur une broche.
- `delay()` : fait une pause exprimée en millisecondes.
Pour téléverser ce code :
1. Brancher l'Arduino sur un port USB.
2. Dans `Outils => Type de carte`, sélectionner le modèle exact (ex. *Arduino Uno*).
3. Dans `Outils => Port`, sélectionner le port détecté (ex. `/dev/ttyACM0` ou `/dev/ttyUSB0`).
4. Cliquer sur le bouton **Téléverser** (flèche vers la droite) dans la barre d'outils.
## - Pour aller plus loin
- Documentation officielle : <https://docs.arduino.cc/>
- Référence du langage Arduino : <https://www.arduino.cc/reference/fr/>
- Cartes ESP8266 et ESP32 : ajouter les URL de gestionnaire de cartes additionnel dans `Fichier => Préférences`, puis installer le package correspondant via `Outils => Type de carte => Gestionnaire de cartes`.
+4
View File
@@ -531,3 +531,7 @@
{"ts":"2026-05-16 20:19:21","url":"/informatique/linux/commandes/lsblk","ref":"","ua":"Mozilla/5.0 (Linux; Android 6.0.1; Nexus 5X Build/MMB29P) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.7778.96 Mobile Safari/537.36 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"}
{"ts":"2026-05-16 20:22:33","url":"/informatique/applications/f3","ref":"","ua":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/127.0.6533.120 Safari/537.36"}
{"ts":"2026-05-16 20:23:39","url":"/informatique/applications/nano","ref":"","ua":"Mozilla/5.0 (Macintosh; Intel Mac OS X 15_1_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/129.0.6668.100 Safari/537.36"}
{"ts":"2026-05-16 20:27:21","url":"/electronique/teleinformation-compteur-electricite/circuit-de-demodulation-ask","ref":"https://www.google.com/","ua":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/109.0.0.0 Safari/537.36"}
{"ts":"2026-05-16 20:28:38","url":"/informatique/divers/fedora_ecrire_image_iso_sur_cle_usb","ref":"","ua":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36"}
{"ts":"2026-05-16 20:28:40","url":"/tag/windows_systeme/index/index/index/index/index/index/index/index/index/index/index","ref":"","ua":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36"}
{"ts":"2026-05-16 20:28:48","url":"/user/denise","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"}