Toutes les pages
Sur cette page

Installer OAR comme app

L’interface web d’OAR est une Progressive Web App (PWA). Une fois installée, elle a sa propre icône et sa propre fenêtre, et elle démarre sans la barre d’adresse ni les onglets du navigateur. C’est la même interface web que celle qu’affiche le navigateur, servie par votre relais : il n’y a rien d’autre à installer sur l’appareil, et le relais garde toutes les sessions.

Ce qu’il lui faut #

L’installation, ainsi que les notifications push, demandent un contexte sécurisé : le relais doit être joint en HTTPS, ou via localhost. Un relais sur votre réseau à une simple adresse http ne convient pas, et c’est la raison habituelle de mettre en place un tunnel pour un téléphone : voir Cloudflare Tunnel, Tunnel SSH ou Proxy inverse. Si et comment le navigateur propose ensuite l’installation relève des règles du navigateur.

L’installer #

Ouvrez le relais dans le navigateur de l’appareil et connectez-vous d’abord (voir Premier lancement). Ensuite :

Appareil et navigateur Comment
Android, Chrome Ouvrez le menu du navigateur (⋮) et choisissez Install app (Installer l’application) ou Add to Home screen (Ajouter à l’écran d’accueil). Si Chrome indique que l’app est déjà installée, ouvrez-la depuis le lanceur ou désinstallez d’abord l’ancienne copie.
iPhone et iPad, Safari Ouvrez le relais dans Safari, appuyez sur Share (Partager), puis choisissez Add to Home Screen.
Navigateurs de bureau Ouvrez le menu du navigateur et choisissez Install app (ou Add to Home screen, là où le navigateur le formule ainsi).

OAR a aussi son propre bouton ⬇, à droite de l’en-tête de la liste des conversations, à côté de + New Chat (Nouveau chat) et Status (Statut) (sur un écran étroit, ouvrez la liste avec ☰) :

  • Quand le navigateur a proposé son invite d’installation, l’infobulle du bouton indique Install app to home screen (Installer l’app sur l’écran d’accueil). Appuyer dessus ouvre cette invite. Une fois que vous avez accepté, OAR affiche Install accepted. The app will appear on your home screen., puis App installed. quand le navigateur le signale.
  • Quand le navigateur n’en a proposé aucune, l’infobulle indique Show install instructions (Afficher les instructions d’installation), et appuyer sur le bouton affiche un message avec les étapes pour votre plateforme (iPhone et iPad, Android ou tout autre appareil), les mêmes que dans le tableau ci-dessus.

Le bouton est masqué dans l’app installée, ainsi que dans une conversation partagée, où l’installation n’est pas proposée.

Nom et icône #

Le nom de l’app installée vient de Settings → General → Relay name (Réglages → Général → Nom du relais) ; voir Settings (Réglages). Il compte jusqu’à 60 caractères ; tant qu’il est vide, l’app s’appelle OAR. Le libellé sous l’icône est le premier mot du nom, ou ses 12 premiers caractères quand ce mot est plus long. C’est aussi sous ce nom que les relais associés désignent ce relais.

Le nom est enregistré sur le relais et servi dans le manifeste de l’app à chaque navigateur et à chaque adresse : l’adresse LAN et une adresse de tunnel concordent donc. L’app appartient à l’adresse depuis laquelle elle a été installée : un relais derrière un proxy inverse sous un préfixe de chemin (remotePath, voir config.json) est une app à part. Une nouvelle installation utilise le nom en vigueur au moment où vous installez. Une app déjà installée sur Android reçoit un nouveau nom par la mise à jour normale du manifeste de Chrome : une invite de confirmation montre le nouveau nom, puis le libellé du lanceur change. Ce que d’autres systèmes font d’un nom modifié dépend d’eux.

L’icône suit Theme (Thème) : Day mode (Mode Jour) utilise l’icône claire et un fond de lancement blanc, Night mode (Mode Nuit) l’icône sombre et un fond sombre. Après un changement de thème, l’écran de lancement propre à l’app installée se met à jour quand le système actualise l’app, ce qui peut prendre une journée sur Android.

Pour distinguer plusieurs relais sur un même appareil, installez chacun depuis sa propre adresse et donnez à chacun un Relay name différent : chaque adresse est une app distincte avec sa propre icône et son propre libellé.

Se connecter dans l’app #

Le relais garde un navigateur connecté grâce à un cookie (voir Premier lancement). Quand l’app installée n’a pas de connexion valide, elle affiche la boîte de connexion, Enter your access token to connect (Saisissez votre token d’accès pour vous connecter). Collez le token dans le champ Access token (Token d’accès) et appuyez sur Connect (Se connecter). oar url affiche le token actuel si vous en avez de nouveau besoin. Après oar setup --new-token, chaque appareil, apps installées comprises, doit se reconnecter.

Comportement de l’app #

Bouton et geste retour #

Le bouton ou le geste retour du système ne ferme jamais l’app installée d’un coup. Retour ferme la visionneuse de fichiers ouverte (Ajouté en 0.9.9) ou la visionneuse de subagent, et rien d’autre. Quand il n’y a rien de ce genre à fermer, l’app affiche Press back again to close the app ; un second appui, sans toucher l’app entre-temps, la ferme. Retour ne ferme pas les boîtes de dialogue, les menus ni la liste des conversations. La visionneuse de fichiers est décrite sous Retour sur un téléphone et dans l’app installée, la visionneuse de subagent sous La visionneuse de subagent.

Avant que vous ne touchiez l’app pour la première fois, le navigateur laisse le retour quitter l’app, et une page ne peut pas changer cela. Dans un onglet de navigateur, le bouton retour reste celui du navigateur.

Plein écran #

L’app s’ouvre dans sa propre fenêtre autonome. Sur un écran étroit, elle demande aussi le plein écran au système dès que vous la touchez pour la première fois, là où le système le permet. Le propre bouton d’installation ⬇ d’OAR et son bouton plein écran sont masqués dans l’app. La page utilise tout l’écran, encoche comprise, et garde son en-tête sous la zone de sécurité supérieure.

Retour depuis l’arrière-plan #

Un bref changement d’app ne change rien : l’app garde sa connexion au relais pendant 45 secondes après son passage en arrière-plan. Ensuite, elle ferme la connexion. Quand vous revenez, elle se reconnecte aussitôt et relit la liste des conversations et la conversation en cours, la liste des modèles, l’état des workers de session, ainsi que les questions et tableaux de plan ouverts : ce qui s’est passé pendant votre absence apparaît sans que vous ayez rien à faire. Il en va de même quand l’appareil revient en ligne ou sort de veille. Tant que le relais est injoignable, la pastille d’état à gauche de l’en-tête de la liste des conversations est grise et son infobulle indique Web relay unreachable (Relais web injoignable) ; l’app continue d’essayer.

Tant que l’app est au premier plan, elle le signale au relais, et le relais n’envoie de notifications push que lorsqu’aucun appareil n’a l’app au premier plan.

Mises à jour #

L’interface web est servie par le relais : une mise à jour d’OAR sur l’hôte du relais change donc aussi l’interface. L’app installée garde une copie de son shell, mais charge d’abord la page et ses scripts depuis le relais chaque fois qu’elle peut le joindre. Quand elle démarre et trouve une version plus récente, elle y passe sans vous demander ; si cela échoue une fois, elle supprime son shell stocké et recharge. Vous n’avez pas à réinstaller.

Limites #

  • Hors ligne, l’app peut ouvrir son shell stocké, mais tout ce qui a besoin du relais ne fonctionne pas : les conversations, l’explorateur de fichiers, l’envoi d’un message. Les appels de l’app au relais ne sont jamais stockés.
  • L’installation demande le contexte sécurisé décrit sous Ce qu’il lui faut.