Skip to content

Commit 1a10717

Browse files
authored
docs: upgrade french docs with t3-oss#934, t3-oss#1032 and t3-oss#1044 (t3-oss#1050)
1 parent 840d5d7 commit 1a10717

12 files changed

+102
-87
lines changed

www/src/pages/en/usage/prisma.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ The default database is an SQLite database, which is great for development and q
3939
```
4040

4141
```ts:prisma/seed.ts
42-
import { prisma } from "../src/server/db/client";
42+
import { prisma } from "../src/server/db";
4343

4444
async function main() {
4545
const id = "cl9ebqhxk00003b600tymydho";

www/src/pages/fr/faq.md

+5-5
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ layout: ../../layouts/docs.astro
55
lang: fr
66
---
77

8-
Voici quelques questions fréquemment posées sur `create-t3-app`.
8+
Voici quelques questions fréquemment posées sur Create T3 App.
99

1010
## Et après? Comment faire une application avec ça ?
1111

@@ -23,14 +23,14 @@ Si vous n'êtes pas familier avec les différentes technologies utilisées dans
2323

2424
Bien que les ressources répertoriées ci-dessous soient parmi les meilleures qui existent pour la stack T3, la communauté (et [Theo](https://youtu.be/rzwaaWH0ksk?t=1436)) vous recommandent de commencer à utiliser la stack et d'apprendre en cours de route en codant avec elle.
2525

26-
Si vous envisagez `create-t3-app`, il y a de fortes chances que vous ayez déjà utilisé certaines parties de la stack. Alors pourquoi ne pas simplement plonger la tête la première et apprendre les autres parties pendant que vous créez quelque chose ?
26+
Si vous envisagez Create T3 App, il y a de fortes chances que vous ayez déjà utilisé certaines parties de la stack. Alors pourquoi ne pas simplement plonger la tête la première et apprendre les autres parties pendant que vous créez quelque chose ?
2727

28-
Maintenant, nous comprenons que cette voie ne fonctionne pas pour tout le monde. Donc, si vous avez l'impression d'avoir suivi les recommandations et que vous êtes toujours en manque de ressources, ou si vous n'êtes tout simplement pas sûr de le faire vous-même et/ou si vous vous sentez dépassé par la stack, consultez ces tutoriels géniaux sur `create-t3-app ` :
28+
Maintenant, nous comprenons que cette voie ne fonctionne pas pour tout le monde. Donc, si vous avez l'impression d'avoir suivi les recommandations et que vous êtes toujours en manque de ressources, ou si vous n'êtes tout simplement pas sûr de le faire vous-même et/ou si vous vous sentez dépassé par la stack, consultez ces tutoriels géniaux sur Create T3 App :
2929

3030
### Articles
3131

32-
- [Créez une application complète avec create-t3-app](https://www.nexxel.dev/blog/ct3a-guestbook)
33-
- [Un premier aperçu de create-t3-app](https://dev.to/ajcwebdev/a-first-look-at-create-t3-app-1i8f)
32+
- [Créez une application complète avec Create T3 App](https://www.nexxel.dev/blog/ct3a-guestbook)
33+
- [Un premier aperçu de Create T3 App](https://dev.to/ajcwebdev/a-first-look-at-create-t3-app-1i8f)
3434
- [Migrer votre application T3 vers un Turborepo](https://www.jumr.dev/blog/t3-turbo)
3535
- [Intégrer Stripe dans votre application T3](https://blog.nickramkissoon.com/posts/integrate-stripe-t3)
3636

www/src/pages/fr/folder-structure.mdx

+21-37
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ Le fichier `[...nextauth].ts` est la route d'authentification NextAuth.js. Il es
6363
Le fichier `[trpc].ts` est le point d'entrée de l'API tRPC. Il est utilisé pour gérer les requêtes tRPC. Voir [utilisation de tRPC](usage/trpc#-pagesapitrpctrpcts) pour plus d'informations sur ce fichier, et la [documentation Next.js sur les routes dynamiques](https://nextjs.org/docs/routing/dynamic-routes) pour plus d'informations sur les routes fourre-tout / slug.
6464

6565
</div>
66-
<div data-components="trpc prisma">
66+
<div data-components="trpc prisma nextauth">
6767

6868
### `src/server`
6969

@@ -72,72 +72,56 @@ Le dossier `server` est utilisé pour séparer clairement le code côté serveur
7272
</div>
7373
<div data-components="nextauth+trpc">
7474

75-
### `src/server/common`
75+
### `src/server/auth.ts`
7676

77-
Le dossier "common" contient du code côté serveur couramment réutilisé.
78-
79-
</div>
80-
<div data-components="nextauth+trpc">
81-
82-
#### `src/server/common/get-server-auth-session.ts`
83-
84-
Le fichier `get-server-auth-session.ts` est utilisé pour obtenir la session NextAuth.js côté serveur. Voir [utilisation de NextAuth.js](usage/next-auth#utilisation-avec-trpc) pour plus d'informations.
77+
Contient des utilitaires d'authentification tels que la récupération de la session de l'utilisateur côté serveur. Voir [utilisation de NextAuth.js](usage/next-auth#utilisation-avec-trpc) pour plus d'informations.
8578

8679
</div>
8780
<div data-components="prisma">
8881

89-
#### `src/server/db/client.ts`
82+
#### `src/server/db.ts`
9083

91-
Le fichier `client.ts` est utilisé pour instancier le client Prisma au niveau global. Voir [Utilisation de Prisma](usage/prisma#prisma-client) pour plus d'informations.
84+
Le fichier `db.ts` est utilisé pour instancier le client Prisma au niveau global. Voir [Utilisation de Prisma](usage/prisma#prisma-client) et [meilleures pratiques pour utiliser Prisma avec Next.js](https://www.prisma.io/docs/guides/database/troubleshooting-orm/help-articles/nextjs-prisma-client-dev-practices) pour plus d'informations.
9285

9386
</div>
9487
<div data-components="trpc">
9588

96-
### `src/server/trpc`
89+
### `src/server/api`
9790

98-
Le dossier `trpc` contient le code côté serveur de tRPC.
91+
Le dossier `api` contient le code côté serveur de tRPC.
9992

10093
</div>
10194
<div data-components="trpc">
10295

103-
#### `src/server/trpc/context.ts`
96+
#### `src/server/api/routers`
10497

105-
Le fichier `context.ts` est utilisé pour créer le contexte utilisé dans les requêtes tRPC. Voir [utilisation de tRPC](usage/trpc#-servertrpccontextts) pour plus d'informations.
98+
Le dossier `routers` contient tous vos sous-routeurs tRPC.
10699

107100
</div>
108101
<div data-components="trpc">
109102

110-
#### `src/server/trpc/trpc.ts`
103+
#### `src/server/api/routers/example.ts`
111104

112-
Le fichier `trpc.ts` est utilisé pour exporter les assistants de procédure. Voir [utilisation de tRPC](usage/trpc#-servertrpctrpcts) pour plus d'informations.
105+
Le fichier `example.ts` est un exemple de routeur tRPC utilisant le helper `publicProcedure` pour montrer comment créer une route tRPC publique.
113106

114-
</div>
115-
<div data-components="trpc">
116-
117-
### `src/server/trpc/router`
118-
119-
Le dossier `router` contient les routeurs tRPC.
107+
En fonction des packages choisis, ce routeur contient plus ou moins de routes pour démontrer au mieux l'utilisation à vos besoins.
120108

121109
</div>
122110
<div data-components="trpc">
123111

124-
#### `src/server/trpc/router/_app.ts`
125-
126-
Le fichier `_app.ts` est utilisé pour fusionner les routeurs tRPC et les exporter en tant que routeur unique, ainsi que les définitions de type. Voir [utilisation de tRPC](usage/trpc#-servertrpcrouterts) pour plus d'informations.
127-
128-
</div>
129-
<div data-components="nextauth+trpc">
112+
#### `src/server/api/trpc.ts`
130113

131-
#### `src/server/trpc/router/auth.ts`
114+
Le fichier `trpc.ts` est le fichier de configuration principal de votre back-end tRPC. Ici, vous trouverez:
132115

133-
Le fichier `auth.ts` est un exemple de routeur tRPC utilisant l'assistant `protectedProcedure` pour montrer comment protéger une route tRPC avec NextAuth.js.
116+
1. La définissons du contexte utilisé dans les requêtes tRPC. Voir [utilisation de tRPC](usage/trpc#-servertrpccontextts) pour plus d'informations.
117+
2. Le helper de procédure d'exportation. Voir [utilisation de tRPC](usage/trpc#-servertrpctrpcts) pour plus d'informations.
134118

135119
</div>
136120
<div data-components="trpc">
137121

138-
#### `src/server/trpc/router/example.ts`
122+
#### `src/server/api/root.ts`
139123

140-
Le fichier `example.ts` est un exemple de routeur tRPC utilisant l'assistant `publicProcedure` pour montrer comment créer une route tRPC publique.
124+
Le fichier `root.ts` est utilisé pour fusionner les routeurs tRPC et les exporter en tant que routeur unique, ainsi que la définition du type de routeur. Voir [utilisation du tRPC](usage/trpc#-servertrpcrourts) pour plus d'informations.
141125

142126
</div>
143127
<div>
@@ -170,9 +154,9 @@ Le dossier `utils` est utilisé pour stocker les fonctions utilitaires courammen
170154
</div>
171155
<div data-components="trpc">
172156

173-
#### `src/utils/trpc.ts`
157+
#### `src/utils/api.ts`
174158

175-
Le fichier `trpc.ts` est le point d'entrée frontal de tRPC. Voir [utilisation de tRPC](usage/trpc#-utilstrpcts) pour plus d'informations.
159+
Le fichier `api.ts` est le point d'entrée frontal de tRPC. Voir [utilisation de tRPC](usage/trpc#-utilstrpcts) pour plus d'informations.
176160

177161
</div>
178162
<div>
@@ -228,6 +212,6 @@ Le fichier `prettier.config.cjs` est utilisé pour configurer Prettier afin d'in
228212

229213
### `tsconfig.json`
230214

231-
Le fichier `tsconfig.json` est utilisé pour configurer TypeScript. Certaines valeurs autres que celles par défaut, telles que le `strict mode`, ont été activées pour garantir la meilleure utilisation de TypeScript pour create-t3-app et ses librairies. Voir la [documentation de TypeScript](https://www.typescriptlang.org/docs/handbook/tsconfig-json.html) ou [Utilisation de TypeScript](usage/typescript) pour plus d'informations.
215+
Le fichier `tsconfig.json` est utilisé pour configurer TypeScript. Certaines valeurs autres que celles par défaut, telles que le `strict mode`, ont été activées pour garantir la meilleure utilisation de TypeScript pour Create T3 App et ses librairies. Voir la [documentation de TypeScript](https://www.typescriptlang.org/docs/handbook/tsconfig-json.html) ou [Utilisation de TypeScript](usage/typescript) pour plus d'informations.
232216

233217
</div>

www/src/pages/fr/introduction.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -39,4 +39,4 @@ Nous aimons notre technologie de pointe. La vitesse et honnêtement le fun qu'ap
3939

4040
### La sécurité de typage n'est pas facultative
4141

42-
L'objectif déclaré de `create-t3-app` est de fournir le moyen le plus rapide de démarrer une nouvelle application Web **typesafe** complète. Nous prenons la sécurité des caractères au sérieux dans ces parties, car elle améliore notre productivité et nous aide à expédier moins de bogues. Toute décision qui compromet la nature typesafe de `create-t3-app` est une décision qui doit être prise dans un projet différent.
42+
L'objectif déclaré de Create T3 App est de fournir le moyen le plus rapide de démarrer une nouvelle application Web **typesafe** complète. Nous prenons la sécurité des caractères au sérieux dans ces parties, car elle améliore notre productivité et nous aide à expédier moins de bogues. Toute décision qui compromet la nature typesafe de Create T3 App est une décision qui doit être prise dans un projet différent.

www/src/pages/fr/other-recs.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ lang: fr
77

88
Nous reconnaissons que les librairies incluses dans `create-t3-app` ne résolvent pas tous les problèmes. Bien que nous vous encourageons à commencer votre projet avec les éléments que nous fournissons, il viendra un moment où vous devrez ajouter d'autres librairies. Vous seul pouvez savoir ce dont votre projet a besoin, mais voici certaines choses que nous recommandons fréquemment.
99

10-
Ce sont des recommandations de contributeurs individuels de create-t3-app et ne doivent pas être considérées comme des approbations "officielles" par l'équipe de create-t3-app ou T3-OSS. _**Veuillez faire vos propres recherches, surtout avant de vous engager dans des services payants**_.
10+
Ce sont des recommandations de contributeurs individuels de Create T3 App et ne doivent pas être considérées comme des approbations "officielles" par l'équipe de Create T3 App ou T3-OSS. _**Veuillez faire vos propres recherches, surtout avant de vous engager dans des services payants**_.
1111

1212
## State Management
1313

www/src/pages/fr/t3-collection.md

+3
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,9 @@ Vous avez réalisé un projet à l'aide de la stack T3 et souhaitez le partager
2525
| The Doom | [moltivie/slug](https://github.com/Moltivie/the-t3-stack) | [the-t3-stack.vercel.app](https://the-t3-stack.vercel.app) |
2626
| Railtrack | [noahflk/railtrack](https://github.com/noahflk/railtrack) | [railtrack.flk.li](https://railtrack.flk.li) |
2727
| Boutique KARA - Site e-commerce | [mehrabmp/kara-shop](https://github.com/mehrabmp/kara-shop) | [karashop.vercel.app](https://karashop.vercel.app/) |
28+
| Tauri T3 App - Application Tauri qui utilise la T3 Stack | [tauri-t3-app](https://github.com/AyanavaKarmakar/tauri-t3-app) | [tauri-t3-app.docs](https://github.com/AyanavaKarmakar/tauri-t3-app#readme) |
29+
| Azon - Site e-commerce | [andrewsolonets/Azon-Shop](https://github.com/andrewsolonets/Azon-Shop) | [azon-shop.vercel.app](https://azon-shop.vercel.app/) |
30+
| Analyzemyrepo.com - Informations utiles pour **tout** GitHub repo | [CrowdDotDev/analyzemyrepo](https://github.com/CrowdDotDev/analyzemyrepo) | [analyzemyrepo.com](https://analyzemyrepo.com) |
2831

2932
## Entreprises utilisant la stack T3
3033

www/src/pages/fr/usage/env-variables.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
---
22
title: Variables d'environnement
3-
description: Débuter avec create-t3-app
3+
description: Débuter avec Create T3 App
44
layout: ../../../layouts/docs.astro
55
lang: fr
66
---
77

8-
Create-T3-App utilise [Zod](https://github.com/colinhacks/zod) pour valider votre variables d'environnement a l'exécution _et_ a la génération de l'application en fournissant des fichiers supplémentaires dans le répertoire `env`:
8+
Create T3 App utilise [Zod](https://github.com/colinhacks/zod) pour valider votre variables d'environnement a l'exécution _et_ a la génération de l'application en fournissant des fichiers supplémentaires dans le répertoire `env`:
99

1010
📁 src/env
1111

www/src/pages/fr/usage/first-steps.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,6 @@ Vous devriez maintenant pouvoir vous connecter.
3232

3333
## Prochaines étapes
3434

35-
- Si votre application inclut tRPC, consultez `src/pages/index.tsx` et `src/server/trpc/router/example.ts` pour voir comment fonctionnent les requêtes tRPC.
36-
- Consultez la documentation `create-t3-app`, ainsi que la documentation des packages inclus dans votre application.
35+
- Si votre application inclut tRPC, consultez `src/pages/index.tsx` et `src/server/api/routers/example.ts` pour voir comment fonctionnent les requêtes tRPC.
36+
- Consultez la documentation Create T3 App, ainsi que la documentation des packages inclus dans votre application.
3737
- Rejoignez notre [Discord](https://t3.gg/discord) et donnez-nous une étoile sur [GitHub](https://github.com/t3-oss/create-t3-app) ! :)

www/src/pages/fr/usage/next-auth.md

+30-7
Original file line numberDiff line numberDiff line change
@@ -34,9 +34,32 @@ const User = () => {
3434
};
3535
```
3636

37+
## Récupérer la session côté serveur
38+
39+
Parfois, vous souhaiterez demander la session côté serveur. Pour ce faire, prérécupérez la session à l'aide du helper `getServerAuthSession` fournie par `create-t3-app` et transmettez-le au client à l'aide de `getServerSideProps` :
40+
41+
```tsx:pages/users/[id].tsx
42+
import { getServerAuthSession } from "../server/auth";
43+
import type { GetServerSideProps } from "next";
44+
45+
export const getServerSideProps: GetServerSideProps = async (ctx) => {
46+
const session = await getServerAuthSession(ctx);
47+
return {
48+
props: { session },
49+
};
50+
};
51+
52+
const User = () => {
53+
const { data: session } = useSession();
54+
// NOTE: `session` wont have a loading state since it's already prefetched on the server
55+
56+
...
57+
}
58+
```
59+
3760
## Inclusion de `user.id` dans la Session
3861

39-
`create-t3-app` est configuré pour utiliser le [session callback](https://next-auth.js.org/configuration/callbacks#session-callback) dans la configuration NextAuth.js pour inclure l'ID de l'utilisateur dans le objet "session".
62+
Create T3 App est configuré pour utiliser le [session callback](https://next-auth.js.org/configuration/callbacks#session-callback) dans la configuration NextAuth.js pour inclure l'ID de l'utilisateur dans le objet "session".
4063

4164
```ts:pages/api/auth/[...nextauth].ts
4265
callbacks: {
@@ -73,7 +96,7 @@ Cela se fait en deux étapes :
7396

7497
1. Récupérez la session à partir des en-têtes de requête à l'aide de la fonction [`unstable_getServerSession`](https://next-auth.js.org/configuration/nextjs#unstable_getserversession). Ne vous inquiétez pas, cette fonction est sûre à utiliser - le nom inclut "unstable" uniquement parce que l'implémentation de l'API peut changer à l'avenir. L'avantage d'utiliser `unstable_getServerSession` au lieu de `getSession` est qu'il s'agit d'une fonction côté serveur uniquement et qu'elle ne déclenche pas d'appels de récupération inutiles. `create-t3-app` crée une fonction d'assistance qui résume cette API particulière.
7598

76-
```ts:server/common/get-server-auth-session.ts
99+
```ts:server/auth.ts
77100
export const getServerAuthSession = async (ctx: {
78101
req: GetServerSidePropsContext["req"];
79102
res: GetServerSidePropsContext["res"];
@@ -84,8 +107,8 @@ export const getServerAuthSession = async (ctx: {
84107

85108
En utilisant cette fonction d'assistance, nous pouvons récupérer la session et la transmettre au contexte tRPC :
86109

87-
```ts:server/trpc/context.ts
88-
import { getServerAuthSession } from "../common/get-server-auth-session";
110+
```ts:server/api/trpc.ts
111+
import { getServerAuthSession } from "../auth";
89112

90113
export const createContext = async (opts: CreateNextContextOptions) => {
91114
const { req, res } = opts;
@@ -98,7 +121,7 @@ export const createContext = async (opts: CreateNextContextOptions) => {
98121

99122
2. Créez un middleware tRPC qui vérifie si l'utilisateur est authentifié. Nous utilisons ensuite le middleware dans une `protectedProcedure`. Tout appelant à ces procédures doit être authentifié, sinon une erreur sera générée qui pourra être gérée de manière appropriée par le client.
100123

101-
```ts:server/trpc/trpc.ts
124+
```ts:server/api/trpc.ts
102125
const isAuthed = t.middleware(({ ctx, next }) => {
103126
if (!ctx.session || !ctx.session.user) {
104127
throw new TRPCError({ code: "UNAUTHORIZED" });
@@ -116,7 +139,7 @@ export const protectedProcedure = t.procedure.use(isAuthed);
116139

117140
L'objet de session est une représentation légère et minimale de l'utilisateur et ne contient que quelques champs. Lorsque vous utilisez les `protectedProcedures`, vous avez accès à l'identifiant de l'utilisateur qui peut être utilisé pour extraire plus de données de la base de données.
118141

119-
```ts:server/trpc/router/user.ts
142+
```ts:server/api/routers/user.ts
120143
const userRouter = router({
121144
me: protectedProcedure.query(async ({ ctx }) => {
122145
const user = await prisma.user.findUnique({
@@ -153,7 +176,7 @@ Si, par exemple, vous souhaitez ajouter un `role` au modèle `User`, vous devrez
153176

154177
## Utilisation avec le middleware Next.js
155178

156-
Utilisation de NextAuth.js avec le middleware Next.js [nécessite l'utilisation de la stratégie de session JWT](https://next-auth.js.org/configuration/nextjs#caveats) pour l'authentification. En effet, le middleware ne peut accéder au cookie de session que s'il s'agit d'un JWT. Par défaut, `create-t3-app` est configuré pour utiliser la stratégie de base de données **default**, en combinaison avec Prisma comme adaptateur de base de données.
179+
Utilisation de NextAuth.js avec le middleware Next.js [nécessite l'utilisation de la stratégie de session JWT](https://next-auth.js.org/configuration/nextjs#caveats) pour l'authentification. En effet, le middleware ne peut accéder au cookie de session que s'il s'agit d'un JWT. Par défaut, Create T3 App est configuré pour utiliser la stratégie de base de données **default**, en combinaison avec Prisma comme adaptateur de base de données.
157180

158181
## Configuration du DiscordProvider par défaut
159182

0 commit comments

Comments
 (0)