Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
216 changes: 216 additions & 0 deletions src/content/docs/fr/how-it-works/cli.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,216 @@
---
i18nReady: true
title: "La CLI"
description: "Découvrez les CLI de StudioCMS et comment les utiliser."
sidebar:
order: 2
---

import { Tabs, TabItem } from '@astrojs/starlight/components';
import ReadMore from '~/components/ReadMore.astro';

# Présentation

Les interfaces en ligne de commandes (CLI) de StudioCMS sont des utilitaires qui vous permettent de créer rapidement de nouveaux projets StudioCMS et qui exposent des utilitaires utiles pour StudioCMS.

Il existe deux CLI différentes qui font partie de l’écosystème de StudioCMS :

- **`create-studiocms`** : La CLI pour créer des projets StudioCMS.
- **`studiocms`** : La CLI des utilitaires de StudioCMS.

Voici une présentation de la CLI de StudioCMS et de ses composants.

## `create-studiocms`

### Installation

<Tabs syncKey='pkgs'>
<TabItem label="npm" icon="seti:npm">
```sh
npm create studiocms@latest
```
</TabItem>
<TabItem label="pnpm" icon="pnpm">
```sh
pnpm create studiocms
```
</TabItem>
<TabItem label="yarn" icon="seti:yarn">
```sh
yarn create studiocms
```
</TabItem>
</Tabs>

`create-studiocms` s’exécute automatiquement en mode _interactif_, mais vous pouvez également spécifier le nom et le modèle de votre projet avec des arguments de ligne de commandes.

<Tabs syncKey='pkgs'>
<TabItem label="npm" icon="seti:npm">
```sh
npm create studiocms@latest -- --template studiocms/basics --project-name my-studiocms-project
```
</TabItem>
<TabItem label="pnpm" icon="pnpm">
```sh
pnpm create studiocms --template studiocms/basics --project-name my-studiocms-project
```
</TabItem>
<TabItem label="yarn" icon="seti:yarn">
```sh
yarn create studiocms --template studiocms/basics --project-name my-studiocms-project
```
</TabItem>
</Tabs>

[Découvrez la liste complète][templates] de modèles, disponibles sur GitHub.

Lors de l’utilisation de `--template`, la CLI recherche tous les dossiers dans le dépôt de modèles. Par exemple, le modèle `studiocms/basics` pointe vers le projet `basics` dans le dossier `studiocms` à la racine du dépôt.

### Toutes les options et commandes de la CLI

#### Point d’entrée principal

```log
Utilisation : create-studiocms [options] [command]

Options :
-V, --version Afficher la version actuelle de la CLI Toolkit.
-h, --help afficher l’aide pour la commande
--color forcer la sortie en couleurs
--no-color désactiver la sortie en couleurs

Commandes :
get-turso Obtenir la dernière version de Turso.
help Afficher l’aide pour la commande
interactive* Démarrer la CLI interactive.

* Indique la commande par défaut qui est exécutée lors de l’appel de cette CLI.
```

#### `get-turso`

Vous pouvez télécharger et installer la dernière version de Turso à l’aide du script de la [documentation](https://docs.turso.tech/cli/installation) de Turso.

:::note
Windows nécessite l’utilisation de WSL selon Turso
:::

```log
Utilisation : getTurso [options]

Programme d’installation de la CLI de Turso

Options :
-h, --help afficher l’aide pour la commande
```

#### Interactif (commande par défaut)

```log
Utilisation : create-studiocms interactive [options]

Démarrer la CLI interactive. Propulsé par [clack](https://clack.cc).

Cette commande ouvrira une invite de CLI interactive pour vous guider tout au
long du processus de création d’un nouveau projet StudioCMS (ou d’un paquet
d’écosystème StudioCMS) à l’aide de l’un des modèles disponibles.

Options :
-t, --template <template> Le modèle à utiliser.
-r, --template-ref <template-ref> La référence du modèle à utiliser.
-p, --project-name <project-name> Le nom du projet.
-i, --install Installer les dépendances.
-g, --git Initialiser un dépôt git.
-y, --yes Ignorer toutes les invites et utiliser les valeurs par défaut.
-n, --no Ignorer toutes les invites et utiliser les valeurs par défaut.
-q, --skip-banners Ignorer toutes les bannières et tous les messages.
-d, --dry-run N’effectuer aucune action.
-h, --help afficher l’aide pour la commande
--do-not-install Ne pas installer de dépendances.
--do-not-init-git Ne pas initialiser un dépôt git.
```

## `studiocms`

### Options et commandes complètes de la CLI

#### Point d’entrée principal

```log
Utilisation : studiocms [options] [command]

Options :
-V, --version Afficher la version actuelle de la CLI Toolkit.
-h, --help afficher l’aide pour la commande
--color forcer la sortie en couleurs
--no-color désactiver la sortie en couleurs

Commandes :
get-turso Obtenir la dernière version de Turso.
help Afficher l’aide pour la commande
init Outils d’initialisation.
```

#### `get-turso`

Téléchargez et installez la dernière version de Turso à l’aide du script de la [documentation](https://docs.turso.tech/cli/installation) de Turso.

:::note
Windows nécessite l’utilisation de WSL selon Turso
:::

```log
Utilisation : getTurso [options]

Programme d’installation de la CLI de Turso

Options :
-h, --help afficher l’aide pour la commande
```

#### `init`

```log
Utilisation : studiocms init [options]

Initialiser le projet StudioCMS après une nouvelle installation.

Options :
-d, --dry-run Mode de fonctionnement en marche à vide
--skip-banners Ignorer toutes les bannières
--debug Activer le mode débogage
-h, --help Afficher l’aide pour la commande
```

La commande init fournit une expérience de configuration interactive qui vous aide à :

1. Configurer votre fichier d’environnement (.env) avec des options pour :
- Utiliser un exemple de modèle de fichier `.env`
- Utiliser le générateur interactif de fichier `.env` qui peut :
- Configurer une nouvelle base de données Turso (si ce n’est pas sous Windows)
- Configurer les fournisseurs OAuth (GitHub, Discord, Google, Auth0)
- Définir les clés de chiffrement et autres variables requises
- Ignorer la création du fichier d’environnement

2. La commande inclut l’installation automatique de la CLI de Turso et l’authentification si nécessaire lors de la configuration d’une base de données.

## Variables d’environnement

StudioCMS nécessite la configuration de plusieurs variables d’environnement. Voici les principales :

```dotenv
# Configuration de la base de données
ASTRO_DB_REMOTE_URL=libsql://votre-base-de-donnees.turso.io
ASTRO_DB_APP_TOKEN=votre-jeton

# Configuration d’authentification
CMS_ENCRYPTION_KEY="..." # Généré avec openssl rand --base64 16
```

<ReadMore>Pour une liste complète des variables d’environnement, consultez la [documentation des variables d’environnement][environment-variables].</ReadMore>

Vous pouvez configurer ces variables à l’aide du générateur d’environnement interactif de la commande `studiocms init`.


[templates]: https://github.com/withstudiocms/templates
[environment-variables]: /fr/start-here/environment-variables/
133 changes: 133 additions & 0 deletions src/content/docs/fr/how-it-works/index.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,133 @@
---
i18nReady: true
title: "L’intégration"
description: "Découvrez comment StudioCMS vous aide à gérer et à diffuser votre contenu en explorant une présentation complète de ses composants fondamentaux."
sidebar:
order: 1
---

# Présentation

StudioCMS est un CMS puissant conçu pour Astro qui vous permet de gérer et de diffuser votre contenu à l’aide d’[Astro DB](https://docs.astro.build/fr/guides/astro-db/). Il est conçu pour être facile à utiliser et suffisamment flexible pour gérer tout type de contenu.

Étendre StudioCMS est également simple ! Vous pouvez créer vos propres modules d’extension pour ajouter de nouvelles fonctionnalités à StudioCMS.

L’intégration StudioCMS constitue la base de tout l’écosystème StudioCMS. Il fournit une solution CMS sans tête (ou « headless » en anglais) pour les projets Astro, vous permettant de gérer et de diffuser votre contenu à l’aide d’Astro DB. Voici une description de l’intégration StudioCMS et de ses composants.

## Modules virtuels

L’intégration StudioCMS fournit plusieurs [modules virtuels](https://vite.dev/guide/api-plugin#virtual-modules-convention) permettant de contrôler entièrement votre contenu dynamique. Ces modules sont principalement utilisés en interne par StudioCMS, mais les développeurs peuvent les utiliser pour accéder aux données StudioCMS. Voici les modules virtuels fournis par l’intégration StudioCMS :

### Modules virtuels d’authentification

- **`studiocms:auth/lib/encryption`** : Utilitaires de chiffrement pour StudioCMS.
- **`studiocms:auth/lib/password`** : Utilitaires de gestion de mots de passe pour StudioCMS.
- **`studiocms:auth/lib/rate-limit`** : Utilitaires de limitation de débit pour StudioCMS.
- **`studiocms:auth/lib/session`** : Utilitaires de gestion de session pour StudioCMS.
- **`studiocms:auth/lib/types`** : Types pour la bibliothèque d’authentification de StudioCMS.
- **`studiocms:auth/lib/user`** : Utilitaires de gestion des utilisateurs pour StudioCMS.
- **`studiocms:auth/utils/authEnvCheck`** : Utilitaires permettant de vérifier l’environnement d’authentification pour StudioCMS.
- **`studiocms:auth/utils/getLabelForPermissionLevel`** : Utilitaires permettant d’obtenir l’étiquette d’un niveau d’autorisation pour StudioCMS.

### Modules virtuels principaux

- **`studiocms:config`** : Fournit la configuration résolue pour l’écosystème de l’intégration StudioCMS.
- **`studiocms:version`** : Fournit la version actuelle de l’écosystème de l’intégration StudioCMS.
- **`studiocms:plugins`** : Fournit les interfaces du système de modules d’extension pendant l’exécution pour StudioCMS.
- **`studiocms:plugin-helpers`** : Fournit les fonctions d’assistance pour les modules d’extension de StudioCMS.
- **`studiocms:components`** : Fournit des composants exportés pour StudioCMS.
- **`studiocms:components/Editors`** : Fournit les composants de l’éditeur pour l’édition de pages.
- **`studiocms:components/dashboard-grid-components`** : Composants internes utilisés par le tableau de bord de StudioCMS.
- **`studiocms:components/dashboard-grid-items`** : Composants internes utilisés par le tableau de bord de StudioCMS.
- **`studiocms:component-proxy`** : Fournit le proxy de composants pour les composants définis par l’utilisateur dans StudioCMS.
- **`studiocms:lib`** : Fournit les assistants de la bibliothèque StudioCMS pour StudioCMS.

### Modules virtuels du SDK

- **`studiocms:sdk`** : Fournit le SDK de StudioCMS pour StudioCMS.
- **`studiocms:sdk/cache`** : Fournit le cache du SDK de StudioCMS pour StudioCMS.
- **`studiocms:sdk/types`** : Fournit les types du SDK de StudioCMS pour StudioCMS.

### Modules virtuels i18n

- **`studiocms:i18n`** : Fournit le module d’internationalisation de StudioCMS pour StudioCMS.

### Modules virtuels de rendu

- **`studiocms:renderer`** : Fournit le moteur de rendu de StudioCMS pour StudioCMS.
- **`studiocms:renderer/config`** : Fournit la configuration du moteur de rendu de StudioCMS pour StudioCMS.
- **`studiocms:renderer/current`** : Fournit le moteur de rendu de StudioCMS actuel pour StudioCMS.
- **`studiocms:renderer/markdown-remark/css`** : Fournit le moteur de rendu CSS du paquet markdown-remark de StudioCMS pour StudioCMS.

### Modules virtuels du gestionnaire d’images

- **`studiocms:imageHandler/components`** : Fournit les composants du gestionnaire d’images de StudioCMS pour StudioCMS.

## Routes

L’intégration StudioCMS propose plusieurs routes pour gérer votre contenu et votre configuration. Ces routes sont utilisées par le tableau de bord et l’API de StudioCMS pour interagir avec l’intégration. Voici une liste des routes proposées par l’intégration StudioCMS.

### Routes du tableau de bord

Les routes auxquelles les utilisateurs peuvent accéder pour gérer leur projet StudioCMS.

#### Routes principales

- **`/dashboard/`** : Le tableau de bord de StudioCMS, où vous pouvez gérer votre projet StudioCMS.
- **`/dashboard/profile/`** : La page de profil du tableau de bord de StudioCMS, où vous pouvez gérer votre profil.
- **`/dashboard/content-management/`** : La page de gestion de contenu du tableau de bord de StudioCMS, où vous pouvez gérer votre contenu.
- **`/dashboard/configuration/`** : La page de configuration du tableau de bord de StudioCMS, où vous pouvez gérer votre configuration.
- **`/dashboard/user-management/`** : La page de gestion des utilisateurs du tableau de bord de StudioCMS, où vous pouvez gérer vos utilisateurs.
- **`/dashboard/plugins/`** : La page des modules d’extension du tableau de bord de StudioCMS, où vous pouvez gérer vos modules d’extension.

#### Routes d’authentification

- **`/dashboard/login/`** : La page de connexion au tableau de bord de StudioCMS.
- **`/dashboard/signup/`** : La page d’inscription au tableau de bord de StudioCMS.
- **`/dashboard/logout/`** : La page de déconnexion du tableau de bord de StudioCMS.

### Routes d’API

Les routes utilisées par le tableau de bord de StudioCMS pour interagir avec l’intégration StudioCMS.

#### Routes principales

- **`/studiocms_api/dashboard/api-tokens`** : Le point de terminaison de l’API de StudioCMS pour accéder aux jetons d’API.
- **`/studiocms_api/dashboard/search-list`** : Le point de terminaison de l’API de StudioCMS pour accéder à la liste de recherche.
- **`/studiocms_api/dashboard/live-render`** : Le point de terminaison de l’API de StudioCMS pour accéder au rendu en direct partiel.
- **`/studiocms_api/dashboard/user-list-items`** : Le point de terminaison de l’API de StudioCMS pour accéder aux éléments de la liste des utilisateurs.
- **`/studiocms_api/dashboard/editor`** : Le point de terminaison de l’API de StudioCMS pour accéder à l’éditeur.
- **`/studiocms_api/dashboard/config`** : Le point de terminaison de l’API de StudioCMS pour accéder à la configuration.
- **`/studiocms_api/dashboard/users`** : Le point de terminaison de l’API de StudioCMS pour accéder aux utilisateurs.
- **`/studiocms_api/dashboard/profile`** : Le point de terminaison de l’API de StudioCMS pour accéder au profil.
- **`/studiocms_api/dashboard/create-reset-link`** : Le point de terminaison de l’API de StudioCMS pour créer un lien de réinitialisation.
- **`/studiocms_api/dashboard/reset-password`** : Le point de terminaison de l’API de StudioCMS pour réinitialiser le mot de passe.
- **`/studiocms_api/dashboard/content/page`** : Le point de terminaison de l’API de StudioCMS pour accéder à la page de contenu.
- **`/studiocms_api/dashboard/content/folder`** : Le point de terminaison de l’API de StudioCMS pour accéder au dossier de contenu.
- **`/studiocms_api/dashboard/plugins`** : Le point de terminaison de l’API de StudioCMS pour accéder aux modules d’extension.
- **`/studiocms_api/dashboard/create-user`** : Le point de terminaison de l’API de StudioCMS pour créer un utilisateur.
- **`/studiocms_api/dashboard/update-user-invite`** : Le point de terminaison de l’API de StudioCMS pour mettre à jour l’invitation de l’utilisateur.

#### Routes d’authentification

- **`/studiocms_api/auth/login`** : Le point de terminaison de l’API de StudioCMS pour la connexion.
- **`/studiocms_api/auth/logout`** : Le point de terminaison de l’API de StudioCMS pour la déconnexion.
- **`/studiocms_api/auth/register`** : Le point de terminaison de l’API de StudioCMS pour l’enregistrement.
- **`/studiocms_api/auth/github`** : Le point de terminaison de l’API de StudioCMS pour GitHub.
- **`/studiocms_api/auth/github/callback`** : Le point de terminaison de l’API de StudioCMS pour le rappel GitHub.
- **`/studiocms_api/auth/discord`** : Le point de terminaison de l’API de StudioCMS pour Discord.
- **`/studiocms_api/auth/discord/callback`** : Le point de terminaison de l’API de StudioCMS pour le rappel Discord.
- **`/studiocms_api/auth/google`** : Le point de terminaison de l’API de StudioCMS pour Google.
- **`/studiocms_api/auth/google/callback`** : Le point de terminaison de l’API de StudioCMS pour le rappel Google.
- **`/studiocms_api/auth/auth0`** : Le point de terminaison de l’API de StudioCMS pour Auth0.
- **`/studiocms_api/auth/auth0/callback`** : Le point de terminaison de l’API de StudioCMS pour le rappel Auth0.

#### Routes du SDK

- **`/studiocms_api/sdk/list-pages`** : Le point de terminaison de l’API de StudioCMS pour accéder à la liste des pages du SDK.
- **`/studiocms_api/sdk/fallback-list-pages.json`** : Le point de terminaison de l’API de StudioCMS pour accéder à la liste de secours des pages du SDK.
- **`/studiocms_api/sdk/update-latest-version-cache`** : Le point de terminaison de l’API de StudioCMS pour accéder à la dernière version de la mise en cache du SDK.

#### Routes du moteur de rendu

- **`/studiocms_api/renderer/render`** : Le point de terminaison de l’API de StudioCMS pour le rendu.
Loading