Ouvrir le menu principal

iGeneration

Recherche

L’iPad et un serveur, un combo gagnant pour travailler

Nicolas Furno

dimanche 10 décembre 2017 à 19:00 • 78

iPad

L’iPad n’est pas seulement l’ordinateur de base de toujours plus de particuliers, la tablette occupe toujours davantage de place dans le monde de l’entreprise. De nombreux professionnels utilisent l’appareil sous iOS dans leur travail de tous les jours et les utilisations diffèrent largement d’un cas à l’autre.

On pense toujours aux cas les plus simples, souvent de la bureautique : trier et répondre à quelques mails, préparer une présentation ou ajuster quelques chiffres dans un tableur, rédiger un rapport. Dans certaines grandes entreprises, on dispose souvent d’apps spécifiques, développées pour les besoins des employés. Mais il y a de nombreux autres domaines où l’iPad peut servir de façon professionnelle et parfois même remplacer totalement un ordinateur.

Un iPad Pro en mode développement, avec l’essentiel de son écran qui affiche un terminal. Cliquer pour agrandir
Un iPad Pro en mode développement, avec l’essentiel de son écran qui affiche un terminal. Cliquer pour agrandir

Il y a toute une catégorie de professionnels qui peut assez facilement utiliser un iPad pour travailler, et ce n’est pas à eux que l’on pense en premier : ceux qui utilisent avant tout un terminal. Les administrateurs réseaux mettent en place et gèrent des serveurs distants, les développeurs « back-end » qui créent les logiciels et infrastructures nécessaires aux sites et services, et même des développeurs d’apps dans certains cas.

C’est le cas notamment de Jannis Hermanns, un développeur berlinois spécialisé dans le traitement de données et les architectures serveurs qui a troqué un Mac pour un iPad Pro 12,9 pouces depuis quelques mois. Il relate son expérience sur son blog personnel et c’est un cas intéressant, parce qu’il n’est pas évident au premier abord. Si vous êtes dans un cas similaire, peut-être que les raisons évoquées pour cette expérimentation vous aideront à faire de même.

Pourquoi changer ?

Avant même de savoir si la transition était possible (c’est bien le cas, on y reviendra), notre développeur explique pourquoi il voulait changer. La principale raison tient en un seul mot : Docker. Cet outil de virtualisation très utilisé en matière de développement web permet de faire tourner des apps ou des services sur des serveurs, mais en les restreignant à un conteneur isolé.

L’iPad Pro et son stylet Apple Pencil peuvent aussi servir à dessiner ! Cliquer pour agrandir
L’iPad Pro et son stylet Apple Pencil peuvent aussi servir à dessiner ! Cliquer pour agrandir

Docker est un outil très puissant, mais aussi assez gourmand. Un MacBook Pro relativement récent, comme son 13 pouces 2015, est tout à fait capable de le faire, mais au prix d’une utilisation constante de ses ressources. Et donc au prix d’une portabilité réduite : non seulement sa batterie fond anormalement vite, mais l’ordinateur chauffe aussi beaucoup plus que la normale. Ce n’est pas pour rien que Jannis Hermanns a cherché une alternative en plein été, Docker peut vite rendre un ordinateur portable insupportable quand il fait chaud par ailleurs.

Un appareil iOS ne permet pas de faire tourner directement Docker, il faut un accès nettement plus profond au système. Ce qui ne veut pas dire qu’il n’y a pas une solution alternative, comme nous allons le voir, et il apporte quelques contreparties indéniables. Entre l’écran ProMotion et la batterie qui tient la charge en toutes circonstances, sans compter sur sa température et son silence stables à l’usage, un iPad Pro est avantageux sur de nombreux points.

Le prix est aussi un avantage. Certes, l’iPad Pro 12,9 pouces cellulaire avec 512 Go coûte 1459 € en France, mais on reste loin du meilleur MacBook Pro Retina 13 pouces vendu actuellement par Apple (3 350 € si vous vous posiez la question). La comparaison n’a pas vraiment de sens, mais le prix reste un argument en faveur de la tablette, si elle peut effectivement remplacer un Mac.

La configuration classique de ce développeur, autour d’un MacBook Pro fermé pendant son utilisation sur le bureau. Cliquer pour agrandir
La configuration classique de ce développeur, autour d’un MacBook Pro fermé pendant son utilisation sur le bureau. Cliquer pour agrandir

Un environnement adaptable à iOS

Ce développeur travaille en majorité dans un terminal, connecté à des serveurs ou à Docker, une machine virtuelle en local. Le reste du temps, il discute avec ses collègues dans Slack, gère ses projets sur GitHub, quand il ne répond pas à ses mails avec Inbox, webmail alternatif fourni par Google, et ne se documente pas, sur le web en général.

Autant d’activités qui ne sont pas du tout limitées à un système en particulier. À une exception notable, tous ses outils avaient ainsi un équivalent naturel sur iOS. Le lanceur multitâche Alfred n’existe pas sur la plateforme mobile et il y a peu de chances qu’un équivalent soit disponible un jour. Pour le reste, toutes les apps avaient un équivalent, ce qui a simplifié la transition.

Cliquer pour agrandir
Cliquer pour agrandir

Dans bien des cas, les équivalents mobiles étaient même supérieurs à ses yeux. La messagerie instantanée Slack et le client mail Inbox ont très simplement remplacé l’app et le site web correspondant utilisé sur Chrome, deux mauvais exemples en matière d’utilisation des ressources. Il utilisait 1Password sur ordinateur pour gérer ses mots de passe et la transition s’est faite sans encombre grâce à l’app mobile.

Pour le développement à proprement parler, Jannis Hermanns utilisait iTerm 2 sur Mac et même s’il n’existe pas un équivalent direct sur l’App Store iOS, il y a plusieurs apps capables de se connecter à un terminal distant. On connaît bien Prompt, mais le développeur a privilégié Blink, une app similaire, mais qui a plusieurs avantages. Pour commencer, elle est open-source et n’importe qui peut la compiler gratuitement, même si une version prête à l’emploi est vendue sur l’App Store (mais pas en France, pour une raison ou une autre…).

Session de travail avec Slack sur le côté et Blink sur le reste de l’écran. Cliquer pour agrandir
Session de travail avec Slack sur le côté et Blink sur le reste de l’écran. Cliquer pour agrandir

Ensuite, elle peut être largement personnalisée, avec des options qui s’avèrent vite indispensables sur un iPad. Par exemple, dans ses réglages, on peut assigner une touche physique d’un clavier à une autre touche. Pourquoi faire ? Eh bien, retrouver une touche ESC, souvent indispensable dans un terminal : avec Blink, le verrouillage des majuscules peut la remplacer.

Mosh, la connexion à distance pensée pour la mobilité

Blink a un autre avantage, essentiel sur un iPad : elle est compatible avec Mosh, en plus du protocole standard SSH. Si ces termes ne vous disent absolument rien, expliquons simplement qu’il s’agit de se connecter, via un terminal, à un ordinateur distant, de façon sécurisée. En général, on le fait en SSH (Secure Shell), un protocole apparu dans les années 1990 et qui a le gros intérêt d’être présent partout, par défaut. Il a l’inconvénient de ne pas avoir été pensé pour une situation mobile, où la connexion peut s’interrompre à tout moment, et où l’accès à internet est par nature limité.

Mosh (pour Mobile Shell) est un service beaucoup plus récent et qui reprend le principe du SSH, mais en l’améliorant précisément ces points. Une app doit être installée sur le serveur et aussi sur le client local, ce qui fait qu’elle n’est pas disponible partout sans effort. En contrepartie, le lien distant est maintenu même si la connexion internet est coupée, ou même si le client est mis en pause.

Quand Blink revient au premier plan, la connexion avec le serveur interrompue est souvent rompue. En SSH, il faudrait se connecter à nouveau et perdre son travail en cours. Avec Mosh, la connexion est reprise automatiquement et l’app le signale avec le bandeau bleu, en haut de l’écran. Cliquer pour agrandir
Quand Blink revient au premier plan, la connexion avec le serveur interrompue est souvent rompue. En SSH, il faudrait se connecter à nouveau et perdre son travail en cours. Avec Mosh, la connexion est reprise automatiquement et l’app le signale avec le bandeau bleu, en haut de l’écran. Cliquer pour agrandir

Deux critères essentiels sur un mobile, où une app peut être fermée à tout moment, et où la connexion à internet peut disparaître temporairement. Par exemple, en passant du Wi-Fi au réseau cellulaire, vous changerez d’IP, ce qui revient à perdre une connexion SSH, mais ce n’est pas le cas avec Mosh.

Cette alternative à SSH a encore d’autres avantages, en particulier une meilleure fluidité quand la connexion est mauvaise. C’est notamment le cas lors de la saisie de texte : Mosh envoie une commande terminée seulement, alors que SSH envoie chaque lettre individuellement. Sur une bonne connexion, cela ne fait aucune différence, mais sur un réseau cellulaire un peu faiblard, c’est parfois le jour et la nuit.

Un serveur à la rescousse

Si Mosh (ou SSH) est indispensable, c’est bien que le travail de développement n’est pas effectué directement sur la tablette. Notons que cela serait possible dans quelques cas de figure. Du développement web « front-end » (c'est-à-dire sur les sites web eux-mêmes) peut se faire avec une app comme Coda, tandis que l’app Swift Playgrounds pourrait permettre d’avancer un projet en Swift. Il existe par ailleurs de nombreux éditeurs de code qui peuvent servir dans pratiquement n’importe quel domaine.

Disons le : cela reste malgré tout une minorité. En général, un développeur ne doit pas seulement écrire des lignes de code, mais aussi les tester en conditions réelles, ou bien les utiliser dans le cadre d’un projet plus large. Pour en revenir au cas de Jannis Hermanns, ce développeur a besoin de plusieurs outils, mais aussi d’une configuration spécifique qu’il utilise depuis plusieurs années. Il la détaille sur le blog et fournit même sa configuration prête à emploi.

Plutôt que d’essayer de configurer chaque ordinateur, chaque serveur et chaque machine virtuelle, il a créé un conteneur Docker qu’il déploie partout. C’était le cas sur son Mac, c’est encore plus le cas sur son iPad, puisqu’il utilise un serveur distant pour faire tout son travail. Tout est installé sur ce serveur, y compris un VPN (il utilise cette image Docker) qui sécurise la connexion entre la tablette et le serveur.

L’architecture mise en place par le développeur : un serveur distant où tous les outils sont installés, connecté à un iPad via un VPN. Cliquer pour agrandir
L’architecture mise en place par le développeur : un serveur distant où tous les outils sont installés, connecté à un iPad via un VPN. Cliquer pour agrandir

C’est le plus gros défaut de cette installation : il faut louer un serveur distant s’il n’y en a aucun de disponible. Et il faut absolument une connexion internet pour y accéder et l’utiliser : sans au moins un réseau cellulaire, ce développeur ne peut pas travailler. Il pouvait le faire sur son Mac, avec Docker installé en local. Même s’il ne le dit pas lui-même, on peut imaginer qu’il ne travaillait de toute manière jamais vraiment sans connexion, en tout cas pas longtemps.

La documentation nécessite en général une connexion. S’il doit communiquer avec ses collègues, il doit aussi le faire via Slack ou par mail, mais l’accès à internet reste essentiel. Dans l’ensemble, c’est un inconvénient en soi, mais il n’est sans doute pas aussi gênant en pratique qu’on pourrait le penser.

À l’heure des bilans, Jannis Hermanns est très satisfait de cette solution alternative. L’iPad Pro 12,9 pouces est devenu son ordinateur principal pour travailler et cela fonctionne apparemment très bien. Naturellement, ce n’est qu’un cas de figure, si vous êtes un développeur qui dépend d’une interface graphique pour travailler, par exemple Xcode pour les créateurs d’apps iOS, la tablette ne sera d’aucun secours.

Swift Playgrounds, sur l’iPad, permet d’écrire et d’exécuter du code en Swift. Mais on reste encore très loin de Xcode, l’environnement de développement fourni par Apple exclusivement sur Mac. Cliquer pour agrandir
Swift Playgrounds, sur l’iPad, permet d’écrire et d’exécuter du code en Swift. Mais on reste encore très loin de Xcode, l’environnement de développement fourni par Apple exclusivement sur Mac. Cliquer pour agrandir

Il faut aussi disposer d’un serveur ou justifier une location mensuelle, sachant que les prix ont énormément baissé ces dernières années et qu’on peut s’en tirer à une dizaine ou quelques dizaines d’euros par mois. Ce n’est pas une généralité, certes, mais on ne pense pas souvent aux développeurs quand on évoque l’iPad Pro de manière professionnelle et c’est pourtant un domaine où cela peut fonctionner.

Et ce n’est pas le seul, la combinaison iPad et serveur distant peut servir dans bien d’autres cas. Dans un tout autre domaine, universitaire cette fois, mon collègue Anthony prépare une thèse et il utilise un serveur depuis sa tablette pour traiter de larges données statistiques. Cette tâche nécessite beaucoup trop de ressources pour un iPad et plusieurs jours de traitement, c’est un cas de figure idéal pour un serveur.

illustration magazine 25 ans

MacGeneration a 25 ans !

Participez à la fête et découvrez l’histoire de votre site favori en précommandant notre magazine exclusif.

Je précommande le magazine