# Migration vers la V1

Ce guide explique comment migrer de V0 à V1, pour les microservices affectés.

# Modifications entre les services

# Interroger les articles supprimés

Obtenez des points de terminaison qui permettent le retour des articles supprimés, disposent désormais des requêtes suivantes:

  • show_active - un drapeau booléen (par défaut true) pour retourner des éléments non supprimés (c'est-à-dire actifs) dans l'organisme de réponse
  • show_deleted - Un drapeau booléen (par défaut false) pour retourner les éléments supprimés dans le corps de réponse.

Par défaut, les éléments actifs seront retournés uniquement.

Pour retourner les éléments supprimés uniquement, demandez avec show_deleted valeur true et show_active valeur false.

Pour retourner les éléments actifs et supprimés, demandez avec show_deleted valeur true.

Remarque: Certains points de terminaison contiennent uniquement la requête show_deleted, mais le comportement est le même.

# Pagination

La pagination a été ajoutée à plusieurs itinéraires à travers les services. Il s'agit de si grandes réponses peuvent être gérées raisonnablement.

La pagination ajoute de nouvelles requêtes à tous les points de terminaison paginés:

+ ?page_limit=int
+ ?before=base64
+ ?after=base64

Lorsqu'il n'est pas présent auparavant, de nouvelles requêtes de order et sort_by seront également présentes sur des points de terminaison paginés:

+ ?sort_by=name
+ ?order=desc

Veuillez consulter la documentation pour plus d'informations sur ces requêtes.

Les organismes de réponse des points de terminaison paginés ont également été mis à jour avec de nouvelles clés:

+ paging: {
+     cursors: {
+       before: "MjUxYjYzNzAtNDk1MC1lNzExLTgxMDQtMDA1MDU2YjU3NDU5",
+       after: "OGExMTcxNzAtNDk1MC1lNzExLTgxMDQtMDA1MDU2YjU3NDU5"
+     },
+     previous: "http://ddb.arup.com/api/projects?before=MjUxYjYzNzAtNDk1MC1lNzExLTgxMDQtMDA1MDU2YjU3NDU5",
+     next: "http://ddb.arup.com/api/projects?after=MjUxYjYzNzAtNDk1MC1lNzExLTgxMDQtMDA1MDU2YjU3NDU5"
+   },
+   summary: {
+     estimate_count: 44
+  }

# Messages d'erreur

Les réponses d'erreur du client n'incluent plus la touche source:

  {
    details: "id \"632f6133-c5c4-4232-bdb6-c1a227a48b8e\" could not be found",
    msg: "Route Not Found",
-   source: "body"
  }

# Service de paramètres

Veuillez utiliser ces notes de migration pour aider à passer de V0 du parameter-service-api à la V1. Cette section devrait détailler toutes les modifications entre les versions.

# Points de terminaison obsolètes

Les points de terminaison suivants ont été supprimés de la V1:

# **GET /parameters/:parameter_id/revision**

Remplacé par un nouveau point de terminaison GET /entries/:entry_id/revisions (voir ci-dessous)

# **POST /parameters/:parameter_id/revision**

Remplacé par un nouveau point de terminaison PUT /entries (voir ci-dessous)

# **PATCH /parameters/:parameter_id/revision**

Remplacé par un nouveau point de terminaison PATCH /revisions (voir ci-dessous)

# Modifications entre les points de terminaison

Veuillez consulter ci-dessous pour les modifications de chaque point final. Ceci est structuré de la même manière que Documentation API (opens new window) pour faciliter l'utilisation.

Remarque: tous les points de terminaison n'ont pas eu de changements.

# Actifs

# GET /assets

  • Pagination ajoutée. Veuillez voir le section débutante pour plus d'informations.

  • Le corps de réponse comprend désormais la propriété asset_type_id dans la clé asset_sub_type:

    asset_sub_type: {
          id: "a7154e9a-9dd4-4983-a900-c172a3366544",
          name: "Domestic Hot Water",
    +     asset_type_id: "577cfd8d-8da0-4d78-b4a4-c81ab728d4bf",
          parent_asset_sub_type_id: "f2ac4d11-6854-4763-b26e-2b2c664390cb"
        }
    
  • La requête show_deleted_assets a été remplacée. S'il te plait regarde section ci-dessus pour plus d'informations

    - GET /assets?show_deleted_assets=true
    + GET /assets?show_deleted=true
    

# POST /assets

  • Ce point de terminaison accepte désormais l'un des asset_type_id ou asset_sub_type_id dans le corps de la demande:

  • Si vous fournissez asset_sub_type_id, le champ name est facultatif et si le blanc laissé sera rempli automatiquement pour correspondre au nom asset_sub_type.

  • Si vous fournissez un asset_type_id uniquement pour un actif qui a une propriété asset_sub_type de true, vous recevrez une erreur si vous publiez une propriété name ne correspondant pas à l'un des noms de sous-types valides.

  • Le corps de réponse comprend désormais la propriété asset_type_id dans la clé asset_sub_type:

    asset_sub_type: {
          id: "a7154e9a-9dd4-4983-a900-c172a3366544",
          name: "Domestic Hot Water",
    +     asset_type_id: "577cfd8d-8da0-4d78-b4a4-c81ab728d4bf",
          parent_asset_sub_type_id: "f2ac4d11-6854-4763-b26e-2b2c664390cb"
        }
    

# GET /assets/{asset_id}

  • Le corps de réponse comprend désormais la propriété asset_type_id dans la clé asset_sub_type:

    asset_sub_type: {
          id: "a7154e9a-9dd4-4983-a900-c172a3366544",
          name: "Domestic Hot Water",
    +     asset_type_id: "577cfd8d-8da0-4d78-b4a4-c81ab728d4bf",
          parent_asset_sub_type_id: "f2ac4d11-6854-4763-b26e-2b2c664390cb"
        }
    
  • La requête show_deleted_assets a été remplacée. Veuillez voir le section ci-dessus pour plus d'informations

    - GET /assets?show_deleted_assets=true
    + GET /assets?show_deleted=true
    

# GET /assets/{asset_ids}/hierarchy

  • Chaque objet hierarchy dans le corps de réponse comprend désormais une clé asset_type_id:

    {
      hierarchies: [
        [
          {
            id: "a3d5c386-9451-495e-9d3c-8ed152b1300f",
            name: "Wellington Place",
    +       asset_type_id: "a3d5c386-9451-495e-9d3c-8ed152b1300f"
          }
        ]
      ]
    }
    

# Entrées

Une entrée représente une valeur pour un paramètre. Les inscriptions peuvent être révisées. Actuellement, les paramètres sont limités au maximum d'une entrée. Dans les versions futures, les paramètres auront la capacité d'avoir plusieurs entrées. Veuillez voir le Documentation (opens new window) pour plus d'informations.

Il y a quatre nouveaux itinéraires relatifs aux entrées:

# GET /entries

  • Ce point de terminaison renvoie toutes les entrées, ceci est interrogable par un tableau de parameter_id.

# PUT /entries

  • Ce point de terminaison remplace POST /parameters/:parameter_id/revision et vous permet de créer ou de mettre à jour une ou plusieurs entrées.
  • Ce point d'évaluation accepte un tableau de entries. Les champs requis sont entry_id, parameter_id, source_id, values. Actuellement, values a une longueur maximale d'une. Les ajouts facultatifs sont comment et location_in_source.

# GET /entries/:entry_id/revisions

  • Ce point de terminaison remplace GET /parameters/:parameter_id/revision et renvoie toutes les révisions pour un entry_id spécifié.

# PATCH /revisions

  • Ce point de terminaison remplace le point de terminaison PATCH /parameters/:parameter_id/revisions et permet aux utilisateurs de mettre à jour le status de plusieurs révisions liées à plusieurs entrées différentes à la fois.
  • Les utilisateurs doivent uniquement mettre à jour ledernière dernierrévision d'une entrée
  • Les utilisateurs doivent spécifier le revision_id de la révision à mettre à jour
  • Si les utilisateurs mettent à jour la révision status à QA State rejected Une propriété comment est requise.

# Ensembles de paramètres

Remarque: les ensembles de paramètres sont en version alpha pour les tests. Il n'est pas recommandé d'utiliser ces itinéraires en production.

Les conventions de dénomination des ensembles de paramètres ont été modifiées de V0 à V1. Les changements sont les suivants:

Convention de dénomination V0 Convention de dénomination V1
parameter_set_type parameter_set_category
parameter_set parameter_set_type
parameter_set_instance parameter_set

Cela a entraîné la mise à jour des itinéraires de la manière suivante:

V0 Route V1 Route
GET /parameter_set_types GET /parameter_set_categories
GET /parameter_sets GET /parameter_set_types
POST /parameter_sets POST /parameter_set_types
DELETE /parameter_sets/:parameter_set_id DELETE /parameter_set_types/:parameter_set_type_id
POST /parameter_sets/:parameter_set_id/items POST /parameter_set_types/:parameter_set_type_id/items
DELETE //parameter_sets/:parameter_set_id/items/:item_type_id DELETE /parameter_set_types/:parameter_set_type_id/items/:item_type_id
GET /parameter_sets/:parameter_set_id/instances GET /parameter_sets
GET /parameter_sets/:parameter_set_id/instances/:instance_id GET /parameter_sets/:parameter_set_id
GET /parameter_sets/:parameter_set_id/instances/:instance_id/parameters GET /parameter_sets/:parameter_set_id/parameters

Les clés des corps de réponse ont été mises à jour de la manière pertinente. Par exemple, une demande à GET /parameter_set_categories (précédemment connue sous le nom de GET /parameter_set_types) renverra une réponse avec:

{
- parameter_set_types: [ ... ]
+ parameter_set_categories: [ ... ]
}

Tous les points d'extrémité doivent se comporter de la même manière (à l'exclusion des points de terminaison détaillés ci-dessous).

# GET /parameter_sets

Ce point de terminaison remplace le point de terminaison V0 GET /parameter_sets/:parameter_set_id/instances. Pour filtrer les ensembles de paramètres par le parameter_set_type_id applicable Ceci est passé par une requête sur le point de terminaison:

+ GET /parameter_sets?parameter_set_type_id=uuid

Cela renverra tout parameter_sets du parameter_set_type_id spécifié.

# GET /parameter_sets/:parameter_set_id/parameters

Ce point de terminaison contient une réponse réduite par rapport à la version V0 (GET /parameter_sets/:parameter_set_id/instances/:instance_id/parameters):

{
- parameter_set_instance_parameters: [
+  parameter_set_parameters: [
    {
      ...parameter,
      parameter_type: {
        id,
        name,
        data_type,
        global_parameter,
-       unit_type_id,
-       created_at,
-       deleted_at,
-       updated_at
      },
      parents: [
        {
          id,
          asset_sub_type,
          children,
          name,
          parent,
          asset_type: {
            id,
            name,
            parent_id,
-           asset_sub_type,
-           asset_type_group,
-           created_at,
-           deleted_at,
          },
-         project_id,
-         deleted_at,
        }
      ]
    }
  ],
  ... rest
}

# Paramètres

# GET /parameters

  • Pagination ajoutée. Veuillez voir le section débutante pour plus d'informations.

  • La requête PowerQuery a été remplacée. Veuillez voir le section ci-dessus pour plus d'informations

    - GET /parameters?show_deleted_parameters=true
    + GET /assets?show_deleted=true
    
  • La requête bin->AnyCPU->Debug a été supprimée:

    - GET /parameters?offset=
    
  • La clé Power BI de l'organisme de réponse a été renommée à show_deleted_parameters:

    {
      parameters: [
        {
          ... parameter,
    -    revision: { ... }
    +     selected_entry: { ... }
        },
        ...
      ]
    }
    
  • La clé offset contient une réponse réduite

    source: {
              id: "286a550e-00bc-4b1e-8e20-71f96b43e9c6",
              created_at: "2022-07-18T16:00:53.182Z",
    -         updated_at: "2022-07-18T16:00:53.182Z",
    -         deleted_at: null,
    -         time: null,
              date_day: "15",
              date_month: "1",
              date_year: "2021",
              reference: "Assumption",
    -         reference_id: "90803033-268a-ea11-8129-005056b50c57",
    -         reference_table: "project",
    -         reference_url: "dev.ddb.arup.com/api/project",
    -         scope: "90803033-268a-ea11-8129-005056b50c57",
              title: "Assumption",
              url: "TBA",
              source_type: {
                id: "6a1292c7-a245-41cf-8872-46feb9a7fd11",
                name: "Assumption",
    -           visible: true,
    -           deleted_at: null
              }
            }
    
  • La clé revision contient une réponse réduite

    created_by: {
    -         staff_id: 12345,
              staff_name: "Arup Employee Name",
              email: "[email protected]",
    -         company_centre_arup_unit: "01-462 NOR Digital Services",
    -         location_name: "Edinburgh Office",
    -         grade_level: 3,
    -         my_people_page_url: "https://arup-my.sharepoint.com/PersonImmersive.aspx?accountname=i:0%83.f%7cmembership%[email protected]"
    },
    
  • La clé selected_entry n'a pas de propriété selected_entry.source, selected_entry.created_by ou selected_entry.

# updated_at

  • La clé comment du corps de la demande a été remplacée par location_in_source, qui accepte un tableau.
  • Il y a une clé POST /parameters en option dans le corps de poteau revision:
  • Si vous ajoutez une nouvelle entrée à unsans réponseParamètre, cela peut être laissé vide et remplira automatiquement avec un nouvel UUID.
  • Si vous souhaitez réviser unrépondue réponduParamètre, vous devez fournir le entries existant pour réviser.

Ceci est actuellement limité à un élément de la propriété entry_id uniquement.

  • La clé entries de l'organisme de réponse post-réponse est maintenant renommée entry_id

    - revision: { ... }
    + selected_entry: { ... }
    

# entries

  • La requête revision a été remplacée. Veuillez voir le section ci-dessus pour plus d'informations

    - GET /parameters/:parameter_id?show_deleted_parameters=true
    + GET /parameters/:parameter_id?show_deleted=true
    
  • La clé selected_entry de l'organisme de réponse a été renommée à GET /parameters/{parameter_id}

    - revision: { ... }
    + selected_entry: { ... }
    
  • La clé show_deleted_parameters contient une réponse réduite

    source: {
              id: "286a550e-00bc-4b1e-8e20-71f96b43e9c6",
              created_at: "2022-07-18T16:00:53.182Z",
    -         updated_at: "2022-07-18T16:00:53.182Z",
    -         deleted_at: null,
    -         time: null,
              date_day: "15",
              date_month: "1",
              date_year: "2021",
              reference: "Assumption",
    -         reference_id: "90803033-268a-ea11-8129-005056b50c57",
    -         reference_table: "project",
    -         reference_url: "dev.ddb.arup.com/api/project",
    -         scope: "90803033-268a-ea11-8129-005056b50c57",
              title: "Assumption",
              url: "TBA",
              source_type: {
                id: "6a1292c7-a245-41cf-8872-46feb9a7fd11",
                name: "Assumption",
    -           visible: true,
    -           deleted_at: null
              }
            }
    
  • La clé revision contient une réponse réduite

    created_by: {
    -         staff_id: 12345,
              staff_name: "Arup Employee Name",
              email: "[email protected]",
    -         company_centre_arup_unit: "01-462 NOR Digital Services",
    -         location_name: "Edinburgh Office",
    -         grade_level: 3,
    -         my_people_page_url: "https://arup-my.sharepoint.com/PersonImmersive.aspx?accountname=i:0%83.f%7cmembership%[email protected]"
    },
    
  • La clé selected_entry n'a pas de propriété selected_entry.source, selected_entry.created_by ou selected_entry.

# Arbre

Il existe plusieurs nouveaux points de terminaison pour retourner les hiérarchies d'arbres. Veuillez voir le Documentation (opens new window) Pour plus d'informations sur ces points de terminaison.

# updated_at

  • Nouveau point de terminaison qui renvoie un arbre d'actif par comment.

# location_in_source

  • Nouveau point de terminaison qui renvoie une arborescence de type actif par GET /asset_tree.

# Les types

# asset_id

# GET /asset_type_tree

# asset_type_id

# GET /asset_type_groups

  • Pagination ajoutée. Veuillez voir le section débutante pour plus d'informations.

  • La clé GET /asset_types sur la propriété GET /asset_types/{asset_type_id}/asset_sub_types dans l'organisme de réponse a été renommée à GET /parameter_types:

    default_unit: {
          id: "b39e5bcf-cda6-49ed-8c0c-174d8daf8bc1",
    -     name: "°C",
    +     symbol: "°C",
          unit_type_id: "5391cd71-08f0-44f8-9dd2-6379a511dd29",
          unit_system_id: "50115948-140f-48fc-b5f2-c56e96869734"
          }
    

# name

  • Pagination ajoutée. Veuillez voir le section débutante pour plus d'informations.
  • La requête default_unit a été supprimée.

# symbol

  • Pagination ajoutée. Veuillez voir le section débutante pour plus d'informations.

  • Chaque objet GET /item_types a une nouvelle clé offset, contenant les systèmes unitaires et les unités disponibles pour ce type particulier

    unit_types: [
    {
    id: "e8c3da00-5c20-45f1-a24c-0d657bcae032",
    name: "Geotechnics analysis material type",
    created_at: "2022-06-24T12:26:00.263Z",
    updated_at: "2022-06-24T12:26:00.263Z",
    deleted_at: null,
    + unit_systems: [
    +  {
    +    id: "5508a780-9f9f-4e6d-bc9c-a84607a5ba87",
    +    name: "Drop-down list",
    +    short_name: "Drop-down",
    +    units: [
    +      {
    +        id: "892c32c1-808a-440a-8290-e05fdf5457ba",
    +        symbol: "Mohr-coulomb, linear-elastic"
    +      }
    +    ]
    +  }
    + ]
    }
    ]
    

# GET /unit_types

  • L'organisme de réponse unit_type pour la méthode Post a été mis à jour de la même manière que le unit_systems - veuillez vous référer à cette section pour plus de détails.

# POST /unit_types

  • Le corps de réponse à l'objet unit_types comprend désormais les clés GET /unit_types, GET /unit_types/:unit_type_id et unit_type:
unit_type: {
 id: "38f045f3-ce7a-4a38-9fe7-f9d72d07a129",
 name: "Area",
+ created_at: "2021-12-22T13:07:17.214Z",
+ updated_at: "2021-12-22T13:07:17.214Z",
+ deleted_at: null,
 unit_systems: [ ... ]
 }

# Unités

# created_at

  • Pagination ajoutée. Veuillez voir le section débutante pour plus d'informations.

  • La clé updated_at de l'organisme de réponse a été renommée à deleted_at:

    {
      id: "a3d5c386-9451-495e-9d3c-8ed152b1300f",
      created_at: "2019-05-10T13:45:08.000Z",
      deleted_at: "2020-06-18T11:25:21.000Z",
    - name: "m",
    + symbol: "m",
      updated_at: "2020-06-12T13:39:41.000Z",
      unit_type_id: "7a857f03-a222-405c-bc03-90d6dcaa8e0e",
      unit_system_id: "50115948-140f-48fc-b5f2-c56e96869734"
    }
    

# GET /units

  • Le corps de demande n'accepte plus un champ name. Cela devrait maintenant être symbol:

    {
      id: "cdbcb4d1-b6c1-436c-8126-737c29c9b2f4",
    - name: "°F",
    + symbol: "°F",
      unit_type_id: "b68caf97-e537-4ce4-b3bd-7131f0e72e93",
      unit_system_id: "50115948-140f-48fc-b5f2-c56e96869734"
      }
    

# POST /units

# Service de métadonnées des paramètres

Veuillez utiliser ces notes de migration pour aider à passer de V0 du name à la V1. Ce document devrait détailler tous les changements entre les versions.

# Points de terminaison obsolètes

Veuillez noter que tous les points de terminaison de la V0 de l'API sont en cours de dépréciation afin que les utilisateurs doivent passer à la prochaine version disponible

# Modifications entre les points de terminaison

Veuillez consulter ci-dessous pour les modifications de chaque point final. Ceci est structuré de la même manière que Documentation API (opens new window) pour faciliter l'utilisation.

Remarque: tous les points de terminaison n'ont pas eu de changements.

# symbol

  • GET /unit_systems est une nouvelle clé dans le corps de réponse pour tous les objets parameter-metadata-service-api renvoyés. Cette propriété signifie si un Allow Custom accepte les balises personnalisées ou non une valeur booléenne de allow_custom ou tag_type.

    tag_type: {
            id: "1e08965a-f116-4a6d-8bba-74290edc8c0a",
            created_at: "2019-05-10T13:45:08.000Z",
            deleted_at: "2019-05-10T13:45:08.000Z",
            name: "Calculation",
            updated_at: "2019-05-10T13:45:08.000Z",
    +       allow_custom: false
          }
    

# Étiqueter

# tag_type

  • Pagination ajoutée. Veuillez voir le section débutante pour plus d'informations.
  • De nouvelles requêtes ajoutées pour récupérer des balises supprimées. S'il te plait regarde section ci-dessus pour plus d'informations.
  • La requête true a été remplacée par la requête false dans le cadre de la pagination.
  • Il existe une nouvelle requête disponible pour GET /tags, cela peut être un ou plusieurs item_limit et renverra toutes les balises avec le page_limit donné. Un filtres de chaîne de requête vides (tag_scope) pour toutes les balises sans portée, c'est-à-dire les balises globales.
  • Il existe une nouvelle requête disponible pour project_id (bool). Si cela est vrai, cela omet toutes les balises globales (celles avec tag_scope) du résultat. La valeur par défaut de cette requête est null.
  • L'objet omit_global dans le corps de réponse pour un tag_scope = null comprend désormais une nouvelle clé de false. S'il te plait regarde cette section pour plus d'informations.

# tag_type

  • Il s'agit d'un nouveau point de terminaison qui permet aux utilisateurs d'ajouter une nouvelle balise.
  • Tout utilisateur peut publier une balise personnalisée qui est portée à un projet (c'est-à-dire une balise qui a tag avec la propriété allow_custom et POST /tags). La publication de balises globales nécessite des privilèges d'administration.

# tag_type

  • L'objet allow_custom: true dans le corps de réponse comprend désormais une nouvelle clé de tag_scope: your-project-uuid. S'il te plait regarde cette section pour plus d'informations.

# GET /tags/:tag_id

  • Il s'agit d'un nouveau point de terminaison qui vous permet de mettre à jour une propriété TAG tag_type.
  • Ce point de terminaison nécessite des privilèges d'administration.

# allow_custom

  • Il s'agit d'un nouveau point de terminaison qui vous permet de supprimer une balise de PATCH /tags/:tag_id.
  • Ce point de terminaison nécessite des privilèges d'administration.

# Liens de balise

# name

  • Pagination ajoutée. Veuillez voir le section débutante pour plus d'informations.
  • De nouvelles requêtes ajoutées pour récupérer les liens de balises supprimées. S'il te plait regarde section ci-dessus pour plus d'informations.

# DELETE /tags/:tag_id

  • Il s'agit d'un nouveau point de terminaison pour les utilisateurs pour obtenir un lien de balise existant entre les ressources.

# tag_id

  • Il s'agit d'un nouveau point de terminaison pour mettre à jour un lien GET /tags/:tag_id/links et / ou GET /tags/:tag_id/links/:reference_id entre une balise et une référence.
  • Il s'agit d'un nouveau point de terminaison qui permet aux utilisateurs de mettre des reference_table nouveaux et / ou de mise à jour.

# Type de balise

# reference_url

  • Pagination ajoutée. Veuillez voir le section débutante pour plus d'informations.
  • De nouvelles requêtes ajoutées pour récupérer les types de balises supprimées. S'il te plait regarde section ci-dessus pour plus d'informations.
  • The PUT /tag_links objects in the response body now include a new key of tag_link. Please see cette section pour plus d'informations.

# GET /tag_types

  • Il s'agit d'un nouveau point de terminaison qui vous permet d'ajouter un nouveau tag_type.
  • Ce point de terminaison nécessite des privilèges d'administration.

# allow_custom

  • L'objet POST /tag_types dans le corps de réponse comprend désormais une nouvelle clé de tag_type. S'il te plait regarde cette section pour plus d'informations.

# GET /tag_types/:tag_type_id

  • Il s'agit d'un nouveau point de terminaison qui permet aux utilisateurs de mettre à jour un seul tag_type.

*Remarque: ce point de terminaison nécessite des privilèges d'administration. *

# allow_custom
  • Nouveau point de terminaison qui supprime un seul type de balise en utilisant le PATCH /tag_types/{tag_type_id} comme une requête requise
  • Ce point de terminaison nécessite des privilèges d'administration.

# Service de contexte de l'environnement

Veuillez utiliser ces notes de migration pour aider à passer de V0 du tag_type à la V1. Ce document devrait détailler tous les changements entre les versions.

# Points de terminaison obsolètes

Veuillez noter que tous les points de terminaison de la V0 de cette API sont en cours de dépréciation afin que les utilisateurs doivent passer à la prochaine version disponible

Last Updated: 13/09/2023 15:19:15