Coder en Perl sur iPad
Date de publication:Durée de lecture estimée:
L’iPad d’Apple fait partie des systèmes les plus fermés qui soient. Au quotidien, il est adapté à de nombreux usages basiques tels que la consultation des sites web, des mails ou de ressources multimédia. On peut aussi lui trouver des domaines d’application plus spécialisés comme la rédaction de documents, la bureautique légère ou la composition musicale. Mais s’il y a bien un domaine délaissé par iPadOS, c’est le développement d’applications.
En rusant un peu, il est toujours possible de trouver un moyen de coder en Perl sur un système et iPadOS ne fait pas exception. En fouillant dans le magasin d’applications, on trouve bien quelques portages de Perl mais aucun n’est convaincant tant sur le point technique qu’ergonomique.
Dans ce billet, je ne parlerai pas de solutions pour programmer en Perl sur un système distant. En effet, il est tout fait possible d’accéder à un environnement Perl à l’aide d’une connexion SSH ou encore d’un navigateur. Ce qui nous intéresse ici, c’est uniquement la programmation en Perl et l’exécution de Perl sur l’Ipad. En clair, comment transformer cette tablette en un système de développement pour notre langage préféré.
La solution iSH
Après quelques recherches, il me semble que la meilleure solution pour utiliser Perl sur un iPad consiste à le faire fonctionner dans une machine virtuelle. C’est une bonne pratique en matière de développement de dissocier l’environnement de travail de celui utilisé pour la programmation. De plus, il y a de fortes chances que le code Perl que nous voulons écrire sera destiné à fonctionner dans un environnement de type Unix. Partant de ce constat, la solution est évidente, il s’agit de iSH qui est décrit par son auteur comme étant un shell Linux pour IOS et iPadOS.
Le logiciel iSH s’installe directement à partir du magasin d’application d’Apple et il est gratuit. Il fait fonctionner une machine virtuelle basée sur l’émulation d’un processeur Intel x86 et utilisant la distribution ultra-optimisée Alpine Linux. Une fois lancée, cette machine virtuelle vous propose un shell et un ensemble de commandes basées sur busybox. C’est rapide c’est léger, on va pouvoir coder !
Installation de Perl
Alpine Linux dispose de la commande apk
pour gérer les applications. Commencez par mettre à jour le système à l’aide des commandes suivantes :
apk update
apk upgrade
Vous pouvez maintenant installer Perl dans le système Linux. Il n’y a aucun danger pour votre iPad et son contenu car ne l’oubliez pas, toutes ces opérations sont réalisées et sauvegardées dans une machine virtuelle.
Commencez par déterminer le nom du paquet contenant le langage Perl à l’aide de la commande suivante :
apk list perl
Un paquet nommé perl est disponible et correspond à la version 5.32.1. Il est possible d’obtenir plus d’informations sur ce paquet en utilisant l’option info
:
apk info perl
Vous pouvez l’installer à l’aide de la commande suivante :
apk add perl
Pour avoir la liste complète des options de la commande apk, utilisez l’option —-help.
Vérifiez que Perl est bien installé dans Alpine Linux en saisissant un petit one-line tel que perl -e ‘print "hello"’
.
Vous pouvez quitter la machine virtuelle à l’aide de la commande exit
et la relancer ensuite. Perl est toujours présent. L’environnement est permanent et votre iPad héberge maintenant un autre système d’exploitation isolé du système hôte.
Configuration de l’environnement de développement
Bien, nous avons Perl qui fonctionne dans iSH mais pour travailler confortablement, il nous faut un certain nombre d’outils complémentaires. Commençez par les composants de base tel qu’un environnement autorisant la compilation du code C présent dans certains modules du CPAN.
apk add build-base
apk add make
Si vous codez sur votre iPad, vous aurez probablement besoin de gérer les versions de votre code dans une forge telle que Codeberg ou github.
apk add git
Si vous travaillez sur un projet Open Source, je ne saurais trop vous recommander d’essayer et probablement d’adopter Codeberg pour la gestion de vos projets de développement. En effet, c’est une plateforme communautaire, située en Europe, respectant le RGPD et maintenue par une organisation à but non lucratif.
Pour travailler avec le CPAN, ajoutez les commandes cpanm
et carton
:
apk add curl
apk add perl-app-cpanminus
cpanm —-no-wget Carton
Alpine Linux est une distribution très légère basée sur Busybox. Pour cette raison, certaines commandes n’implémentent pas toutes leurs options. C’est le cas de
wget
, utilisée par défaut parcpanm
. Il est donc nécessaire d’installercurl
et de spécifier àcpanm
de l’utiliser en lieu et place dewget
.
A ce stade, vous disposez des principaux outils nécessaires pour coder en Perl. Il ne vous reste plus qu’à trouver un bon éditeur pour votre code.
Éditer son code Perl sur l’iPad
En ce qui concerne l’édition du code Perl, vous disposez de Vim et d’Emacs dans les paquets d’iSH. Notez que Vim est installé par défaut. Par contre, pour Emacs, il sera nécessaire de l’installer à l’aide de la commande apk add emacs
.
Les éditeurs Vim et Emacs sont deux formidables éditeurs mais peuvent sembler obscures et complexes pour les non initiés. Une autre solution consiste à utiliser un éditeur de code natif pour iPadOS. Le magasin d’applications d’Apple propose plusieurs produits tels que Koder qui est gratuit ou encore Textastic, un produit payant mais que je vous recommande en terme d’ergonomie et de stabilité. Quel que soit votre choix, ces deux logiciels proposent la colorisation du code Perl et des fonctionnalités intéressantes telles que la connexion en SCP/SFTP à un serveur distant ou un terminal intégré.
Pour éditer son code sous iPadOS et l’exécuter au sein d’Alpine Linux, il faut exploiter une fonctionnalité géniale de iSH qui est le partage de l’arborescence de sa machine virtuelle dans l’explorateur de fichiers de iPadOS. En ouvrant l’application Fichiers
et en sélectionnant le point de montage iSH, vous avez ainsi accès aux répertoires et fichiers d’iSH. Je vous recommande d’utiliser le répertoire utilisateur /home
et de travailler à l’intérieur de celui-ci.
Par exemple, Pour créer un répertoire HelloWorld
dans le répertoire utilisateur, vous avez deux possibilités :
- à l’aide de l’application
Fichiers
, - à l’aide de la commande
mkdir /home/HelloWorld
dans iSH.
Lancez maintenant Textastic ou Koder, vous pouvez accéder au point de montage d’iSH, ouvrir le répertoire /home/HelloWorld
et éditer votre script hello.pl
.
use strict;
use warnings;
print "Hello World\n\n";
Dans la console d’iSH, placez vous dans le répertoire contenant votre projet à l’aide de la commande cd /home/HelloWorld
. Saisissez ensuite la commande perl hello.pl
pour exécuter le script.
Conclusion
Votre iPad est devenue une parfaite machine de développement pour la création d’applications en Perl. Bien évidemment, vous avez maintenant la possibilité de l’améliorer en ajoutant d’autres composants Perl tels que Perldoc ou Perl::Critic.