iSH est une app encore en développement, mais que vous pouvez tester dès aujourd'hui sur votre iPhone ou iPad en utilisant TestFlight, puis en cliquant sur ce lien. À terme, cette app proposera un terminal capable de servir pour saisir des lignes de commande, comme sur un système Unix. Ce n’est pas la première fois qu’une app propose cela (lire : Un vrai terminal (mais bridé) sur l'App Store), néanmoins ce nouveau venu présente l’avantage de reposer sur une distribution Linux complète.
Sous le capot, iSH repose en effet sur Alpine Linux, une distribution minimale qui ne propose aucune interface graphique et qui présente l’avantage d’être très légère. Elle sert surtout dans le cadre des serveurs, tout particulièrement pour alimenter les systèmes de conteneurs comme Docker. Transformée en app iOS, elle sert de base à un terminal Unix nettement plus complet.
Contrairement au précédent terminal proposé sur l’App Store, celui-ci n’a pas besoin d’intégrer manuellement tous les outils en ligne de commande. Il s’agit davantage d’une distribution Linux complète virtualisée, même s’il reste encore du travail et que de nombreux outils manquent toujours à l’appel. Néanmoins, il est possible d’installer des outils supplémentaires en utilisant apk
, le gestionnaire de paquets d’Alpine. Par exemple, l’éditeur de texte nano n’est pas installé par défaut, mais une ligne de commande peut l’ajouter à votre installation.
Par ailleurs, iSH repose sur une architecture de dossiers complète, accessible via l’app Fichiers. Vous devrez ajouter l’app comme emplacement dans le gestionnaire de fichiers d’iOS, et vous pourrez ensuite accéder à la totalité des dossiers utilisés par la distribution. L’espace utilisateur est dans le dossier /root
, vous retrouverez les configurations dans /etc
, les exécutables dans /bin
et /usr/bin/
, etc.
L’avantage de cette approche, c’est que vous pouvez alors intégrer iSH à iOS. Ajoutez un document depuis une autre app dans l’un des dossiers de celle-ci pour y accéder ensuite avec le terminal intégré. Ou bien à l’inverse, téléchargez un fichier avec curl
ou wget
et transférez-le à une autre app.
Tout cela est fait dans le cadre d’une app iOS, en respectant le sandbox naturellement et a priori en restant dans les clous de ce que la validation de l’App Store pourra autoriser. Une bêta publique sur TestFlight est la première étape, le fait qu’une app équivalente ait déjà été proposée sur l’App Store en est une autre, mais naturellement, rien ne dit que cette app ne sera pas bloquée finalement.
Ce serait dommage, d’autant qu’OpenTerm a été retirée de l’App Store après l’embauche de son créateur par Apple. iSH est une solution encore plus ambitieuse, et c’est aussi une app open-source que les plus bricoleurs pourront toujours installer, même si elle n’est finalement pas validée. Son code-source et les instructions pour la compiler vous-même sont proposés sur GitHub.
Source : BleepingComputer