# Découverte de périphériques

Vous pouvez utiliser le service mDNS intégré à notre service pour découvrir tous les appareils FIRERPA en ligne sur le réseau local, ainsi que leurs adresses, versions et autres informations correspondantes. Vous pouvez même accéder directement aux services tels que le bureau à distance de FIRERPA dans votre navigateur en utilisant un nom de domaine comme `{ro.serialno}.local`. Notez que l'utilisation des noms de domaine mDNS peut nécessiter que votre système le prenne en charge et que la version de FIRERPA soit >= 7.85. Par défaut, le service mDNS n'est pas démarré ; vous devez configurer `mdns.enable=true` pour l'activer.


## Découvrir tous les périphériques

Vous pouvez utiliser la bibliothèque d'outils mdns-beacon pour lister rapidement tous les périphériques. Veuillez d'abord exécuter `pip install mdns-beacon` pour installer cet outil. Une fois l'installation terminée, exécutez la commande suivante, qui listera tous les appareils exécutant FIRERPA sur le réseau actuel. Cette fonctionnalité peut être affectée par vos paramètres réseau réels ou par certains modèles d'appareils spécifiques, ce qui peut empêcher la découverte de périphériques.

```bash
mdns-beacon listen --service _lamda._tcp.local.
```

![mdns-beacon](/assets/images/mdns-beacon.png)


Si votre appareil prend en charge mDNS (le support est optimal sur Mac, une configuration supplémentaire peut être nécessaire sur Windows et Linux), vous pouvez accéder directement au bureau à distance en saisissant le nom du serveur suivi du port dans votre navigateur, par exemple `ad12cf9d6d15385f.local:65000`. La chaîne de caractères que vous voyez, comme `ad12cf9d6d15385f`, est l'`android_id` du système Android. Vous pouvez l'obtenir avec la commande suivante.

```bash
adb shell settings get secure android_id
```

Bien sûr, vous pouvez également utiliser une bibliothèque d'outils comme `zeroconf` pour effectuer la découverte de périphériques par programmation, par exemple [python-zeroconf](https://github.com/python-zeroconf/python-zeroconf). En plus de permettre la découverte de services par programmation, elle peut également énumérer certaines informations sur les appareils Android (nécessite une configuration).


## Configuration du service de découverte

Nous prenons également en charge l'utilisation du fichier de configuration `properties.local` pour configurer certains aspects de la découverte de services. Par exemple, vous pouvez modifier le type de service ou attribuer un nom de serveur fixe à chaque appareil.


Permet de diffuser ou non les informations de l'appareil lui-même, telles que son ID, son ABI, sa version Android, son modèle, etc. Par défaut, la diffusion est désactivée.

```ini
mdns.meta=true
```

Définit le nom du service mDNS pour l'appareil actuel. Vous pouvez le modifier pour améliorer la discrétion de FIRERPA. La valeur par défaut est `lamda`.

```ini
mdns.service=lamda
```

Définit un nom de serveur fixe pour l'appareil actuel, c'est-à-dire le nom du champ Server que vous voyez dans l'image ci-dessus. Le nom que vous définissez ne doit pas inclure le suffixe `.local` ; ce suffixe est obligatoire et sera ajouté automatiquement. Vous devez définir un nom fixe et unique pour chaque appareil.

```ini
mdns.name=DEVICEID-UNIQUE-NAME
```