Bien démarrer

Structure du projet

Comprendre la structure de projet de Docus v4.

Structure globale

Docus est un layer Nuxt qui étend votre application Nuxt standard avec des fonctionnalités de documentation. Cela vous donne la flexibilité d'un projet Nuxt classique.

Lorsque vous créez un nouveau projet Docus avec npx create-docus my-docs, voici la structure de base:

my-docs/
├── content/             # Votre contenu markdown
   ├── index.md         # Page d'accueil
   └── docs/            # Pages de documentation
├── public/              # Ressources statiques
└── package.json         # Dépendances et scripts

Vous pouvez toujours utiliser n'importe quelle fonctionnalité ou fichier d'un projet Nuxt classique :

my-docs/
├── nuxt.config.ts       # Configuration Nuxt (ajouter des modules, composants...)
├── app/                 # Répertoire app
    ├── app.config.ts    # App configuration
   ├── components/      # Composants (ajoutez vos propres composants)
   ├── layouts/         # Layouts (ajoutez vos propres layouts)
   └── pages/           # Pages (ajoutez vos propres pages)
└── server/              # Code côté serveur (ajoutez votre propre code côté serveur)

Répertoire content/

C'est ici que vous rédigez vos pages en Markdown. Docus génère automatiquement les routes basées sur votre structure de fichiers.

Structure monolingue :

content/
├── index.md
├── getting-started.md
└── guide/
    ├── introduction.md
    └── configuration.md

Structure multilingue (avec i18n) :

content/
├── en/
   ├── index.md
   └── guide/
       └── introduction.md
└── fr/
    ├── index.md
    └── guide/
        └── introduction.md
Plus d'informations sur i18n sont disponibles dans la section Internationalisation.

Répertoire public/

Les fichiers contenus dans le répertoire public/ sont servis à la racine et ne sont pas modifiés par le processus de build. C'est ici que vous pouvez placer vos images, icônes et autres ressources statiques.

package.json

Ce fichier contient toutes les dépendances et scripts de votre application. Le package.json d'une application Docus est vraiment minimal et ressemble à :

package.json
{
  "name": "my-docs",
  "scripts": {
    "build": "nuxt build --extends docus",
    "dev": "nuxt dev --extends docus",
  },
  "dependencies": {
    "docus": "latest",
    "better-sqlite3": "^12.2.0",
    "nuxt": "^4.0.0"
  }
}

nuxt.config.ts

Ce fichier n'est pas obligatoire pour démarrer une application Docus.

Vous pouvez ajouter des modules supplémentaires à votre fichier de configuration Nuxt :

nuxt.config.ts
export default defineNuxtConfig({
  extends: ['@nuxtjs/plausible']
})

app.config.ts

Ce fichier n'est pas obligatoire pour démarrer une application Docus.

Un fichier nuxt.config.ts doit être existant pour surcharger votre app config. Sans le fichier Nuxt config, vos surcharges ne seront pas prises en compte.

C'est ici que vous pouvez configurer Docus pour l'adapter à votre marque, gérer le SEO, définir votre locale et adapter les liens et réseaux sociaux.

app.config.ts
export default defineAppConfig({
  docus: {
    locale: 'fr', // Définir votre locale monolingue
  },
  seo: {
    title: 'Ma Documentation',
    description: 'Ma super documentation',
  },
  // ... autres configurations
})

Structure complète d'un projet Nuxt

Puisque Docus est un layer Nuxt, vous pouvez utiliser n'importe quelle fonctionnalité d'un projet Nuxt standard :

Un fichier nuxt.config.ts doit être existant pour surcharger votre app Nuxt. Sans le fichier Nuxt config, vos surcharges ne seront pas prises en compte.
my-docs/
├── app/                 # Répertoire app (optionnel)
   ├── app.config.ts    # App configuration
   ├── components/      # Composants Vue personnalisés
   ├── layouts/         # Layouts personnalisés
   ├── pages/           # Pages Vue personnalisées (en dehors du contenu)
   ├── composables/     # Composables Vue
   └── middleware/      # Middleware de route
├── server/              # Code côté serveur
   └── api/             # Routes API
├── plugins/             # Plugins Nuxt
├── middleware/          # Middleware global
└── modules/             # Modules Nuxt personnalisés
Cette approche basée sur les layers offre toutes les fonctionnalités d'un projet Nuxt classique.
Copyright © 2026