# Gestion des versions

Lorsque vous développez et mettez à jour votre plug-in, vous devrez peut-être gérer les versions du code à un moment donné.

Par exemple, les API FormIt peuvent changer d’une version à l’autre. Même si vous souhaitez que la nouvelle version de votre plug-in utilise les nouvelles API FormIt ou WSM, vous voulez également que le plug-in continue à fonctionner dans les versions antérieures des clients.

À partir de FormIt **18.0**, vous pouvez implémenter la gestion des versions de votre plug-in en 3 étapes simples :

* Ajoutez un fichier *versions.json* à la racine de votre répertoire de plug-ins.
* Spécifiez chaque version de FormIt compatible, ainsi que le répertoire contenant ces fichiers de plug-in, dans le fichier *versions.json*.
* Utilisez le numéro de version interne de FormIt, ou « numéro de build », dans FormIt sous Infos > À propos.

### Comment organiser la gestion des versions de votre plug-in

Organisez vos fichiers et répertoires de plug-in pour qu’ils correspondent au fichier *versions.json*.

Votre fichier *versions.json* doit ressembler à ceci :

```
        [
            {
                "version":{
                    "major":18,
                    "minor":0
                },
                "path":"v18_0"
            },
            {
                "version":{
                    "major":19,
                    "minor":1
                },
                "path":"v19_0"
            }
        ]
```

Les chemins ci-dessus *v18\_0* et *v19\_0* doivent être des sous-chemins valides à partir de la racine de votre répertoire/référentiel.

![](https://3244640281-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FRURScsluvbUfz2I5zWVl%2Fuploads%2Fgit-blob-5d70205557f3564e89b9cb9e4110fe0791b65d6f%2Fi1.png?alt=media)

![](https://3244640281-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FRURScsluvbUfz2I5zWVl%2Fuploads%2Fgit-blob-6ddcda42f6935b6bfdce65a21daccbb71fd748c6%2Fi2.png?alt=media)

![](https://3244640281-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FRURScsluvbUfz2I5zWVl%2Fuploads%2Fgit-blob-9291d31dcc0999b833ff791d57009daa31d65061%2Fi3.png?alt=media)

Une bonne gestion consiste à déplacer votre code de plug-in dans des sous-répertoires. En utilisant le fichier *versions.json* ci-dessus, une structure de répertoire se présenterait comme suit :

* **versions.json** (fichier)
* **v18\_0** (répertoire)
  * **manifest.json** (fichier)
  * **plugin.html** (fichier)
  * **plugin.js** (fichier)
* **v19\_0** (répertoire)
  * **manifest.json** (fichier)
  * **plugin.html** (fichier)
  * **plugin.js** (fichier)

Les propriétés facultatives de la version sont « exactVersion » et « lastVersion ». « exactVersion » indique que la version doit correspondre exactement à la version de FormIt. « lastVersion » indique la dernière version autorisée à s’exécuter dans FormIt.\\

```
[
    {
      "version":{
        "major":18,
        "minor":0,
        "exactVersion":true
        },
        "path":"v18_0"
    },
    {
        "version":{
            "major":19,
            "minor":1,
            "lastVersion":true
       },
        "path":"v19_0"
    }
 ]
```

Il est également possible d’utiliser les branches/tags/commits git pour vos chemins d’accès.

Si vous travaillez avec une version bêta ou préliminaire de FormIt, et si vous souhaitez tester les modifications apportées à un plug-in qui fonctionne uniquement avec la version préliminaire :

* Suivez les étapes ci-dessus, à l’exception de l’utilisation du nom de fichier *versions\_pre\_release.json*.
* Si vous validez *versions\_pre-release* dans votre référentiel, vous devrez le supprimer après publication de cette version préliminaire de FormIt.
  * Dans le cas contraire, les futures versions préliminaires de FormIt chargeront le plug-in à partir d’un emplacement qui pourrait être obsolète ou destiné à une version antérieure.


---

# 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://windows.help.formit.autodesk.com/fr/plugins/how-to-develop-plugins/advanced-development/versioning.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.
