diff --git a/.stats_cache.json b/.stats_cache.json index 99ce27a..f01416f 100644 --- a/.stats_cache.json +++ b/.stats_cache.json @@ -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}]} \ No newline at end of file +{"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}]} \ No newline at end of file diff --git a/76ede607-4a6b-434d-b01e-82aa509f3448/draft_overlay.json b/76ede607-4a6b-434d-b01e-82aa509f3448/draft_overlay.json new file mode 100644 index 0000000..47b2568 --- /dev/null +++ b/76ede607-4a6b-434d-b01e-82aa509f3448/draft_overlay.json @@ -0,0 +1,4 @@ +{ + "title": "Installer le logiciel Arduino IDE sous Linux", + "_updated_at": "2026-05-16 20:29:01" +} diff --git a/76ede607-4a6b-434d-b01e-82aa509f3448/draft_overlay.md b/76ede607-4a6b-434d-b01e-82aa509f3448/draft_overlay.md new file mode 100644 index 0000000..5f8f443 --- /dev/null +++ b/76ede607-4a6b-434d-b01e-82aa509f3448/draft_overlay.md @@ -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 : . 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 ou via la page GitHub des 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 : +- Référence du langage Arduino : +- 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`. \ No newline at end of file diff --git a/_logs/not_found.jsonl b/_logs/not_found.jsonl index c2bd2fd..ec13190 100644 --- a/_logs/not_found.jsonl +++ b/_logs/not_found.jsonl @@ -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"}