> For the complete documentation index, see [llms.txt](https://docs.medcrypt.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.medcrypt.com/fr/guardian/understand-device-provisioning/begin-device-provisioning/provision-devices-using-command-line.md).

# Provisionner des appareils à l’aide de la ligne de commande

## Présentation

Utilisez l’outil `mcguard_provision` pour générer et envoyer des demandes de provisionnement à des fins de test ou lorsque les appareils ne peuvent pas utiliser Guardian Library. Cet outil en ligne de commande prend en charge les flux de provisionnement connecté et déconnecté, ainsi que les configurations de provisionnement par proxy.

#### Quand utiliser mcguard\_provision :

* Tester les flux de provisionnement
* Appareils qui ne peuvent pas intégrer Guardian Library
* Scénarios de dépannage avancés
* Configurations de provisionnement par proxy dans lesquelles un appareil passerelle gère le provisionnement d’autres appareils

### Prérequis supplémentaires

Assurez-vous également de disposer du [prérequis généraux à la mise en service](/fr/guardian/understand-device-provisioning/begin-device-provisioning.md#general-prerequisites) avant de commencer la mise en service. Pour utiliser la ligne de commande, vous aurez également besoin des prérequis suivants :

* `mcguard_provision` utilitaire installé
* Informations sur l’appareil à portée de main (nom du composant, identifiant système, identifiant matériel)
* **Pour la mise en service par proxy uniquement :** L’appareil proxy doit d’abord être mis en service en tant que composant entièrement connecté.

## **Exigences techniques**

### **Compatibilité des plateformes**

* **Hôtes Linux/BSD :** Les commandes sont formatées pour les hôtes Linux/BSD.
* **Hôtes Windows :**
  * Ajoutez `.exe` au nom de l’exécutable
  * Remplacez les séparateurs de chemin de `/` par `\` la notation

### **Organisation des fichiers**

Tous les utilitaires en ligne de commande utilisent une approche fondée sur un répertoire de travail. Par exemple, lors du provisionnement initial de Connected, le `mcguard_provision` utilitaire s’attend à trouver un fichier `.mcts`, `.mcpip` et `.mcpp` dans le répertoire de travail.

* Tous les fichiers de profil source (.mcts, .mcpi, .mcpip, .mcp, .mcpp) doivent se trouver dans le même dossier que le chemin de profil fourni.
* Tout `mcguard_provision` Les sorties de la CLI sont enregistrées dans le même répertoire de travail.

### **Configuration réseau**

* Utilisez les points de terminaison par défaut de Guardian Cloud, sauf si Medcrypt vous indique d’utiliser une autre adresse IP.
* Utilisez les paramètres de délai d’expiration par défaut, sauf si Medcrypt vous demande de les modifier.
* Ces deux paramètres sont définis dans `provisioningOptions` , mais ne doivent être modifiés que sur instruction de Medcrypt.

### **Exemples de paramètres**

Les valeurs d’exemple suivantes sont utilisées dans les exemples de commandes de cette documentation :

* Composant de provisionnement : `my_component`
* Hôte de provisionnement : `35.164.222.194:19109`
* Système de provisionnement : `my_system`
* ID matériel de provisionnement : `my_hid`
* Composant proxy : `my_proxy`
* Système proxy : `my_proxy_system`
* ID matériel du proxy : `my_proxy_hid`

Remplacez ces valeurs par les informations réelles de votre appareil et de votre système.

## Provisionnement de dispositifs connectés

Utilisez cette méthode pour les appareils disposant d’une connectivité réseau et pouvant communiquer directement avec Guardian Cloud. Consultez [Types de fichiers Guardian](/fr/guardian/understand-device-provisioning/begin-device-provisioning.md#guardian-file-types-and-extensions) pour en savoir plus sur les types et extensions de fichiers.

### **Provisionnement initial**

1. Exécutez cette commande pour générer la demande de provisionnement (fichier `.mcpr` ) et l’identité privée (fichier `.mcpi` ) dans votre répertoire de travail, les transmettre automatiquement à Guardian Cloud, puis récupérer automatiquement le profil certifié (fichier `.mcp` ) sur l’appareil. Le provisionnement de l’appareil sera terminé une fois la commande exécutée avec succès.

```bash
# Syntaxe
./mcguard_provision --mode provision --component <component_name> --system <system_name> --hardware-id <hardware_id> --ip-address <guardian_host:port> <path_to_initial_provisioning_profile>

# Exemple
./mcguard_provision --mode provision --component my_component --system my_system --hardware-id my_hid --ip-address 35.164.222.194:19109 /home/user/guardian/profiles/initial_profile
```

### **Reprovisionnement**

1. Exécutez cette commande pour générer une nouvelle demande de provisionnement à l’aide de votre identité privée existante, la transmettre automatiquement à Guardian Cloud et récupérer le profil certifié mis à jour. Le reprovisionnement de l’appareil sera terminé une fois la commande exécutée avec succès.

```bash
# Syntaxe
./mcguard_provision --mode reprovision --component <component_name> --system <system_name> --hardware-id <hardware_id> --ip-address <guardian_host:port> --reprovision <path_to_provisioned_profile>

# Exemple
./mcguard_provision --mode reprovision --component my_component --system my_system --hardware-id my_hid --ip-address 35.164.222.194:19109 --reprovision /home/user/guardian/profiles/provisioned_profile
```

## Provisionnement de dispositifs déconnectés

Utilisez cette méthode pour les appareils sans connectivité réseau, pour lesquels les demandes de provisionnement doivent être transférées manuellement vers Guardian Cloud.

### **Provisionnement initial**

1. Exécutez cette commande pour générer la demande de provisionnement (fichier `.mcpr`  ) et l’identité privée (fichier `.mcpi` ) dans votre répertoire de travail.

```bash
# Syntaxe
./mcguard_provision --mode provision --component <component_name> --system <system_name> --hardware-id <hardware_id> --offline <path_to_initial_provisioning_profile>

# Exemple
./mcguard_provision --mode provision --component my_component --system my_system --hardware-id my_hid --offline /home/user/guardian/profiles/initial_profile
```

2. **Téléverser la demande de provisionnement :** Téléversez manuellement le fichier `.mcpr` dans l’interface de Guardian Cloud.
3. **Télécharger le profil certifié** : une fois le traitement terminé, téléchargez le fichier `.mcp` depuis l’interface de Guardian Cloud.
4. **Installer sur l’appareil** : transférez le fichier `.mcp` fichier vers l’appareil où se trouve le `.mcpi` pour terminer le provisionnement.

### **Reprovisionnement**

1. Exécutez cette commande pour générer une nouvelle demande de provisionnement (`.mcpr` ), à l’aide de votre identité privée existante (`.mcpi` ).

```bash
# Syntaxe
./mcguard_provision --mode reprovision --component <component_name> --system <system_name> --hardware-id <hardware_id> --offline <path_to_provisioned_profile>

# Exemple
./mcguard_provision --mode reprovision --component my_component --system my_system --hardware-id my_hid --offline /home/user/guardian/profiles/provisioned_profile
```

2. **Téléverser la demande de provisionnement :** Téléversez manuellement le fichier `.mcpr` dans l’interface de Guardian Cloud.
3. **Télécharger le profil certifié** : une fois le traitement terminé, téléchargez le fichier `.mcp` depuis l’interface de Guardian Cloud.
4. **Installer sur l’appareil** : transférez le `.mcp` fichier vers l’appareil où se trouve le `.mcpi` pour terminer le reprovisionnement.

## Provisionnement de dispositifs via un proxy

{% hint style="success" %}
**Exigences relatives à la configuration du proxy :**

* L’appareil **proxy doit être provisionné comme un composant entièrement en ligne** avant de pouvoir téléverser les demandes de provisionnement d’autres appareils.
* Le fichier `.mcpr` de l’appareil déconnecté doit d’abord être transféré vers l’appareil proxy
* Lors d’un téléversement au moyen d’un appareil proxy, **utilisez le composant et l’identifiant matériel de l’appareil proxy**, et NON ceux de l’appareil qui a créé la demande de provisionnement.
  {% endhint %}

1. Exécutez cette commande pour provisionner l’appareil proxy. Le proxy génère sa demande de provisionnement (`.mcpr`) et son identité privée (`.mcpi`), les soumet automatiquement à Guardian Cloud et récupère automatiquement son profil certifié. Une fois cette opération terminée, l’appareil proxy peut traiter les demandes de provisionnement d’autres appareils.

```bash
# Syntaxe
./mcguard_provision --mode provision --component <proxy_component> --system <proxy_system> --hardware-id <proxy_hardware_id> --ip-address <guardian_host:port> <path_to_proxy_provisioning_profile>

# Exemple
./mcguard_provision --mode provision --component my_proxy --system my_proxy_system --hardware-id my_proxy_hid --ip-address 35.164.222.194:19109 /home/user/guardian/proxy/provisioning_profile
```

**2. Téléverser la demande de provisionnement via le proxy :**

1. Exécutez cette commande pour soumettre la demande de provisionnement d’un appareil déconnecté via l’appareil proxy. Le proxy téléversera automatiquement le `.mcpr` fichier vers Guardian Cloud et récupérera le profil certifié (`.mcp` ).

```bash
# Syntaxe
./mcguard_provision --mode upload --component <proxy_component> --hardware-id <proxy_hardware_id> --ip-address <guardian_host:port> --provision-request <path_to_disconnected_device_pr> --output-profile <path_to_output_certified_profile> <path_to_provisioned_proxy_profile>

# Exemple
./mcguard_provision --mode upload --component my_proxy --hardware-id my_proxy_hid --ip-address 35.164.222.194:19109 --provision-request /home/user/device_requests/device_pr.mcpr --output-profile /home/user/certificates/device_cp.mcp /home/user/guardian/proxy/provisioned_profile
```

2\. Transférez le profil certifié vers l’appareil déconnecté.

### Référence des paramètres

Chacun de ces paramètres précède la valeur correspondante, à l’exception de `--offline`.

**Paramètres obligatoires :**

* **--mode :** Utilisé lors du provisionnement, du reprovisionnement ou du téléversement d’une demande de provisionnement.
* **--component :** Nom ou identifiant du composant
* **--system :** Identifiant du nom du système. Également appelé définition du système.
* **--hardware-id :** Identifiant matériel unique (généralement le numéro de série de l’appareil).

**Appareils connectés uniquement :**

* **--ip-address :** Point de terminaison Guardian Cloud (hôte:port)

**Mode déconnecté uniquement :**

* **--offline:** Activer le mode hors ligne/déconnecté

**Réapprovisionnement uniquement :**

* **--reprovision:** Spécifier le chemin d’accès au profil provisionné existant (`.mcp` fichier)

**Mode proxy uniquement :**

* **--provision-request:** Spécifier le chemin d’accès à la demande de provisionnement (`.mcpr` fichier) pour le téléversement via le proxy

#### Recommandations pour nommer les fichiers du proxy

Lors du traitement des fichiers pendant le provisionnement via le proxy, vous pouvez les nommer comme vous le souhaitez. Nous vous recommandons de :

* Conserver les extensions de fichier (`.mcpr` pour les demandes de provisionnement, `.mcp` pour les profils certifiés) afin que votre équipe et Medcrypt puissent facilement les identifier
* Utiliser des noms descriptifs identifiant l’appareil ou le composant
* Inclure des numéros de version ou des dates si vous gérez plusieurs tentatives de provisionnement

### Dépannage de la ligne de commande

#### **Problèmes de connectivité réseau**

**Erreur :** Impossible de se connecter aux points de terminaison de provisionnement

1. Examinez la sortie du journal Guardian ou augmentez le niveau de journalisation pour repérer les avertissements ou les erreurs.
2. Testez la connectivité réseau aux points de terminaison de provisionnement à l’aide d’outils tels que `telnet` ou `netcat`.

```bash
# Syntaxe
telnet <guardian_host> <port>

# Exemple
telnet 35.164.222.194 19109
```

3. Vérifiez la configuration du pare-feu et assurez-vous que le point de terminaison Guardian Cloud est accessible
4. Vérifiez que l’adresse IP et le port sont corrects
5. Connectez-vous à Guardian Cloud pour consulter les rapports de provisionnement des appareils.
6. Vérifiez si la définition de votre système est configurée pour une approbation automatique ou manuelle.

**Prévention**

* Assurez une connectivité réseau stable et une configuration adéquate du pare-feu
* Configurez des règles de pare-feu appropriées pour les points de terminaison Guardian Cloud
* Testez la connectivité dans votre environnement réseau avant le déploiement

```cpp
Status Shutdown(
    const bool & in_force =false
)
```

#### **Problèmes d’exécution des commandes**

**Erreurs de fichier introuvable :**

* Vérifiez que tous les fichiers de profil requis (.mcts, .mcpip, .mcpp) se trouvent dans le répertoire spécifié
* Vérifiez les autorisations des fichiers et assurez-vous que l’utilitaire peut lire les fichiers de profil
* Vérifiez que le chemin d’accès au profil est correct et accessible

**Erreurs de paramètre non valide :**

* Vérifiez que le nom du composant, le nom du système et l’identifiant matériel correspondent à la configuration de votre Guardian Cloud
* Vérifiez que l’identifiant matériel respecte les limites de longueur (généralement 36 caractères maximum)
* Vérifiez que le format de l’adresse IP est correct (hôte:port)

### **Problèmes de provisionnement du proxy**

Assurez-vous d’avoir satisfait aux [exigences de configuration du proxy](#proxy-device-provisioning).

**Appareil proxy non accepté :**

* Vérifiez que l’appareil proxy est entièrement provisionné et opérationnel. Cette étape doit être effectuée avant que l’appareil proxy puisse être utilisé pour provisionner d’autres appareils.
* Vérifiez que vous utilisez l’identifiant du composant et l’identifiant matériel de l’appareil proxy, et non ceux de l’appareil cible.
* Vérifiez que le profil de l’appareil proxy autorise les opérations de proxy.

**Problèmes de transfert de fichiers :**

* Vérifiez que la demande de provisionnement (`.mcpr` fichier) provenant de l’appareil déconnecté est accessible à l’appareil proxy.
* Vérifiez l’intégrité des fichiers lors des transferts manuels.
* Vérifiez que les autorisations du fichier permettent à l’appareil proxy de lire la demande de provisionnement.

## Débogage et journalisation

Guardian ne crée pas de fichiers journaux. La journalisation est plutôt contrôlée par l’application :

* Guardian écrit les journaux dans `stdout` et `stderr`, qui s’affichent dans le terminal/la CLI de l’application en cours d’exécution. Recherchez dans la sortie les codes d’erreur spécifiques ou les échecs de connexion.
* **Journalisation personnalisée :** Utilisez `SetLoggingCallback` pour rediriger les messages de journalisation vers une fonction de rappel, interrompre leur affichage dans le terminal et permettre un traitement personnalisé des journaux
* **Contrôle de la journalisation :** Les applications peuvent contrôler le niveau et le degré de détail de la journalisation.
* **Interface utilisateur de Guardian Cloud**: Consultez l’interface Guardian Cloud pour obtenir des détails supplémentaires sur les erreurs et connaître l’état du provisionnement.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.medcrypt.com/fr/guardian/understand-device-provisioning/begin-device-provisioning/provision-devices-using-command-line.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
