---
sidebar_position: 2
---

# Créer un projet

## Génération de projet

Maintenant que le CLI est installé, vous pouvez générer un nouveau projet en utilisant la commande `wails init`.

Choisissez votre framework favori :

```mdx-code-block
import Tabs from "@theme/Tabs";
import TabItem from "@theme/TabItem";

<Tabs
    defaultValue="Svelte"
    values={[
        {label: "Svelte", value: "Svelte"},
        {label: "React", value: "React"},
        {label: "Vue", value: "Vue"},
        {label: "Preact", value: "Preact"},
        {label: "Lit", value: "Lit"},
        {label: "Vanilla", value: "Vanilla"},
    ]}
>
<TabItem value="Svelte">
    Générer un projet <a href={"https://svelte.dev/"}>Svelte</a> utilisant JavaScript avec:<br/><br/>

    wails init -n myproject -t svelte

Si vous préférez utiliser TypeScript:<br/>

    wails init -n myproject -t svelte-ts

</TabItem>
<TabItem value="React">
    Générer un projet <a href={"https://reactjs.org/"}>React</a> utilisant JavaScript avec :<br/><br/>

    wails init -n myproject -t react

Si vous préférez utiliser TypeScript:<br/>

    wails init -n myproject -t react-ts

</TabItem>
<TabItem value="Vue">
    Générer un projet <a href={"https://vuejs.org/"}>Vue</a> utilisant JavaScript avec:<br/><br/>

    wails init -n myproject -t vue

Si vous préférez TypeScript:<br/>

    wails init -n myproject -t vue-ts

</TabItem>
<TabItem value="Preact">
    Générer un projet <a href={"https://preactjs.com/"}>Preact</a> utilisant JavaScript avec:<br/><br/>

    wails init -n myproject -t preact

Si vous préférez TypeScript:<br/>

    wails init -n myproject -t preact-ts

</TabItem>
<TabItem value="Lit">
    Générer un projet <a href={"https://lit.dev/"}>Lit</a> utilisant JavaScript avec:<br/><br/>

    wails init -n myproject -t lit

Si vous préférez TypeScript:<br/>

    wails init -n myproject -t lit-ts

</TabItem>
<TabItem value="Vanilla">
    Générer un projet Vanilla utilisant JavaScript avec :<br/><br/>

    wails init -n myproject -t vanilla

Si vous préférez TypeScript:<br/>

    wails init -n myproject -t vanilla-ts

</TabItem>
</Tabs>
```

<hr />

Il y a aussi [des modèles créés par la communauté](../community/templates.mdx) qui sont disponibles et qui offrent différentes possibilités.

Pour voir les autres options disponibles, vous pouvez exécuter `wails init -help`. Plus de détails peuvent être trouvés dans la [documentation du CLI](../reference/cli.mdx#init).

## Structure du projet

Les projets Wails ont la structure suivante:

```
.
├── build/
│   ├── appicon.png
│   ├── darwin/
│   └── windows/
├── frontend/
├── go.mod
├── go.sum
├── main.go
└── wails.json
```

### Récapitulatif de la structure du projet

- `/main.go` - L'application principale
- `/frontend/` - Fichiers de la partie frontend
- `/build/` - Répertoire de construction du projet
- `/build/appicon.png` - L'icône de l'application
- `/build/darwin/` - Fichiers spécifiques pour Mac
- `/build/windows/` - Fichiers spécifiques pour Windows
- `/wails.json` - La configuration du projet
- `/go.mod` - Le fichier du module Go
- `/go.sum` - Le checksum du fichier du module Go

Le répertoire `frontend` n'a rien de spécifique à Wails et n'importe quel outil de frontend peut être utilisé.

Le répertoire `build` est utilisé pendant le processus de compilation. Ces fichiers peuvent être mis à jour pour personnaliser vos builds. Si fichiers sont supprimés du répertoire de compilation, les versions par défaut seront régénérées.

Le nom du module par défaut dans `go.mod` est "changeme". Vous devriez changer cela pour quelque chose de plus approprié.
