Une session de terminal sur un iPad, sans jailbreak

Nicolas Furno |

Un iPad peut déjà se connecter à un ordinateur distant via un terminal, certains travaillent même au quotidien avec ce genre de configuration (lire : L’iPad et un serveur, un combo gagnant pour travailler). Ce qui n’est pas possible néanmoins, c’est d’installer un terminal en local pour utiliser les lignes de commande UNIX sur la tablette. En tout cas, ce n’est pas possible de télécharger un tel terminal depuis l’App Store.

En début d’année déjà, le bricoleur fou Steve Throughton-Smith avait créé un terminal miniature pour l’iPad (lire : MobileTerminal : les commandes UNIX sans jailbreak sur iOS). C’était un projet assez limité, par exemple il ne fonctionnait qu’en 32 bits, ce qui ne lui a pas permis de passer iOS 11 d’ailleurs. Un nouveau projet est plus ambitieux, puisqu’il pourrait être soumis à l’App Store, si Apple venait à l’autoriser (ce qui n’est pas gagné).

Ce terminal a été développé en Swift et il contient environ 500 lignes de code en tout, cela reste ainsi un projet modeste. L’app respecte par ailleurs le sandbox d’iOS, elle est contrainte à un dossier, nommé « Root » dans la démo et ne peut pas manipuler le reste du système.

L’autre limite majeure, c’est que seules les commandes intégrées à l’app sont disponibles dans la session de terminal. Sandboxing oblige, tout doit être intégré par le développeur et il n’y a qu’une petite partie des commandes disponibles sur iOS qui sont accessibles. Impossible par ailleurs de charger des commandes depuis l’extérieur, ce qui pourrait permettre d’enrichir l’app.

Néanmoins, ces commandes UNIX peuvent être utiles même dans ce cadre limité, ne serait-ce qu’à des fins de développement. Si Apple veut que l’iPad remplace davantage de fonctions des ordinateurs, c’est peut-être une étape à envisager.

avatar misterbrown | 

Tout est tellement plus simple quand un jailbreak est possible.

avatar marc_os | 

« Néanmoins, ces commandes UNIX peuvent être utiles même dans ce cadre limité, ne serait-ce qu’à des fins de développement. »
Par exemple ?

avatar macinoe | 

C’est la base pour écrire des scripts qui eux même sont la base du développement sous UNIX.

avatar jt_69.V | 

Mouais bof... un sous-ensemble de commandes shell sans outils de développement et sans app externes, je ne vois pas bien l’utilité ?

avatar RyDroid | 

> Si Apple veut que l’iPad remplace davantage de fonctions des ordinateurs, c’est peut-être une étape à envisager.

Un iPad n'est pas un ordinateur ? Il faudra que vous donniez à votre public votre définition du mot "ordinateur".

Un iPad n'est pas un "un système de traitement de l'information programmable tel que défini par Turing et qui fonctionne par la lecture séquentielle d'un ensemble d'instructions, organisées en programmes, qui lui font exécuter des opérations logiques et arithmétiques" ?
https://fr.wikipedia.org/wiki/Ordinateur

Un iPad n'est pas un "appareil électronique capable, en appliquant des instructions prédéfinies (programme), d’effectuer des traitements automatisés de données et d’interagir avec l’environnement grâce à des périphériques (écran, clavier…)" ?
https://fr.wiktionary.org/wiki/ordinateur

Un iPad n'est pas une "machine automatique de traitement de l'information, obéissant à des programmes formés par des suites d'opérations arithmétiques et logiques" ?
http://www.larousse.fr/dictionnaires/francais/ordinateur/56358

avatar macinoe | 

C’est lourd ce genre de pinaillage qui sous le couvert de rigueur, font juste semblant de ne pas comprendre ce qui est dit par pur esprit de contradiction.

avatar RyDroid | 

C'est lourd de devoir interpréter des propos irrationnels pour comprendre (du moins essayer) ce que les gens ont voulu exprimer. De plus, dans certains cas, de mauvaises terminologies nuisent aux débats (hors terminologies) en les complexifiant inutilement (faute de les avoir identifier et exprimer) et par incompréhension d'au moins certaines personnes.

avatar macinoe | 

Ca n’a rien de propos irrationnels.
Le langage, c’est fait aussi d’un contexte. Le sens des mots change en fonction de ce contexte.
Et feindre de ne pas comprendre le type d’appareils que recouvre le terme « ordinateur » pour le commun des mortels, c’est, je le répète, pinailler.

Tu te trompes de contexte. Ordinateur était ici utilisé comme abréviation d’ordinateur personnel pour désigner une famille d’appareil et leurs possibilités. On ne parle pas de la définition scientifique d’un ordinateur.

Pour ne pas comprendre ça, il faut soit être psycho-rigide, soit avoir un goût immodéré pour jouer au professeur.

avatar RyDroid | 

> Le sens des mots change en fonction de ce contexte.

Quand ça a une utilité, oui, mais là ce n'était clairement pas le cas selon moi. De plus, le sens en fonction du contexte est généralement donné par les dictionnaires, là ni Wiktionnaire ni Larousse ne donnent une définition qui va dans ton sens.

> Tu te trompes de contexte. Ordinateur était ici utilisé comme abréviation d’ordinateur personnel pour désigner une famille d’appareil et leurs possibilités.

Tu vas probablement encore penser que je pinaille, mais j'aimerais bien savoir en quoi un iPad n'est pas un ordinateur personnel. On peut certes m'objecter qu'un iPad peut être un ordinateur professionnel, mais exactement comme les laptops et les tours.

> Pour ne pas comprendre ça, il faut soit être psycho-rigide, soit avoir un goût immodéré pour jouer au professeur.

Dans ton commentaire précédent, tu écrivais que je faisais "semblant de ne pas comprendre", donc vraisemblablement tu supposais que j'avais compris. J'ai un goût pour la rigueur dans les débats, parce que sans ça peut vite partir en vrille pour peu, je préfère éviter, en conséquence je préfère prévenir que guérir.

avatar charlie105 | 

@RyDroid

Mon thermostat répond à tous les critères, c’est donc un ordinateur. Bon, du coup je vais reporter mon achat d’iPad.

avatar bugman | 

@RyDroid

> Si Apple veut que l’iPad remplace DAVANTAGE DE FONCTIONS des ordinateurs, c’est peut-être une étape à envisager.

Faut bien lire aussi. "D'avantage de fonctions" car en effet, de base, le Shell, mon iPad, il ne connait pas.
Après, en effet, son hardware en fait un PC, mais c'est le cas aussi pour un simple terminal. Aujourd'hui L'iPad n'a pas le potentiel d'un ordinateur personnel. La cause : son OS (le software) et les choix (la politique) d'Apple.

avatar RyDroid | 

> > Si Apple veut que l’iPad remplace DAVANTAGE DE FONCTIONS des ordinateurs, c’est peut-être une étape à envisager.
>
> Faut bien lire aussi. "D'avantage de fonctions" car en effet, de base, le Shell, mon iPad, il ne connait pas.

De quels ordinateurs ? charlie105 prétend avoir un thermostat qui est un ordinateur (c'est probablement vrai, mais on s'en fiche pour le raisonnement même si c'est faux), pourtant (à priori) pas grand monde ne souhaite qu'un iPad remplace davantage de fonctions de son thermostat.

> Après, en effet, son hardware en fait un PC, mais c'est le cas aussi pour un simple terminal. Aujourd'hui l'iPad n'a pas le potentiel d'un ordinateur personnel.

- Il n'y a pas besoin de matériel spécifique pour qu'un ordinateur soit personnel (et pour rappel PC = Personal Computer). Le thermostat de charlie105 est un PC.
- L'iPad a le potentiel technique d'un laptop, mais en pratique impossible de l'exploiter à cause de restrictions artificielles. D'une manière analogue, plein d'enfants dans les pays pauvres ont le potentiel de faire des études supérieures, mais pour une bonne part ça leur est impossible en pratique dans le contexte actuel (pour des raisons certes différentes, bien qu'on pourrait néanmoins arguer que l'inégal répartition des richesses et à quoi elles sont affectées est "artificiel" dans le sens où c'est le résultat de rapports de force).

> L'iPad n'a pas le potentiel d'un ordinateur personnel. La cause : son OS (le software) et les choix (la politique) d'Apple.

Le problème n'est pas en soit l'OS, mais l'impossibilité d'en changer. Par exemple mes tours sont sous GNU/Linux-libre, certains logiciels privateurs ne fonctionnent pas dessus ou pas comme je le voudrais (même avec WINE), il n'y a pas de "problème" (dans l'optique où on considère que le logiciel privateur est acceptable et qu'au moins un de ces logiciels privateurs est indispensable), puisque l'OS peut être changé et que le bootloader acceptera d'en booter un autre.

avatar iPop | 

J'ai beau retourner la question dans tous les sens ...mais qu'est ce que vous faites avec vos ordinateurs ?

avatar RyDroid | 

Il y a les cas les plus communs (navigation web, email, musique, vidéo, VoIP, jeux, etc) et le reste. C'est pour une partie du "reste" que ça coince. Certes pleins de gens n'ont pas des cas d'utilisation qui sont dans le "reste" pas géré actuellement par l'iPad, mais il y a plein de minorités qui ont un intérêt pour ceci ou cela.
Par exemple, pour ce qui est de mon cas, je suis informaticien. Un émulateur de terminal POSIX peut m'être bien pratique, il y a cela sur Android (c'est même intégré par défaut à partir d'au moins la version 6.0), même sans root, mais pas sur iOS parce qu'Apple a fait en sorte que ce ne soit pas possible. Je pourrais prendre d'autres exemples, comme tester un site web avec plusieurs moteurs web (Gecko de Mozilla, Blink de Google, etc), mais ce n'est pas possible sur iOS puisqu'Apple impose le Webkit intégré à l'OS. J'imagine que d'autres minorités ne peuvent pas utiliser un appareil sous iOS comme ils le souhaitent à cause de restrictions artificielles.

CONNEXION UTILISATEUR