# Docs
**Source:** https://fr.divanshu.doctunes.io/docs
**Language:** French

---

Index de la documentation

Besoin d'un test en direct ? 

Testez vos chemins de réécriture de sous-proxy dans notre simulateur de route en direct.

Ouvrir l'aire de jeux →

Routeur d'application Next.js 15 •TypeScript •Passerelle Multilipi

# Kit de démarrage de documentation DocTunes

Guide complet pour construire des docs de développeur modernes, configurer un middleware de routage en périphérie et mettre en place des traductions automatisées multilingues par sous-proxy.

## Pour commencer

Pour initialiser votre nouveau portail de documentation avec notre kit de démarrage TypeScript, exécutez la commande suivante dans votre terminal :

Commande du terminal

```
# Cloner et installer les dépendances
git clone https://github.com/doctunes/documentation-starter-kit.git my-docs
cd my-docs
npm install

# Démarrer le serveur de développement sur localhost:3000
npm run dev
```

Disposition du répertoire du projet : 

- **middleware.ts** — Gestionnaire de réécriture de sous-proxy multilingue global
- **app/layout.tsx** — Coque HTML globale, déclarations de polices et barre de navigation/pied de page
- **app/page.tsx** — Page d'atterrissage et héros interactif
- **app/docs/page.tsx** — Hub de documentation principal
- **app/playground/page.tsx** — Simulateur de routage interactif
- **components/** — CodeBlock, Navbar, SearchModal réutilisables, etc.

## Middleware multi-langue

Le cœur de notre moteur d'internationalisation est le edge `middleware.ts` placé à la racine du projet. Il intercepte toutes les requêtes entrantes, teste par rapport à une regex de préfixe de plus de 80 langues, et réécrit en toute sécurité la requête vers le proxy de traduction.

middleware.ts (Middleware Edge Racine)

```
|  |  |
| --- | --- |
| 1 | import { NextRequest, NextResponse } from 'next/server' |
| 2 |  |
| 3 | const LANGUAGE_PATH = new RegExp( |
| 4 | '^/(?:mn-mong|sr-cyrl|sr-latn|zh-hans|zh-hant|es-419|en-us|en-gb|en-ca|en-au|fr-fr|fr-ca|fr-be|fr-ch|de-de|de-at|de-ch|pt-pt|pt-br|es-es|mww|af|sq|am|ar|hy|as|az|ba|eu|bn|bs|pt|bg|ca|hr|cs|da|dv|nl|en|et|fo|fj|fl|fi|fr|gl|ka|de|el|gu|ht|ha|he|hi|hu|is|ig|id|iu|ga|it|ja|kn|kk|rw|ko|ku|ky|lo|lv|ln|lt|lg|mk|mg|ms|ml|mt|mr|ne|no|or|ps|fa|pl|pa|ro|ru|sm|sd|si|sk|sl|so|es|sw|sv|ty|ta|tt|te|th|bo|ti|to|tr|tk|uk|ur|ug|uz|vi|cy|xh|yo|zu)(?:/|$)', |
| 5 | 'i' |
| 6 | ) |
| 7 |  |
| 8 | export function middleware(request: NextRequest) { |
| 9 | if (!LANGUAGE_PATH.test(request.nextUrl.pathname)) { |
| 10 | return NextResponse.next() |
| 11 | } |
| 12 |  |
| 13 | const destination = new URL( |
| 14 | request.nextUrl.pathname + request.nextUrl.search, |
| 15 | 'https://sub-proxy.Multilipi.com' |
| 16 | ) |
| 17 | const headers = new Headers(request.headers) |
| 18 | headers.set('X-Translation-Mode', 'sub-directory') |
| 19 | headers.set('X-Original-Host', 'divanshu.doctunes.io') |
| 20 | return NextResponse.rewrite(destination, { request: { headers } }) |
| 21 | } |
| 22 |  |
| 23 | export const config = { matcher: '/:path*' } |
```

Comment fonctionnent les réécritures 

Contrairement aux redirections HTTP 301/302 standard, `NextResponse.rewrite()` modifie l'origine du proxy backend tout en gardant l'URL exacte dans la barre d'adresse du navigateur de l'utilisateur complètement intacte.

## En-têtes de sous-proxy

Lors de la réécriture vers `https://sub-proxy.multilipi.com`, deux en-têtes obligatoires sont injectés pour assurer une isolation précise du locataire et un mode de traduction :

| Nom de l'en-tête | Valeur | Objectif |
| --- | --- | --- |
| X-Translation-Mode | sous-répertoire | Indique au moteur de traduction Multilipi d'analyser la locale à partir du chemin principal. |
| X-Original-Host | divanshu.doctunes.io | Spécifie le domaine d'origine enregistré pour la validation SSL et des licences. |

## Locales prises en charge (80+)

L'expression régulière gère à la fois les codes de langue génériques à 2 lettres (par exemple `es` , `de` , `fr` ) et les balises de dialecte régional localisées (par exemple `zh-hans` , `pt-br` , `sr-cyrl` ):

/en-us /

/es-es /

/fr-fr /

/de-de /

/zh-hans /

/zh-hant /

/ja /

/hi /

/ar /

/pt-br /

/ru /

/ko /

/it /

/nl /

/sv /

/pl /

/tr /

/vi /

/th /

/el /

/cs /

/da /

/fi /

/he /

+ plus de 50 langues mondiales supplémentaires prises en charge dynamiquement.

## Composants d'interface et blocs de code

Chaque page comprend des composants d'interface utilisateur en mode sombre pré-stylisés tels que des blocs de code copiables, des tableaux responsifs, des bannières d'alerte et des boîtes de dialogue modales.

components/ExampleUsage.tsx

```
import CodeBlock from '@/components/CodeBlock'

export default function MyDocs() {
  return (
    <div className="space-y-4">
      <h3>Installation</h3>
      <CodeBlock 
        code="npm install @doctunes/core" 
        language="bash" 
        showLineNumbers 
      />
    </div>
  )
}
```

## Référence API

DocTunes fournit des fonctions d'assistance REST et Edge pour inspecter par programmation les configurations de paramètres régionaux :

GET /api/v1/locales 200 OK

Renvoie la liste des paramètres régionaux actifs du sous-proxy, leur statut et le nom d'hôte cible.

json

```
{
  "status": "online",
  "gateway": "https://sub-proxy.Multilipi.com",
  "originalHost": "divanshu.doctunes.io",
  "totalLocales": 84,
  "defaultLocale": "en"
}
```

## Guide de déploiement

Déployez votre projet instantanément sur Vercel, AWS Amplify, Cloudflare Pages ou des conteneurs Docker auto-hébergés :

Déploiement via la CLI Vercel

```
# Déployer en production avec un environnement personnalisé
npx vercel --prod
```