Il est de notoriété publique que l’IDE mis à disposition par Arduino est limité. Autant ça peut être pratique avec seulement deux fonctions à éditer (setup et loop), ce qui le rend simple. La chaîne de traitement de la compilation du code au téléversement est entièrement transparente.
Du point de vue de l’éditeur textuel, c’est vraiment nul à mon avis. Quand on fait du Python avec Pycharm (ou Spyder j’imagine), on se dit mais c’est quoi cet éditeur, pas de complétion, pas d’analyse syntaxique et j’en passe.
Il y a des alternatives. Je me suis tourné (hier dans la nuit) vers un IDE basé sur Eclipse, éditeur professionnel, généraliste et libre. Pour intégrer les fonctionnalités Arduino, Il est conseillé de télécharger le bundle Sloeber plutôt qu’Eclipse puis le plugin Arduino. A noter et c’est important, Eclipse est disponible sous Linux, Windows et Mac OS X.
Alors oui Eclipse, c’est un truc qui doit peser 1 Go. Mais bon il faut arrêter de se mentir, c’est pas trop gênant avec la taille des disques durs actuels (sauf si on a un Macbook avec 128 Go en SSD – je le sais, j’en ai un).
Bref, j’ai téléchargé puis installé le bundle – pour Linux (pas pour Mac OS X, je n’ai plus de place 🙂 ). Sur le site de Sloeber, c’est facile, tout est expliqué, il faut juste s’habituer à la façon dont les choses sont présentées. Vous me direz, alors pourquoi cet article?
Et bien pour deux raisons:
- ça a le mérite de mettre en avant un IDE alternatif et crédible pour Arduino et autres micro-contrôleurs.
- j’ai galéré sur un point que je vais expliciter ci-dessous et qui pourra être utile à d’autres personnes.
J’ai donc téléchargé le bundle et j’ai créé un premier projet. Et là blocage, pas moyen de trouver mon cher Arduino Uno. Je suis devant une fenêtre :
Et pas moyen de changer le « Platform folder », je ne trouve pas l’Arduino Uno dans Board.
La solution : aller dans l’onglet (en haut) Arduino -> préférences, puis « Platforms and boards »
Puis arduino -> Arduino AVR Boards -> la dernière version:
J’avoue, c’est tout simple, mais je n’ai trouvé aucune mention sur ce problème sur le net, que ce soit en français ou en anglais.
Après vous pouvez démarrer un projet comme d’habitude
Il y a beaucoup plus de possibilités qu’avec l’IDE Arduino naturellement. Déjà à droite, nous avons les variables et fonctions du fichier. Dans la fenêtre du milieu, on peut compléter les noms (complétion). Les erreurs de syntaxe sont soulignées en rouge. On peut « refactorer ». Enfin il y a une myriade de possibilités. Truc intéressant, si on passe la souris sur une fonction, on voit sa description et on peut ouvrir le fichier contenant sa déclaration. Enfin, il y a tout d’un vrai éditeur.
Je pense qu’un gros point fort de cet IDE par rapport au standard Arduino, c’est la possibilité de créer des librairies, de manière sereine. Je ne l’ai pas encore fait, mais ça me paraît logique. Impossible de le faire avec le seul IDE Arduino.
En conclusion, je vais continuer à explorer les possibilités de l’environnement Eclipse adapté à l’univers Arduino. Peut-être est-ce un leurre. Mais je pense que ça peut valoir le coup, si on veut aller un peu au-delà du programme avec la fameuse led 13 qui clignote!
Retour d’expérience
J’ai utilisé Eclipse/Sloeber pendant quelques jours et je suis revenu à l’IDE Arduino. Je m’explique. Sloeber est très pratique pour naviguer dans les librairies (simple clic droit sur une variable ou une fonction liée à la librairie). Mais, sous Linux, cela est tout à fait faisable en ligne de commande avec find et grep, puis avec une édition avec (vs) code par exemple.
Là où j’ai eu un gros souci avec Sleober, c’est quand j’ai voulu utiliser une ESP8266, alors que j’avais débuté avec un Arduino Uno. La gestion des bibliothèques devient pénible. Je n’ai pas souhaité aller plus loin parce que l’IDE est censé me faire gagner du temps, pas en perdre en me prenant la tête. Bref une expérience mitigée. J’ai lu quelque part sur un forum qu’il est faut avoir une bonne raison pour passer à Eclipse/Sloeber. Cependant, je vous conseille d’essayer juste pour « sentir » les limitations de l’IDE Arduino.
Et voilà!


