Geany est un petit éditeur de texte orienté développement qui est disponible sur toutes les plateformes (Windows, macOS, Linux) et pour les microprocesseurs ARM qui équipent les mini-PC (Raspberry Pi, Orange Pi, Cubieboard…). Il en existe d’autres (Leafpad, IDLE, VIM…), mais je trouve que Geany remplace assez bien Sublime text malheureusement absent des distributions ARM. Geany dispose d’une interface graphique, ce qui est beaucoup plus sympathique à utiliser que VIM ou nano sur des projets.
Installer Geany pour processeur ARM
L’installation est très simple car Geany est présent dans les dépôts. Exécutez simplement
sudo apt-get install geany
Une fois installé, un nouveau raccourci est ajouté au menu Programmation.
Pourquoi Geany ?
Outre la possibilité d’éditer du texte (fichier de configuration, scripts python…) plus facilement qu’avec nano dans le Terminal, Geany est orienté programmation.
Editeur orienté programmation
Il apporte tout d’abord la coloration syntaxique qui permet de faciliter la mise au point et la recherche d’erreur. Plusieurs languages sont pris en charge (html, php, python, ruby, java, c++…).
Si vous avez l’habitude d’utiliser Sublime Text 2, vous allez retrouver plusieurs fonctions très utiles en programmation : déplacer la(les) ligne(s) vers le haut ou le bas, dupliquer la sélection, commenter/décommenter des lignes (ne fonctionne pas avec tous les languages), augmenter/diminuer l’indentation, faire des recherches dans le fichier courant ou dans des fichiers.
On peut adapter l’affichage en ajoutant les numéros de lignes, un guide d’indentation. L’activation de l’indentation automatique se trouve dans le menu Document,. Il est possible de choisir le type d’indentation (tabulation, espace, mixte) et de choisir la largeur d’indentation. Cette option est très pratique pour les languages qui se bases sur l’indentation pour la compilation du code. Si vous récupéré du code sur internet, on doit souvent le nettoyer, modifier l’indentation, remplacer les tabulation par espaces (ou inversement), choisir l’encodage (si le fichier provient de Windows par exemple), le type de fin de ligne (LF, CR, CR/LF). Tout est disponible dans le menu Document.
Fonction très pratique en programmation, la sélection en colonne de plusieurs lignes. Elle est disponible mais fonctionne beaucoup moins bien que sur Sublime Text. Il faut se placer juste avant le caractère et maintenir la touche CTRL enfoncée. Pratique pour augmenter l’indentation d’un bloc.
Plugins
Geany dispose comme beaucoup d’autres logiciels sont système de plugins. Il est rangé dans les Outils -> Gestionnaire de plugin. Les plugins sont très nombreux (la liste complète ici)… sauf pour les plateformes ARM ou il n’y en a que 6 disponibles pour le moment :
- Actions d’enregistrement
- Caractères HTML
- Créateur de classe
- Diviser la fenêtre
- Exporter
- Navigateur de fichier
Sauvegarde automatique
Certaines fonctions des plugins sont accessibles depuis le menu Editer -> Préférences des plugins. C’est par exemple le cas pour le plugin Actions d’enregistrement qui permet de mettre en place une politique de sauvegarde automatique. Qui n’a jamais perdu des heures de travail à cause d’un oubli de sauvegarde ou d’une panne de courant. Ce plugin permet de définir un intervalle de sauvegarde automatique et de faire une copie de secours sur une clé USB ou un disque réseau.
Construire : exécuter du code directement depuis Geany
Enfin dernière fonction très pratique, la compilation directe depuis l’éditeur de texte. Inutile de quitter Geany pour exécuter votre code. Prenons l’exemple d’un petit programme python qui affiche un simple texte Hello World.
print "Hello World from Geany!";
Enregistrez le script. En appuyant sur la touche F8, on appel le compilateur. Le résultat de la compilation est directement disponible en bas de l’écran dans l’onglet Compilateur. On récupère ainsi directement les erreurs de compilation sans quitter Geany !
Enfin, la touche F5 permet de lancer le script. Après la compilation, un Terminal est ouvert automatiquement et lance le script.
Dans le prochain article, nous utiliserons Geany pour créer des interfaces HTML à l’aide du language pug (ancien Jade) pour des projets ESP8266 avec Web Serveur.
- ESP32, broches GPIO et fonctions associées. I/O, PWM, RTC, I2C, SPI, ADC, DAC
- ESP32-CAM. Broches et équipements ESP-EYE, AI Thinker, TTGO T-Camera, M5Stack Timer Camera…
- ESP32-CAM. Quel modèle choisir ? ESP-EYE, AI Thinker, TTGO T-Camera, M5Stack Timer Camera…
- M5Stack Atomic GPS. Tracker ESP32 TinyGPS++, export GPX sur carte SD, visualisation sur Google Maps ou VSCode
- Home Assistant. Installer le snap sur NAS Synology sur une machine virtuelle Ubuntu
- ESP32-CAM. Souder l’antenne externe pour améliorer la portée et la stabilité du flux vidéo