# Démarrage rapide Solid

Ajoutez un formulaire de contact fonctionnel à votre application Solid. Vous écrivez le formulaire, et Formerie le vérifie, le conserve et vous l’envoie par courriel.

## Installer

npm:

```sh
npm install @formerie/solid
```

pnpm:

```sh
pnpm add @formerie/solid
```

Yarn:

```sh
yarn add @formerie/solid
```

Bun:

```sh
bun add @formerie/solid
```

Les paquets Formerie sont en alpha, donc leurs API peuvent encore changer d’une version à l’autre.

## Ajouter le formulaire

Enregistrez ce fichier sous `ContactForm.tsx`.

```tsx
import { Show } from "solid-js";
import { createFormerieSubmit } from "@formerie/solid";

export function ContactForm() {
  const contact = createFormerieSubmit({ workspace: "acme", form: "contact" });
  const failure = () => {
    const result = contact.result();
    return result?.ok === false ? result.error.message : null;
  };

  function onSubmit(event: SubmitEvent & { currentTarget: HTMLFormElement }) {
    event.preventDefault();
    contact.submit({ fields: Object.fromEntries(new FormData(event.currentTarget)) });
  }

  return (
    <form onSubmit={onSubmit}>
      <input name="name" placeholder="Name" required />
      <input name="email" type="email" placeholder="Email" required />
      <textarea name="message" placeholder="Message" required />
      <button disabled={contact.isSubmitting()}>Send</button>
      <Show when={contact.result()?.ok === true}><p>Thanks!</p></Show>
      <Show when={failure()}><p>{failure()}</p></Show>
    </form>
  );
}
```

Le `name` de chaque champ de saisie correspond au champ qu’il remplit dans Formerie.

## Configurer le formulaire dans l’application

1. Ouvrez [app.formerie.com](https://app.formerie.com) et créez un formulaire nommé **Contact**. Il vient avec les
   champs de nom, de courriel et de message que ce code envoie.
2. Dans l’onglet **Livraison**, ajoutez votre adresse courriel, puis choisissez **Enregistrer la livraison**. Confirmez le
   courriel que Formerie vous envoie.
3. Dans l’onglet **Publication**, choisissez **API seulement** et ajoutez l’adresse qu’affiche votre serveur de développement, comme
   `http://localhost:3000`, sous **Adresses de vos sites**. `localhost` et `127.0.0.1` comptent comme deux adresses différentes.
   Ajoutez l’adresse de votre site en ligne de la même façon au moment de le déployer.
4. Choisissez **Publier le formulaire**.
5. Dans le code ci-dessus, remplacez `acme` par l’identifiant d’espace de travail affiché dans l’onglet **Publication**.

## Vérifier que c’est arrivé

Lancez votre application, remplissez le formulaire et envoyez-le. « Thanks! » s’affiche dans la page, un texte que vous
pouvez changer. Dans l’application Formerie, votre réponse apparaît sous **Soumissions**, et son courriel sous **Livraisons**.

Vous voyez une erreur CORS ou `NETWORK_ERROR`? L’adresse de votre site n’est pas encore dans l’onglet **Publication**, ou vous n’avez pas republié
depuis que vous l’avez ajoutée. Consultez [Dépannage](/fr/guides/troubleshooting/).

## Aller plus loin

### SolidStart

Le même composant fonctionne dans une page SolidStart. Dans les fonctions serveur et les routes d’API, utilisez `@formerie/client`.
Consultez [À partir de votre serveur](/fr/guides/framework-entry-points/#à-partir-de-votre-serveur).

## À lire ensuite

- [Recettes](/fr/guides/recipes/) : demandes de soumission, sondages et acheminement par sujet
- [Afficher les erreurs de champ et plus encore](/fr/guides/framework-entry-points/#aller-plus-loin)
- [SDK JavaScript](/fr/guides/javascript-sdk/) et [API](/fr/guides/api-reference/) : la référence complète
