> ## Documentation Index
> Fetch the complete documentation index at: https://docs.cognite.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Importer des activités dans Maintenir

> Apprenez à importer des activités en utilisant l'interface utilisateur (mode APM), Cognite Toolkit ou Transformations.

Maintenir prend en charge trois méthodes pour importer des activités :

* **Téléchargement CSV** : Importer des activités en utilisant l'interface utilisateur (mode APM uniquement).
* **Cognite Toolkit** : Ingest des activités en utilisant [Cognite Toolkit](/cdf/deploy/cdf_toolkit/) pour la modélisation des données (modes APM et IDM/CDM).
* **Transformations** : Convertir des données à partir de tables RAW ou d'autres sources en utilisant [Transformations CDF](/cdf/integration/) (modes APM et IDM/CDM).

## Importer via téléchargement CSV (mode APM)

<Info>
  **Disponibilité du mode** : Mode APM uniquement. Le mode IDM/CDM ne prend pas en charge l'importation CSV dans l'interface utilisateur.
</Info>

Les activités importées via CSV peuvent être visualisées et modifiées comme des activités créées dans Maintenir.

<Steps>
  <Step title="Téléchargez le modèle de fichier CSV">
    Le fichier CSV importé doit être conforme à votre modèle spécifique au projet. Pour télécharger **maintain-import-template.csv** :

    1. Accédez à **Activités** et sélectionnez **Ajouter une activité**.
    2. Sélectionnez **Importer des activités**.
    3. Sélectionnez **Télécharger le modèle**.
  </Step>

  <Step title="Remplissez le modèle de fichier CSV">
    Le modèle CSV ne contiendra qu'une seule ligne de valeurs représentant les valeurs possibles que vous pouvez fournir pour une activité importée. Cette ligne est appelée la ligne d'en-tête et ne doit pas être supprimée lors du remplissage du modèle.

    <Tip>
      Bien que la ligne d'en-tête **row** ne doive pas être supprimée, vous pouvez retirer des valeurs spécifiques de l'en-tête ou changer l'ordre des valeurs. Par exemple, si un certain champ n'est pas pertinent à importer dans un scénario spécifique, vous pouvez le retirer de l'en-tête et des lignes suivantes. Cela entraînera le fait que le champ sera laissé vide sur toutes les activités importées.
    </Tip>

    Pour importer une seule activité, ajoutez une nouvelle ligne au modèle et entrez les valeurs appropriées séparées par des virgules. Chaque valeur dans la nouvelle ligne doit contenir la valeur que vous souhaitez remplir dans la ligne d'en-tête respective fournie dans le modèle.
    Par exemple, si votre modèle contient la ligne d'en-tête suivante : `title,status,department`, créez un fichier CSV avec une ligne supplémentaire :

    ```
    title,status,department
    Erect scaffolding,Done,Rigging
    ```

    Vous créerez une activité avec le titre "Élever des échafaudages", le statut "Fait" et le département "Rigging" lors de l'importation.

    <a id="format-date-fields" />

    ### Formater les champs de date

    Certains champs d'activité dans **Maintain** représentent des dates et doivent avoir un format spécifique pour être correctement importés. Les champs de date peuvent être identifiés dans le modèle CSV par une valeur d'en-tête spéciale sous la forme `startTime (JJ/MM/AAAA)`. Dans cet exemple, `startTime` est le nom du champ, tandis que `JJ/MM/AAAA` est le format de date qui doit être utilisé dans les lignes suivantes du fichier CSV.
    Par exemple, l'importation du fichier suivant entraînera la création de l'activité avec `startTime` défini sur le 10 décembre 2023.

    ```
    title,startTime (DD/MM/YYYY)
    Erect scaffolding,10/12/2023
    ```

    <a id="format-boolean-fields" />

    ### Formater les champs booléens

    Certains champs d'activité dans **Maintain** représentent des valeurs booléennes, telles que `true` ou `false`. Les champs booléens peuvent être identifiés dans le modèle CSV par une valeur d'en-tête spéciale sous la forme `isActive (vrai/faux)`. Ces champs n'ont que deux valeurs valides, `true` ou `false`.
    Par exemple, l'importation du fichier suivant entraînera la création de l'activité avec `isActive` défini sur `false`.

    ```
    title,isActive (true/false)
    Erect scaffolding,false
    ```

    <a id="format-values-containing-commas" />

    ### Formater les valeurs contenant des virgules

    En raison du format CSV qui sépare les valeurs par des virgules, soyez prudent lorsque le champ d'activité doit également contenir une virgule. **Maintenir** les fichiers CSV selon la [norme RFC 4180](https://www.rfc-editor.org/rfc/rfc4180), qui exige que les valeurs contenant des virgules soient entourées de guillemets doubles.
    Par exemple, l'importation du fichier suivant entraînera la création de l'activité avec `ville` définie sur `Boston, MA`.

    ```
    title,city
    Erect scaffolding,"Boston, MA"
    ```

    <a id="unset-values" />

    ### Valeurs non définies

    Vous pouvez laisser le champ vide pour les champs d'activité non obligatoires afin de représenter des valeurs manquantes ou non pertinentes pour l'activité spécifique.
    Par exemple, l'importation du fichier suivant entraînera la création de l'activité avec `état` définie sur `New York`, mais elle n'aura aucune valeur dans le champ `ville`.

    ```
    title,city,state
    Erect scaffolding,New York
    ```

    <a id="connect-an-activity-to-an-asset" />

    ### Connecter une activité à un actif

    **Maintenir** prend en charge le lien des activités aux actifs CDF, qui est utilisé pour contextualiser l'activité dans des modèles 3D, des documents, PSN, et plus encore. Pour que **Maintenir** crée le lien approprié avec un actif dans CDF, vous devez fournir l'ID externe de l'actif CDF dans le modèle d'importation.
    Si vous avez une contextualisation d'actif dans votre projet, il y aura un champ spécial `assetExternalId` dans le modèle que vous devez remplir avec l'ID externe de l'actif de l'activité.
    Par exemple, lors de l'importation du fichier suivant et en supposant qu'un actif CDF existe avec l'ID externe `NY_BUILDING_23`, l'activité sera contextualisée à cet actif lors de son ingestion dans Maintenir.

    ```
    title,assetExternalId
    Erect scaffolding,NY_BUILDING_23
    ```

    Si l'ID externe fourni n'est pas exporté, l'utilisateur verra une erreur lors de l'importation.

    <Tip>
      Les utilisateurs finaux peuvent ne pas connaître l'ID externe de l'actif auquel l'activité est liée. S'il est nécessaire de fournir aux utilisateurs finaux une liste des actifs possibles et de leurs ID externes, nous recommandons de récupérer ces données en utilisant l'[API des actifs CDF](/api-reference/concepts/20230101/assets) ou d'autres extracteurs de données.
    </Tip>
  </Step>

  <Step title="Importez un fichier CSV rempli">
    Une fois que vous avez un modèle CSV rempli, vous pouvez l'importer dans **Maintenir**:

    1. Naviguez vers **Activités** > **Ajouter une activité**.
    2. Sélectionnez **Importer des activités**.
    3. Sélectionnez le champ **Cliquez pour sélectionner le fichier CSV à importer**.
    4. Sélectionnez et téléchargez le fichier CSV rempli depuis votre ordinateur.
    5. Vérifiez que vous avez importé le fichier en consultant la section **Inspecteur de fichiers**. Un message vert doit indiquer le nombre de lignes à importer et si vous avez des avertissements ou des erreurs.
    6. S'il n'y a pas d'erreurs, sélectionnez **Importer** pour commencer le processus d'importation.
    7. Lorsque l'importation réussit, vous verrez un message de succès vert avec le bouton **Afficher les activités**.
    8. Facultatif. Sélectionnez **Afficher les activités** pour naviguer vers les activités importées et vérifier qu'elles correspondent correctement au fichier CSV.
  </Step>
</Steps>

## Importer via Cognite Toolkit

<Info>
  **Disponibilité du mode** : Modes APM et IDM/CDM. C'est l'approche recommandée pour l'ingestion d'activités par programme.
</Info>

Utilisez le [Cognite Toolkit](/cdf/deploy/cdf_toolkit/) pour ingérer des activités grâce aux capacités de modélisation de données de CDF. Cette méthode fonctionne pour les deux modes de déploiement et fournit un contrôle de version et des déploiements reproductibles.

### Prérequis

Avant d'importer des activités via le Cognite Toolkit, assurez-vous d'avoir :

* Une vue d'activité personnalisée configurée dans votre espace de modèle de données (ou utilisez la vue standard `Ordre de maintenance Cognite` de `cdf_idm`)
* La vue d'activité mappée dans votre configuration de Maintien sous `viewMappings`
* Accès au [Cognite Toolkit](/cdf/deploy/cdf_toolkit/)

### Configurer le mappage de la vue d'activité

Dans votre configuration de Maintien, vérifiez que la section `viewMappings` pointe vers votre vue d'activité :

```json theme={"languages":{"custom":["/_languages/kuiper.json","../_languages/kuiper.json"]}}
"viewMappings": {
  "activity": {
    "type": "view",
    "space": "cdf_idm",
    "version": "v1",
    "externalId": "CogniteMaintenanceOrder"
  }
}
```

Si vous avez créé une vue d'activité personnalisée (par exemple, `APM_Activity` ou `ExtendedActivity`), mettez à jour le mappage pour pointer vers votre vue personnalisée :

```json theme={"languages":{"custom":["/_languages/kuiper.json","../_languages/kuiper.json"]}}
"viewMappings": {
  "activity": {
    "type": "view",
    "space": "maintain_schema_extention",
    "version": "v1",
    "externalId": "APM_Activity"
  }
}
```

En savoir plus sur [l'extension des modèles de données](/cdf/maintain/guides/config#extend-data-models) et [la configuration des mappages de vue](/cdf/maintain/guides/config#view-mappings).

### Ingestion des activités avec le Cognite Toolkit

Utilisez le [Cognite Toolkit](/cdf/deploy/cdf_toolkit/) comme approche recommandée pour l'ingestion des activités en mode IDM.

<Steps>
  <Step title="Créez la structure de données d'activité">
    Si vous ne l'avez pas encore fait, créez des fichiers YAML pour Container, View et Node pour vos activités. Suivez la structure standard de modélisation des données :

    * `APM_Activity.Container.yaml` — Définit le schéma du conteneur
    * `APM_Activity.View.yaml` — Définit les propriétés et les relations de la vue
    * `apmActivities.Node.yaml` — Contient vos instances d'activité
      Consultez la [documentation du Cognite Toolkit](/cdf/deploy/cdf_toolkit/) pour des exemples et des modèles détaillés.
  </Step>

  <Step title="Configurez les correspondances de champs">
    Assurez-vous que vos nœuds d'activité incluent les champs requis pour Maintenir :

    | Champ             | Description                                                      | Requis     |
    | ----------------- | ---------------------------------------------------------------- | ---------- |
    | `externalId`      | Identifiant unique pour l'activité                               | Oui        |
    | `title`           | Titre de l'activité                                              | Oui        |
    | `status`          | Statut de l'activité (par exemple, "Ouvert", "En cours", "Fait") | Recommandé |
    | `startTime`       | Date/heure de début                                              | Recommandé |
    | `endTime`         | Date/heure de fin                                                | Recommandé |
    | `rootLocation`    | Identifiant de l'emplacement racine                              | Recommandé |
    | `assetExternalId` | ID externe de l'actif lié                                        | Optionnel  |
    | `mainAsset`       | Relation directe à l'actif                                       | Optionnel  |

    <Tip>
      Incluez des champs supplémentaires en fonction de vos paramètres de [Configuration des champs](/cdf/maintain/guides/config#field-configuration) dans Maintenir.
    </Tip>
  </Step>

  <Step title="Déployez les activités">
    Déployez vos données d'activité en utilisant le Cognite Toolkit :

    ```bash theme={"languages":{"custom":["/_languages/kuiper.json","../_languages/kuiper.json"]}}
    cdf deploy --env dev
    ```

    Utilisez le `--drop-data` drapeau si vous devez remplacer les activités existantes :

    ```bash theme={"languages":{"custom":["/_languages/kuiper.json","../_languages/kuiper.json"]}}
    cdf deploy --env dev --drop-data
    ```

    En savoir plus sur les [Drapeaux de déploiement du Cognite Toolkit](/cdf/maintain/guides/config#critical-deployment-flags).
  </Step>

  <Step title="Vérifiez dans Maintain">
    1. Connectez-vous à [Maintenir](https://maintain.cogniteapp.com). 2. Naviguez vers **Activités**. 3. Vérifiez que vos activités importées apparaissent avec les bonnes données.
  </Step>
</Steps>

### Ingestion des activités avec des Transformations

<Info>
  **Disponibilité du mode** : Modes APM et IDM/CDM. C'est l'approche recommandée pour les données en masse.
</Info>

Alternativement, vous pouvez utiliser [Transformations CDF](/cdf/integration/) pour convertir des données à partir de tables RAW ou d'autres sources en nœuds d'activité.

### Dépannage

Si vous rencontrez des problèmes avec les activités après ingestion, consultez le tableau pour les causes et les solutions.

| Problème                     | Solution                                                                                           |
| ---------------------------- | -------------------------------------------------------------------------------------------------- |
| Activités non visibles       | Vérifiez que la configuration `viewMappings` pointe vers l'espace, la vue et la version corrects   |
| Champs manquants             | Assurez-vous que votre configuration de champ inclut tous les champs que vous ingérez              |
| Liens d'actifs cassés        | Assurez-vous que les relations `assetExternalId` ou `mainAsset` pointent vers des actifs existants |
| Mauvaise localisation racine | Vérifiez que `rootLocation` correspond à votre configuration de localisation                       |
