# Série Soulver X

## Qu'est-ce que la Série Soulver X ?

En 2024, nous avons entrepris un projet de R\&D pluriannuel dont la mission est de :

* Explorer de nouvelles idées intéressantes pour Soulver
* Rechercher de nouvelles formes et de nouveaux flux de travail
* Aller avec audace là où aucun calculateur de notes ne s'était aventuré auparavant 🖖

Nous avons l'intention de publier une nouvelle version majeure de la série X chaque année.

### Parrainage de la Série Soulver X

Si vous êtes un utilisateur de longue date (ou un méga-fan de Soulver) et que vous êtes enthousiaste à l'idée de ce travail, vous pourriez envisager de [parrainer notre mission sur GitHub](https://soulver.app/sponsor).

De plus, en tant que parrain, vous aurez accès au dernier prototype de la série X (X3, X4, etc) avec des fonctionnalités jamais vues auparavant dans le domaine des calculateurs de notes.

Notre équipe (très) réduite apprécierait le soutien, ce qui nous permettrait de consacrer plus de ressources à ce type de R\&D de calculatrice de notes avancée.

## Soulver X2 (2025)

### Sous-feuilles

* Une sous-feuille est une feuille séparée qui vit à l'intérieur d'un seul jeton.
  * Créez une sous-feuille à partir du bouton + dans la barre d'onglets.
  * Double-cliquez sur le jeton violet pour ouvrir l'éditeur de sous-feuille.
* Les sous-feuilles peuvent faire référence à des variables de la feuille mère (à condition que les variables soient déclarées au-dessus de la ligne de la sous-feuille).

### Jeton de curseur avec plages

* Un jeton de curseur vous permet de spécifier la plage pour un curseur déplaçable
  * Créez un curseur à partir du bouton + dans la barre d'onglets.
  * Double-cliquez sur le jeton vert pour ouvrir la fenêtre contextuelle du curseur.

### Lignes de séparation

* Tapez tiret (-) trois fois pour insérer une ligne de séparation.
* Utilisez des lignes de séparation pour créer une séparation visuelle accrue entre les différentes parties de votre feuille.

## Soulver X1 (2024)

X1 comprend les implémentations des demandes de fonctionnalités majeures de Soulver, y compris :

* [Prise en charge des fonctions personnalisées](https://soulver.app/feedback) (*y compris les fonctions en langage naturel*)
* [Partage des variables entre les feuilles](https://soulver.app/feedback) (*via la nouvelle feuille "en-tête"*)
* [Connexion aux API Web](https://soulver.app/feedback) (*avec juste un copier-coller et quelques clics*)

### Onglets

<figure><img src="/files/Mr7YusC31fvA1s9uG4D6" alt=""><figcaption><p>Onglets multiples dans Soulver X1</p></figcaption></figure>

Les documents dans Soulver X1 commencent par un seul onglet, et vous pouvez en ajouter en cliquant sur le bouton + à droite de la barre d'onglets.

**Renommer les onglets**

Double-cliquez sur le titre d'un onglet pour lui donner un nom alternatif. Alternativement, faites un clic droit sur l'onglet et choisissez "Renommer".

**Supprimer les onglets**

Lorsque vous survolez un onglet, cliquez sur le bouton x pour supprimer. Alternativement, faites un clic droit sur l'onglet et choisissez "Supprimer"

{% hint style="warning" %}
Les onglets sont une fonctionnalité en cours de développement.

Vous ne pouvez pas réorganiser les onglets (pas encore), et ajouter trop d'onglets dans un seul document ne fonctionne pas correctement.
{% endhint %}

### La feuille d'en-tête

L'en-tête est une feuille dédiée à la définition des variables, des unités, des fonctions et des valeurs web qui peuvent être utilisées dans tous les onglets de votre document.

<figure><img src="/files/vLBswqNq8g7gjmBXcFLt" alt="" width="375"><figcaption></figcaption></figure>

### **Variables inter-onglets**

Déclarez les variables de votre document dans l'en-tête de la même manière que vous déclareriez des variables locales.

Par exemple :

```
ma variable = 123
```

`ma variable` sera disponible dans toutes vos feuilles

{% hint style="info" %}
Vos onglets ne peuvent faire référence qu'à des variables, mais ne peuvent pas modifier leur définition de manière à ce que cela s'applique à d'autres feuilles du document.
{% endhint %}

### **Unités équivalentes**

Une unité équivalente est définie en termes d'une unité existante.

Définissez une nouvelle unité équivalente dans l'en-tête en utilisant (par exemple) :

```
1 pastèque = 10 lb
```

<figure><img src="/files/sZl9rQ1EqabT30rJpoDk" alt=""><figcaption><p>Déclarer une nouvelle unité de masse dans Soulver X1</p></figcaption></figure>

Le `pastèque` peut maintenant être utilisé comme unité de masse dans tous vos onglets.

<figure><img src="/files/WcpNTbctalOXpWVioU5e" alt=""><figcaption><p>Utiliser une unité équivalente personnalisée dans Soulver X1</p></figcaption></figure>

{% hint style="info" %}
Soulver X1 pluralise automatiquement votre nouvelle unité pour vous (en anglais).

Ainsi, dans cet exemple, "watermelons" sera reconnu comme un nom d'unité valide, même si la définition était "watermelon".
{% endhint %}

### **Unités génériques**

Une unité équivalente est un type d'unité entièrement nouveau, non défini en termes d'une unité existante.

Définissez une nouvelle unité générique dans l'en-tête en utilisant (par exemple) :

```
opération = nouvelle unité
```

<figure><img src="/files/ByDeUDAKmhi4XjkkH0bt" alt=""><figcaption><p>Déclarer un type d'unité générique dans Soulver X1</p></figcaption></figure>

L'unité `opération` peut maintenant être utilisée dans tous vos onglets (y compris dans les taux) :

<figure><img src="/files/KrHN1jJyyhX59s9Fc5yX" alt=""><figcaption><p>Utiliser une unité générique dans Soulver X1</p></figcaption></figure>

### **Fonctions personnalisées**

**Introduction**

Une fonction est une expression pratique qui prend une entrée et renvoie une sortie. Dans Soulver X1, vous pouvez utiliser (presque) n'importe quelle syntaxe pour une fonction, y compris :

Style C : `doSomething(123)`

Style Swift : `doSomething(with: 123)`

Langage naturel : `faire quelque chose avec 123`

**Pour créer une nouvelle fonction personnalisée (dans l'en-tête)**

* Cliquez sur `Définir Nouveau` > `Fonction`

**Choisir un nom de fonction :**

<figure><img src="/files/DDqOk4jhsuDVLcKbuhMJ" alt=""><figcaption><p>Déclarer une nouvelle fonction dans Soulver X1</p></figcaption></figure>

* Définissez votre fonction en utilisant un exemple de la manière dont vous pourriez utiliser la fonction en pratique.
* Choisissez tous les paramètres (tant qu'ils correspondent au "type" de paramètre que vous attendez pour votre implémentation, comme l'argent, le temps, les nombres décimaux simples, etc).

**Implémenter votre fonction :**

<figure><img src="/files/JcMBhy44bIFNSSbaAkRj" alt=""><figcaption><p>Écrire une fonction pour calculer le montant de la taxe de vente dans un certain montant</p></figcaption></figure>

* Implémentez la fonction dans une feuille Soulver dédiée. Tous les paramètres seront injectés comme jetons jaunes.
* Survolez un jeton de paramètre pour voir à quel paramètre il fait référence dans la déclaration.
* La dernière ligne de la feuille d'implémentation sera retournée comme valeur finale de la fonction.

**Utiliser votre fonction**

<figure><img src="/files/eCsgPmnGgh9P54S0OCIh" alt=""><figcaption></figcaption></figure>

Utilisez votre fonction avec d'autres valeurs d'entrée dans toutes vos feuilles

### **Valeurs web (connexion aux API JSON)**

#### **Pour créer une nouvelle valeur web (dans l'en-tête)**

* Cliquez sur `Définir Nouveau` > `Valeur Web`

#### **Pour se connecter à un point de données particulier dans un flux de données JSON**

<figure><img src="/files/OADrXa3sscnrlpw5NUq1" alt=""><figcaption><p>Se connecter à un flux de données distant dans Soulver X1</p></figcaption></figure>

* Collez une URL vers un flux de données JSON, puis cliquez simplement sur le point de données auquel vous souhaitez vous connecter

#### **Utiliser une valeur web**

* Votre valeur web se verra attribuer un nom de variable (par défaut, correspondant à sa description dans le flux JSON)
* Vous êtes libre de changer le nom de la variable pour autre chose

#### **Mettre à jour une valeur web**

* Votre valeur web sera automatiquement mise à jour en arrière-plan avec la fréquence que vous avez spécifiée lors de la configuration

#### **Modifier une valeur web**

* Double-cliquez sur le jeton de valeur web jaune dans l'en-tête pour spécifier un point de données différent, ou changer la fréquence de mise à jour

## Type de fichier Série Soulver X

{% hint style="warning" %}
Les applications de la série Soulver X utilisent un type de document différent (.slvrx) de Soulver.

Ceci est fait pour prendre en charge les nouvelles fonctionnalités que nous construisons et expérimentons.

Les fichiers Soulver X (.slvrx) ne peuvent pas être modifiés par Soulver 3 pour Mac, iOS et iPad.
{% endhint %}


---

# 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://documentation.soulver.app/fr/experimental/x.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.
