Jamdesk Documentation logo

Structure des répertoires

Comment organiser les fichiers dans un dépôt de documentation Jamdesk : fichiers requis, répertoires de pages, images, snippets et spécifications OpenAPI.

Cette page explique comment organiser les fichiers dans un dépôt de documentation Jamdesk, du minimum de deux fichiers jusqu'à une structure complète multi-répertoires.

Structure minimale

Le projet Jamdesk le plus simple ne nécessite que deux fichiers :

my-docs/
├── docs.json           # Configuration
└── introduction.mdx    # Your first page

Structure recommandée

Pour les sites de documentation plus grands, organisez les pages en répertoires :

my-docs/
├── docs.json
├── introduction.mdx
├── quickstart.mdx

├── guides/
   ├── getting-started.mdx
   ├── authentication.mdx
   └── deployment.mdx

├── api-reference/
   ├── overview.mdx
   ├── endpoints/
   ├── users.mdx
   └── projects.mdx
   └── webhooks.mdx

├── images/
   ├── logo.svg
   ├── favicon.svg
   └── screenshots/
       └── dashboard.png

└── snippets/
    └── api-base-url.mdx

Le dépôt de documentation Jamdesk est un exemple de production de cette structure : deux onglets, plus de 120 pages, des spécifications OpenAPI et des scripts personnalisés.

Fichiers requis

docs.json

Le fichier de configuration qui définit votre site. Doit se trouver à la racine de votre répertoire de documentation (ou dans le chemin spécifié dans les paramètres du projet).

docs.json
{
  "$schema": "https://jamdesk.com/docs.json",
  "name": "My Documentation",
  "theme": "jam",
  "colors": {
    "primary": "#635BFF"
  },
  "navigation": {
    "groups": [
      {
        "group": "Getting Started",
        "pages": ["introduction", "quickstart"]
      }
    ]
  }
}

Consultez la Référence docs.json pour toutes les options.

Organisation des pages

Structure plate ou imbriquée

Choisissez selon la taille de votre documentation :

Conservez toutes les pages à la racine :

docs/
├── docs.json
├── introduction.mdx
├── installation.mdx
├── configuration.mdx
└── troubleshooting.mdx

Référencez les pages directement dans la navigation :

"pages": ["introduction", "installation"]

Conventions de nommage

ConventionExampleURL
Lowercasegetting-started.mdx/getting-started
Kebab-caseapi-reference.mdx/api-reference
Directoriesguides/auth.mdx/guides/auth

Évitez les espaces et les caractères spéciaux dans les noms de fichiers. Utilisez des tirets pour séparer les mots.

Répertoires spéciaux

images/

Stockez les images, logos et favicons :

images/
├── logo-light.webp     # Light mode logo
├── logo-dark.webp      # Dark mode logo
├── favicon.svg         # Browser favicon
└── screenshots/        # Documentation screenshots
    └── dashboard.png

Référencez dans docs.json :

docs.json
{
  "logo": {
    "light": "/images/logo-light.webp",
    "dark": "/images/logo-dark.webp"
  },
  "favicon": "/images/favicon.svg"
}

snippets/

Blocs de contenu réutilisables :

snippets/
├── api-base-url.mdx
└── auth-header.mdx

Incluez dans les pages :

<Snippet file="api-base-url.mdx" />

openapi/

Fichiers de spécification OpenAPI pour la documentation de l'API :

openapi/
├── api.yaml
└── webhooks.yaml

Référencez dans docs.json :

docs.json
{
  "api": {
    "openapi": ["/openapi/api.yaml"]
  }
}

Pour un exemple en conditions réelles, consultez Exemple OpenAPI.

Fichiers de spécification spécifiques à une langue

Pour les sites de documentation multilingues, ajoutez des fichiers de spécification traduits à côté de la source, avec un infixe de code de langue :

openapi/
├── api.yaml
├── api.fr.yaml
├── api.es.yaml
└── api.zh.yaml

Jamdesk sert automatiquement la spécification correcte lorsqu'une page est affichée sous un préfixe de langue (/fr/…, /es/…, etc.). Consultez Support multilingue → Traduction des specs OpenAPI pour connaître l'ensemble des règles sur ce qu'il faut traduire et ce qu'il faut conserver à l'identique.

Fichiers à ignorer

Créez un fichier .gitignore pour exclure les artefacts de build :

.jamdesk/
node_modules/
.DS_Store
*.log

Le répertoire .jamdesk/ contient le cache de développement local et ne doit pas être commité.

Et ensuite ?

Support des monorepos

Configurer le chemin de documentation pour les monorepos

Référence docs.json

Toutes les options de configuration