Aller au contenu

Pourquoi les équipes mobiles remplacent leurs commandes adb et simctl par RYNO

RYNO ne remplace pas adb, simctl ni devicectl : il passe par eux pour vous. Les commandes fonctionnent, et cette page les montre. RYNO ajoute ce que le terminal vous laisse : l'échappement de chaque valeur, des requêtes rangées en fichiers dans votre dépôt, des variables par environnement, des secrets locaux, des flows et des rapports. L'app macOS est gratuite.

Le coût caché du terminal

Les commandes sont justes. Ce qui coûte du temps, c'est ce qu'elles vous laissent : les guillemets, les jetons et la copie que vous gardez quelque part.

Dans un terminal

Un lien à un seul paramètre passe tel que vous le tapez.

Terminal
adb shell am start -W -a android.intent.action.VIEW -d "myapp://product/42?ref=mail" com.example.app

Ajoutez un second paramètre et le lien se casse sans erreur. adb confie la ligne au shell du téléphone, qui lit le & comme la fin de la commande : l'app reçoit myapp://product/42?ref=mail, et la suite de la ligne s'exécute comme une autre commande. La parade est un second niveau de guillemets, un pour le shell de votre Mac et un pour celui du téléphone.

Terminal
adb shell am start -W -a android.intent.action.VIEW -d "'myapp://product/42?ref=mail&utm_source=newsletter'" com.example.app

Un jeton glissé dans un lien reste dans l'historique de votre shell, ou dans la note d'où vous copiez la commande.

Dans RYNO

Vous remplissez les paramètres dans un tableau, et RYNO met chaque valeur entre guillemets avant d'envoyer la commande au shell du téléphone, le & compris. Voici ce qu'il envoie pour le même lien, sans rien à échapper à la main.

adb shell
am start -W -a 'android.intent.action.VIEW' -d 'myapp://product/42?ref=mail&utm_source=newsletter' -p 'com.example.app'

Un jeton va dans une valeur que vous marquez comme locale. Elle vit dans un fichier que Git ignore, et reste sur votre Mac. Le fonctionnement des moitiés partagée et locale est décrit dans Organise your work.

Les mêmes outils natifs, en dessous

RYNO n'apporte aucun lanceur à lui. Sur chaque appareil, il passe par l'outil que vous taperiez, et ne vous en dit pas plus que cet outil ne peut en savoir.

L'outil par lequel RYNO passe, pour chaque appareil
AppareilOutilCe que vous installezCe que RYNO vous dit
Téléphone ou émulateur AndroidadbRien : adb est fourni dans RYNO.Un lien qu'aucune app ne prend en charge échoue clairement, et un succès veut dire ce qu'il dit.
Simulateur iOSsimctlLes outils en ligne de commande de Xcode.Un lien qu'aucune app ne prend en charge échoue clairement, et un succès veut dire ce qu'il dit.
iPhone ou iPad, par câbledevicectlLes outils de Xcode, le mode développeur sur l'appareil, un écran déverrouillé et un Mac approuvé.RYNO envoie le lien et ne peut pas confirmer sa réception.

Les commandes, à copier

Sur un simulateur iOS démarré, simctl prend le lien tel quel : aucun second shell ne le relit.

Terminal
xcrun simctl openurl booted "myapp://product/42?ref=mail&utm_source=newsletter"

Sur un iPhone ou un iPad branché par câble, remplacez <device-id> par l'identifiant qu'affiche xcrun devicectl list devices. devicectl envoie le lien sans confirmer sa réception, dans un terminal comme dans RYNO.

Terminal
xcrun devicectl device process launch --device <device-id> --payload-url "myapp://product/42?ref=mail&utm_source=newsletter" com.example.app

npx uri-scheme, d'Expo, ouvre un lien dans un simulateur en marche.

Terminal
npx uri-scheme open "myapp://product/42?ref=mail" --ios

Le même raccourci ouvre un lien dans un émulateur Android en marche.

Terminal
npx uri-scheme open "myapp://product/42?ref=mail" --android

Sept tâches quotidiennes, étape par étape

La même tâche dans un terminal et dans RYNO
TâcheDans un terminalDans RYNO
Ouvrir un lien sur AndroidTapez la commande avec le package, et protégez le lien pour le shell du téléphone.adb shell am start -W -a android.intent.action.VIEW -d "'myapp://product/42?ref=mail&utm_source=newsletter'" com.example.appChoisissez le téléphone ou l'émulateur et lancez la requête. RYNO protège chaque valeur.
Ouvrir un lien sur un simulateur iOSTapez la commande pour le simulateur démarré.xcrun simctl openurl booted "myapp://product/42?ref=mail&utm_source=newsletter"Choisissez le simulateur et lancez la requête. RYNO y exécute simctl openurl.
Envoyer un lien à un iPhone par câbleTrouvez l'identifiant de l'appareil, puis lancez l'app avec le lien en charge utile.xcrun devicectl device process launch --device <device-id> --payload-url "myapp://product/42?ref=mail&utm_source=newsletter" com.example.appChoisissez l'iPhone, renseignez l'identifiant de bundle et lancez la requête. RYNO exécute le même lancement devicectl, et ne peut pas confirmer la réception du lien.
Changer un paramètreModifiez le lien dans la commande, sans casser les deux niveaux de guillemets.Modifiez la valeur dans le tableau des paramètres, ou désactivez un paramètre pour le prochain lancement.
Passer de la recette à la productionRéécrivez l'hôte et les valeurs dans chaque commande que vous gardez.Écrivez des {{variables}} dans la requête et choisissez un autre environnement. Chaque lancement les remplit.
Partager des liens avec votre équipeCollez les commandes dans une page de wiki ou un message de chat.Chaque requête est un fichier JSON de votre dépôt, relu avec le reste de votre code.
Rejouer un parcours de plusieurs liensÉcrivez un script qui exécute les commandes l'une après l'autre.Lancez un flow : ses étapes s'exécutent dans l'ordre, et l'exécution se termine par un rapport.

Ce que RYNO ajoute, gratuitement

L'app macOS est gratuite, sans compte et sans rien à héberger. Team et Business sont des plans payants qui ajoutent un catalogue partagé pour votre entreprise , que décrit la page du catalogue d'entreprise.

  • Des collections versionnées

    Chaque requête est un fichier JSON dans un dossier de votre dépôt, rangée en collections et relue comme du code.

  • Des variables

    Écrivez {{nom}} dans une requête, et RYNO le remplit depuis l'environnement choisi.

  • Des secrets locaux

    Les valeurs que vous marquez comme locales vivent dans un fichier que Git ignore, et ne quittent jamais votre Mac.

  • Des flows

    Enchaînez plusieurs requêtes en un parcours, et suivez-le étape par étape sur un appareil.

  • Des rapports

    L'exécution d'un flow se termine par un rapport que vous pouvez rouvrir, avec une image par étape si vous en demandez.

  • Un serveur MCP

    Un serveur local permet à un assistant IA de lire et de piloter votre projet, une fois que vous l'avez activé.

Le chemin d'un parcours jusqu'à son rapport est décrit dans Run a flow.

Questions fréquentes

RYNO remplace-t-il adb et simctl ?

Non. RYNO passe par adb sur Android, par simctl sur les simulateurs iOS et par devicectl sur un iPhone ou un iPad branché par câble. adb est fourni dans l'app, et les outils iOS viennent avec Xcode. Ce que RYNO ajoute est autour de la commande : l'échappement, les fichiers dans votre dépôt, les environnements, les flows et les rapports.

Pourquoi adb shell am start coupe-t-il mon lien au & ?

Parce qu'adb confie la commande au shell du téléphone, qui la relit une seconde fois. Un & sans guillemets y termine la commande, et la suite du lien est perdue. Dans un terminal, mettez le lien entre deux niveaux de guillemets, ou laissez RYNO échapper chaque valeur pour vous.

RYNO peut-il confirmer qu'un lien a atteint un vrai iPhone ?

Non. Sur un iPhone ou un iPad branché par câble, RYNO envoie le lien par devicectl et ne peut pas confirmer sa réception, exactement comme dans un terminal. Il présente l'exécution comme envoyée, jamais comme un succès.

Gardez vos outils, laissez les guillemets à RYNO

Votre adb, votre simctl et votre devicectl restent ce qu'ils sont. Pour utiliser RYNO sur votre dépôt, contactez l'équipe.