Réutiliser une application existante | Aide Centre de migration
Accéder au contenu principal Passer au contenu complémentaire

Réutiliser une application existante

Dernière mise à jour : 14/10/2026

QV2QS peut cibler une application Qlik Sense existante au lieu de créer une nouvelle application à chaque déploiement, ce qui permet un développement itératif et préserve l'ID de l'application.

Par défaut, QV2QS crée une nouvelle application à chaque déploiement. Ciblez plutôt une application existante pour mettre à jour l'application sur place et conserver l'ID de l'application. Cette approche permet un développement itératif et préserve les signets et les liens qui font référence à un ID d'application spécifique.

Trois arguments plaident en faveur de la réutilisation :

  • --appId APP_ID — Spécifiez directement l'ID de l'application.
  • --appIdFile PATH — Lire l'ID de l'application à partir de la première ligne d'un fichier texte.
  • --reuseAppId — Lire l'ID de l'application depuis cloud/cloud_state.json dans le sous-dossier du projet. Ce fichier est écrit automatiquement après chaque déploiement.

Le fichier cloud/cloud_state.json est stocké dans le sous-dossier du projet (par exemple, <outputDir>/Sales/cloud/cloud_state.json). Le fichier enregistre l'ID de l'application, le hachage du média, le mappage d'ID de feuille, le chemin du fichier source et un horodatage. L'indicateur --reuseAppId lit ce fichier automatiquement, de sorte que les exécutions ultérieures mettent à jour la même application sans nécessiter la saisie manuelle de l'ID de l'application. En mode batch, --reuseAppId fonctionne par projet — chaque projet lit le cloud_state.json depuis son propre sous-dossier de sortie.

Mappage des ID de feuille

Chaque document QlikView identifie les feuilles par des noms internes tels que Document\SH01, Document\SH02 et ainsi de suite. Qlik Sense utilise des UUID pour identifier les feuilles. Lorsque QV2QS déploie une application pour la première fois, chaque feuille convertie reçoit un nouvel UUID. QV2QS stocke la correspondance entre le nom de la feuille QlikView et l'UUID Qlik Sense dans l'application cible afin que la relation soit préservée d'un déploiement à l'autre.

Lors des déploiements ultérieurs vers la même application, QV2QS lit le mappage stocké et attribue les UUID Qlik Sense d'origine aux feuilles converties correspondantes. Le mappage empêche les feuilles dupliquées d'apparaître dans l'application et préserve les signets, les favoris et les liens directs qui font référence à un ID de feuille spécifique.

Le mappage est stocké dans deux emplacements :

  • Dans l'application Qlik Cloud — Un objet dédié au sein de l'application contient le mappage. Le mappage suit l'application si l'application est déplacée vers un autre espace ou exportée en tant que QVF.
  • Dans le dossier du projet local — Le fichier cloud/cloud_state.json contient une copie du même mappage. L'indicateur --reuseAppId lit l'ID de l'application et le mappage à partir de ce fichier.

QV2QS lit toujours le mappage à partir de l'application cloud (et non du fichier local) lors de la préparation d'un redéploiement. Le fichier local est une commodité pour l'indicateur --reuseAppId afin de localiser l'ID de l'application.

Optimisation du hachage des médias

QV2QS calcule un hachage de tous les fichiers multimédias (arrière-plans de feuille, arrière-plans d'objet, images de bouton) et stocke le hachage aux côtés du mappage de feuille. Lors des déploiements ultérieurs, QV2QS compare le hachage actuel à la valeur stockée. Si le média n'a pas changé, l'étape de téléversement est entièrement ignorée.

Validation du mapping

Avant de préparer les feuilles pour le remplacement, QV2QS valide le mappage stocké par rapport à l'application active. Si une feuille a été supprimée manuellement de l'application Qlik Cloud entre les déploiements, QV2QS détecte que la feuille n'existe plus, supprime l'entrée obsolète du mappage et traite la feuille QlikView correspondante comme nouvelle lors de la prochaine génération. Le mappage mis à jour est réécrit dans l'application une fois la génération terminée.

Feuilles ajoutées ou supprimées dans la source QlikView

Lorsqu'une feuille est ajoutée à la source QlikView après le déploiement initial, QV2QS attribue un nouvel UUID à la feuille et ajoute l'entrée au mappage. Lorsqu'une feuille est supprimée de la source QlikView, la feuille n'est plus présente dans la sortie de génération et est supprimée de l'application Qlik Cloud lors de la génération. L'entrée de mappage pour la feuille supprimée n'est pas reportée.

Correspondance des dossiers de projet

QV2QS écrit un fichier marqueur .qv2qs_source dans chaque dossier de sortie du projet après la première conversion. Le marqueur enregistre le chemin d'accès complet du fichier QVW source. Lors des exécutions ultérieures, QV2QS utilise le marqueur pour localiser le dossier de projet approprié pour un fichier QVW donné, même lorsque plusieurs dossiers partagent le même nom de base (par exemple, Sales/, Sales_2/, Sales_3/).

Le marqueur garantit que chaque fichier QVW correspond à exactement un dossier de sortie. Lors de la conversion d'un fichier QVW précédemment converti, QV2QS recherche dans la racine de sortie un sous-dossier dont le marqueur correspond au chemin source. Si une correspondance est trouvée, QV2QS réutilise ce dossier et lit le cloud_state.json qu'il contient. Si aucune correspondance n'est trouvée, QV2QS crée un nouveau sous-dossier avec un suffixe numérique.

Dans l'assistant, la même logique de correspondance s'applique. Lorsque Réutiliser l'application existante est activé, l'assistant recherche un projet correspondant dans le dossier de sortie et renseigne automatiquement le champ AppId à partir du déploiement précédent. Si aucun déploiement précédent n'est trouvé, le champ reste vide et accepte une saisie manuelle ou le sélecteur de navigation.

Note Informations

Le fichier marqueur .qv2qs_source est créé automatiquement. Ne modifiez ni ne supprimez le fichier. La suppression du marqueur amène QV2QS à créer un nouveau sous-dossier de projet lors de la prochaine exécution au lieu de réutiliser l'existant.

Comportement de redéploiement

QV2QS utilise qlik app build pour déployer vers l'application cible. La commande de génération effectue un remplacement complet du modèle objet de l'application. Tous les objets définis dans la sortie de génération sont écrits dans l'application. Les objets non présents dans la sortie de génération sont supprimés.

Avant d'exécuter le build, QV2QS prépare les feuilles existantes en vue de leur remplacement. QV2QS valide le mappage des feuilles par rapport à l'application active (voir Mappage des ID de feuille), enregistre l'état de publication et le rang de chaque feuille, et supprime les anciennes feuilles de l'application cloud. La sortie du build local est patchée avec les identifiants de feuille Qlik Sense d'origine afin que les signets et les liens faisant référence à ces identifiants continuent de fonctionner après le build.

Une fois la génération terminée, QV2QS restaure l'état d'origine de la feuille. Les feuilles précédemment publiées sont republiées en tant que feuilles de base, et le rang d'origine (ordre d'affichage) est restauré. Les nouvelles feuilles qui n'existaient pas dans le déploiement précédent sont publiées en tant que feuilles de base lorsque le paramètre Publier les feuilles est activé. Désactivez le paramètre pour laisser les nouvelles feuilles non publiées.

Note Avertissement

Le contenu créé par l'utilisateur dans l'application cible (feuilles ajoutées manuellement, signets, récits ou objets personnalisés créés après le déploiement précédent) n'est pas conservé lors du redéploiement. La commande qlik app build remplace le contenu de l'application par la sortie de génération. Sauvegardez ou publiez l'application avant de la redéployer si des ajustements manuels ont été effectués.

Sauvegarde de pré-déploiement

Lors de la réutilisation d'une application existante, QV2QS exporte automatiquement une sauvegarde QVF sans données avant de modifier l'application. La sauvegarde capture la structure de l'application (feuilles, objets, script de chargement et métadonnées) sans données, donc exporter est rapide et le fichier est de petite taille.

Les sauvegardes sont enregistrées dans cloud/backups/ au sein du dossier de sortie du projet. Chaque fichier de sauvegarde est nommé <AppName>_<shortId>_<timestamp>_nodata.qvf. Par exemple, Sales_a1b2c3d4_20260226-143025_nodata.qvf.

Si exporter la sauvegarde échoue (par exemple, en raison d'une interruption de réseau ou d'autorisations insuffisantes), QV2QS consigne un avertissement et poursuit le déploiement. L'échec ne bloque pas la conversion.

Pour ignorer la sauvegarde automatique, passez --noBackup sur la ligne de commande ou activez Ignorer la sauvegarde avant déploiement dans l'assistant. Ignorer la sauvegarde est utile dans les pipelines CI/CD où les sauvegardes sont gérées en externe.

Préservation du script de chargement de l'application cible

Par défaut, QV2QS remplace le script de chargement dans l'application cible par le script de chargement converti provenant de la source QlikView. Utilisez --preserveTargetAppScript pour conserver inchangé le script de chargement existant dans l'application cible. Le script de chargement converti est écrit dans le fichier local build/script.qvs mais n'est pas appliqué à l'application cloud.

Cette option nécessite --appId ou --reuseAppId car elle ne s'applique que lors du ciblage d'une application existante. Il peut être combiné avec --reload pour exécuter le script existant après la mise à jour de l'interface utilisateur, ce qui est utile lorsque l'application cible dispose déjà de connexions de données Qlik Cloud opérationnelles. Il peut également être combiné avec --autoBinary pour charger temporairement des données à partir du fichier QVW d'origine tout en conservant le script cible intact.

Conservation des variables de l'application cible

Par défaut, QV2QS remplace les variables de l'application cible par les variables converties de la source QlikView. Utilisez --preserveTargetAppVariables pour conserver inchangées les variables existantes dans l'application cible. Les variables converties sont écrites dans le fichier local variables.json mais ne sont pas appliquées à l'application cloud.

Cette option nécessite --appId ou --reuseAppId car elle ne s'applique que lors du ciblage d'une application existante. Il peut être combiné avec --preserveTargetAppScript pour conserver intacts à la fois le script de chargement et les variables de l'application cible.

En savoir plus

Visit the discussion forum at community.qlik.com

Cette page vous a-t-elle aidé ?

Si vous rencontrez des problèmes sur cette page ou dans son contenu – une faute de frappe, une étape manquante ou une erreur technique – faites-le-nous savoir.