# Formulaires en libre-service

## Overview

Vous pouvez utiliser Self Service Forms pour collecter des données structurées auprès des utilisateurs. Cela peut servir à permettre aux utilisateurs de signaler des incidents ou d’indiquer des changements, comme le besoin d’une nouvelle configuration de poste de travail dans un Office.

« Self Service Forms » est une fonctionnalité optionnelle qui peut être activée pour votre Tenant par le support RealmJoin. Si elle n’est pas activée, vous pouvez tout de même saisir/préparer des formulaires dans la page des paramètres, mais les utilisateurs ne pourront pas voir/utiliser les formulaires en libre-service.

Nous utiliserons un workflow pour « indiquer un nouvel animal de compagnie » comme exemple.

<figure><img src="/files/69b8532933616cfd621e896ee0ea66d888800718" alt=""><figcaption><p>Exemple de formulaire</p></figcaption></figure>

## Utilisation des formulaires

En utilisant le ![](/files/786bac3ef7b294591d452e60fc8fcacad5aceec3) élément de navigation, les utilisateurs peuvent sélectionner un formulaire à remplir et à envoyer.

<figure><img src="/files/ee27607a79ee9035e32c9a3c8780a0a6737f1c54" alt=""><figcaption><p>Sélecteur de formulaire</p></figcaption></figure>

Lorsqu’un utilisateur remplit et envoie un formulaire, son contenu sera envoyé par e-mail au destinataire indiqué dans la définition du formulaire. L’e-mail sera envoyé via l’infrastructure de RealmJoin et ne proviendra pas des adresses e-mail de votre entreprise.

<figure><img src="/files/be78d2caa4b204c3b8f8fa5e5b14e775ef772e90" alt=""><figcaption><p>Exemple d’e-mail provenant d’un formulaire</p></figcaption></figure>

{% hint style="info" %}
Lorsque Self Service Forms est activé pour votre Tenant, tous les utilisateurs peuvent utiliser / envoyer des formulaires.
{% endhint %}

## Examiner les envois

En utilisant le ![](/files/37c2e365e3ae55c7e1f5c9548c0c88202b833aa4) icône de navigation, vous pouvez examiner les envois de formulaires précédents de vos utilisateurs.

<figure><img src="/files/1ef4706162034afc4d4d1ea3737bafe065046962" alt=""><figcaption><p>Liste des envois</p></figcaption></figure>

Vous pouvez rechercher des envois par nom d’utilisateur expéditeur et par nom de formulaire, mais pas par champs dans l’envoi du formulaire.

Cliquez sur « Afficher » pour voir les données du formulaire rempli. La vue est en lecture seule.

## Page des paramètres

La page des paramètres de Self Service Forms permet de gérer les formulaires existants, d’ajouter, de modifier et de supprimer des formulaires.

### Liste des formulaires sur la page des paramètres

<figure><img src="/files/9fbe1c3f0e929bae6c6814625f55d4305bc8c915" alt=""><figcaption><p>Liste des formulaires</p></figcaption></figure>

Utilisez « Nouveau formulaire » ou « Modifier » pour décrire le formulaire à l’aide de [JSON Schema](https://json-schema.org/). Cela définit quels champs doivent être saisis et quelles valeurs sont valides. L’interface propose un éditeur de vérification de syntaxe et un aperçu du formulaire résultant.

Le schéma sera utilisé pour créer dynamiquement un formulaire pour l’utilisateur. En pratique, utilisez le schéma non seulement pour décrire les données souhaitées, mais aussi pour créer implicitement l’interface du formulaire.

### Éditeur de schéma

Au-dessus de l’éditeur, il y a deux champs. Utilisez le champ de gauche pour donner à votre formulaire un nom descriptif. Utilisez le champ de droite pour nommer l’adresse e-mail du destinataire des données soumises par l’utilisateur.

<figure><img src="/files/4b76e7c3b6a38c61222f6490b51cc7aed7a7a368" alt=""><figcaption><p>Exemple d’éditeur de schéma</p></figcaption></figure>

Vous pouvez utiliser « Mettre à jour l’aperçu du formulaire JSON » pour créer un aperçu du formulaire résultant sous l’éditeur.

<figure><img src="/files/25e7d54ac40d9210055804e29b5fc1275e7f4276" alt=""><figcaption><p>Aperçu de l’éditeur</p></figcaption></figure>

Après avoir modifié le schéma, appuyez sur « Soumettre » pour enregistrer vos modifications. Une erreur s’affichera si la vérification de syntaxe échoue.

## JSON Schema

L’utilisation de JSON Schema sort du cadre de ce document. Vous pouvez utiliser des générateurs de schéma en ligne (comme [celui-ci](https://www.jsonschema.net/app)) pour simplifier le processus.

Pour fournir au moins un point de départ, examinons le schéma de notre exemple

```json
{
  "title": "Personne",
  "type": "object",
  "required": [
    "name",
    "date",
    "location",
    "pets"
  ],
  "properties": {
    "name": {
      "type": "string",
      "description": "Prénom et nom",
      "minLength": 4,
      "default": "- Votre nom ici -"
    },
    "date": {
      "type": "string",
      "format": "date",
      "options": {
        "flatpickr": {}
      }
    },
    "location": {
      "type": "object",
      "title": "Lieu",
      "properties": {
        "city": {
          "type": "string",
          "default": "San Francisco"
        },
        "state": {
          "type": "string",
          "default": "CA"
        },
        "citystate": {
          "type": "string",
          "description": "Ceci est généré automatiquement à partir des deux champs précédents",
          "template": "{{city}}, {{state}}",
          "watch": {
            "city": "location.city",
            "state": "location.state"
          }
        }
      }
    },
    "pets": {
      "type": "array",
      "format": "table",
      "title": "Animaux de compagnie",
      "uniqueItems": true,
      "items": {
        "type": "object",
        "title": "Animal de compagnie",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "cat",
              "dog",
              "bird",
              "reptile",
              "other"
            ],
            "default": "dog"
          },
          "name": {
            "type": "string"
          }
        }
      },
      "default": [
        {
          "type": "dog",
          "name": "Walter"
        }
      ]
    }
  }
}
```

Chaque JSON Schema se compose d’objets. Chaque objet doit au moins avoir un type et un nom.

### Types

#### Objet

Les objets « complexes » contenant d’autres sous-objets doivent utiliser le **object** type. Dans notre exemple, le nœud racine « Personne » du schéma est de ce type.

Vous pouvez définir des champs obligatoires à l’aide du mot-clé **required** . Ces champs doivent également être définis dans le schéma.

Utilisez **properties** pour décrire les caractéristiques de chaque champ requis ; cela inclut l’indication d’un type et d’un nom.

#### Tableau

Les tableaux vous permettent d’ajouter plusieurs **items** similaires à une liste. Utilisez le **items** mot-clé pour décrire le type des éléments, etc.

#### Chaîne

Du simple texte. Vous pouvez le préremplir à l’aide du **par défaut** mot-clé.

Pour autoriser uniquement certaines valeurs, vous pouvez utiliser le **enum** mot-clé.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.realmjoin.com/fr/parametres-realmjoin/self-service-forms.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
