> For the complete documentation index, see [llms.txt](https://windows.help.formit.autodesk.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://windows.help.formit.autodesk.com/fr/plugins/how-to-develop-plugins/advanced-development/versioning.md).

# 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.

![](/files/zuLSDzX0udddxTZdpd5o)

![](/files/F71bM3aNKcAOuLRYusCB)

![](/files/utI4bztLrJMFcaOgYxuZ)

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.
