> For the complete documentation index, see [llms.txt](https://docs.mindee.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.mindee.com/v2/fr/integrations/client-libraries-sdk.md).

# Bibliothèques clientes / SDK

Bibliothèques clientes officiellement prises en charge pour intégrer la plateforme Mindee.

En utilisant les bibliothèques clientes, vous pourrez intégrer plus rapidement et réduire vos coûts de maintenance.

Des outils utiles sont également fournis, par exemple le traitement de PDF et la compression d'images.

Vous pouvez utiliser les bibliothèques clientes pour effectuer des requêtes API selon les schémas de polling et de webhook.

Toutes nos bibliothèques clientes sont open source (licence MIT) et hébergées sur [GitHub](https://github.com/mindee).

Langages/frameworks pris en charge : **Python**, **Node.js** (JS/TS), **PHP**, **Ruby**, **Java**, **.NET** (C#).

## Quand utiliser un SDK ?

Les SDK sont recommandés chaque fois que votre intégration inclut du code applicatif. Ils simplifient et structurent les requêtes API de manière idiomatique, et incluent des outils pour les opérations courantes sur les fichiers. Chaque SDK est également fourni avec un [utilitaire CLI](/v2/fr/integrations/client-libraries-sdk/command-line-tools-cli.md) pour des tests rapides.

Les SDK fonctionnent pour les applications auto-hébergées et les intégrations de plateformes de développement, y compris les fonctions serverless.

#### Fonctions serverless

Le SDK Node.js est compatible avec toutes les principales plateformes qui proposent des fonctions serverless. [Installez-le](#installation-instructions) via `npm` comme d'habitude.

Cela dit, selon votre plateforme, d'autres SDK sont compatibles :

* **Supabase** Edge Functions : SDK Node.js.
* **Vercel** Functions : SDK Node.js, Python et Ruby.
* **Firebase** Cloud Functions : SDK Node.js et Python.
* **AWS** Lambda : SDK Node.js, Python, Java, .NET (C#) et Ruby.\
  PHP avec un runtime personnalisé.

## Instructions d'installation

{% tabs %}
{% tab title="Python" %}
Nécessite Python ≥ 3.10. Python ≥ 3.12 est recommandé.

Installez simplement le [package PyPI](https://pypi.org/project/mindee/) à l'aide de `pip`:

```sh
pip install -U mindee~=5.3
```

{% endtab %}

{% tab title="Node.js" %}
Nécessite Node.js ≥ 20.1. Node.js ≥ 22 est recommandé.

Installez simplement le [package NPM](https://www.npmjs.com/package/mindee):

```sh
npm install mindee@^5.10.0
```

{% endtab %}

{% tab title="PHP" %}
Nécessite PHP ≥ 8.1. PHP ≥ 8.3 est recommandé.

Installez simplement le [package Packagist](https://packagist.org/packages/mindee/mindee) à l'aide de [composer](https://getcomposer.org/):

```sh
php composer.phar require "mindee/mindee:>=3.2"
```

{% endtab %}

{% tab title="Ruby" %}
Nécessite Ruby ≥ 3.2.

Installez simplement le [gem](https://rubygems.org/gems/mindee) avec :

```shell
gem install mindee -v '~> 5.4'
```

{% endtab %}

{% tab title="Java" %}
Nécessite Java ≥ 11. Java ≥ 17 est recommandé.

ID du groupe : `com.mindee.sdk`\
ID de l'artefact : `mindee-api-java`\
Version : `5.5.0` ou plus

Il existe diverses méthodes d'installation, Maven, Gradle, etc. :

[Détails de l'installation](https://central.sonatype.com/artifact/com.mindee.sdk/mindee-api-java)
{% endtab %}

{% tab title=".NET" %}
.NET ≥ 8.0 est recommandé.

Installez simplement le [package NuGet](https://www.nuget.org/packages/Mindee) à l'aide de `dotnet add`:

```sh
dotnet add package Mindee --version 4.8
```

{% endtab %}
{% endtabs %}

Vous ne voyez pas la prise en charge de votre langage ou framework préféré ? [Faites une demande de fonctionnalité !](https://feedback.mindee.com/?b=682f69c9e2404756e7e68d1c)

## Détails d'utilisation

Globalement, les étapes pour utiliser le service Mindee sont les suivantes :

1. [Configuration du client](/v2/fr/integrations/client-libraries-sdk/configure-the-client.md)
   1. Initialisez le client Mindee.
   2. Définissez les paramètres du produit/modèle, l'ID de modèle est requis.\
      Chaque produit disposera de paramètres différents.
2. [Charger et ajuster un fichier](/v2/fr/integrations/client-libraries-sdk/load-and-adjust-a-file.md)
   1. Chargez un fichier depuis diverses sources prises en charge : chemin, octets, etc.
   2. *Facultatif*: compressez ou découpez le fichier source avant l'envoi.
3. [Envoyer un fichier ou une URL](/v2/fr/integrations/client-libraries-sdk/send-a-file-or-url.md)
   1. Envoyez le fichier ou une URL avec les paramètres du produit.
4. [Traitement des réponses](/v2/fr/integrations/client-libraries-sdk/process-the-response.md)
   1. Facultatif : recevoir le résultat directement
   2. Facultatif : recevoir un webhook.
5. Traitement spécifique au produit\
   Chaque type de modèle possède des objets de résultat différents.
   1. Traitez les résultats extraits du fichier
   2. Facultatif : accéder aux métadonnées des champs (polygones, score de confiance)

## Foire aux questions

<details>

<summary><strong>Puis-je envoyer des requêtes en parallèle ?</strong></summary>

Oui. Tous les clients peuvent être utilisés pour envoyer des requêtes en parallèle.

L'implémentation exacte est laissée à l'utilisateur :

* Pour Node.js, il vous faudra utiliser un traitement asynchrone.
* Pour tous les autres, il vous faudra utiliser des threads ou des processus.

</details>

<details>

<summary><strong>Puis-je utiliser ensemble les API v1 et v2 ?</strong></summary>

Oui. Chaque bibliothèque cliente prend en charge les API v1 et v2.

Vous devrez créer une instance distincte des classes clientes :

* Pour .NET et Java, utilisez `MindeeClient` et `MindeeClientV2`
* pour toutes les autres, utilisez `Client` et `ClientV2`

Le code pour effectuer les requêtes et traiter les résultats est **très différent** entre v1 et v2.

Nous vous recommandons vivement d'avoir des fichiers distincts (voire des modules) pour gérer chaque version d'API.

</details>

<details>

<summary><strong>Puis-je envoyer uniquement une page spécifique d'un PDF multipage ?</strong></summary>

Oui. Toutes les bibliothèques prennent en charge la découpe/l'extraction de pages PDF.

Pour plus d'informations, consultez : [Charger et ajuster un fichier](/v2/fr/integrations/client-libraries-sdk/load-and-adjust-a-file.md#manipulate-pdf-pages).

</details>

<details>

<summary><strong>Comment empêcher l'envoi de PDF comportant trop de pages ?</strong></summary>

**N'utilisez pas la taille du fichier**, un PDF textuel de 200 pages peut être plus petit qu'une seule photo.

Il est bien plus fiable de compter le nombre réel de pages dans le document PDF.

Utilisez les méthodes et propriétés de métadonnées de fichier intégrées pour ajouter facilement des règles métier basées sur le nombre de pages (entre autres données).

Pour plus d'informations, consultez : [Charger et ajuster un fichier](/v2/fr/integrations/client-libraries-sdk/load-and-adjust-a-file.md#source-file-metadata).

</details>

<details>

<summary><strong>Quelles fonctionnalités de la bibliothèque sont officiellement prises en charge ?</strong></summary>

Tout ce qui est documenté ici est officiellement pris en charge et considéré comme stable pour une utilisation en production.

Tout élément d'une bibliothèque qui n'est pas documenté ici est **pas** officiellement pris en charge et susceptible d'être modifié ou supprimé.

</details>

<details>

<summary><strong>Il y a un bug dans le SDK, que dois-je faire ?</strong></summary>

Si vous rencontrez un problème persistant, vous devriez d'abord essayer :

1. Demander de l'aide à l'assistant Docs : <button type="button" class="button primary" data-action="ask" data-icon="gitbook-assistant">Poser une question...</button>
2. Demander de l'aide à votre agent local en utilisant l'un de nos [fichiers SKILL](/v2/fr/integrations/ai-coding-assistants.md#skill-files)

Après cela, si vous déterminez (ou si l'on vous indique) qu'il y a un problème avec le SDK lui-même, la meilleure option serait d'ouvrir un rapport de bug sur le dépôt GitHub du SDK concerné :

* **Python**: <https://github.com/mindee/mindee-api-python/issues>
* **Node.js**: <https://github.com/mindee/mindee-api-nodejs/issues>
* **PHP**: <https://github.com/mindee/mindee-api-php/issues>
* **Ruby**: <https://github.com/mindee/mindee-api-ruby/issues>
* **Java**: <https://github.com/mindee/mindee-api-java/issues>
* **.NET**: <https://github.com/mindee/mindee-api-dotnet/issues>

Nos ingénieurs SDK seront automatiquement informés du nouveau problème.

{% hint style="info" icon="user" %}
Les offres Pro et supérieures peuvent contacter directement nos équipes d'assistance.
{% endhint %}

</details>


---

# 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.mindee.com/v2/fr/integrations/client-libraries-sdk.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.
