iSH, une distribution Linux minimale pour iOS en préparation

Nicolas Furno |

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.

iSH en action sur un iPhone, avec l’éditeur de texte vi à droite.

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.

Il vous manque un outil ? iSH permet de l’installer, comme vous le feriez sur une distribution Linux traditionnelle.

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.

iSH dévoile la totalité de sa hiérarchie sous-jacente dans l’app Fichier.

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.

Tags
avatar Septime | 

Ça peut vraiment devenir intéressant. Espérons qu'Apple ne soit pas trop réticente à valider cette app !

avatar byte_order | 

Comme cela repose sur un code en licence GPL qui lui même utilise, via une émulation x86, un binaire (l'image d'Alpine Linux) qui repose sur une partie non négligeable de trucs sous licence GPL également, c'est hautement improbable qu'Apple la valide.

avatar Guizilla | 

GE NIALE

avatar Guizilla | 

Mais une validation semble quand même compliquée à obtenir à la vue du potentiel de cette application...

avatar Dark Phantom | 

Ça va servir à quoi concrètement ? (Vraie question)

avatar oomu | 

à utiliser des outils unix en ligne de commande sur ios.

avatar Dark Phantom | 

@oomu

Oui ça j’avais compris mais dites m’en plus, qu’est ce que vous pourriez en faire, vous, par exemple ?

avatar oomu | 

houuuu voilà qui est intéressant.

avatar oomu | 

"en restant dans les clous de ce que la validation de l’App Store pourra autoriser."

voilà qui rappelle que la distribution obligatoire par l'app store est une saloperie.

avatar oomu | 

" Par exemple, l’éditeur de texte nano n’est pas installé par défaut, mais une ligne de commande peut l’ajouter à votre installation."

ça ne s'écrit pas "nano" mais Emacs. :)

avatar mp_ | 

@oomu

e quoi ?

Enfin, heureusement qu’il y aura vim, c’est un éditeur de texte.😁

Troll mis à part, c’est quand même couillu de proposer ça vis à vis de la validation d’Apple, l’app reste assez borderline. Après, si c’est dispo dans Test Flight, c’est que ça a déjà passé une couche de validation auprès d’Apple, donc bon.

avatar ovea | 

On attend LE Mirage OS pour remplacer iOS, et ce sera beaucoup plus valorisant car, on pourra mettre n'importe nawak comme système sur les machines bloqués sur le gros tyrannosaure pommé.

avatar occam | 

@ovea

"On attend LE Mirage OS pour remplacer iOS"

LE MirageOS existe, j’ai travaillé dessus, c’est assez super pour ce qu’il est censé faire, et de par sa conception c’est l’anti-iOS par excellence :
https://mirage.io

Mais aucun risque qu’il vienne remplacer iOS anytime soon, tout au plus rendre la surcharge pondérale des apps — et, à terme, celle des terminaux comme les X actuels — obsolète. Et montrer qu’un autre cloud est possible...🤓

avatar ovea | 

@occam

🤓🚿💀

L'idée est en effet l'exemple même de l'inter-opérabilité, pour littéralement faire de La chirurgie-mathématiques appliqué à l'a tournure actancielle de tout interface graphique, mais pas seulement, surtout quand on pense à la percée que cela soudent dans le fonctionnel :
On est donc forcément très très très loin d'y arriver avec Apple qui, en évitant d'écraser ses propres œufs, a totalement zappé ses renards empaillé sur ses murs … mise à part :

X-Windows c'est quand même l'absence de Poste de travail physique dédié, sans parler du système de fichiers et par conséquence de la gestion de la mémoire … bref ! Du distribué surtout dans la répartition de charge de calcul, quel qu'il soit.
Du vrai hub numérique ou, du cloud à la sauce ici et maintenant.
Le Mirage, c'est aussi et surtout de la virtualisation efficace, de l'exo-kernel, de La gestion du risque logiciel sur l'exécution dans la couche utilisateur et … juste l'utilisation de bibliothèques système Apple ou n'importe quel autre système, c'est sans importance vu que chez Apple, de toute façon, chaque mise à jour est en quelque sorte un nouveau système puisqu'il n'y a aucune préservation fonctionnelle de l'acquis logiciel …

iOS est une espèce de Mirage OS, ou en effet, son antithèse !

avatar pim | 

C’est intéressant, une fois X11 installé ! Imaginez, on tape X Window et c’est bon, le retour du clavier et de la souris !

avatar tamu | 

Complètement Génial !
Par contre je n’ai pas trouvé comment ajouter l’accès à Fichier !??? (J’ai installé la dernière version dans TestFlight)

avatar tamu | 

@tamu

Je me répond : sur iPad, il y a l’accès au fichiers (par sur iPhone)

avatar coucou | 

Faudrait les prévenir de l'autre côté de l'atlantique que pine = pénis et que c'est un terme offensant pour certains.

avatar byte_order | 

@coucou
Du coup, copine est un terme offensant aussi pour certains, selon vous ?

Parce que si on doit retirer de chaque langage tout mot terminant ou commençant par un terme offensant dans un autre langage, il va pas rester grand chose...

Cachez cette terminaison que je ne saurais voir.

avatar coucou | 

Des ricains on bien censurés des affiches de kick-ass à cause d'une des 2 parties... Pareil avec des contractions de nom d'appli, ça appel à la censure.

Les puritains cherchent la ptite bête voyons comment ils réagissent s'ils apprennent ça. :)

avatar byte_order | 

Ouais, enfin les puritains américains ne censurent pas tous les mots commençant ou finançant par les 3 lettres A puis S puis S quand même.
Association. Compass. Class...

C'est pas Al-pine Linux, mais bien Alpine, le mot tout entier qui fait référence à la région des Alpes en France. Les visuels sur le site web de cette distribution ne laissent aucun doute sur ce point.

avatar fanchig | 

Génial! Si on peut avoir une distribution Linux en vm dans iOS!!!!

avatar LolYangccool | 

Mais c'est clairement génial !
Je me suis installé un petit serveur Apache sur mon iPhone du coup, pour m'amuser avec (sans PHP, MySQL et autres). :P

Par contre j'essaye de tester d'installer l'environnement de bureau XFCE4 et l'installation termine avec des erreurs, impossible aussi d'installer lightdm et de lancer l'interface graphique (startx ne fonctionne pas)... Mais je m'y attendais.

avatar fanchperon | 

Quelqu'un pourrait donner quelques mots d'explications pour les néophytes ? Parce que pour moi qui ne suis pas informaticien, "un terminal capable de servir pour saisir des lignes de commande sur iOS", je ne vois vraiment, mais vraiment pas à quoi ça sert concrètement. Et pourtant ça a l'air de soulever un enthousiasme absolument dingue ^^
Je sais bien que pour des gens dans mon cas, ça ne servira probablement à rien (en tout cas de manière directe), mais pour ma culture j’aimerais savoir pour qui et dans quels types de cas ça peut être intéressant. Merci :)

avatar Dark Phantom | 

@fanchperon

L’enthousiasme ( je pose la question aussi ) c’est de dire : hey c’est cool on peut regarder le réseau en ligne de commande
Après je vois pas ˆˆ

avatar fanchig | 

@fanchperon

iOS est bridé. Dans le sens où tu ne peux pas faire ce que tu veux, comme sur un ordinateur.
Avoir une distribution Linux permettrait s’ouvrir plus de possibilités.

Par exemple, installer ce que l’on veut du monde Linux) sur iPad.
L’iPad devient un vrai ordinateur.

avatar byte_order | 

Vous oubliez que la licence de iSH mais également de Alpine Linux est GPL.
Passera jamais la validation de l'AppStore...

CONNEXION UTILISATEUR