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

Mise à jour des paquets de iSH

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"’.

Lancement de Perl sur l'iPad

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 par cpanm. Il est donc nécessaire d’installer curl et de spécifier à cpanm de l’utiliser en lieu et place de wget.

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é.

Edition de code Perl avec Textastic

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.

Exécution du script hello.pl

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.