# Déploiement local V0.7

## Périmètre validé

Application Windows locale WPF, un responsable Windows par coffre, données et originaux internes chiffrés, sauvegarde et reprise. Les connexions MSC/CMA CGM/Maersk et la boîte professionnelle sont différées à la demande de l’utilisateur. La conformité intégrale V3 et une exploitation réseau multiutilisateur ne sont pas déclarées.

Windows x64, .NET Framework WPF et un disque local accessible en écriture sont nécessaires. Le runtime Python 3.14 et SQLCipher sont livrés. Le poste doit rester protégé par les contrôles Windows de l’organisation ; l’application ne protège pas contre un administrateur du système ou un logiciel malveillant exécuté sous le compte responsable.

## Première installation

Extraire tout le ZIP et lancer Installer.cmd. L’installateur vérifie les empreintes et l’import natif SQLCipher avant de remplacer le programme. Lancer l’application sous le compte Windows qui sera responsable de ce profil. Ce compte devient administrateur applicatif initial.

Le premier démarrage crée une clé aléatoire de 256 bits protégée par DPAPI utilisateur. SQLCipher chiffre les pages de la base, y compris journal, RH, finance et pièces internes. Le dossier de production est protégé par une DACL explicite responsable/SYSTEM ; les permissions réelles, l’intégrité chiffrée et celle du programme sont contrôlées pour l’état de disponibilité locale. Le profil reste « Configuration locale à terminer » tant que la première archive de reprise n’est pas créée.

Les profils de démonstration et d’essais restent séparés. Leur statut est « test » ; le classeur historique de référence et les démonstrations ne peuvent pas être restaurés en production. Ne pas déplacer manuellement une base seule entre les profils.

## Sauvegardes

Paramètres → Sauvegarder ouvre le choix de fichier .rc360 et deux champs masqués de phrase de reprise. Minimum 20 caractères ; privilégier une phrase longue et imprévisible conservée dans le coffre de l’organisation. Sans la phrase et sans le profil Windows encore accessible, aucune récupération n’est promise.

L’archive de reprise est chiffrée par SQLCipher avec dérivation de clé. Elle contient la base chiffrée, sa clé, les originaux et les informations nécessaires à la protection des secrets sous une nouvelle identité. Ces éléments ne sont jamais écrits dans un ZIP en clair. L’archive créée est rouverte et son intégrité vérifiée avant confirmation.

Cocher l’option quotidienne autorise une sauvegarde dans le même dossier. La phrase nécessaire à cette automatisation est alors protégée par DPAPI **et** stockée dans la base chiffrée ; elle n’est pas renvoyée dans l’état de l’application ni dans le journal. L’état et les échecs de sauvegarde sont persistants. La tâche Windows de surveillance doit être installée pour une sauvegarde fenêtre fermée. Un échec est enregistré et retenté après temporisation.

Choisir une destination professionnelle externe au profil et organiser une copie hors poste. Aucun effacement automatique des anciennes archives n’est activé : l’administrateur gère espace et rétention. Les fichiers de reprise sont limités à 250 Mo de contenu dans cette version ; ce périmètre vise un premier usage local, pas un entrepôt documentaire volumineux.

Les sauvegardes SQLite internes de lancement sont chiffrées et liées à la clé du coffre. Elles ne remplacent pas une archive de reprise transportable. Les sauvegardes .rc360-install et leur fichier .key.dpapi protègent une installation avant mise à jour ; elles restent liées au compte Windows d’origine et servent au retour technique.

## Restaurer

Si le coffre s’ouvre : Paramètres → Restaurer → choisir .rc360 et saisir sa phrase. Les données sont vérifiées avant remplacement ; une sauvegarde interne préalable est conservée. Le compte Windows courant devient administrateur du profil restauré. Les accès API/mail, surveillances externes et validations d’envoi sont désactivés. Configurer une nouvelle sauvegarde et vérifier tous les paramètres avant réactivation.

Si la clé locale ou le profil Windows est perdu : fermer l’application et la surveillance, puis lancer **Reprendre.cmd**. Cet assistant fonctionne sans l’ancienne clé DPAPI. Il restaure et contrôle un profil chiffré isolé, puis place le profil précédent dans un dossier « avant-reprise » et remplace le profil courant. Une mauvaise phrase laisse les données précédentes intactes. Relancer Lancer.cmd après succès.

La recette vérifie une reprise sans l’ancienne clé locale et avec une nouvelle clé de profil sur le poste de test. L’organisation doit aussi essayer sa destination de sauvegarde et sa procédure de reprise sur son propre second poste avant d’en faire sa seule protection.

## Mise à jour et retour

Fermer RC360 et retirer la tâche de fond avant Installer.cmd. Les profils ne sont pas écrasés. La sauvegarde technique préalable est chiffrée ; l’ancien programme est conservé dans un dossier de retour. Une panne au remplacement du runtime fait revenir les composants précédents, sans modifier le profil.

Un profil déjà converti en SQLCipher ne doit pas être ouvert avec V0.6 ou V0.5.2. Conserver V0.7 et son runtime pour la reprise. Une ancienne archive technique peut être extraite dans un **nouveau** dossier avec le runtime V0.7 : `runtime\python.exe app\installation_archive.py restore CHEMIN_ARCHIVE NOUVEAU_DOSSIER`. Il faut le fichier .key.dpapi adjacent et le même compte Windows. Ne pas extraire directement sur une installation active.

La migration d’une ancienne base est additive : conversion chiffrée validée, originaux déplacés dans les pages chiffrées après vérification, sauvegardes .sqlite internes converties et reprise possible après interruption. Les anciennes copies déjà exportées en clair, ZIP historiques ou résidus du système de fichiers ne sont pas effacés par cette opération. Les inventorier et les protéger avec l’administrateur.

## Surveillance et limites d’exploitation

Surveillance.ps1 -Install crée une tâche sous l’identité interactive, toutes les cinq minutes, sans mot de passe de session enregistré. Elle utilise pythonw.exe, persiste les battements et les erreurs, et traite les sauvegardes dues. Elle peut travailler fenêtre fermée mais exige une session ouverte et un poste allumé. Aucun service 24/7, aucune veille ou panne matérielle ne peut être compensé par le logiciel local.

Avant usage réel, renseigner et vérifier coûts horaires, calendriers, moyens, règles RH et contrats TC. Les tarifs indicatifs et simulations ne sont pas des factures. Les exports Excel/PDF/CSV déchiffrés sont une action explicite du responsable et doivent être conservés dans un emplacement autorisé. La signature éditeur, la qualification du parc complet, les connexions tierces et la recette métier sur données du client restent des étapes propres au site.
