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.
Terminaladb shell am start -W -a android.intent.action.VIEW -d "myapp://product/42?ref=mail" com.example.appAjoutez 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.
Terminaladb shell am start -W -a android.intent.action.VIEW -d "'myapp://product/42?ref=mail&utm_source=newsletter'" com.example.appUn 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 shellam 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.
| Appareil | Outil | Ce que vous installez | Ce que RYNO vous dit |
|---|---|---|---|
| Téléphone ou émulateur Android | adb | Rien : 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 iOS | simctl | Les 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âble | devicectl | Les 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.
Terminalxcrun 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.
Terminalxcrun devicectl device process launch --device <device-id> --payload-url "myapp://product/42?ref=mail&utm_source=newsletter" com.example.appnpx uri-scheme, d'Expo, ouvre un lien dans un simulateur en marche.
Terminalnpx uri-scheme open "myapp://product/42?ref=mail" --iosLe même raccourci ouvre un lien dans un émulateur Android en marche.
Terminalnpx uri-scheme open "myapp://product/42?ref=mail" --androidSept tâches quotidiennes, étape par étape
| Tâche | Dans un terminal | Dans RYNO |
|---|---|---|
| Ouvrir un lien sur Android | Tapez 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.app | Choisissez le téléphone ou l'émulateur et lancez la requête. RYNO protège chaque valeur. |
| Ouvrir un lien sur un simulateur iOS | Tapez 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âble | Trouvez 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.app | Choisissez 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ètre | Modifiez 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 production | Réé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 équipe | Collez 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.