> For the complete documentation index, see [llms.txt](https://docs.ipcheck.ing/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.ipcheck.ing/developer/fr/welcome.md).

# Bienvenue

Documentation développeur pour MyIP (IPCheck.ing) — déployez votre propre instance, comprenez la base de code et contribuez au projet.

**MyIP** est une boîte à outils IP open source : recherche d’IP à partir de plusieurs sources, tests de connectivité, détection WebRTC et des fuites DNS, test de vitesse, tests de latence mondiale et MTR, Whois, profils ASN, résolveur DNS, vérifications de censure, empreinte du navigateur, calculateur d’IP, recherche d’IP en masse directement à partir de journaux collés, et bien plus encore — le tout dans une seule application auto-hébergeable, fournie sous forme d’une seule image Docker.

<button type="button" class="button primary" data-action="ask" data-icon="gitbook-assistant">Poser une question…</button>

<button type="button" class="button secondary" data-action="ask" data-query="How do I deploy MyIP with Docker?" data-icon="docker">Déployer avec Docker</button><button type="button" class="button secondary" data-action="ask" data-query="How do I set up MaxMind GeoLite2 for MyIP?" data-icon="database">Configurer MaxMind</button><button type="button" class="button secondary" data-action="ask" data-query="How do I add a new tool to MyIP?" data-icon="wand-magic-sparkles">Ajouter un nouvel outil</button><button type="button" class="button secondary" data-action="ask" data-query="How do I contribute to MyIP?" data-icon="code-pull-request">Contribuer</button>

{% hint style="success" icon="globe" %}
**Voir en direct** — l’instance officielle fonctionne à [ipcheck.ing](https://ipcheck.ing). Tout ce que vous y voyez est ce que vous obtenez lorsque vous l’auto-hébergez.
{% endhint %}

## Par où commencer

<table data-view="cards"><thead><tr><th></th><th></th><th></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td><h3><i class="fa-rocket-launch" style="color:$primary;">:rocket-launch:</i></h3></td><td><h4><strong>Prise en main</strong></h4></td><td>Déployez votre propre instance avec Docker ou Node.js.</td><td><a href="/developer/fr/getting-started/quickstart.md">guide de démarrage rapide</a></td></tr><tr><td><h3><i class="fa-sliders" style="color:$success;">:sliders:</i></h3></td><td><h4><strong>Configuration</strong></h4></td><td>Clés API, sécurité, journalisation, supervision — tout est facultatif.</td><td><a href="/developer/fr/configuration/optional-api-keys.md">Clés API facultatives</a></td></tr><tr><td><h3><i class="fa-sitemap" style="color:$warning;">:sitemap:</i></h3></td><td><h4><strong>Architecture</strong></h4></td><td>Comment le frontend, le backend et les couches de données s’articulent.</td><td><a href="/developer/fr/architecture/project-structure.md">Structure du projet</a></td></tr><tr><td><h3><i class="fa-code" style="color:$info;">:code:</i></h3></td><td><h4><strong>Développement</strong></h4></td><td>Conventions, i18n, tests et ajout de vos propres outils.</td><td><a href="/developer/fr/development/dev-environment.md">Environnement de développement</a></td></tr><tr><td><h3><i class="fa-code-pull-request" style="color:$danger;">:code-pull-request:</i></h3></td><td><h4><strong>Contribution</strong></h4></td><td>Discipline de branche, directives de PR, style de commit et traductions.</td><td><a href="/developer/fr/contributing/how-to-contribute.md">Comment contribuer</a></td></tr><tr><td><h3><i class="fa-book-open" style="color:$primary;">:book-open:</i></h3></td><td><h4><strong>Référence</strong></h4></td><td>Chaque variable d’environnement, chaque point de terminaison API et la FAQ.</td><td><a href="/developer/fr/reference/environment-variables.md">référence des variables d’environnement</a></td></tr></tbody></table>

{% columns %}
{% column width="50%" %}

## Déployez en quelques minutes

MyIP est fourni sous la forme d’une seule image Docker contenant les deux parties de l’application : le **Vue 3** frontend monopage et le **Express 5** API backend.

La seule exigence impérative est une paire d’identifiants gratuits **MaxMind GeoLite2** — ils alimentent la géolocalisation IP et les recherches ASN dans toute l’application.

{% hint style="warning" icon="triangle-exclamation" %}
**Ne sautez pas MaxMind.** Un conteneur fraîchement lancé sans identifiants MaxMind démarre correctement, mais la géolocalisation IP et les badges de pays restent défaillants. La configuration prend cinq minutes et ne coûte rien — voir [Configuration de MaxMind](/developer/fr/getting-started/maxmind-setup.md).
{% endhint %}

{% hint style="info" icon="server" %}
**Vous préférez une installation sur machine nue ?** Vous pouvez exécuter MyIP directement avec Node.js et pnpm, avec une gestion de processus pm2 en option — voir [Déployer avec Node.js](/developer/fr/getting-started/deploy-with-nodejs.md).
{% endhint %}

<a href="/developer/fr/getting-started/quickstart.md" class="button primary" data-icon="rocket-launch">Démarrage rapide</a> <a href="/developer/fr/reference/environment-variables.md" class="button secondary" data-icon="gear">Variables d’environnement</a>
{% endcolumn %}

{% column width="50%" %}
{% stepper %}
{% step %}

#### Obtenir les identifiants MaxMind

Créez un compte [GeoLite2 gratuit](https://www.maxmind.com/en/geolite2/signup) et générez une clé de licence.
{% endstep %}

{% step %}

#### Lancer le conteneur

{% code overflow="wrap" %}

```bash
docker run -d -p 18966:18966 \\
  -e MAXMIND_ACCOUNT_ID="YOUR_ACCOUNT_ID" \\
  -e MAXMIND_LICENSE_KEY="YOUR_LICENSE_KEY" \\
  -e DATASET_AUTO_UPDATE="true" \
  --name myip --restart always \\
  jason5ng32/myip:latest
```

{% endcode %}
{% endstep %}

{% step %}

#### Ouvrez votre instance

Visitez `http://localhost:18966` — les bases de données GeoLite2 se téléchargent automatiquement en environ une minute au premier démarrage.
{% endstep %}
{% endstepper %}
{% endcolumn %}
{% endcolumns %}

## Pages populaires

{% columns %}
{% column %}

### Pour les personnes qui déploient

{% content-ref url="/pages/84a2f1979ad26ac759285b19f9252a53d2437dd6" %}
[Déployer avec Docker](/developer/fr/getting-started/deploy-with-docker.md)
{% endcontent-ref %}

{% content-ref url="/pages/8d37838269c4de29e6e7c5b4de03c5151fe18af9" %}
[Configuration de MaxMind (requise)](/developer/fr/getting-started/maxmind-setup.md)
{% endcontent-ref %}

{% content-ref url="/pages/73661187be9d8079c58d31c99cf7785449817d8d" %}
[Proxy inverse et domaines](/developer/fr/getting-started/reverse-proxy-and-domains.md)
{% endcontent-ref %}
{% endcolumn %}

{% column %}

### Pour les développeurs

{% content-ref url="/pages/4c942f8024bd66fb7ba65d3f9d9ce21929534d4a" %}
[Ajouter un nouvel outil](/developer/fr/development/adding-a-new-tool.md)
{% endcontent-ref %}

{% content-ref url="/pages/2f2200247d0e631182c7e2c0e347de4750526450" %}
[Sources de données IP](/developer/fr/architecture/ip-data-sources.md)
{% endcontent-ref %}

{% content-ref url="/pages/d7008c480f753cbd11f1040004809d5d421272a4" %}
[Points de terminaison de l’API](/developer/fr/reference/api-endpoints.md)
{% endcontent-ref %}
{% endcolumn %}

{% column %}

### En cas de blocage

{% content-ref url="/pages/9b19322032ab5551e2923ae4c57bc9d078003a8b" %}
[FAQ](/developer/fr/reference/faq.md)
{% endcontent-ref %}

{% content-ref url="/pages/8f226ab59a8f295fb2f23e33e73ff09991684028" %}
[Fonctionnalités liées à IPCheck.ing](/developer/fr/configuration/features-tied-to-ipcheck-ing.md)
{% endcontent-ref %}

{% content-ref url="/pages/b285fc557071201a5e3535a7f9650ff6957dcb28" %}
[Signaler des problèmes](/developer/fr/contributing/reporting-issues.md)
{% endcontent-ref %}
{% endcolumn %}
{% endcolumns %}

<h2 align="center">Un projet open source, développé en toute transparence</h2>

<p align="center">MyIP est sous licence AGPL et hébergé sur GitHub. Ajoutez-lui une étoile, forkez-le ou envoyez votre première PR.</p>

<table data-card-size="large" data-view="cards"><thead><tr><th></th><th></th><th></th><th></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td><h4><i class="fa-github">:github:</i></h4></td><td><strong>GitHub</strong></td><td>Code source, issues et pull requests. Toutes les contributions, petites ou grandes, sont les bienvenues.</td><td><a href="https://github.com/jason5ng32/MyIP" class="button secondary">Ouvrir le dépôt</a></td><td><a href="https://github.com/jason5ng32/MyIP">https://github.com/jason5ng32/MyIP</a></td></tr><tr><td><h4><i class="fa-docker">:docker:</i></h4></td><td><strong>Docker Hub</strong></td><td>L’image officielle, reconstruite à chaque version. Un seul pull pour les deux parties de l’application.</td><td><a href="https://hub.docker.com/r/jason5ng32/myip" class="button secondary">Récupérer l’image</a></td><td><a href="https://hub.docker.com/r/jason5ng32/myip">https://hub.docker.com/r/jason5ng32/myip</a></td></tr></tbody></table>

***

Vous cherchez de l’aide **pour utiliser** l’application — ce que fait chaque outil, comment diagnostiquer les problèmes réseau, les concepts réseau ? Rendez-vous sur la **Base de connaissances** à la place ; ces pages sont destinées aux personnes qui déploient, forkent ou contribuent à MyIP.


---

# 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.ipcheck.ing/developer/fr/welcome.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.
