Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

FluxContactConfidentialité© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
simvyn — Outil de développement mobile universel pour Agents & Humains - contrôlez les simulateurs iOS, les émulateurs Android et les appareils réels depuis un seul tableau de bord et CLI. | Kitploit
Outils/GitHubGitHub/pranshuchittora/simvyn
Sécurité AndroidUtilitaires GénérauxAnalyse Dynamique (Sandboxing)Sécurité iOSScripting et AutomatisationDébogueursCollecte d'InformationsTests d'IntrusionSécurité MobileUtilitaires et FrameworksSécurité des Bases de Données
3442366il y a 9 joursVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Analyse de Journaux
GitHubpranshuchittora/simvyn

simvyn

Outil de développement mobile universel pour Agents & Humains - contrôlez les simulateurs iOS, les émulateurs Android et les appareils réels depuis un seul tableau de bord et CLI.

Voir le dépôt
Partager
<p align="center">
  <img src="https://assets.kitploit.com/production/public/readmes/12264/e081fb1d4bcaa6556ff10e722d1ff25449288b68ce1aad9ac3b5ecc047ccf5fb.png" width="180" alt="simvyn" />
</p>

<h1 align="center">simvyn</h1>

<p align="center">
  Outil de développement mobile universel — contrôlez les simulateurs iOS, les émulateurs Android et les appareils réels depuis un tableau de bord unique et une CLI
</p>

<p align="center">
  <a href="https://www.npmjs.com/package/simvyn"><img src="https://img.shields.io/npm/v/simvyn?color=cb3837&amp;logo=npm" alt="npm version" /></a>
  <a href="https://www.npmjs.com/package/simvyn"><img src="https://img.shields.io/npm/dm/simvyn?color=cb3837&amp;logo=npm" alt="npm downloads" /></a>
  <a href="https://github.com/pranshuchittora/simvyn/actions/workflows/ci.yml"><img src="https://github.com/pranshuchittora/simvyn/actions/workflows/ci.yml/badge.svg" alt="CI status" /></a>
  <a href="https://github.com/pranshuchittora/simvyn/blob/main/LICENSE"><img src="https://img.shields.io/npm/l/simvyn?color=blue" alt="MIT License" /></a>
  <a href="https://nodejs.org"><img src="https://img.shields.io/node/v/simvyn?color=5FA04E&amp;logo=node.js&amp;logoColor=white" alt="Node version" /></a>
</p>

<p align="center">
  <img src="https://assets.kitploit.com/production/public/readmes/12264/bff45a80ced8a6cba77f5bab23f21607fb310862cbc838179d9ce714a1d4d6b6.png" alt="simvyn dashboard" />
</p>

<p align="center">
  <img src="https://raw.githubusercontent.com/pranshuchittora/simvyn/main/assets/demo.gif" alt="simvyn demo" />
</p>

## Table des matières

- [Démarrage rapide](#quick-start)
- [Installation](#installation)
- [Agents de codage IA](#ai-coding-agents)
- [Fonctionnalités](#features)
- [Présentations des modules](#module-showcases)
- [Guide des collections](#collections-guide)
- [Référence CLI](#cli-reference)
- [Fonctionnement](#how-it-works)
- [Plateformes prises en charge](#supported-platforms)
- [Contribution](#contributing)
- [Sécurité](#security)
- [Licence](#license)

## Démarrage rapide```bash
npx simvyn
```
Démarre le serveur local, ouvre le tableau de bord web dans votre navigateur et découvre automatiquement tous les simulateurs, émulateurs et appareils physiques connectés en USB.

## Installation

**Installation globale :**```bash
npm install -g simvyn
```
**Usage unique (sans installation) :**```bash
npx simvyn
```
**Prérequis :**

- Node.js 22 (22.14.0+) ou 24+
- macOS (prise en charge complète iOS + Android) ou Linux (Android uniquement)

## Agents de codage IA

simvyn inclut une [Agent Skill](https://github.com/pranshuchittora/simvyn/blob/main/skills/simvyn/SKILL.md) portable pour découvrir les appareils, exécuter les commandes CLI prises en charge, capturer des captures d'écran, inspecter les données des applications et collecter des journaux bornés. Elle apprend à un agent à utiliser la CLI avec des identifiants d'appareils explicites et les limites de plateforme. La skill utilise l'outil de terminal existant de l'agent ; elle n'enregistre pas de serveur MCP ni de nouveaux outils d'agent.

**Pi :** le paquet npm est un [paquet Pi](https://pi.dev/packages/simvyn). En plus de la skill, il ajoute les outils `simvyn`, `simvyn_screenshot`, `simvyn_logs` et `simvyn_record`, une commande `/simvyn` qui lance le tableau de bord, ainsi que les modèles de prompt `/simvyn-repro`, `/simvyn-screen` et `/simvyn-logs`. Il nécessite Pi 0.74 ou une version ultérieure :```bash
pi install npm:simvyn
```
**Autres agents compatibles :** installez la compétence portable depuis GitHub, en sélectionnant votre agent, et installez la CLI simvyn séparément :```bash
npm install -g simvyn
npx skills add pranshuchittora/simvyn --skill simvyn --agent codex --yes
```
La commande GitHub nécessite que ces fichiers de compétences soient présents sur la branche par défaut ; la commande Pi nécessite les ressources Pi dans la version npm publiée. Pour les modifications non publiées, utilisez les [instructions de checkout local](https://github.com/pranshuchittora/simvyn/blob/main/docs/agents.md#test-an-unreleased-checkout).

Consultez le [guide de configuration et de workflow des agents](https://github.com/pranshuchittora/simvyn/blob/main/docs/agents.md) pour le lanceur intégré, les sorties prises en charge, l'opération non interactive et les limitations actuelles. Un [index de documentation](https://github.com/pranshuchittora/simvyn/blob/main/llms.txt) compact est également disponible pour les outils qui acceptent les URL de documentation.

## Fonctionnalités

- **Gestion des appareils** — Découvrez, démarrez, éteignez, effacez, créez et clonez des simulateurs, émulateurs et appareils physiques avec épinglage des favoris
- **Gestion des applications** — Installez, lancez, terminez, désinstallez des applications via glisser-déposer ou CLI
- **Visionneuse de journaux** — Diffusion en temps réel avec filtrage par niveau, recherche dans la page (Cmd+F), recherche par regex, pagination et export
- **Simulation de localisation** — Définissez des coordonnées GPS, lisez des itinéraires GPX/KML avec contrôle de vitesse, enregistrez des favoris
- **Paramètres de l'appareil** — Mode sombre, locale, orientation, autorisations, remplacements de la barre d'état, préréglages d'accessibilité
- **Captures d'écran et enregistrement** — Capturez des captures d'écran et enregistrez la vidéo de l'écran avec historique
- **Liens profonds** — Ouvrez des URL et des schémas personnalisés, enregistrez des favoris par application
- **Inspecteur de base de données** — Parcourez les tables SQLite, exécutez des requêtes SQL, consultez SharedPreferences et NSUserDefaults
- **Navigateur de fichiers** — Parcourez les sandbox d'applications, téléchargez/téléversez des fichiers, modifiez le texte en ligne
- **Notifications push** — Composez des charges utiles JSON, envoyez vers des simulateurs iOS, bibliothèque de modèles
- **Collections** — Regroupez les actions d'appareil en séquences réutilisables, appliquez à plusieurs appareils à la fois
- **Journaux de plantage** — Rapports de diagnostic iOS et plantages logcat/tombstone Android
- **Presse-papiers** — Lisez et écrivez le contenu du presse-papiers de l'appareil
- **Médias** — Poussez des photos et vidéos vers les pellicules et galeries des appareils
- **Paramètres de l'outil** — Configuration du serveur, gestion du stockage, diagnostics et rapports de débogage
- **Prise en charge des appareils réels** — Connectez des appareils Android et iOS physiques via USB avec découverte automatique
- **Tableau de bord web** — Design Apple Liquid Glass avec palette de commandes, navigation au clavier
- **CLI complète** — Chaque fonctionnalité fonctionne sans interface via `simvyn <command>`

## Présentations des modules

### Gestion des appareils

Découvrez tous les simulateurs iOS, émulateurs Android et appareils physiques connectés via USB dans une liste unifiée. Démarrez, éteignez et effacez des appareils sans toucher à Xcode ou Android Studio. Créez de nouveaux simulateurs iOS en choisissant un type d'appareil et un runtime, ou clonez un existant pour créer rapidement des doublons. Les appareils physiques apparaissent automatiquement lorsqu'ils sont branchés et sont regroupés séparément dans le sélecteur d'appareils.

<p align="center"><img src="https://assets.kitploit.com/production/public/readmes/12264/2b85641878f6015c248311700a1a87a20476ade6c930273a3e47f288a82d6d2e.png" alt="Device Management" width="700" /></p>

- Listez tous les simulateurs, émulateurs et appareils physiques disponibles sur toutes les plateformes
- Démarrez, éteignez et effacez des appareils en un clic ou via une commande CLI
- Créez de nouveaux simulateurs iOS avec sélection du type d'appareil et du runtime
- Clonez et renommez des simulateurs existants
- Épinglez les appareils favoris en haut du sélecteur d'appareils
- Mises à jour de l'état des appareils en temps réel via WebSocket

### Gestion des applications

Installez, lancez, terminez et désinstallez des applications sur n'importe quel appareil connecté. Glissez-déposez des bundles IPA, APK ou .app de simulateur iOS directement sur le tableau de bord. Consultez les informations détaillées des applications et effacez les données d'application sans commandes manuelles adb ou simctl.

<p align="center"><img src="https://assets.kitploit.com/production/public/readmes/12264/17757b1ca8ddd41d43ac3a159260598308da6c3f759e1c9d730f61498e18ce8a.png" alt="App Management" width="700" /></p>

- Installation par glisser-déposer d'IPA, APK et .app de simulateur iOS
- Lancez, terminez et désinstallez des applications par bundle ID
- Consultez les détails de l'application, y compris la version, la taille et les autorisations
- Effacez les données d'application sur les appareils Android
- Listez toutes les applications installées avec filtrage par recherche

### Visionneuse de journaux

Diffusez les journaux de l'appareil en temps réel avec un filtrage puissant. Filtrez par niveau de journal, recherchez avec des motifs regex et filtrez par nom de processus. Utilisez la recherche dans la page (Cmd+F) pour mettre en évidence des entrées spécifiques sans masquer le contexte environnant. Exportez les journaux filtrés pour le partage ou l'archivage. L'historique paginé vous permet de remonter dans des milliers d'entrées sans problèmes de performance.

<p align="center"><img src="https://assets.kitploit.com/production/public/readmes/12264/b909b3515637b4059ebf210c56599f2f022506f09ee35a11e812bd8368d3750e.png" alt="Log Viewer" width="700" /></p>

- Diffusion de journaux en temps réel via WebSocket
- Filtrez par niveau : debug, info, warning, error, fatal
- Recherche dans la page (Cmd+F) avec mise en évidence des correspondances, navigation et compteur
- Recherche par regex et filtrage par nom de processus
- Historique paginé avec défilement virtuel
- Exportez les journaux filtrés vers un fichier
- Mettez en pause/reprenez la diffusion des journaux tout en préservant l'état entre les effacements

### Localisation

Définissez des coordonnées GPS précises sur n'importe quel appareil à l'aide d'une carte interactive ou d'une saisie manuelle. Lisez des fichiers d'itinéraires GPX et KML avec contrôle de vitesse ajustable. Enregistrez les emplacements fréquemment utilisés comme favoris pour un accès rapide.

<p align="center"><img src="https://assets.kitploit.com/production/public/readmes/12264/47842dfa878ffbc80bd5bb32d83e820e7ed7dd56a4d63368ca6e823ef72889d4.png" alt="Location" width="700" /></p>

- Carte interactive avec coordonnées définies par clic
- Lecture de fichiers d'itinéraires GPX et KML avec contrôle de vitesse
- Emplacements favoris enregistrés par appareil
- Diffusion de localisation multi-appareils
- Géocodage inverse pour des adresses lisibles par l'homme

### Paramètres de l'appareil

Activez le mode sombre, changez la locale, faites pivoter l'orientation de l'appareil (Android), gérez les autorisations des applications et remplacez l'apparence de la barre d'état. Appliquez des préréglages d'accessibilité pour tester votre application dans différentes conditions. Toutes les modifications de paramètres prennent effet immédiatement sur l'appareil cible.

<p align="center"><img src="https://assets.kitploit.com/production/public/readmes/12264/d3f6a33c17b773560072f7b94b71abd5ebc82786c073bdeb6d25f828c3f214fa.png" alt="Device Settings" width="700" /></p>

- Activez/désactivez le mode sombre/clair
- Changez la locale de l'appareil
- Gérez les autorisations des applications
- Remplacez la barre d'état (heure, batterie, signal)
- Préréglages d'accessibilité (texte en gras, augmentation du contraste, taille du contenu)

### Captures d'écran et enregistrement

Capturez des captures d'écran et enregistrez la vidéo de l'écran sur n'importe quel appareil. Toutes les captures sont enregistrées avec des horodatages et organisées dans un historique navigable. Téléchargez ou supprimez les captures directement depuis le tableau de bord.

<p align="center"><img src="https://assets.kitploit.com/production/public/readmes/12264/58ed8f25d148ed53f39066e42be730f255235dbec47539bbec826c455cba7936.png" alt="Screenshots and Recording" width="700" /></p>

- Capture d'écran en un clic
- Enregistrement d'écran avec contrôles de démarrage/arrêt
- Historique des captures horodatées
- Téléchargez et supprimez les captures depuis le tableau de bord

### Liens profonds

Ouvrez des URL et des schémas URI personnalisés sur n'importe quel appareil. Enregistrez les liens profonds fréquemment utilisés comme favoris organisés par application. Testez la gestion des liens profonds de votre application sans saisir manuellement des URL dans un terminal.

<p align="center"><img src="https://assets.kitploit.com/production/public/readmes/12264/3a990ef7c74f83c93b63c1654f74b3fa952b0b41abd31fe688cdaf2e29570f62.png" alt="Deep Links" width="700" /></p>

- Ouvrez n'importe quelle URL ou schéma personnalisé sur un appareil
- Enregistrez les liens profonds favoris par application
- Historique des liens avec ordre du plus récent au plus ancien
- Fonctionne avec iOS et Android

### Inspecteur de base de données

Parcourez les bases de données SQLite à l'intérieur de la sandbox de n'importe quelle application. Consultez les schémas de tables, exécutez des requêtes SQL arbitraires et inspectez SharedPreferences (Android) ou NSUserDefaults (iOS). Modifiez les valeurs en ligne sans écrire de scripts.

<p align="center"><img src="https://assets.kitploit.com/production/public/readmes/12264/4884b688dbbee5f1a34b0454950f4d6562e74efdbbb3b84ca5c626835b4b7d37.png" alt="Database Inspector" width="700" /></p>

- Parcourez les tables SQLite avec des colonnes triables
- Exécutez des requêtes SQL arbitraires
- Consultez et modifiez SharedPreferences et NSUserDefaults
- Modification des cellules en ligne avec détection de type

### Navigateur de fichiers

Parcourez le système de fichiers sandbox de n'importe quelle application installée. Naviguez dans les répertoires, téléversez et téléchargez des fichiers, et modifiez des fichiers texte en ligne. Transférez des fichiers entre votre machine et l'appareil sans commandes manuelles adb pull/push.

<p align="center"><img src="https://assets.kitploit.com/production/public/readmes/12264/7b7ba540ad5de8b575da4f9bb28694dc68f5ffce51225a388788b8ef2f4767a0.png" alt="File Browser" width="700" /></p>

- Parcourez les répertoires sandbox des applications
- Téléversez et téléchargez des fichiers
- Modification de fichiers texte en ligne
- Fonctionne avec les conteneurs d'applications iOS et Android

### Notifications push

Composez des charges utiles de notifications push JSON et envoyez-les aux simulateurs iOS. Utilisez la bibliothèque de modèles intégrée comme point de départ ou écrivez des charges utiles à partir de zéro. La validation JSON en temps réel met en évidence les erreurs avant l'envoi.

<p align="center"><img src="https://assets.kitploit.com/production/public/readmes/12264/f640654be67c24c7248806987e62908316407c18648fc145109118f260443f7d.png" alt="Push Notifications" width="700" /></p>

- Composez et envoyez des charges utiles push aux simulateurs iOS
- Bibliothèque de modèles de charges utiles intégrée
- Validation JSON en temps réel
- Ciblez des applications spécifiques par bundle ID

### Collections

Créez des ensembles réutilisables d'actions d'appareil et appliquez-les à plusieurs appareils à la fois. Les collections regroupent des étapes comme la définition de la localisation, l'activation du mode sombre et l'installation d'une application en un seul workflow répétable. Trois préréglages de démarrage sont fournis avec simvyn pour vous aider à commencer.

<p align="center"><img src="https://assets.kitploit.com/production/public/readmes/12264/fbf2ddbba1d3725321c80a914bf5b71ea6a2fc605fddbb73abd0b28385488af6.png" alt="Collections" width="700" /></p>

- Créez, dupliquez et gérez des collections nommées
- Parcourez le catalogue d'actions catégorisées dans tous les modules
- Réorganisation des étapes par glisser-déposer
- Appliquez à plusieurs appareils avec vérification de compatibilité
- Trois préréglages de démarrage intégrés

### Journaux de plantage

Consultez les rapports de diagnostic iOS (fichiers .ips) et les journaux de plantage Android à partir des dumps logcat et tombstone. Parcourez les entrées de plantage avec horodatages et informations de processus. Inspectez les détails complets des plantages sans fouiller dans les systèmes de fichiers des appareils.

<p align="center"><img src="https://assets.kitploit.com/production/public/readmes/12264/8f74a799448050bc37eace1d43865b13f3f47a0997c01dba650fd21e94f09ebf.png" alt="Crash Logs" width="700" /></p>

- Analyse des rapports de diagnostic iOS (.ips)
- Regroupement des plantages logcat Android par PID et tag
- Récupération des dumps tombstone Android
- Liste des plantages horodatée avec vue détaillée

### Presse-papiers

Lisez et écrivez le presse-papiers de l'appareil depuis le tableau de bord ou la CLI. Utile pour coller rapidement des données de test dans des applications ou inspecter ce qu'une application a copié.

<p align="center"><img src="https://assets.kitploit.com/production/public/readmes/12264/db889032abeb5f1d511dcfeb8c06c215bda851436f198a63db97f595b50853d6.png" alt="Clipboard" width="700" /></p>

- Lisez le contenu actuel du presse-papiers
- Écrivez du texte dans le presse-papiers de l'appareil
- Fonctionne avec les simulateurs iOS et les émulateurs Android

### Médias

Poussez des photos et vidéos directement dans la pellicule ou la galerie d'un appareil. Déposez des fichiers sur le tableau de bord pour les injecter sans câbles, e-mail ou transferts cloud.

<p align="center"><img src="https://assets.kitploit.com/production/public/readmes/12264/c63ce5411dc17b5d329c2af381c035d86164f5544928b0c76fe7d05346473561.png" alt="Media" width="700" /></p>

- Ajoutez des photos et vidéos à la galerie de l'appareil par glisser-déposer
- Prend en charge les fichiers volumineux jusqu'à 500 Mo
- Fonctionne avec les simulateurs iOS et les émulateurs Android

### Paramètres de l'outil

Configurez le serveur simvyn, gérez le stockage et consultez les diagnostics. Inclut un générateur de rapport de débogage pour signaler des problèmes.

<p align="center"><img src="https://assets.kitploit.com/production/public/readmes/12264/7ba043d473d21d4bb5477582539ffd9a4c57600ec20c22ee9d7e63146cbbfbb2.png" alt="Tool Settings" width="700" /></p>

- Configuration du port du serveur, de l'ouverture automatique et de l'intervalle d'interrogation
- Aperçu de l'utilisation du stockage avec option d'effacement des données
- Diagnostics : version de Xcode, disponibilité de devicectl, version d'adb
- Rapport de débogage en un clic pour signaler des bugs

## Guide des collections

Les collections vous permettent de regrouper plusieurs actions d'appareil en une séquence réutilisable et de les appliquer à n'importe quelle combinaison d'appareils en un clic.

### Création d'une collection

Ouvrez le panneau Collections depuis la barre latérale. Cliquez sur **New Collection** et donnez-lui un nom. La collection commence vide — vous ajouterez des étapes depuis le catalogue d'actions.

### Ajout d'étapes

Cliquez sur **Add Step** pour parcourir le catalogue d'actions catégorisées. Les actions sont organisées par module — Paramètres de l'appareil, Localisation, Gestion des applications, et plus encore. Sélectionnez une action, configurez ses paramètres en ligne (coordonnées, bundle IDs, valeurs de bascule), et elle apparaît dans votre collection. Faites glisser les étapes pour les réorganiser.

### Application d'une collection

Cliquez sur **Apply** pour ouvrir la fenêtre d'application. Sélectionnez un ou plusieurs appareils cibles dans la liste des appareils. Un résumé de compatibilité indique quelles étapes seront ignorées sur les plateformes incompatibles (par exemple, les actions iOS uniquement sur un appareil Android). Appuyez sur **Cmd+Enter** pour exécuter. Une matrice d'état en direct affiche la progression par étape et par appareil en temps réel.

### Intégration de la palette de commandes

Les collections enregistrées apparaissent dans la palette de commandes (**Cmd+K**). Recherchez une collection par nom et appliquez-la directement avec le sélecteur d'appareils — pas besoin de naviguer vers le panneau Collections.

### Collections de démarrage

Trois préréglages intégrés sont fournis avec simvyn :

- **Dark Mode + Japanese Locale** — Active le mode sombre et définit la locale sur le japonais
- **Screenshot Setup** — Configure les remplacements de la barre d'état pour des captures d'écran App Store propres
- **Reset Device State** — Efface la localisation, réinitialise les paramètres et efface les données d'application

### Utilisation de la CLI```bash
simvyn collections list                         # List all collections
simvyn collections apply <name> <devices...>    # Apply a collection to devices
```
## Référence CLI

Chaque fonctionnalité est accessible depuis la ligne de commande. Lancez `simvyn` sans argument pour démarrer le tableau de bord, ou utilisez l'une des commandes ci-dessous pour une exécution sans interface.

| Commande                                          | Description                                |
| ------------------------------------------------- | ------------------------------------------ |
| `simvyn`                                          | Démarrer le tableau de bord (par défaut)   |
| `simvyn device list`                              | Lister tous les appareils                  |
| `simvyn device boot <device>`                     | Démarrer un appareil                       |
| `simvyn device shutdown <device>`                 | Éteindre un appareil                       |
| `simvyn device erase <device>`                    | Effacer le contenu et les réglages de l'appareil |
| `simvyn device create <name> <type> <runtime>`    | Créer un nouveau simulateur iOS            |
| `simvyn device clone <device> <name>`             | Cloner un simulateur iOS                   |
| `simvyn device rename <device> <name>`            | Renommer un simulateur iOS                 |
| `simvyn device delete <device>`                   | Supprimer un simulateur iOS                |
| `simvyn location set <device> <lat> <lng>`        | Définir les coordonnées GPS                |
| `simvyn location route <device> <file>`           | Lire un itinéraire GPX/KML                 |
| `simvyn location clear <device>`                  | Effacer la localisation simulée            |
| `simvyn app list <device>`                        | Lister les applications installées         |
| `simvyn app install <device> <path>`              | Installer un IPA, APK ou .app de simulateur iOS |
| `simvyn app uninstall <device> <bundle-id>`       | Désinstaller une application               |
| `simvyn app launch <device> <bundle-id>`          | Lancer une application                     |
| `simvyn app terminate <device> <bundle-id>`       | Arrêter une application                    |
| `simvyn app info <device> <bundle-id>`            | Afficher les détails de l'application      |
| `simvyn app clear-data <device> <bundle-id>`      | Effacer les données de l'application (Android) |
| `simvyn logs <device>`                            | Diffuser les journaux de l'appareil        |
| `simvyn screenshot <device>`                      | Capturer une capture d'écran               |
| `simvyn record <device>`                          | Enregistrer l'écran                        |
| `simvyn link <device> <url>`                      | Ouvrir un lien profond                     |
| `simvyn push <device>`                            | Envoyer une notification push              |
| `simvyn fs ls <device> <bundle-id> [path]`        | Lister les fichiers dans le bac à sable de l'application |
| `simvyn fs pull <device> <bundle-id> <path>`      | Télécharger un fichier                     |
| `simvyn fs push <device> <bundle-id> <src> <dst>` | Envoyer un fichier                         |
| `simvyn db list <device> <bundle-id>`             | Lister les bases de données                |
| `simvyn db query <device> <bundle-id> <db> <sql>` | Exécuter une requête SQL                   |
| `simvyn db prefs <device> <bundle-id>`            | Afficher SharedPreferences / NSUserDefaults |
| `simvyn keychain add <device> <cert>`             | Ajouter un certificat racine               |
| `simvyn keychain reset <device>`                  | Réinitialiser le trousseau                 |
| `simvyn collections list`                         | Lister toutes les collections              |
| `simvyn collections show <id>`                    | Afficher les détails d'une collection      |
| `simvyn collections create <name>`                | Créer une nouvelle collection              |
| `simvyn collections delete <id>`                  | Supprimer une collection                   |
| `simvyn collections duplicate <id>`               | Dupliquer une collection                   |
| `simvyn collections apply <name> <devices...>`    | Appliquer une collection aux appareils     |
| `simvyn settings orientation <device> <orient>`   | Définir l'orientation de l'appareil (Android) |

## Fonctionnement

simvyn encapsule `xcrun simctl` (simulateurs iOS), `xcrun devicectl` (appareils iOS physiques) et `adb` (Android) derrière une interface unifiée. Aucun SDK requis — fonctionne avec n'importe quelle application, aucune modification de code nécessaire.

L'architecture est construite autour d'un système de modules où chaque fonctionnalité (localisation, journaux, gestion des applications, etc.) est un plugin autonome qui enregistre ses propres routes API, commandes CLI et gestionnaires WebSocket. Le tableau de bord web communique avec un serveur Fastify local via une seule connexion WebSocket multiplexée pour l'état des appareils en temps réel et la diffusion des journaux. Les fonctionnalités qui ne sont pas disponibles sur un type d'appareil particulier sont automatiquement désactivées avec des indicateurs clairs dans l'interface.

## Plateformes prises en charge

| Plateforme | Simulateurs iOS | Appareils iOS | Émulateurs Android | Appareils Android |
| ---------- | --------------- | ------------- | ------------------ | ----------------- |
| macOS      | Oui             | Limité        | Oui                | Oui               |
| Linux      | Non             | Non           | Oui                | Oui               |

### Prise en charge des appareils réels

Les appareils physiques connectés via USB sont découverts automatiquement aux côtés des simulateurs et des émulateurs. Le tableau de bord les regroupe dans des sections distinctes (Physiques / Simulateurs / Émulateurs) et affiche une notification lorsqu'un appareil se déconnecte.

**Les appareils Android physiques** prennent en charge presque toutes les fonctionnalités — gestion des applications, liens profonds, journaux, captures d'écran, inspecteur de base de données, navigateur de fichiers, et plus encore. Quelques fonctionnalités réservées aux émulateurs (simulation de localisation via `adb emu geo`, simulation de batterie) ne sont pas disponibles et clairement signalées dans l'interface.

**Les appareils iOS physiques** nécessitent Xcode 15+ et utilisent `xcrun devicectl` en arrière-plan. Les fonctionnalités prises en charge incluent la découverte d'appareils, l'installation/désinstallation/lancement/arrêt d'applications, le listage des applications, les liens profonds et la copie de fichiers. De nombreuses fonctionnalités qui reposent sur `simctl` (captures d'écran, enregistrement d'écran, simulation de localisation, presse-papiers, apparence, barre d'état, notifications push) ne sont pas disponibles sur les appareils iOS physiques. Les contrôles non pris en charge sont désactivés avec des infobulles expliquant pourquoi. Les collections ignorent automatiquement les étapes qui ne s'appliquent pas aux appareils physiques.

## Contribution

Les contributions sont les bienvenues — corrections de bugs, nouveaux modules, couverture de plateformes et documentation.

Commencez par le **[Guide de contribution](https://github.com/pranshuchittora/simvyn/blob/main/CONTRIBUTING.md)**, qui couvre la configuration de développement, la structure du projet, comment ajouter un module et les vérifications exécutées par la CI.

- [Signaler un bug](https://github.com/pranshuchittora/simvyn/issues/new?template=bug_report.yml)
- [Demander une fonctionnalité](https://github.com/pranshuchittora/simvyn/issues/new?template=feature_request.yml)
- [Code de conduite](https://github.com/pranshuchittora/simvyn/blob/main/CODE_OF_CONDUCT.md)
- [Journal des modifications](https://github.com/pranshuchittora/simvyn/blob/main/CHANGELOG.md)```bash
git clone https://github.com/pranshuchittora/simvyn.git
cd simvyn
npm install
npm run dev
```
## Sécurité

simvyn est un outil de développement local et n'est pas conçu pour être exposé à des réseaux non fiables.

Veuillez signaler les vulnérabilités en privé via [GitHub Security Advisories](https://github.com/pranshuchittora/simvyn/security/advisories/new) plutôt que comme une issue publique. Consultez la [Politique de sécurité](https://github.com/pranshuchittora/simvyn/blob/main/SECURITY.md) pour le périmètre et les informations à inclure.

Chaque version est publiée sur npm avec [provenance](https://docs.npmjs.com/generating-provenance-statements) via trusted publishing, ce qui vous permet de vérifier qu'un tarball correspond au commit qui l'a construit :```bash
npm audit signatures
```
## Licence

[MIT](https://github.com/pranshuchittora/simvyn/blob/main/LICENSE) © [Pranshu Chittora](https://github.com/pranshuchittora)
Télécharger l’outil