Sauvegardes
Des instantanés en ligne de la configuration, un export qui emporte les mots de passe conservés vers une autre machine, une restauration programmée pour le prochain démarrage plutôt qu'appliquée à chaud, et la reconstruction de l'index de l'historique des essais.
Sauvegardes est la seule ligne du groupe DONNÉES de la page Paramètres. La carte prend une copie de la configuration de la station pendant que tout continue de tourner, écrit le fichier unique qui emporte aussi les mots de passe conservés vers une autre machine, liste tout ce qu'elle détient, programme l'une de ces copies pour remplacer la configuration au prochain démarrage, et reconstruit l'index des essais enregistrés quand cette liste paraît fausse. Elle s'ouvre sur « Prend un instantané de la configuration de l'application (équipements, tags, logique, tableaux de bord, réglages et les images, icônes et symboles de votre bibliothèque) pour pouvoir revenir en arrière. Les essais enregistrés et leur historique vivent à part et ne sont jamais touchés par une sauvegarde ou une restauration. » La page demande la permission Modifier les paramètres.
Ce que contient une sauvegarde
Une sauvegarde est une copie en ligne de la base de configuration, prise par le mécanisme de sauvegarde de SQLite pour rester cohérente même pendant que l'application écrit (journal d'écriture anticipée compris). Elle contient tout ce que cette base contient : les équipements et les tags des pilotes, l'espace d'adressage de Logic (les variables avec leurs valeurs conservées, les actions, les déclencheurs, les alarmes), les tableaux de bord, les modèles Process, les unités, les procédures, les recettes, les évaluations et les modèles de document, les utilisateurs locaux et les rôles, le paramétrage du serveur OPC UA, et les réglages de cette page. À côté du fichier de base, la station copie le dossier des ressources de l'utilisateur (les images, icônes et symboles de votre bibliothèque) dans un dossier voisin, si bien qu'une restauration ramène aussi les images, et une note facultative va dans un fichier annexe.
Les fichiers vivent dans le dossier backups de la racine de données de la station : config-20260902-141500.db (avec un suffixe -2 si cette seconde en a déjà un), config-20260902-141500.assets et config-20260902-141500.db.note.json. Un export est un fichier unique à côté d'eux, config-export-20260902-141500.glabconfig.
Une sauvegarde ne contient jamais les essais enregistrés et leurs fichiers, l'index de l'historique des essais, le journal durable des événements, la marque d'incident, les fichiers journaux, la position et le zoom de la fenêtre, le magasin de jetons du compte, ni les magasins de certificats du serveur OPC UA. Les identifiants contenus dans la base (secrets d'équipement, mot de passe du serveur OPC UA) sont conservés sous forme chiffrée liée à l'utilisateur Windows et à la machine qui les ont saisis : une sauvegarde ouverte ailleurs restaure toute la configuration mais lit chacun d'eux comme non configuré, à saisir de nouveau. L'export décrit plus bas est le fichier unique qui les emporte.
Créer une sauvegarde
| Champ | Ce que c'est | Valeurs / défaut | Effet |
|---|---|---|---|
| Note | « Note facultative conservée avec la sauvegarde ou l'export », le champ à côté des boutons. | Jusqu'à 200 caractères ; vide par défaut et effacé après chaque sauvegarde et chaque export. | Écrite dans le fichier annexe de note d'une sauvegarde et dans l'en-tête d'un export, et montrée sous la ligne de ce fichier. |
| Commande | Ce qu'elle fait | Grisée quand (situation) | Non dessinée quand (rôle) |
|---|---|---|---|
| Ouvrir le dossier | Ouvre le dossier des sauvegardes dans l'Explorateur, en le créant au besoin. La fenêtre de la station répond elle-même à la demande, et seulement pour un dossier existant de cette installation : tout le reste rapporte « Ce n'est pas un dossier que cette station ouvre. Rien n'a été ouvert. », avec les mêmes mots que le dossier soit hors de l'installation ou simplement absent, si bien que la réponse n'apprend rien à qui la demande. Un dossier que Windows n'ouvre pas rapporte « Le système d'exploitation n'a pas pu l'ouvrir. » | Dans un navigateur sur un autre appareil : « Disponible uniquement sur le bureau local de la station. » | Jamais. |
| Créer une sauvegarde | Prend l'instantané, puis rapporte « Sauvegarde « config-….db » créée. » dans la barre d'état, ou « Échec de la sauvegarde : … ». | Pendant qu'une autre commande de sauvegarde s'exécute (la carte est assombrie). | Jamais. |
Créer une sauvegarde est un travail d'ingénierie en lecture seule : cela s'exécute pendant qu'une unité tourne et ne chevauche jamais un changement de configuration. Tant que le runtime est arrêté, cette page n'est pas dessinée du tout (voir Paramètres), donc aucune commande de sauvegarde n'est atteignable tant que le runtime n'est pas revenu. Une station dont la base de configuration n'existe pas encore est refusée avec « La base de configuration n'existe pas encore. »
Export pour une autre machine
Sous les boutons de sauvegarde, un second bloc avec son propre intitulé, Export pour une autre machine, s'ouvre sur la raison de son existence : « Une sauvegarde laisse les mots de passe conservés de côté : les mots de passe des équipements et celui du serveur OPC UA ne s'ouvrent que sur ce compte Windows, sur cette machine. Un export est un fichier unique qui les emporte aussi, scellé par un mot de passe que vous choisissez ici, pour qu'une nouvelle machine reprenne la station en entier. Gardez ce mot de passe en lieu sûr : c'est la seule chose qui ouvre le fichier, et il ne peut pas être récupéré ici. »
| Champ | Ce que c'est | Valeurs / défaut | Effet |
|---|---|---|---|
| Mot de passe pour l'export | Le mot de passe qui scelle le fichier, et la seule chose qui le rouvrira un jour. | Au moins 8 caractères ; vide par défaut et effacé après chaque export. | Dérive la clé sous laquelle chaque identifiant conservé est scellé de nouveau. Il n'est gardé nulle part : un export dont personne ne se rappelle le mot de passe ne peut être ouvert par personne, cette application comprise. |
| Répétez le mot de passe | Le même mot de passe encore une fois, pour qu'une faute de frappe se voie avant que le fichier soit écrit. | Doit être identique au champ voisin. | Rien à lui seul ; Exporter reste refusé tant que les deux diffèrent. |
Le champ de note plus haut est le même : elle voyage aussi à l'intérieur de l'export et se lit sous sa ligne.
| Commande | Ce qu'elle fait | Grisée quand (situation) | Non dessinée quand (rôle) |
|---|---|---|---|
| Exporter | Écrit un config-export-20260902-141500.glabconfig dans le même dossier backups et rapporte « Export « … » créé avec N identifiants conservés. » Un identifiant que ce compte Windows n'a pas pu lire est compté à part, sur le ton d'une erreur : « Export « … » créé avec N identifiants conservés. M identifiants conservés n'ont pas pu être lus sur ce compte Windows et sont restés en arrière : saisissez-les de nouveau sur la nouvelle machine. » |
Pendant qu'une autre commande de sauvegarde s'exécute (« Une autre commande de sauvegarde est encore en cours. »), tant que le mot de passe fait moins de huit caractères (« Choisissez un mot de passe d'au moins 8 caractères pour l'export. ») et tant que les deux champs diffèrent (« Les deux mots de passe sont différents. »). | Jamais : écrire un export demande la même permission Modifier les paramètres que la page demande déjà, car le fichier qu'il produit est chacun des identifiants que la station détient, sous un mot de passe que son auteur choisit. |
L'export est une archive qui porte une copie cohérente de la base de configuration, les ressources de l'utilisateur à côté d'elle, et un en-tête. Chaque colonne que la configuration protège est lue par le coffre de cette machine à la sortie et scellée de nouveau sous le mot de passe de l'export ; l'en-tête porte le sel, le facteur de travail et une constante scellée par la clé dérivée, ce qui suffit à distinguer un bon mot de passe d'un mauvais, et rien d'autre. Quelles colonnes voyagent se lit sur la configuration elle-même, si bien qu'un identifiant ajouté plus tard voyage sans que personne ait à se rappeler une liste. Écrire un export est un travail d'ingénierie en lecture seule, exactement comme une sauvegarde, cela s'exécute donc pendant qu'une unité tourne ; et cela va au journal, car une copie de chacun des identifiants que la station détient vient de quitter le coffre.
Un export se restaure depuis la liste plus bas, avec Restaurer sur sa ligne. Cela demande « Restaurer depuis un export » : « « … » porte la configuration de la machine sur laquelle il a été écrit et les mots de passe qui y étaient conservés. Saisissez le mot de passe avec lequel il a été écrit : les mots de passe entrent dans le coffre de cette machine, et la configuration remplace l'actuelle au redémarrage de l'application. La configuration actuelle est conservée automatiquement au préalable, et les essais enregistrés ne sont pas touchés. », avec un champ Mot de passe de l'export ; Restaurer reste refusé tant qu'il est vide (« Saisissez le mot de passe avec lequel cet export a été écrit. »). Un mauvais mot de passe n'écrit rien et laisse la boîte de dialogue ouverte, avec la raison dans la barre d'état, pour que la tentative suivante soit là même : c'est le mot de passe choisi sur la machine où l'export a été écrit, et il ne peut pas être récupéré ici. Un bon mot de passe ouvre l'export en une sauvegarde ordinaire de cette machine, place les identifiants qu'il portait dans le coffre de cette machine, programme cette sauvegarde pour le prochain démarrage et rapporte « « … » a été ouvert et ses mots de passe placés sur cette machine. La configuration est restaurée au prochain redémarrage. » ; à partir de là c'est la restauration ordinaire décrite plus bas, et la sauvegarde laissée dans la liste est la trace de ce qui est arrivé, si bien que la même restauration peut être refaite plus tard sans l'export ni son mot de passe. Le fichier d'export lui-même n'est jamais modifié, le même fichier s'ouvre donc encore sur une troisième machine.
Aucune des deux moitiés n'appartient à un agent : il n'y a pas d'outil d'export, ni de moyen de restaurer un export depuis la page Accès agent (MCP), parce que le mot de passe est celui de l'opérateur et qu'un mot de passe qu'un agent aurait forgé ou reçu vivrait dans une transcription. backup_list marque un export (portableExport), et backup_restore le refuse en nommant cette page : "'…' is a configuration export for another machine. It carries its stored passwords sealed under the password chosen when it was written, so it is restored from Settings, Backups, where that password can be typed."
La liste
Les sauvegardes et les exports partagent une seule liste, de la plus récente à la plus ancienne, parce que la question à laquelle ils répondent est la même : lequel de ceux-là est-ce que je restaure. Chaque ligne montre le moment de la création du fichier, dans les formats de date et d'heure de la station, puis ce qu'il est (Sauvegarde ou Export pour une autre machine), son nom et sa taille, et la note quand il y en a une. La taille est tout ce que ce fichier occupe, c'est-à-dire tout ce que le supprimer libère : pour une sauvegarde, la copie de la base, sa note et son instantané de ressources, dont les images sont la plus grosse moitié sur une station qui en emploie ; pour un export, l'archive unique. La liste est lue à l'ouverture de la page et après chaque commande d'ici, si bien qu'une sauvegarde créée par un agent depuis la page Accès agent (MCP) apparaît à la prochaine ouverture de la page.
| Commande | Ce qu'elle fait | Grisée quand (situation) | Non dessinée quand (rôle) |
|---|---|---|---|
| Restaurer | Sur une sauvegarde, demande « Restaurer la configuration » : « Programmer « … » pour remplacer la configuration actuelle au redémarrage de l'application ? La configuration actuelle sera conservée automatiquement au préalable. Les essais enregistrés ne sont pas touchés. », avec Oui et Non. Oui programme la restauration et rapporte « « … » sera restauré au prochain redémarrage. » Sur un export, c'est la même décision et cela demande le mot de passe à la place, dans la boîte de dialogue décrite plus haut. | Tant qu'une unité est en cours (« La configuration est verrouillée tant qu'une unité est en cours. »). | Jamais. |
| Supprimer | Demande « Supprimer la sauvegarde » : « Supprimer définitivement la sauvegarde « … » ? Cette action est irréversible. » Oui retire la copie de la base, sa note et son instantané de ressources, et rapporte « Sauvegarde « … » supprimée. » Un export est nommé pour ce qu'il est et pour ce qui part avec lui, « Supprimer l'export » : « Supprimer définitivement l'export « … » ? Les mots de passe qu'il porte partent avec lui. Cette action est irréversible. », puis « Export « … » supprimé. » | Jamais tant que cette page est dessinée. | Jamais. |
Restaurer est refusé, avec la raison dans la barre d'état, quand un enregistrement est actif (« Un enregistrement est actif. Arrêtez-le avant de programmer une restauration de configuration. »), quand le fichier n'est pas du tout une sauvegarde de configuration (« « … » n'est pas une sauvegarde de configuration Ganter Lab et ne peut pas être restauré. »), et quand il a été écrit par une base que cette version ne connaît pas, par exemple une version plus récente (« « … » n'est pas une sauvegarde de configuration que cette version de Ganter Lab peut restaurer. Elle appartient peut-être à une autre base, ou à une version plus récente de l'application. »). Supprimer refuse la sauvegarde qui est programmée : « « … » est programmé pour être restauré. Annulez d'abord la restauration en attente. » La rétention vous appartient : rien ici ne supprime de sauvegardes de lui-même, et un agent peut créer et lister des sauvegardes mais jamais en supprimer une.
Restauration programmée
Programmer écrit une marque dans la racine de données, et la carte montre le bandeau de prudence Restauration programmée : « « … » sera restauré au redémarrage de l'application. La configuration actuelle est conservée automatiquement au préalable. », avec un bouton Annuler qui retire la marque et rapporte « Restauration en attente annulée. ». Rien ne change tant que l'application n'a pas redémarré.
Au démarrage suivant, avant que quoi que ce soit n'ouvre la configuration, l'application valide de nouveau le fichier, prend un instantané de la configuration remplacée sous le nom config-pre-restore-<timestamp>.db avec la note « Instantané automatique pris avant la restauration de « … ». » et sa propre copie de ressources (si bien qu'une restauration est elle-même réversible), échange le fichier de base, restaure l'instantané de ressources quand la sauvegarde en portait un, et efface la marque. Un démarrage qui a un essai Process à reprendre diffère plutôt : la restauration reste programmée avec la raison « La restauration reste programmée parce qu'un essai Process doit reprendre avec la configuration actuelle. » et s'applique à un démarrage ultérieur. Un fichier de sauvegarde disparu, ou qui échoue à la validation, est signalé et la marque est effacée pour que les démarrages suivants ne soient pas retenus. Une fois la base échangée, la restauration compte comme appliquée même si une étape ultérieure, comme la copie des ressources, échoue ; cet échec est signalé comme un avertissement qui nomme l'endroit où les images précédentes ont été conservées.
Configuration restaurée : vérification nécessaire
Après une restauration appliquée, la carte montre un second bandeau de prudence, Configuration restaurée : vérification nécessaire : « Vérifiez les réglages restaurés, les modèles, les unités, les procédures, les codes, les compteurs et les files d'impression d'étiquettes ; contrôlez les historiques ; ne reconstruisez l'index de l'historique des essais que si la liste des essais est absente ou incohérente. » Il reste jusqu'à ce que vous appuyiez sur Masquer. Une restauration ne fait aucune réconciliation d'elle-même : les noms de file reviennent comme configuration, mais les imprimantes Windows ne sont ni découvertes ni corrigées, et les compteurs sont ceux que la sauvegarde contenait.
Reconstruire l'index de l'historique des essais
| Commande | Ce qu'elle fait | Grisée quand (situation) | Non dessinée quand (rôle) |
|---|---|---|---|
| Reconstruire | « Reconstitue la liste des essais enregistrés en parcourant les fichiers d'essai. À utiliser si la liste des historiques semble incomplète après une restauration ou un déplacement de fichiers. Les fichiers d'essai eux-mêmes font foi. » Rapporte « Index de l'historique reconstruit : N récupérés, N retirés, N illisibles (N fichiers d'essai). » | Pendant qu'une autre commande de sauvegarde s'exécute. | Jamais. |
Le nouveau parcours rend son entrée à un fichier d'essai qui n'en a pas dans l'index (depuis l'instantané figé propre à l'essai, ou comme essai en échec si l'application est morte en cours d'essai), retire les entrées dont le fichier a disparu, reconstruit les projections de productivité depuis chaque fichier lisible, et saute un .db étranger ou corrompu après l'avoir identifié en lecture seule, en le comptant comme illisible sans le modifier. Il rafraîchit ensuite les instantanés de productivité que la page Process montre. Il ne touche jamais aux preuves enregistrées d'un fichier d'essai.
Ce que cette section ne fait pas
Il n'y a pas de sauvegarde automatique ni programmée, pas de politique de rétention, pas de sauvegarde vers un autre emplacement (copiez les fichiers depuis le dossier), pas de restauration partielle, et pas de restauration de l'historique des essais : les essais enregistrés sont des fichiers à eux sous la racine de données, et l'index est reconstruit à partir d'eux. L'export n'est pas non plus une sauvegarde vers un autre emplacement : il est écrit dans le même dossier, et le porter jusqu'à la machine qui en a besoin reste à votre charge. Importer et exporter des essais se fait sur la page Historiques.